)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":27909,"name":"Aija Jauntēva","email":"code@clusums.eu","username":"ajya"},"change_message_id":"3c0f2ea87b66c504c5e58c1a9a74fb15f2542d4b","unresolved":true,"context_lines":[{"line_number":9,"context_line":"Adds support for the \u0027attestation_interface\u0027 field to nodes,"},{"line_number":10,"context_line":"a new driver base class AttestationInterface, a noop interface,"},{"line_number":11,"context_line":"and changes to the node and driver apis."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Change-Id: I39e9323b4a1ea1c228e3aa7ce1db2ef43fc8c305"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":10,"id":"318d4eb4_18798628","line":12,"updated":"2021-09-14 14:20:05.000000000","message":"Please link Story+Task","commit_id":"c7ef83b92f3de1b454a6635e70c8f64ff6e72bbc"}],"api-ref/source/baremetal-api-v1-drivers.inc":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"c8cea43629c58d958fb708bef7f2f2285ae2decb","unresolved":true,"context_lines":[{"line_number":78,"context_line":"  If the request has the \"detail\" URL parameter set to true, each"},{"line_number":79,"context_line":"  driver will also include the following fields."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":".. rest_parameters:: parameters.yaml"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"   - default_bios_interface: default_bios_interface"},{"line_number":84,"context_line":"   - default_boot_interface: default_boot_interface"}],"source_content_type":"text/x-c++src","patch_set":10,"id":"506e2873_1db2e256","side":"PARENT","line":81,"updated":"2021-09-14 14:15:44.000000000","message":"likely need to call out 1.77 changes this.","commit_id":"186e6f8983590e4dc391d8a4a817e1bea70257ad"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"c8cea43629c58d958fb708bef7f2f2285ae2decb","unresolved":true,"context_lines":[{"line_number":93,"context_line":"   - default_rescue_interface: default_rescue_interface"},{"line_number":94,"context_line":"   - default_storage_interface: default_storage_interface"},{"line_number":95,"context_line":"   - default_vendor_interface: default_vendor_interface"},{"line_number":96,"context_line":"   - enabled_attestation_interfaces: enabled_attestation_interfaces"},{"line_number":97,"context_line":"   - enabled_bios_interfaces: enabled_bios_interfaces"},{"line_number":98,"context_line":"   - enabled_boot_interfaces: enabled_boot_interfaces"},{"line_number":99,"context_line":"   - enabled_console_interfaces: enabled_console_interfaces"}],"source_content_type":"text/x-c++src","patch_set":10,"id":"516c0a5f_8e27de4a","line":96,"updated":"2021-09-14 14:15:44.000000000","message":"So I don\u0027t see any change associated with this nor any testing with regards to the API. We likely want to have *something* ensuring 1.77 doesn\u0027t leak extra fields.","commit_id":"c7ef83b92f3de1b454a6635e70c8f64ff6e72bbc"},{"author":{"_account_id":32454,"name":"Leo McGann","email":"lmcgann06@gmail.com","username":"ljmcgann"},"change_message_id":"8d9b2d7f3198b3f508db4f64a0ed7e105830093e","unresolved":true,"context_lines":[{"line_number":93,"context_line":"   - default_rescue_interface: default_rescue_interface"},{"line_number":94,"context_line":"   - default_storage_interface: default_storage_interface"},{"line_number":95,"context_line":"   - default_vendor_interface: default_vendor_interface"},{"line_number":96,"context_line":"   - enabled_attestation_interfaces: enabled_attestation_interfaces"},{"line_number":97,"context_line":"   - enabled_bios_interfaces: enabled_bios_interfaces"},{"line_number":98,"context_line":"   - enabled_boot_interfaces: enabled_boot_interfaces"},{"line_number":99,"context_line":"   - enabled_console_interfaces: enabled_console_interfaces"}],"source_content_type":"text/x-c++src","patch_set":10,"id":"ac1b95df_1c570bc6","line":96,"in_reply_to":"516c0a5f_8e27de4a","updated":"2021-09-21 15:59:42.000000000","message":"what would these tests look like? I cant find where simillar tests for other interface types exist","commit_id":"c7ef83b92f3de1b454a6635e70c8f64ff6e72bbc"}],"api-ref/source/baremetal-api-v1-nodes.inc":[{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"349623b3fdf0ec092bde6ce09e4f31a84743124c","unresolved":true,"context_lines":[{"line_number":291,"context_line":".. versionadded:: 1.65"},{"line_number":292,"context_line":"  Introduced the ``lessee`` field."},{"line_number":293,"context_line":""},{"line_number":294,"context_line":".. versionadded:: 1.76"},{"line_number":295,"context_line":"  Introduced the ``attestation_interface`` field."},{"line_number":296,"context_line":""},{"line_number":297,"context_line":"Normal response codes: 200"}],"source_content_type":"text/x-c++src","patch_set":9,"id":"38de2fb8_ab70428b","line":294,"range":{"start_line":294,"start_character":20,"end_line":294,"end_character":22},"updated":"2021-08-31 14:37:22.000000000","message":"wrong version","commit_id":"3f17799a2e4da809ff7e4c956f5e5fcea0966cb0"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"349623b3fdf0ec092bde6ce09e4f31a84743124c","unresolved":true,"context_lines":[{"line_number":385,"context_line":".. versionadded:: 1.65"},{"line_number":386,"context_line":"  Introduced the ``lessee`` field."},{"line_number":387,"context_line":""},{"line_number":388,"context_line":".. versionadded:: 1.76"},{"line_number":389,"context_line":"  Introduced the ``attestation_interface`` field."},{"line_number":390,"context_line":""},{"line_number":391,"context_line":"Normal response codes: 200"}],"source_content_type":"text/x-c++src","patch_set":9,"id":"bce1e234_d41f39c5","line":388,"range":{"start_line":388,"start_character":20,"end_line":388,"end_character":22},"updated":"2021-08-31 14:37:22.000000000","message":"ditto","commit_id":"3f17799a2e4da809ff7e4c956f5e5fcea0966cb0"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"349623b3fdf0ec092bde6ce09e4f31a84743124c","unresolved":true,"context_lines":[{"line_number":526,"context_line":".. versionadded:: 1.66"},{"line_number":527,"context_line":"  Introduced the ``network_data`` field."},{"line_number":528,"context_line":""},{"line_number":529,"context_line":".. versionadded:: 1.76"},{"line_number":530,"context_line":"  Introduced the ``attestation_interface`` field."},{"line_number":531,"context_line":""},{"line_number":532,"context_line":"Normal response codes: 200"}],"source_content_type":"text/x-c++src","patch_set":9,"id":"c0fe4366_ce97bb9c","line":529,"range":{"start_line":529,"start_character":20,"end_line":529,"end_character":22},"updated":"2021-08-31 14:37:22.000000000","message":"ditto","commit_id":"3f17799a2e4da809ff7e4c956f5e5fcea0966cb0"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"c8cea43629c58d958fb708bef7f2f2285ae2decb","unresolved":true,"context_lines":[{"line_number":104,"context_line":".. versionadded:: 1.65"},{"line_number":105,"context_line":"  Introduced the ``lessee`` field."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":".. versionadded:: 1.77"},{"line_number":108,"context_line":"  Introduced the ``attestation_interface`` field."},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Normal response codes: 201"}],"source_content_type":"text/x-c++src","patch_set":10,"id":"4371f5ca_b97fdc23","line":107,"updated":"2021-09-14 14:15:44.000000000","message":"This will likely be 1.78, for what it is worth.","commit_id":"c7ef83b92f3de1b454a6635e70c8f64ff6e72bbc"}],"doc/source/contributor/webapi-version-history.rst":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"c8cea43629c58d958fb708bef7f2f2285ae2decb","unresolved":true,"context_lines":[{"line_number":2,"context_line":"REST API Version History"},{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"1.77 (Xena, ?)"},{"line_number":6,"context_line":"----------------------"},{"line_number":7,"context_line":"Added ``attestation_interface`` field to the node object to allow getting and"},{"line_number":8,"context_line":"setting the interface."}],"source_content_type":"text/x-rst","patch_set":10,"id":"2e050316_fd26d2bd","line":5,"updated":"2021-09-14 14:15:44.000000000","message":"1.78, most likely.","commit_id":"c7ef83b92f3de1b454a6635e70c8f64ff6e72bbc"}],"ironic/common/release_mappings.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"020a9dbc46611e889b5f1ba17b0e9d08510635bb","unresolved":true,"context_lines":[{"line_number":376,"context_line":"        \u0027objects\u0027: {"},{"line_number":377,"context_line":"            \u0027Allocation\u0027: [\u00271.1\u0027],"},{"line_number":378,"context_line":"            \u0027BIOSSetting\u0027: [\u00271.1\u0027],"},{"line_number":379,"context_line":"            \u0027Node\u0027: [\u00271.37\u0027],"},{"line_number":380,"context_line":"            \u0027Conductor\u0027: [\u00271.3\u0027],"},{"line_number":381,"context_line":"            \u0027Chassis\u0027: [\u00271.3\u0027],"},{"line_number":382,"context_line":"            \u0027Deployment\u0027: [\u00271.0\u0027],"}],"source_content_type":"text/x-python","patch_set":9,"id":"27ce3c04_718d1eb7","line":379,"range":{"start_line":379,"start_character":0,"end_line":379,"end_character":29},"updated":"2021-08-31 14:23:44.000000000","message":"This should include the prior versions, so 1.36, 1.35, and 1.37. Once we cut the major version, we make master be the \"latest\"","commit_id":"3f17799a2e4da809ff7e4c956f5e5fcea0966cb0"}],"ironic/drivers/base.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"b30f0711c8bee61358bfb96d49a40abf852671e8","unresolved":true,"context_lines":[{"line_number":724,"context_line":""},{"line_number":725,"context_line":"        :param task: A TaskManager instance containing the node to act on."},{"line_number":726,"context_line":"        :returns: None on success, raises an exception if status is not"},{"line_number":727,"context_line":"        what we expect."},{"line_number":728,"context_line":"        \"\"\""},{"line_number":729,"context_line":"    def validate_security_status(self, task):"},{"line_number":730,"context_line":"        \"\"\"Grabs and takes action on the node\u0027s security state."}],"source_content_type":"text/x-python","patch_set":7,"id":"9ec86ce1_e34b314d","line":727,"updated":"2021-08-10 13:46:38.000000000","message":"This line needs to start at None from the line above since it is part of the same field.\n\nWarning, treated as error:\n/home/zuul/src/opendev.org/openstack/ironic/ironic/drivers/base.py:docstring of ironic.drivers.base.AttestationInterface.start_attestation:8:Field list ends without a blank line; unexpected unindent.\nERROR: InvocationError for command /home/zuul/src/opendev.org/openstack/ironic/.tox/docs/bin/sphinx-build -b html -W doc/source doc/build/html (exited with code 2)","commit_id":"f28f6973fe66ba742abb8d7a82c1f22b9e534308"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"b30f0711c8bee61358bfb96d49a40abf852671e8","unresolved":true,"context_lines":[{"line_number":725,"context_line":"        :param task: A TaskManager instance containing the node to act on."},{"line_number":726,"context_line":"        :returns: None on success, raises an exception if status is not"},{"line_number":727,"context_line":"        what we expect."},{"line_number":728,"context_line":"        \"\"\""},{"line_number":729,"context_line":"    def validate_security_status(self, task):"},{"line_number":730,"context_line":"        \"\"\"Grabs and takes action on the node\u0027s security state."},{"line_number":731,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"72d6dc3d_2f1e7148","line":728,"updated":"2021-08-10 13:46:38.000000000","message":"Add a blank line here.","commit_id":"f28f6973fe66ba742abb8d7a82c1f22b9e534308"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"b30f0711c8bee61358bfb96d49a40abf852671e8","unresolved":true,"context_lines":[{"line_number":735,"context_line":""},{"line_number":736,"context_line":"        :param task: A TaskManager instance containing the node to act on."},{"line_number":737,"context_line":"        :returns: None on success, raises an exception if status is not"},{"line_number":738,"context_line":"        what we expect."},{"line_number":739,"context_line":"        \"\"\""},{"line_number":740,"context_line":""},{"line_number":741,"context_line":"    def unregister_node(self, task):"}],"source_content_type":"text/x-python","patch_set":7,"id":"b7e94cf2_e2d4e7ad","line":738,"updated":"2021-08-10 13:46:38.000000000","message":"Same line position change as above.","commit_id":"f28f6973fe66ba742abb8d7a82c1f22b9e534308"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"7d0c88b6a8b1a2c42eca24d462112dbda0be2fc9","unresolved":true,"context_lines":[{"line_number":716,"context_line":"    \"\"\"Interface for attestation-related actions.\"\"\""},{"line_number":717,"context_line":"    interface_type \u003d \"attestation\""},{"line_number":718,"context_line":""},{"line_number":719,"context_line":"    def start_attestation(self, task):"},{"line_number":720,"context_line":"        \"\"\"Kicks off attestation."},{"line_number":721,"context_line":""},{"line_number":722,"context_line":"        Orchestrates any calls needed with remote verifier machines to"}],"source_content_type":"text/x-python","patch_set":9,"id":"45cd1ead_0fadd243","line":719,"updated":"2021-08-31 14:29:10.000000000","message":"The methods should be abstract so we make sure the new interface will implement.","commit_id":"3f17799a2e4da809ff7e4c956f5e5fcea0966cb0"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"020a9dbc46611e889b5f1ba17b0e9d08510635bb","unresolved":true,"context_lines":[{"line_number":730,"context_line":"    def validate_security_status(self, task):"},{"line_number":731,"context_line":"        \"\"\"Grabs and takes action on the node\u0027s security state."},{"line_number":732,"context_line":""},{"line_number":733,"context_line":"        Grabs the latest information about the node\u0027s security state"},{"line_number":734,"context_line":"        from the attestation machine. Takes an action based on the found"},{"line_number":735,"context_line":"        state."},{"line_number":736,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"3ec7988e_6664258d","line":733,"range":{"start_line":733,"start_character":8,"end_line":733,"end_character":13},"updated":"2021-08-31 14:23:44.000000000","message":"s/Grabs/Collects/\n\nGrabs is basically slang when compared to people who English is their third or fifth languages.","commit_id":"3f17799a2e4da809ff7e4c956f5e5fcea0966cb0"}],"ironic/objects/node.py":[{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"07fcd4b6b47656caa6136b668708f619f7d16fdd","unresolved":true,"context_lines":[{"line_number":723,"context_line":"        \u0027maintenance_reason\u0027: (\u0027node\u0027, \u0027maintenance_reason\u0027),"},{"line_number":724,"context_line":"        \u0027fault\u0027: (\u0027node\u0027, \u0027fault\u0027),"},{"line_number":725,"context_line":"        \u0027name\u0027: (\u0027node\u0027, \u0027name\u0027),"},{"line_number":726,"context_line":"        \u0027bios_interface\u0027: (\u0027node\u0027, \u0027bios_interface\u0027),"},{"line_number":727,"context_line":"        \u0027boot_interface\u0027: (\u0027node\u0027, \u0027boot_interface\u0027),"},{"line_number":728,"context_line":"        \u0027console_interface\u0027: (\u0027node\u0027, \u0027console_interface\u0027),"},{"line_number":729,"context_line":"        \u0027deploy_interface\u0027: (\u0027node\u0027, \u0027deploy_interface\u0027),"}],"source_content_type":"text/x-python","patch_set":9,"id":"16a7740e_e3dfea5f","line":726,"updated":"2021-08-31 14:18:55.000000000","message":"ditto (from my other comment here)","commit_id":"3f17799a2e4da809ff7e4c956f5e5fcea0966cb0"},{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"07fcd4b6b47656caa6136b668708f619f7d16fdd","unresolved":true,"context_lines":[{"line_number":791,"context_line":"        \u0027maintenance\u0027: object_fields.BooleanField(nullable\u003dTrue),"},{"line_number":792,"context_line":"        \u0027maintenance_reason\u0027: object_fields.StringField(nullable\u003dTrue),"},{"line_number":793,"context_line":"        \u0027fault\u0027: object_fields.StringField(nullable\u003dTrue),"},{"line_number":794,"context_line":"        \u0027bios_interface\u0027: object_fields.StringField(nullable\u003dTrue),"},{"line_number":795,"context_line":"        \u0027boot_interface\u0027: object_fields.StringField(nullable\u003dTrue),"},{"line_number":796,"context_line":"        \u0027console_interface\u0027: object_fields.StringField(nullable\u003dTrue),"},{"line_number":797,"context_line":"        \u0027deploy_interface\u0027: object_fields.StringField(nullable\u003dTrue),"}],"source_content_type":"text/x-python","patch_set":9,"id":"3acb9c85_421f8ea1","line":794,"updated":"2021-08-31 14:18:55.000000000","message":"just a nit, I think we group all the possible interfaces in lines 795-805, so I would move attestation_interface here.","commit_id":"3f17799a2e4da809ff7e4c956f5e5fcea0966cb0"}],"releasenotes/notes/attestation-interface-0c304580b28f3557.yaml":[{"author":{"_account_id":15519,"name":"Iury Gregory Melo Ferreira","display_name":"Iury Gregory","email":"iurygregory@gmail.com","username":"iurygregory"},"change_message_id":"07fcd4b6b47656caa6136b668708f619f7d16fdd","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds version 1.76 of the REST API, which exposes the"},{"line_number":5,"context_line":"    ``attestation_interface`` field of the node resource. This version also"},{"line_number":6,"context_line":"    exposes ``default_attestation_interface`` and"},{"line_number":7,"context_line":"    ``enable_attestation_interfaces`` fields of the driver resource."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"d4e3d7f4_63d58b51","line":4,"range":{"start_line":4,"start_character":19,"end_line":4,"end_character":21},"updated":"2021-08-31 14:18:55.000000000","message":"1.77","commit_id":"3f17799a2e4da809ff7e4c956f5e5fcea0966cb0"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"020a9dbc46611e889b5f1ba17b0e9d08510635bb","unresolved":true,"context_lines":[{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Adds version 1.76 of the REST API, which exposes the"},{"line_number":5,"context_line":"    ``attestation_interface`` field of the node resource. This version also"},{"line_number":6,"context_line":"    exposes ``default_attestation_interface`` and"},{"line_number":7,"context_line":"    ``enable_attestation_interfaces`` fields of the driver resource."},{"line_number":8,"context_line":"    There is 1 available attestation interface: * ``noop``: This interface"},{"line_number":9,"context_line":"    provides nothing regarding attestation. An attestation interface can be"},{"line_number":10,"context_line":"    set when creating or updating a node."}],"source_content_type":"text/x-yaml","patch_set":9,"id":"e1f8b062_a6100dbc","line":7,"range":{"start_line":5,"start_character":58,"end_line":7,"end_character":68},"updated":"2021-08-31 14:23:44.000000000","message":"This is a separate note and likely not operator related. Not everything has to fit inside the same Feature tag.","commit_id":"3f17799a2e4da809ff7e4c956f5e5fcea0966cb0"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"020a9dbc46611e889b5f1ba17b0e9d08510635bb","unresolved":true,"context_lines":[{"line_number":5,"context_line":"    ``attestation_interface`` field of the node resource. This version also"},{"line_number":6,"context_line":"    exposes ``default_attestation_interface`` and"},{"line_number":7,"context_line":"    ``enable_attestation_interfaces`` fields of the driver resource."},{"line_number":8,"context_line":"    There is 1 available attestation interface: * ``noop``: This interface"},{"line_number":9,"context_line":"    provides nothing regarding attestation. An attestation interface can be"},{"line_number":10,"context_line":"    set when creating or updating a node."},{"line_number":11,"context_line":"    Enabled attestation interfaces are defined via the"}],"source_content_type":"text/x-yaml","patch_set":9,"id":"18c29a25_7d029fdc","line":8,"range":{"start_line":8,"start_character":3,"end_line":8,"end_character":48},"updated":"2021-08-31 14:23:44.000000000","message":"This will only be true for a short period of time, at which point the release note will be out of date. My advice would be to limit temporal relevant details and break this into separate feature entries. API change on it\u0027s own is a distinct feature, as are the ability to enable/prioritize attestation interfaces, but maybe that could also be delayed until a later patch.","commit_id":"3f17799a2e4da809ff7e4c956f5e5fcea0966cb0"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"c8cea43629c58d958fb708bef7f2f2285ae2decb","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"features:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Updates the REST API, which exposes the"},{"line_number":5,"context_line":"    ``attestation_interface`` field of the node resource. This version also"},{"line_number":6,"context_line":"    exposes ``default_attestation_interface`` and"},{"line_number":7,"context_line":"    ``enable_attestation_interfaces`` fields of the driver resource."}],"source_content_type":"text/x-yaml","patch_set":10,"id":"59268519_7b869a1c","line":4,"range":{"start_line":4,"start_character":0,"end_line":4,"end_character":5},"updated":"2021-09-14 14:15:44.000000000","message":"nit: indicate the API version.","commit_id":"c7ef83b92f3de1b454a6635e70c8f64ff6e72bbc"}]}
