Protocols fpolicy svm.uuid events endpoint overview
Overview
FPolicy events configurations allow you to specify which file access is monitored. As part of an FPolicy event, you can configure the SVM for which the events are generated, the name of the event configuration, the protocol (cifs, nfsv3/nfsv4) for which the events are generated, the file operations which are monitored, and filters that can be used to filter the unwanted notification generation for a specified protocol and file operation.
Each protocol has a set of supported file operations and filters. An SVM can have multiple events. A single FPolicy policy can have multiple FPolicy events.
FPolicy events can also be configured to monitor file operations which fail due to lack of permissions. You can specify which file operation to monitor for failure. However, filters can not be used to filter failed file operations.
Examples
Creating an FPolicy event for a CIFS protocol with all the supported file operations and filters
# The API: POST /protocols/fpolicy/{svm.uuid}/events # The call: curl -X POST "https://<mgmt-ip>/api/protocols/fpolicy/4f643fb4-fd21-11e8-ae49-0050568e2c1e/events?return_records=true" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"file_operations\": { \"close\": true, \"create\": true, \"create_dir\": true, \"delete\": true, \"delete_dir\": true, \"getattr\": true, \"open\": true, \"read\": true, \"rename\": true, \"rename_dir\": true, \"setattr\": true, \"write\": true }, \"filters\": { \"close_with_modification\": true, \"close_with_read\": true, \"close_without_modification\": true, \"first_read\": true, \"first_write\": true, \"monitor_ads\": true, \"offline_bit\": true, \"open_with_delete_intent\": true, \"open_with_write_intent\": true, \"write_with_size_change\": true }, \"name\": \"event_cifs\", \"protocol\": \"cifs\", \"volume_monitoring\": true}" # The response: { "num_records": 1, "records": [ { "name": "event_cifs", "protocol": "cifs", "volume_monitoring": true, "monitor_fileop_failure": false, "file_operations": { "close": true, "create": true, "create_dir": true, "delete": true, "delete_dir": true, "getattr": true, "open": true, "read": true, "write": true, "rename": true, "rename_dir": true, "setattr": true }, "filters": { "monitor_ads": true, "close_with_modification": true, "close_without_modification": true, "close_with_read": true, "first_read": true, "first_write": true, "offline_bit": true, "open_with_delete_intent": true, "open_with_write_intent": true, "write_with_size_change": true } } ] }
Creating an FPolicy event for an NFS protocol with all the supported file operations and filters
# The API: post /protocols/fpolicy/{svm.uuid}/events # The call: curl -X POST "https://<mgmt-ip>/api/protocols/fpolicy/4f643fb4-fd21-11e8-ae49-0050568e2c1e/events?return_records=true" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"file_operations\": { \"create\": true, \"create_dir\": true, \"delete\": true, \"delete_dir\": true, \"link\": true, \"lookup\": true, \"read\": true, \"rename\": true, \"rename_dir\": true, \"setattr\": true, \"symlink\": true, \"write\": true }, \"filters\": { \"offline_bit\": true, \"write_with_size_change\": true }, \"name\": \"event_nfsv3\", \"protocol\": \"nfsv3\", \"volume_monitoring\": false}" # The response: { "num_records": 1, "records": [ { "name": "event_nfsv3", "protocol": "nfsv3", "volume_monitoring": false, "monitor_fileop_failure": false, "file_operations": { "create": true, "create_dir": true, "delete": true, "delete_dir": true, "link": true, "lookup": true, "read": true, "write": true, "rename": true, "rename_dir": true, "setattr": true, "symlink": true }, "filters": { "offline_bit": true, "write_with_size_change": true } } ] }
Creating an FPolicy event to monitor failed file operations for an NFS protocol with all the supported file operations
# The API: post /protocols/fpolicy/{svm.uuid}/events # The call: curl -X POST "https://<mgmt-ip>/api/protocols/fpolicy/b5087518-40b3-11ed-b3eb-005056bbe901/events?return_records=false" -H "accept: application/json" -H "authorization: Basic YWRtaW46bmV0YXBwMSE=" -H "Content-Type: application/json" -d "{ \"file_operations\": { \"create\": true, \"create_dir\": true, \"delete\": true, \"delete_dir\": true, \"link\": true, \"read\": true, \"rename\": true, \"rename_dir\": true, \"write\": true }, \"name\": \"nfs_failed_op\", \"protocol\": \"nfsv3\", \"monitor_fileop_failure\": true, \"volume_monitoring\": false}" # The response: { "num_records": 1, "records": [ { "name": "nfs_failed_op", "protocol": "nfsv3", "volume_monitoring": false, "monitor_fileop_failure": true, "file_operations": { "create": true, "create_dir": true, "delete": true, "delete_dir": true, "link": true, "read": true, "write": true, "rename": true, "rename_dir": true } } ] }
Retrieving all of the FPolicy event configurations configured to monitor failed file operations for a specified SVM
# The API: post /protocols/fpolicy/{svm.uuid}/events # The call: curl -X GET "https://<mgmt-ip>/api/protocols/fpolicy/b5087518-40b3-11ed-b3eb-005056bbe901/events?monitor_fileop_failure=true&fields=*&return_records=true&return_timeout=15" -H "accept: application/json" # The response: { "records": [ { "svm": { "uuid": "b5087518-40b3-11ed-b3eb-005056bbe901" }, "name": "fo_event", "protocol": "cifs", "volume_monitoring": false, "monitor_fileop_failure": true, "file_operations": { "close": false, "create": false, "create_dir": false, "delete": false, "delete_dir": false, "getattr": false, "link": false, "lookup": false, "open": true, "read": false, "write": false, "rename": false, "rename_dir": false, "setattr": false, "symlink": false } } ], "num_records": 1 }
Retrieving all of the FPolicy event configurations for a specified SVM
# The API: GET /protocols/fpolicy/{svm.uuid}/events # The call: curl -X GET "https://<mgmt-ip>/api/protocols/fpolicy/4f643fb4-fd21-11e8-ae49-0050568e2c1e/events/?fields=*&return_records=true&return_timeout=15" -H "accept: application/json" # The response: { "records": [ { "svm": { "uuid": "4f643fb4-fd21-11e8-ae49-0050568e2c1e" }, "name": "cluster", "protocol": "cifs", "volume_monitoring": false, "monitor_fileop_failure": false, "file_operations": { "close": true, "create": false, "create_dir": false, "delete": false, "delete_dir": false, "getattr": false, "link": false, "lookup": false, "open": false, "read": false, "write": false, "rename": false, "rename_dir": false, "setattr": false, "symlink": false }, "filters": { "monitor_ads": false, "close_with_modification": false, "close_without_modification": false, "close_with_read": true, "first_read": false, "first_write": false, "offline_bit": false, "open_with_delete_intent": false, "open_with_write_intent": false, "write_with_size_change": false, "setattr_with_owner_change": false, "setattr_with_group_change": false, "setattr_with_sacl_change": false, "setattr_with_dacl_change": false, "setattr_with_modify_time_change": false, "setattr_with_access_time_change": false, "setattr_with_creation_time_change": false, "setattr_with_mode_change": false, "setattr_with_size_change": false, "setattr_with_allocation_size_change": false, "exclude_directory": false } }, { "svm": { "uuid": "4f643fb4-fd21-11e8-ae49-0050568e2c1e" }, "name": "event_cifs", "protocol": "cifs", "volume_monitoring": true, "monitor_fileop_failure": false, "file_operations": { "close": true, "create": true, "create_dir": true, "delete": true, "delete_dir": true, "getattr": true, "link": false, "lookup": false, "open": true, "read": true, "write": true, "rename": true, "rename_dir": true, "setattr": true, "symlink": false }, "filters": { "monitor_ads": true, "close_with_modification": true, "close_without_modification": true, "close_with_read": true, "first_read": true, "first_write": true, "offline_bit": true, "open_with_delete_intent": true, "open_with_write_intent": true, "write_with_size_change": true, "setattr_with_owner_change": false, "setattr_with_group_change": false, "setattr_with_sacl_change": false, "setattr_with_dacl_change": false, "setattr_with_modify_time_change": false, "setattr_with_access_time_change": false, "setattr_with_creation_time_change": false, "setattr_with_mode_change": false, "setattr_with_size_change": false, "setattr_with_allocation_size_change": false, "exclude_directory": false } } ], "num_records": 2 }
Retrieving a specific FPolicy event configuration for an SVM
# The API: GET /protocols/fpolicy/{svm.uuid}/events/{name} # The call: curl -X GET "https://<mgmt-ip>/api/protocols/fpolicy/4f643fb4-fd21-11e8-ae49-0050568e2c1e/events/event_cifs?fields=*&return_records=true&return_timeout=15" -H "accept: application/json" # The response: { "svm": { "uuid": "4f643fb4-fd21-11e8-ae49-0050568e2c1e" }, "name": "event_cifs", "protocol": "cifs", "volume_monitoring": true, "monitor_fileop_failure": false, "file_operations": { "close": true, "create": true, "create_dir": true, "delete": true, "delete_dir": true, "getattr": true, "link": false, "lookup": false, "open": true, "read": true, "write": true, "rename": true, "rename_dir": true, "setattr": true, "symlink": false }, "filters": { "monitor_ads": true, "close_with_modification": true, "close_without_modification": true, "close_with_read": true, "first_read": true, "first_write": true, "offline_bit": true, "open_with_delete_intent": true, "open_with_write_intent": true, "write_with_size_change": true, "setattr_with_owner_change": false, "setattr_with_group_change": false, "setattr_with_sacl_change": false, "setattr_with_dacl_change": false, "setattr_with_modify_time_change": false, "setattr_with_access_time_change": false, "setattr_with_creation_time_change": false, "setattr_with_mode_change": false, "setattr_with_size_change": false, "setattr_with_allocation_size_change": false, "exclude_directory": false } }
Updating a specific FPolicy event configuration for a specified SVM
# The API: PATCH /protocols/fpolicy/{svm.uuid}/events/{name} # The call: curl -X PATCH "https://<mgmt-ip>/api/protocols/fpolicy/4f643fb4-fd21-11e8-ae49-0050568e2c1e/events/event_cifs" -H "accept: application/json" -H "Content-Type: application/json" -d "{ \"file_operations\": { \"close\": false, \"create\": false, \"read\": true }, \"filters\": { \"close_with_modification\": false, \"close_with_read\": false, \"close_without_modification\": false }, \"protocol\": \"cifs\", \"volume_monitoring\": false}"
Deleting a specific FPolicy event configuration for a specific SVM
# The API: DELETE /protocols/fpolicy/{svm.uuid}/events/{name} # The call: curl -X DELETE "https://<mgmt-ip>/api/protocols/fpolicy/4f643fb4-fd21-11e8-ae49-0050568e2c1e/events/event_cifs" -H "accept: application/json"