Endpoint

/v1/files/{ref}/info/acl/explain-set-mode

POST

Explain the effect of setting a POSIX mode on a file/directory.

Parameters

Name Description Required
ref The file ID or the absolute path to the file system object. File IDs can be found in the id field of responses of APIs that return file attributes. You must URL-encode the paths. The APIs & Tools page in the Qumulo Core Web UI URL-encodes the paths. Yes
snapshot The snapshot ID that specifies the version of the filesystem to use. If not specified, use the head version. No

Request

Schema

{
  "description": "api_files_apply_mode_explanation_post",
  "type": "object",
  "properties": {
    "mode": {
      "description": "POSIX mode to explain application of on a file ACL.",
      "type": "string"
    }
  }
}

Response

Codes

Code Description
200 Return value on success

Schema

{
  "description": "api_files_apply_mode_explanation",
  "type": "object",
  "properties": {
    "owner": {
      "description": "The user that owns the file.",
      "type": "object",
      "properties": {
        "domain": {
          "type": "string",
          "enum": [
            "LOCAL",
            "API_NULL_DOMAIN",
            "WORLD",
            "POSIX_USER",
            "POSIX_GROUP",
            "ACTIVE_DIRECTORY",
            "API_INVALID_DOMAIN",
            "API_RESERVED_DOMAIN",
            "API_INTERNAL_DOMAIN",
            "API_OPERATOR_DOMAIN",
            "API_CREATOR_DOMAIN"
          ],
          "description": "domain:\n * `ACTIVE_DIRECTORY` - ACTIVE_DIRECTORY,\n * `API_CREATOR_DOMAIN` - API_CREATOR_DOMAIN,\n * `API_INTERNAL_DOMAIN` - API_INTERNAL_DOMAIN,\n * `API_INVALID_DOMAIN` - API_INVALID_DOMAIN,\n * `API_NULL_DOMAIN` - API_NULL_DOMAIN,\n * `API_OPERATOR_DOMAIN` - API_OPERATOR_DOMAIN,\n * `API_RESERVED_DOMAIN` - API_RESERVED_DOMAIN,\n * `LOCAL` - LOCAL,\n * `POSIX_GROUP` - POSIX_GROUP,\n * `POSIX_USER` - POSIX_USER,\n * `WORLD` - WORLD"
        },
        "auth_id": {
          "description": "auth_id",
          "type": "string"
        },
        "uid": {
          "description": "uid",
          "type": "number"
        },
        "gid": {
          "description": "gid",
          "type": "number"
        },
        "sid": {
          "description": "sid",
          "type": "string"
        },
        "name": {
          "description": "name",
          "type": "string"
        }
      }
    },
    "group_owner": {
      "description": "The group-owner for the file.",
      "type": "object",
      "properties": {
        "domain": {
          "type": "string",
          "enum": [
            "LOCAL",
            "API_NULL_DOMAIN",
            "WORLD",
            "POSIX_USER",
            "POSIX_GROUP",
            "ACTIVE_DIRECTORY",
            "API_INVALID_DOMAIN",
            "API_RESERVED_DOMAIN",
            "API_INTERNAL_DOMAIN",
            "API_OPERATOR_DOMAIN",
            "API_CREATOR_DOMAIN"
          ],
          "description": "domain:\n * `ACTIVE_DIRECTORY` - ACTIVE_DIRECTORY,\n * `API_CREATOR_DOMAIN` - API_CREATOR_DOMAIN,\n * `API_INTERNAL_DOMAIN` - API_INTERNAL_DOMAIN,\n * `API_INVALID_DOMAIN` - API_INVALID_DOMAIN,\n * `API_NULL_DOMAIN` - API_NULL_DOMAIN,\n * `API_OPERATOR_DOMAIN` - API_OPERATOR_DOMAIN,\n * `API_RESERVED_DOMAIN` - API_RESERVED_DOMAIN,\n * `LOCAL` - LOCAL,\n * `POSIX_GROUP` - POSIX_GROUP,\n * `POSIX_USER` - POSIX_USER,\n * `WORLD` - WORLD"
        },
        "auth_id": {
          "description": "auth_id",
          "type": "string"
        },
        "uid": {
          "description": "uid",
          "type": "number"
        },
        "gid": {
          "description": "gid",
          "type": "number"
        },
        "sid": {
          "description": "sid",
          "type": "string"
        },
        "name": {
          "description": "name",
          "type": "string"
        }
      }
    },
    "owner_rights_from_mode": {
      "description": "The rights granted to the POSIX owner by the requested mode.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "READ",
          "READ_EA",
          "READ_ATTR",
          "READ_ACL",
          "WRITE_EA",
          "WRITE_ATTR",
          "WRITE_ACL",
          "CHANGE_OWNER",
          "WRITE_GROUP",
          "DELETE",
          "EXECUTE",
          "MODIFY",
          "EXTEND",
          "ADD_FILE",
          "ADD_SUBDIR",
          "DELETE_CHILD",
          "SYNCHRONIZE",
          "ACCESS_RIGHTS_ALL"
        ],
        "description": "The rights granted to the POSIX owner by the requested mode.:\n * `ACCESS_RIGHTS_ALL` - All access rights,\n * `ADD_FILE` - File creation access,\n * `ADD_SUBDIR` - Directory creation access,\n * `CHANGE_OWNER` - Owner write access,\n * `DELETE` - Delete access,\n * `DELETE_CHILD` - Delete from directory access,\n * `EXECUTE` - Execute access,\n * `EXTEND` - File extension access,\n * `MODIFY` - File modification access,\n * `READ` - File read access,\n * `READ_ACL` - ACL read access,\n * `READ_ATTR` - Attribute read access,\n * `READ_EA` - Extended attribute read access,\n * `SYNCHRONIZE` - File synchronize access,\n * `WRITE_ACL` - ACL write access,\n * `WRITE_ATTR` - Attribute write access,\n * `WRITE_EA` - Extended attribute write access,\n * `WRITE_GROUP` - Group write access"
      }
    },
    "group_rights_from_mode": {
      "description": "The rights granted to the POSIX group by the requested mode.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "READ",
          "READ_EA",
          "READ_ATTR",
          "READ_ACL",
          "WRITE_EA",
          "WRITE_ATTR",
          "WRITE_ACL",
          "CHANGE_OWNER",
          "WRITE_GROUP",
          "DELETE",
          "EXECUTE",
          "MODIFY",
          "EXTEND",
          "ADD_FILE",
          "ADD_SUBDIR",
          "DELETE_CHILD",
          "SYNCHRONIZE",
          "ACCESS_RIGHTS_ALL"
        ],
        "description": "The rights granted to the POSIX group by the requested mode.:\n * `ACCESS_RIGHTS_ALL` - All access rights,\n * `ADD_FILE` - File creation access,\n * `ADD_SUBDIR` - Directory creation access,\n * `CHANGE_OWNER` - Owner write access,\n * `DELETE` - Delete access,\n * `DELETE_CHILD` - Delete from directory access,\n * `EXECUTE` - Execute access,\n * `EXTEND` - File extension access,\n * `MODIFY` - File modification access,\n * `READ` - File read access,\n * `READ_ACL` - ACL read access,\n * `READ_ATTR` - Attribute read access,\n * `READ_EA` - Extended attribute read access,\n * `SYNCHRONIZE` - File synchronize access,\n * `WRITE_ACL` - ACL write access,\n * `WRITE_ATTR` - Attribute write access,\n * `WRITE_EA` - Extended attribute write access,\n * `WRITE_GROUP` - Group write access"
      }
    },
    "other_rights_from_mode": {
      "description": "The rights granted to the POSIX other by the requested mode.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "READ",
          "READ_EA",
          "READ_ATTR",
          "READ_ACL",
          "WRITE_EA",
          "WRITE_ATTR",
          "WRITE_ACL",
          "CHANGE_OWNER",
          "WRITE_GROUP",
          "DELETE",
          "EXECUTE",
          "MODIFY",
          "EXTEND",
          "ADD_FILE",
          "ADD_SUBDIR",
          "DELETE_CHILD",
          "SYNCHRONIZE",
          "ACCESS_RIGHTS_ALL"
        ],
        "description": "The rights granted to the POSIX other by the requested mode.:\n * `ACCESS_RIGHTS_ALL` - All access rights,\n * `ADD_FILE` - File creation access,\n * `ADD_SUBDIR` - Directory creation access,\n * `CHANGE_OWNER` - Owner write access,\n * `DELETE` - Delete access,\n * `DELETE_CHILD` - Delete from directory access,\n * `EXECUTE` - Execute access,\n * `EXTEND` - File extension access,\n * `MODIFY` - File modification access,\n * `READ` - File read access,\n * `READ_ACL` - ACL read access,\n * `READ_ATTR` - Attribute read access,\n * `READ_EA` - Extended attribute read access,\n * `SYNCHRONIZE` - File synchronize access,\n * `WRITE_ACL` - ACL write access,\n * `WRITE_ATTR` - Attribute write access,\n * `WRITE_EA` - Extended attribute write access,\n * `WRITE_GROUP` - Group write access"
      }
    },
    "max_extra_ace_allow": {
      "description": "The maximum rights that any extra allow ACE can specify.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "READ",
          "READ_EA",
          "READ_ATTR",
          "READ_ACL",
          "WRITE_EA",
          "WRITE_ATTR",
          "WRITE_ACL",
          "CHANGE_OWNER",
          "WRITE_GROUP",
          "DELETE",
          "EXECUTE",
          "MODIFY",
          "EXTEND",
          "ADD_FILE",
          "ADD_SUBDIR",
          "DELETE_CHILD",
          "SYNCHRONIZE",
          "ACCESS_RIGHTS_ALL"
        ],
        "description": "The maximum rights that any extra allow ACE can specify.:\n * `ACCESS_RIGHTS_ALL` - All access rights,\n * `ADD_FILE` - File creation access,\n * `ADD_SUBDIR` - Directory creation access,\n * `CHANGE_OWNER` - Owner write access,\n * `DELETE` - Delete access,\n * `DELETE_CHILD` - Delete from directory access,\n * `EXECUTE` - Execute access,\n * `EXTEND` - File extension access,\n * `MODIFY` - File modification access,\n * `READ` - File read access,\n * `READ_ACL` - ACL read access,\n * `READ_ATTR` - Attribute read access,\n * `READ_EA` - Extended attribute read access,\n * `SYNCHRONIZE` - File synchronize access,\n * `WRITE_ACL` - ACL write access,\n * `WRITE_ATTR` - Attribute write access,\n * `WRITE_EA` - Extended attribute write access,\n * `WRITE_GROUP` - Group write access"
      }
    },
    "max_extra_ace_deny": {
      "description": "The maximum rights that any extra deny ACE can specify.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "READ",
          "READ_EA",
          "READ_ATTR",
          "READ_ACL",
          "WRITE_EA",
          "WRITE_ATTR",
          "WRITE_ACL",
          "CHANGE_OWNER",
          "WRITE_GROUP",
          "DELETE",
          "EXECUTE",
          "MODIFY",
          "EXTEND",
          "ADD_FILE",
          "ADD_SUBDIR",
          "DELETE_CHILD",
          "SYNCHRONIZE",
          "ACCESS_RIGHTS_ALL"
        ],
        "description": "The maximum rights that any extra deny ACE can specify.:\n * `ACCESS_RIGHTS_ALL` - All access rights,\n * `ADD_FILE` - File creation access,\n * `ADD_SUBDIR` - Directory creation access,\n * `CHANGE_OWNER` - Owner write access,\n * `DELETE` - Delete access,\n * `DELETE_CHILD` - Delete from directory access,\n * `EXECUTE` - Execute access,\n * `EXTEND` - File extension access,\n * `MODIFY` - File modification access,\n * `READ` - File read access,\n * `READ_ACL` - ACL read access,\n * `READ_ATTR` - Attribute read access,\n * `READ_EA` - Extended attribute read access,\n * `SYNCHRONIZE` - File synchronize access,\n * `WRITE_ACL` - ACL write access,\n * `WRITE_ATTR` - Attribute write access,\n * `WRITE_EA` - Extended attribute write access,\n * `WRITE_GROUP` - Group write access"
      }
    },
    "not_produced_by_any_mode": {
      "description": "Rights that are never produced by a POSIX mode bit.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "READ",
          "READ_EA",
          "READ_ATTR",
          "READ_ACL",
          "WRITE_EA",
          "WRITE_ATTR",
          "WRITE_ACL",
          "CHANGE_OWNER",
          "WRITE_GROUP",
          "DELETE",
          "EXECUTE",
          "MODIFY",
          "EXTEND",
          "ADD_FILE",
          "ADD_SUBDIR",
          "DELETE_CHILD",
          "SYNCHRONIZE",
          "ACCESS_RIGHTS_ALL"
        ],
        "description": "Rights that are never produced by a POSIX mode bit.:\n * `ACCESS_RIGHTS_ALL` - All access rights,\n * `ADD_FILE` - File creation access,\n * `ADD_SUBDIR` - Directory creation access,\n * `CHANGE_OWNER` - Owner write access,\n * `DELETE` - Delete access,\n * `DELETE_CHILD` - Delete from directory access,\n * `EXECUTE` - Execute access,\n * `EXTEND` - File extension access,\n * `MODIFY` - File modification access,\n * `READ` - File read access,\n * `READ_ACL` - ACL read access,\n * `READ_ATTR` - Attribute read access,\n * `READ_EA` - Extended attribute read access,\n * `SYNCHRONIZE` - File synchronize access,\n * `WRITE_ACL` - ACL write access,\n * `WRITE_ATTR` - Attribute write access,\n * `WRITE_EA` - Extended attribute write access,\n * `WRITE_GROUP` - Group write access"
      }
    },
    "not_visible_in_mode": {
      "description": "Rights that will never cause a bit to be set in the displayed mode.",
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "READ",
          "READ_EA",
          "READ_ATTR",
          "READ_ACL",
          "WRITE_EA",
          "WRITE_ATTR",
          "WRITE_ACL",
          "CHANGE_OWNER",
          "WRITE_GROUP",
          "DELETE",
          "EXECUTE",
          "MODIFY",
          "EXTEND",
          "ADD_FILE",
          "ADD_SUBDIR",
          "DELETE_CHILD",
          "SYNCHRONIZE",
          "ACCESS_RIGHTS_ALL"
        ],
        "description": "Rights that will never cause a bit to be set in the displayed mode.:\n * `ACCESS_RIGHTS_ALL` - All access rights,\n * `ADD_FILE` - File creation access,\n * `ADD_SUBDIR` - Directory creation access,\n * `CHANGE_OWNER` - Owner write access,\n * `DELETE` - Delete access,\n * `DELETE_CHILD` - Delete from directory access,\n * `EXECUTE` - Execute access,\n * `EXTEND` - File extension access,\n * `MODIFY` - File modification access,\n * `READ` - File read access,\n * `READ_ACL` - ACL read access,\n * `READ_ATTR` - Attribute read access,\n * `READ_EA` - Extended attribute read access,\n * `SYNCHRONIZE` - File synchronize access,\n * `WRITE_ACL` - ACL write access,\n * `WRITE_ATTR` - Attribute write access,\n * `WRITE_EA` - Extended attribute write access,\n * `WRITE_GROUP` - Group write access"
      }
    },
    "annotated_aces": {
      "type": "array",
      "items": {
        "description": "The annotated steps that would be taken to apply the requested mode to the source ACL.",
        "type": "object",
        "properties": {
          "source_ace": {
            "description": "Original ACE that this step affects.",
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "ALLOWED",
                  "DENIED"
                ],
                "description": "Type of this ACL entry:\n * `ALLOWED` - An ACL entry that grants rights,\n * `DENIED` - An ACL entry that denies rights"
              },
              "flags": {
                "description": "ACE flags for this ACL entry",
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "OBJECT_INHERIT",
                    "CONTAINER_INHERIT",
                    "NO_PROPAGATE_INHERIT",
                    "INHERIT_ONLY",
                    "INHERITED",
                    "ACE_FLAGS_ALL"
                  ],
                  "description": "ACE flags for this ACL entry:\n * `ACE_FLAGS_ALL` - All ACE flags,\n * `CONTAINER_INHERIT` - Children that are containers inherit as effective ACE,\n * `INHERITED` - Indicates the ACE was inherited,\n * `INHERIT_ONLY` - Indicates an inherit-only ACE that doesn't control access to the attached object,\n * `NO_PROPAGATE_INHERIT` - Prevent subsequent children from inheriting ACE,\n * `OBJECT_INHERIT` - Non-container children inherit as effective ACE. Container objects inherit as inherit-only ACE"
                }
              },
              "trustee": {
                "description": "Trustee for this ACL entry",
                "type": "object",
                "properties": {
                  "domain": {
                    "type": "string",
                    "enum": [
                      "LOCAL",
                      "API_NULL_DOMAIN",
                      "WORLD",
                      "POSIX_USER",
                      "POSIX_GROUP",
                      "ACTIVE_DIRECTORY",
                      "API_INVALID_DOMAIN",
                      "API_RESERVED_DOMAIN",
                      "API_INTERNAL_DOMAIN",
                      "API_OPERATOR_DOMAIN",
                      "API_CREATOR_DOMAIN"
                    ],
                    "description": "domain:\n * `ACTIVE_DIRECTORY` - ACTIVE_DIRECTORY,\n * `API_CREATOR_DOMAIN` - API_CREATOR_DOMAIN,\n * `API_INTERNAL_DOMAIN` - API_INTERNAL_DOMAIN,\n * `API_INVALID_DOMAIN` - API_INVALID_DOMAIN,\n * `API_NULL_DOMAIN` - API_NULL_DOMAIN,\n * `API_OPERATOR_DOMAIN` - API_OPERATOR_DOMAIN,\n * `API_RESERVED_DOMAIN` - API_RESERVED_DOMAIN,\n * `LOCAL` - LOCAL,\n * `POSIX_GROUP` - POSIX_GROUP,\n * `POSIX_USER` - POSIX_USER,\n * `WORLD` - WORLD"
                  },
                  "auth_id": {
                    "description": "auth_id",
                    "type": "string"
                  },
                  "uid": {
                    "description": "uid",
                    "type": "number"
                  },
                  "gid": {
                    "description": "gid",
                    "type": "number"
                  },
                  "sid": {
                    "description": "sid",
                    "type": "string"
                  },
                  "name": {
                    "description": "name",
                    "type": "string"
                  }
                }
              },
              "rights": {
                "description": "Rights granted or denied for this ACL entry",
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "READ",
                    "READ_EA",
                    "READ_ATTR",
                    "READ_ACL",
                    "WRITE_EA",
                    "WRITE_ATTR",
                    "WRITE_ACL",
                    "CHANGE_OWNER",
                    "WRITE_GROUP",
                    "DELETE",
                    "EXECUTE",
                    "MODIFY",
                    "EXTEND",
                    "ADD_FILE",
                    "ADD_SUBDIR",
                    "DELETE_CHILD",
                    "SYNCHRONIZE",
                    "ACCESS_RIGHTS_ALL"
                  ],
                  "description": "Rights granted or denied for this ACL entry:\n * `ACCESS_RIGHTS_ALL` - All access rights,\n * `ADD_FILE` - File creation access,\n * `ADD_SUBDIR` - Directory creation access,\n * `CHANGE_OWNER` - Owner write access,\n * `DELETE` - Delete access,\n * `DELETE_CHILD` - Delete from directory access,\n * `EXECUTE` - Execute access,\n * `EXTEND` - File extension access,\n * `MODIFY` - File modification access,\n * `READ` - File read access,\n * `READ_ACL` - ACL read access,\n * `READ_ATTR` - Attribute read access,\n * `READ_EA` - Extended attribute read access,\n * `SYNCHRONIZE` - File synchronize access,\n * `WRITE_ACL` - ACL write access,\n * `WRITE_ATTR` - Attribute write access,\n * `WRITE_EA` - Extended attribute write access,\n * `WRITE_GROUP` - Group write access"
                }
              }
            }
          },
          "source_trustee_match": {
            "description": "Describes which POSIX mode classes the source ACE matches.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "POSIX_OWNER",
                "POSIX_GROUP_OWNER",
                "POSIX_OTHERS",
                "NON_POSIX"
              ],
              "description": "Describes which POSIX mode classes the source ACE matches.:\n * `NON_POSIX` - NON_POSIX,\n * `POSIX_GROUP_OWNER` - POSIX_GROUP_OWNER,\n * `POSIX_OTHERS` - POSIX_OTHERS,\n * `POSIX_OWNER` - POSIX_OWNER"
            }
          },
          "action": {
            "type": "string",
            "enum": [
              "COPY_ACE",
              "MODIFY_ACE",
              "INSERT_ACE",
              "REMOVE_ACE"
            ],
            "description": "The action being performed in this step to affect the ACL.:\n * `COPY_ACE` - COPY_ACE,\n * `INSERT_ACE` - INSERT_ACE,\n * `MODIFY_ACE` - MODIFY_ACE,\n * `REMOVE_ACE` - REMOVE_ACE"
          },
          "reason": {
            "description": "An explanation of why the action is being performed.",
            "type": "string"
          },
          "rights_removed": {
            "description": "Any rights that are removed from the source ACE in this step.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "READ",
                "READ_EA",
                "READ_ATTR",
                "READ_ACL",
                "WRITE_EA",
                "WRITE_ATTR",
                "WRITE_ACL",
                "CHANGE_OWNER",
                "WRITE_GROUP",
                "DELETE",
                "EXECUTE",
                "MODIFY",
                "EXTEND",
                "ADD_FILE",
                "ADD_SUBDIR",
                "DELETE_CHILD",
                "SYNCHRONIZE",
                "ACCESS_RIGHTS_ALL"
              ],
              "description": "Any rights that are removed from the source ACE in this step.:\n * `ACCESS_RIGHTS_ALL` - All access rights,\n * `ADD_FILE` - File creation access,\n * `ADD_SUBDIR` - Directory creation access,\n * `CHANGE_OWNER` - Owner write access,\n * `DELETE` - Delete access,\n * `DELETE_CHILD` - Delete from directory access,\n * `EXECUTE` - Execute access,\n * `EXTEND` - File extension access,\n * `MODIFY` - File modification access,\n * `READ` - File read access,\n * `READ_ACL` - ACL read access,\n * `READ_ATTR` - Attribute read access,\n * `READ_EA` - Extended attribute read access,\n * `SYNCHRONIZE` - File synchronize access,\n * `WRITE_ACL` - ACL write access,\n * `WRITE_ATTR` - Attribute write access,\n * `WRITE_EA` - Extended attribute write access,\n * `WRITE_GROUP` - Group write access"
            }
          },
          "flags_removed": {
            "description": "Any flags that are removed from the source ACE in this step.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "OBJECT_INHERIT",
                "CONTAINER_INHERIT",
                "NO_PROPAGATE_INHERIT",
                "INHERIT_ONLY",
                "INHERITED",
                "ACE_FLAGS_ALL"
              ],
              "description": "Any flags that are removed from the source ACE in this step.:\n * `ACE_FLAGS_ALL` - All ACE flags,\n * `CONTAINER_INHERIT` - Children that are containers inherit as effective ACE,\n * `INHERITED` - Indicates the ACE was inherited,\n * `INHERIT_ONLY` - Indicates an inherit-only ACE that doesn't control access to the attached object,\n * `NO_PROPAGATE_INHERIT` - Prevent subsequent children from inheriting ACE,\n * `OBJECT_INHERIT` - Non-container children inherit as effective ACE. Container objects inherit as inherit-only ACE"
            }
          },
          "flags_added": {
            "description": "Any flags that are added from the source ACE in this step.",
            "type": "array",
            "items": {
              "type": "string",
              "enum": [
                "OBJECT_INHERIT",
                "CONTAINER_INHERIT",
                "NO_PROPAGATE_INHERIT",
                "INHERIT_ONLY",
                "INHERITED",
                "ACE_FLAGS_ALL"
              ],
              "description": "Any flags that are added from the source ACE in this step.:\n * `ACE_FLAGS_ALL` - All ACE flags,\n * `CONTAINER_INHERIT` - Children that are containers inherit as effective ACE,\n * `INHERITED` - Indicates the ACE was inherited,\n * `INHERIT_ONLY` - Indicates an inherit-only ACE that doesn't control access to the attached object,\n * `NO_PROPAGATE_INHERIT` - Prevent subsequent children from inheriting ACE,\n * `OBJECT_INHERIT` - Non-container children inherit as effective ACE. Container objects inherit as inherit-only ACE"
            }
          },
          "result_ace": {
            "description": "The new ACE produced by this step.",
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "ALLOWED",
                  "DENIED"
                ],
                "description": "Type of this ACL entry:\n * `ALLOWED` - An ACL entry that grants rights,\n * `DENIED` - An ACL entry that denies rights"
              },
              "flags": {
                "description": "ACE flags for this ACL entry",
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "OBJECT_INHERIT",
                    "CONTAINER_INHERIT",
                    "NO_PROPAGATE_INHERIT",
                    "INHERIT_ONLY",
                    "INHERITED",
                    "ACE_FLAGS_ALL"
                  ],
                  "description": "ACE flags for this ACL entry:\n * `ACE_FLAGS_ALL` - All ACE flags,\n * `CONTAINER_INHERIT` - Children that are containers inherit as effective ACE,\n * `INHERITED` - Indicates the ACE was inherited,\n * `INHERIT_ONLY` - Indicates an inherit-only ACE that doesn't control access to the attached object,\n * `NO_PROPAGATE_INHERIT` - Prevent subsequent children from inheriting ACE,\n * `OBJECT_INHERIT` - Non-container children inherit as effective ACE. Container objects inherit as inherit-only ACE"
                }
              },
              "trustee": {
                "description": "Trustee for this ACL entry",
                "type": "object",
                "properties": {
                  "domain": {
                    "type": "string",
                    "enum": [
                      "LOCAL",
                      "API_NULL_DOMAIN",
                      "WORLD",
                      "POSIX_USER",
                      "POSIX_GROUP",
                      "ACTIVE_DIRECTORY",
                      "API_INVALID_DOMAIN",
                      "API_RESERVED_DOMAIN",
                      "API_INTERNAL_DOMAIN",
                      "API_OPERATOR_DOMAIN",
                      "API_CREATOR_DOMAIN"
                    ],
                    "description": "domain:\n * `ACTIVE_DIRECTORY` - ACTIVE_DIRECTORY,\n * `API_CREATOR_DOMAIN` - API_CREATOR_DOMAIN,\n * `API_INTERNAL_DOMAIN` - API_INTERNAL_DOMAIN,\n * `API_INVALID_DOMAIN` - API_INVALID_DOMAIN,\n * `API_NULL_DOMAIN` - API_NULL_DOMAIN,\n * `API_OPERATOR_DOMAIN` - API_OPERATOR_DOMAIN,\n * `API_RESERVED_DOMAIN` - API_RESERVED_DOMAIN,\n * `LOCAL` - LOCAL,\n * `POSIX_GROUP` - POSIX_GROUP,\n * `POSIX_USER` - POSIX_USER,\n * `WORLD` - WORLD"
                  },
                  "auth_id": {
                    "description": "auth_id",
                    "type": "string"
                  },
                  "uid": {
                    "description": "uid",
                    "type": "number"
                  },
                  "gid": {
                    "description": "gid",
                    "type": "number"
                  },
                  "sid": {
                    "description": "sid",
                    "type": "string"
                  },
                  "name": {
                    "description": "name",
                    "type": "string"
                  }
                }
              },
              "rights": {
                "description": "Rights granted or denied for this ACL entry",
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "READ",
                    "READ_EA",
                    "READ_ATTR",
                    "READ_ACL",
                    "WRITE_EA",
                    "WRITE_ATTR",
                    "WRITE_ACL",
                    "CHANGE_OWNER",
                    "WRITE_GROUP",
                    "DELETE",
                    "EXECUTE",
                    "MODIFY",
                    "EXTEND",
                    "ADD_FILE",
                    "ADD_SUBDIR",
                    "DELETE_CHILD",
                    "SYNCHRONIZE",
                    "ACCESS_RIGHTS_ALL"
                  ],
                  "description": "Rights granted or denied for this ACL entry:\n * `ACCESS_RIGHTS_ALL` - All access rights,\n * `ADD_FILE` - File creation access,\n * `ADD_SUBDIR` - Directory creation access,\n * `CHANGE_OWNER` - Owner write access,\n * `DELETE` - Delete access,\n * `DELETE_CHILD` - Delete from directory access,\n * `EXECUTE` - Execute access,\n * `EXTEND` - File extension access,\n * `MODIFY` - File modification access,\n * `READ` - File read access,\n * `READ_ACL` - ACL read access,\n * `READ_ATTR` - Attribute read access,\n * `READ_EA` - Extended attribute read access,\n * `SYNCHRONIZE` - File synchronize access,\n * `WRITE_ACL` - ACL write access,\n * `WRITE_ATTR` - Attribute write access,\n * `WRITE_EA` - Extended attribute write access,\n * `WRITE_GROUP` - Group write access"
                }
              }
            }
          }
        }
      }
    },
    "initial_acl": {
      "description": "The ACL originally on the file/directory in question.",
      "type": "object",
      "properties": {
        "control": {
          "description": "control",
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "PRESENT",
              "DEFAULTED",
              "TRUSTED",
              "AUTO_INHERIT",
              "PROTECTED",
              "ACL_CONTROLS_ALL"
            ],
            "description": "control:\n * `ACL_CONTROLS_ALL` - All ACL controls,\n * `AUTO_INHERIT` - Set whether the ACL was created through inheritance,\n * `DEFAULTED` - Sets whether the ACL was established by default means,\n * `PRESENT` - Set when ACL is present on the object,\n * `PROTECTED` - Protects ACL from inherit operations,\n * `TRUSTED` - Set when ACL is provided by a trusted source"
          }
        },
        "posix_special_permissions": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "STICKY_BIT",
              "SET_GID",
              "SET_UID"
            ],
            "description": "posix_special_permissions:\n * `SET_GID` - SET_GID,\n * `SET_UID` - SET_UID,\n * `STICKY_BIT` - STICKY_BIT"
          }
        },
        "aces": {
          "type": "array",
          "items": {
            "description": "aces",
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "ALLOWED",
                  "DENIED"
                ],
                "description": "Type of this ACL entry:\n * `ALLOWED` - An ACL entry that grants rights,\n * `DENIED` - An ACL entry that denies rights"
              },
              "flags": {
                "description": "ACE flags for this ACL entry",
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "OBJECT_INHERIT",
                    "CONTAINER_INHERIT",
                    "NO_PROPAGATE_INHERIT",
                    "INHERIT_ONLY",
                    "INHERITED",
                    "ACE_FLAGS_ALL"
                  ],
                  "description": "ACE flags for this ACL entry:\n * `ACE_FLAGS_ALL` - All ACE flags,\n * `CONTAINER_INHERIT` - Children that are containers inherit as effective ACE,\n * `INHERITED` - Indicates the ACE was inherited,\n * `INHERIT_ONLY` - Indicates an inherit-only ACE that doesn't control access to the attached object,\n * `NO_PROPAGATE_INHERIT` - Prevent subsequent children from inheriting ACE,\n * `OBJECT_INHERIT` - Non-container children inherit as effective ACE. Container objects inherit as inherit-only ACE"
                }
              },
              "trustee": {
                "description": "Trustee for this ACL entry",
                "type": "object",
                "properties": {
                  "domain": {
                    "type": "string",
                    "enum": [
                      "LOCAL",
                      "API_NULL_DOMAIN",
                      "WORLD",
                      "POSIX_USER",
                      "POSIX_GROUP",
                      "ACTIVE_DIRECTORY",
                      "API_INVALID_DOMAIN",
                      "API_RESERVED_DOMAIN",
                      "API_INTERNAL_DOMAIN",
                      "API_OPERATOR_DOMAIN",
                      "API_CREATOR_DOMAIN"
                    ],
                    "description": "domain:\n * `ACTIVE_DIRECTORY` - ACTIVE_DIRECTORY,\n * `API_CREATOR_DOMAIN` - API_CREATOR_DOMAIN,\n * `API_INTERNAL_DOMAIN` - API_INTERNAL_DOMAIN,\n * `API_INVALID_DOMAIN` - API_INVALID_DOMAIN,\n * `API_NULL_DOMAIN` - API_NULL_DOMAIN,\n * `API_OPERATOR_DOMAIN` - API_OPERATOR_DOMAIN,\n * `API_RESERVED_DOMAIN` - API_RESERVED_DOMAIN,\n * `LOCAL` - LOCAL,\n * `POSIX_GROUP` - POSIX_GROUP,\n * `POSIX_USER` - POSIX_USER,\n * `WORLD` - WORLD"
                  },
                  "auth_id": {
                    "description": "auth_id",
                    "type": "string"
                  },
                  "uid": {
                    "description": "uid",
                    "type": "number"
                  },
                  "gid": {
                    "description": "gid",
                    "type": "number"
                  },
                  "sid": {
                    "description": "sid",
                    "type": "string"
                  },
                  "name": {
                    "description": "name",
                    "type": "string"
                  }
                }
              },
              "rights": {
                "description": "Rights granted or denied for this ACL entry",
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "READ",
                    "READ_EA",
                    "READ_ATTR",
                    "READ_ACL",
                    "WRITE_EA",
                    "WRITE_ATTR",
                    "WRITE_ACL",
                    "CHANGE_OWNER",
                    "WRITE_GROUP",
                    "DELETE",
                    "EXECUTE",
                    "MODIFY",
                    "EXTEND",
                    "ADD_FILE",
                    "ADD_SUBDIR",
                    "DELETE_CHILD",
                    "SYNCHRONIZE",
                    "ACCESS_RIGHTS_ALL"
                  ],
                  "description": "Rights granted or denied for this ACL entry:\n * `ACCESS_RIGHTS_ALL` - All access rights,\n * `ADD_FILE` - File creation access,\n * `ADD_SUBDIR` - Directory creation access,\n * `CHANGE_OWNER` - Owner write access,\n * `DELETE` - Delete access,\n * `DELETE_CHILD` - Delete from directory access,\n * `EXECUTE` - Execute access,\n * `EXTEND` - File extension access,\n * `MODIFY` - File modification access,\n * `READ` - File read access,\n * `READ_ACL` - ACL read access,\n * `READ_ATTR` - Attribute read access,\n * `READ_EA` - Extended attribute read access,\n * `SYNCHRONIZE` - File synchronize access,\n * `WRITE_ACL` - ACL write access,\n * `WRITE_ATTR` - Attribute write access,\n * `WRITE_EA` - Extended attribute write access,\n * `WRITE_GROUP` - Group write access"
                }
              }
            }
          }
        }
      }
    },
    "result_acl": {
      "description": "The ACL that would be produced by applying the requested mode.",
      "type": "object",
      "properties": {
        "control": {
          "description": "control",
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "PRESENT",
              "DEFAULTED",
              "TRUSTED",
              "AUTO_INHERIT",
              "PROTECTED",
              "ACL_CONTROLS_ALL"
            ],
            "description": "control:\n * `ACL_CONTROLS_ALL` - All ACL controls,\n * `AUTO_INHERIT` - Set whether the ACL was created through inheritance,\n * `DEFAULTED` - Sets whether the ACL was established by default means,\n * `PRESENT` - Set when ACL is present on the object,\n * `PROTECTED` - Protects ACL from inherit operations,\n * `TRUSTED` - Set when ACL is provided by a trusted source"
          }
        },
        "posix_special_permissions": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "STICKY_BIT",
              "SET_GID",
              "SET_UID"
            ],
            "description": "posix_special_permissions:\n * `SET_GID` - SET_GID,\n * `SET_UID` - SET_UID,\n * `STICKY_BIT` - STICKY_BIT"
          }
        },
        "aces": {
          "type": "array",
          "items": {
            "description": "aces",
            "type": "object",
            "properties": {
              "type": {
                "type": "string",
                "enum": [
                  "ALLOWED",
                  "DENIED"
                ],
                "description": "Type of this ACL entry:\n * `ALLOWED` - An ACL entry that grants rights,\n * `DENIED` - An ACL entry that denies rights"
              },
              "flags": {
                "description": "ACE flags for this ACL entry",
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "OBJECT_INHERIT",
                    "CONTAINER_INHERIT",
                    "NO_PROPAGATE_INHERIT",
                    "INHERIT_ONLY",
                    "INHERITED",
                    "ACE_FLAGS_ALL"
                  ],
                  "description": "ACE flags for this ACL entry:\n * `ACE_FLAGS_ALL` - All ACE flags,\n * `CONTAINER_INHERIT` - Children that are containers inherit as effective ACE,\n * `INHERITED` - Indicates the ACE was inherited,\n * `INHERIT_ONLY` - Indicates an inherit-only ACE that doesn't control access to the attached object,\n * `NO_PROPAGATE_INHERIT` - Prevent subsequent children from inheriting ACE,\n * `OBJECT_INHERIT` - Non-container children inherit as effective ACE. Container objects inherit as inherit-only ACE"
                }
              },
              "trustee": {
                "description": "Trustee for this ACL entry",
                "type": "object",
                "properties": {
                  "domain": {
                    "type": "string",
                    "enum": [
                      "LOCAL",
                      "API_NULL_DOMAIN",
                      "WORLD",
                      "POSIX_USER",
                      "POSIX_GROUP",
                      "ACTIVE_DIRECTORY",
                      "API_INVALID_DOMAIN",
                      "API_RESERVED_DOMAIN",
                      "API_INTERNAL_DOMAIN",
                      "API_OPERATOR_DOMAIN",
                      "API_CREATOR_DOMAIN"
                    ],
                    "description": "domain:\n * `ACTIVE_DIRECTORY` - ACTIVE_DIRECTORY,\n * `API_CREATOR_DOMAIN` - API_CREATOR_DOMAIN,\n * `API_INTERNAL_DOMAIN` - API_INTERNAL_DOMAIN,\n * `API_INVALID_DOMAIN` - API_INVALID_DOMAIN,\n * `API_NULL_DOMAIN` - API_NULL_DOMAIN,\n * `API_OPERATOR_DOMAIN` - API_OPERATOR_DOMAIN,\n * `API_RESERVED_DOMAIN` - API_RESERVED_DOMAIN,\n * `LOCAL` - LOCAL,\n * `POSIX_GROUP` - POSIX_GROUP,\n * `POSIX_USER` - POSIX_USER,\n * `WORLD` - WORLD"
                  },
                  "auth_id": {
                    "description": "auth_id",
                    "type": "string"
                  },
                  "uid": {
                    "description": "uid",
                    "type": "number"
                  },
                  "gid": {
                    "description": "gid",
                    "type": "number"
                  },
                  "sid": {
                    "description": "sid",
                    "type": "string"
                  },
                  "name": {
                    "description": "name",
                    "type": "string"
                  }
                }
              },
              "rights": {
                "description": "Rights granted or denied for this ACL entry",
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "READ",
                    "READ_EA",
                    "READ_ATTR",
                    "READ_ACL",
                    "WRITE_EA",
                    "WRITE_ATTR",
                    "WRITE_ACL",
                    "CHANGE_OWNER",
                    "WRITE_GROUP",
                    "DELETE",
                    "EXECUTE",
                    "MODIFY",
                    "EXTEND",
                    "ADD_FILE",
                    "ADD_SUBDIR",
                    "DELETE_CHILD",
                    "SYNCHRONIZE",
                    "ACCESS_RIGHTS_ALL"
                  ],
                  "description": "Rights granted or denied for this ACL entry:\n * `ACCESS_RIGHTS_ALL` - All access rights,\n * `ADD_FILE` - File creation access,\n * `ADD_SUBDIR` - Directory creation access,\n * `CHANGE_OWNER` - Owner write access,\n * `DELETE` - Delete access,\n * `DELETE_CHILD` - Delete from directory access,\n * `EXECUTE` - Execute access,\n * `EXTEND` - File extension access,\n * `MODIFY` - File modification access,\n * `READ` - File read access,\n * `READ_ACL` - ACL read access,\n * `READ_ATTR` - Attribute read access,\n * `READ_EA` - Extended attribute read access,\n * `SYNCHRONIZE` - File synchronize access,\n * `WRITE_ACL` - ACL write access,\n * `WRITE_ATTR` - Attribute write access,\n * `WRITE_EA` - Extended attribute write access,\n * `WRITE_GROUP` - Group write access"
                }
              }
            }
          }
        }
      }
    }
  }
}