{
  "name": "powerscale",
  "version": "1.8.0",
  "description": "A Pulumi provider dynamically bridged from powerscale.",
  "attribution": "This Pulumi package is based on the [`powerscale` Terraform Provider](https://github.com/dell/terraform-provider-powerscale).",
  "repository": "https://github.com/dell/terraform-provider-powerscale",
  "publisher": "dell",
  "meta": {
    "moduleFormat": "(.*)(?:/[^/]*)"
  },
  "language": {
    "csharp": {
      "compatibility": "tfbridge20",
      "liftSingleValueMethodReturns": true,
      "respectSchemaVersion": true
    },
    "go": {
      "generateExtraInputTypes": true,
      "importBasePath": "github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale",
      "liftSingleValueMethodReturns": true,
      "respectSchemaVersion": true,
      "rootPackageName": "powerscale"
    },
    "java": {
      "basePackage": "",
      "buildFiles": "",
      "gradleNexusPublishPluginVersion": "",
      "gradleTest": ""
    },
    "nodejs": {
      "compatibility": "tfbridge20",
      "disableUnionOutputTypes": true,
      "liftSingleValueMethodReturns": true,
      "packageDescription": "A Pulumi provider dynamically bridged from powerscale.",
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/dell/terraform-provider-powerscale)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> please consult the source [`terraform-provider-powerscale` repo](https://github.com/dell/terraform-provider-powerscale/issues).",
      "respectSchemaVersion": true
    },
    "python": {
      "compatibility": "tfbridge20",
      "pyproject": {
        "enabled": true
      },
      "readme": "> This provider is a derived work of the [Terraform Provider](https://github.com/dell/terraform-provider-powerscale)\n> distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n> please consult the source [`terraform-provider-powerscale` repo](https://github.com/dell/terraform-provider-powerscale/issues).",
      "respectSchemaVersion": true
    }
  },
  "config": {
    "variables": {
      "authType": {
        "type": "number",
        "description": "what should be the auth type, 0 for basic and 1 for session-based. This can also be set using the environment variable\nPOWERSCALE_AUTH_TYPE\n"
      },
      "endpoint": {
        "type": "string",
        "description": "The API endpoint, ex. https://172.17.177.230:8080. This can also be set using the environment variable\nPOWERSCALE_ENDPOINT\n"
      },
      "insecure": {
        "type": "boolean",
        "description": "whether to skip SSL validation. This can also be set using the environment variable POWERSCALE_INSECURE\n"
      },
      "password": {
        "type": "string",
        "description": "The password. This can also be set using the environment variable POWERSCALE_PASSWORD\n",
        "secret": true
      },
      "timeout": {
        "type": "number",
        "description": "specifies a time limit for requests. This can also be set using the environment variable POWERSCALE_TIMEOUT\n"
      },
      "username": {
        "type": "string",
        "description": "The username. This can also be set using the environment variable POWERSCALE_USERNAME\n"
      }
    }
  },
  "types": {
    "powerscale:index/AccesszoneIfsRestricted:AccesszoneIfsRestricted": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/ClusterEmailSettings:ClusterEmailSettings": {
      "properties": {
        "batchMode": {
          "type": "string",
          "description": "This setting determines how notifications will be batched together to be sent by email.  'none' means each notification will be sent separately.  'severity' means notifications of the same severity will be sent together.  'category' means notifications of the same category will be sent together.  'all' means all notifications will be batched together and sent in a single email.\n"
        },
        "mailRelay": {
          "type": "string",
          "description": "The address of the SMTP server to be used for relaying the notification messages.  An SMTP server is required in order to send notifications.  If this string is empty, no emails will be sent.\n"
        },
        "mailSender": {
          "type": "string",
          "description": "The full email address that will appear as the sender of notification messages.\n"
        },
        "mailSubject": {
          "type": "string",
          "description": "The subject line for notification messages from this cluster.\n"
        },
        "smtpAuthPasswd": {
          "type": "string",
          "description": "Password to authenticate with if SMTP authentication is being used.\n"
        },
        "smtpAuthPasswdSet": {
          "type": "boolean",
          "description": "Indicates if an SMTP authentication password is set.\n"
        },
        "smtpAuthSecurity": {
          "type": "string",
          "description": "The type of secure communication protocol to use if SMTP is being used.  If 'none', plain text will be used, if 'starttls', the encrypted STARTTLS protocol will be used.\n"
        },
        "smtpAuthUsername": {
          "type": "string",
          "description": "Username to authenticate with if SMTP authentication is being used.\n"
        },
        "smtpPort": {
          "type": "number",
          "description": "The port on the SMTP server to be used for relaying the notification messages.\n"
        },
        "useSmtpAuth": {
          "type": "boolean",
          "description": "If true, this cluster will send SMTP authentication credentials to the SMTP relay server in order to send its notification emails.  If false, the cluster will attempt to send its notification emails without authentication.\n"
        },
        "userTemplate": {
          "type": "string",
          "description": "Location of a custom template file that can be used to specify the layout of the notification emails.  If this string is empty, the default template will be used.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "batchMode",
            "mailRelay",
            "mailSender",
            "mailSubject",
            "smtpAuthPasswd",
            "smtpAuthPasswdSet",
            "smtpAuthSecurity",
            "smtpAuthUsername",
            "smtpPort",
            "useSmtpAuth",
            "userTemplate"
          ]
        }
      }
    },
    "powerscale:index/ClusterIdentityLogon:ClusterIdentityLogon": {
      "properties": {
        "motd": {
          "type": "string",
          "description": "The message of the day.\n"
        },
        "motdHeader": {
          "type": "string",
          "description": "The header to the message of the day.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "motd",
            "motdHeader"
          ]
        }
      }
    },
    "powerscale:index/FilepoolPolicyAction:FilepoolPolicyAction": {
      "properties": {
        "actionType": {
          "type": "string",
          "description": "action*type Acceptable values: set*requested*protection, set*data*access*pattern, enable*coalescer, apply*data*storage*policy, apply*snapshot*storage*policy, set*cloudpool*policy, enable*packing.\n"
        },
        "cloudpoolPolicyAction": {
          "$ref": "#/types/powerscale:index%2FFilepoolPolicyActionCloudpoolPolicyAction:FilepoolPolicyActionCloudpoolPolicyAction",
          "description": "Action for set*cloudpool*policy type.\n"
        },
        "dataAccessPatternAction": {
          "type": "string",
          "description": "Action for set*data*access_pattern type. Set data access pattern optimization. Acceptable values: random, concurrency, streaming.\n"
        },
        "dataStoragePolicyAction": {
          "$ref": "#/types/powerscale:index%2FFilepoolPolicyActionDataStoragePolicyAction:FilepoolPolicyActionDataStoragePolicyAction",
          "description": "Action for apply*data*storage*policy.\n"
        },
        "enableCoalescerAction": {
          "type": "boolean",
          "description": "Action for enable_coalescer type. Set write performance optimization. True to enable SmartCache action.\n"
        },
        "enablePackingAction": {
          "type": "boolean",
          "description": "Action for enable*packing type. True to enable enable*packing action.\n"
        },
        "requestedProtectionAction": {
          "type": "string",
          "description": "Action for set*requested*protection type. Acceptable values: default, +1n, +2d:1n, +2n, +3d:1n, +3d:1n1d, +3n, +4d:1n, +4d:2n, +4n, 2x, 3x, 4x, 5x, 6x, 7x, 8x.\n"
        },
        "snapshotStoragePolicyAction": {
          "$ref": "#/types/powerscale:index%2FFilepoolPolicyActionSnapshotStoragePolicyAction:FilepoolPolicyActionSnapshotStoragePolicyAction",
          "description": "Action for apply*snapshot*storage*policy.\n"
        }
      },
      "type": "object",
      "required": [
        "actionType"
      ]
    },
    "powerscale:index/FilepoolPolicyActionCloudpoolPolicyAction:FilepoolPolicyActionCloudpoolPolicyAction": {
      "properties": {
        "archiveSnapshotFiles": {
          "type": "boolean",
          "description": "Specifies if files with snapshots should be archived.\n"
        },
        "cache": {
          "$ref": "#/types/powerscale:index%2FFilepoolPolicyActionCloudpoolPolicyActionCache:FilepoolPolicyActionCloudpoolPolicyActionCache",
          "description": "Specifies default cloudpool cache settings for new filepool policies.\n"
        },
        "compression": {
          "type": "boolean",
          "description": "Specifies if files should be compressed.\n"
        },
        "dataRetention": {
          "type": "number",
          "description": "Specifies the minimum amount of time archived data will be retained in the cloud after deletion.\n"
        },
        "encryption": {
          "type": "boolean",
          "description": "Specifies if files should be encrypted.\n"
        },
        "fullBackupRetention": {
          "type": "number",
          "description": "The minimum amount of time cloud files will be retained after the creation of a full NDMP backup. (Used with NDMP backups only.  Not applicable to SyncIQ.)\n"
        },
        "incrementalBackupRetention": {
          "type": "number",
          "description": "The minimum amount of time cloud files will be retained after the creation of a SyncIQ backup or an incremental NDMP backup. (Used with SyncIQ and NDMP backups.)\n"
        },
        "pool": {
          "type": "string",
          "description": "Specifies the cloudPool storage target.\n"
        },
        "writebackFrequency": {
          "type": "number",
          "description": "The minimum amount of time to wait before updating cloud data with local changes.\n"
        }
      },
      "type": "object",
      "required": [
        "pool"
      ],
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "archiveSnapshotFiles",
            "cache",
            "compression",
            "dataRetention",
            "encryption",
            "fullBackupRetention",
            "incrementalBackupRetention",
            "pool",
            "writebackFrequency"
          ]
        }
      }
    },
    "powerscale:index/FilepoolPolicyActionCloudpoolPolicyActionCache:FilepoolPolicyActionCloudpoolPolicyActionCache": {
      "properties": {
        "expiration": {
          "type": "number",
          "description": "Specifies cache expiration.\n"
        },
        "readAhead": {
          "type": "string",
          "description": "Specifies cache read ahead type. Acceptable values: partial, full.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies cache type. Acceptable values: cached, no-cache.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "expiration",
            "readAhead",
            "type"
          ]
        }
      }
    },
    "powerscale:index/FilepoolPolicyActionDataStoragePolicyAction:FilepoolPolicyActionDataStoragePolicyAction": {
      "properties": {
        "ssdStrategy": {
          "type": "string",
          "description": "Specifies the SSD strategy. Acceptable values: metadata, metadata-write, data, avoid.\n"
        },
        "storagepool": {
          "type": "string",
          "description": "Specifies the storage target.\n"
        }
      },
      "type": "object",
      "required": [
        "ssdStrategy",
        "storagepool"
      ]
    },
    "powerscale:index/FilepoolPolicyActionSnapshotStoragePolicyAction:FilepoolPolicyActionSnapshotStoragePolicyAction": {
      "properties": {
        "ssdStrategy": {
          "type": "string",
          "description": "Specifies the SSD strategy. Acceptable values: metadata, metadata-write, data, avoid.\n"
        },
        "storagepool": {
          "type": "string",
          "description": "Specifies the snapshot storage target.\n"
        }
      },
      "type": "object",
      "required": [
        "ssdStrategy",
        "storagepool"
      ]
    },
    "powerscale:index/FilepoolPolicyFileMatchingPattern:FilepoolPolicyFileMatchingPattern": {
      "properties": {
        "orCriterias": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FFilepoolPolicyFileMatchingPatternOrCriteria:FilepoolPolicyFileMatchingPatternOrCriteria"
          },
          "description": "List of or*criteria file matching rules for this policy.\n"
        }
      },
      "type": "object",
      "required": [
        "orCriterias"
      ]
    },
    "powerscale:index/FilepoolPolicyFileMatchingPatternOrCriteria:FilepoolPolicyFileMatchingPatternOrCriteria": {
      "properties": {
        "andCriterias": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FFilepoolPolicyFileMatchingPatternOrCriteriaAndCriteria:FilepoolPolicyFileMatchingPatternOrCriteriaAndCriteria"
          },
          "description": "List of and*criteria file matching rules for this policy.\n"
        }
      },
      "type": "object",
      "required": [
        "andCriterias"
      ]
    },
    "powerscale:index/FilepoolPolicyFileMatchingPatternOrCriteriaAndCriteria:FilepoolPolicyFileMatchingPatternOrCriteriaAndCriteria": {
      "properties": {
        "attributeExists": {
          "type": "boolean",
          "description": "Indicates whether the existence of an attribute indicates a match (valid only with 'type' = 'custom_attribute').\n"
        },
        "beginsWith": {
          "type": "boolean",
          "description": "True to match the path exactly, False to match any subtree. (valid only with 'type' = 'path').\n"
        },
        "caseSensitive": {
          "type": "boolean",
          "description": "True to indicate case sensitivity when comparing file attributes (valid only with 'type' = 'name' or 'type' = 'path').\n"
        },
        "field": {
          "type": "string",
          "description": "File attribute field name to be compared in a custom comparison (valid only with 'type' = 'custom_attribute').\n"
        },
        "operator": {
          "type": "string",
          "description": "The comparison operator to use while comparing an attribute with its value.\n"
        },
        "type": {
          "type": "string",
          "description": "The file attribute to be compared to a given value.\n"
        },
        "units": {
          "type": "string",
          "description": "Size unit value. One of 'B','KB','MB','GB','TB','PB','EB' (valid only with 'type' = 'size').\n"
        },
        "useRelativeTime": {
          "type": "boolean",
          "description": "Whether time units refer to a calendar date and time (e.g., Jun 3, 2009) or a relative duration (e.g., 2 weeks) (valid only with 'type' in {accessed*time, birth*time, changed*time or metadata*changed_time}.\n"
        },
        "value": {
          "type": "string",
          "description": "The value to be compared against a file attribute.\n"
        }
      },
      "type": "object",
      "required": [
        "type"
      ]
    },
    "powerscale:index/FilesystemGroup:FilesystemGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "group identifier\n"
        },
        "name": {
          "type": "string",
          "description": "group name\n"
        },
        "type": {
          "type": "string",
          "description": "group type\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/FilesystemOwner:FilesystemOwner": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Owner identifier\n"
        },
        "name": {
          "type": "string",
          "description": "Owner name\n"
        },
        "type": {
          "type": "string",
          "description": "Owner type\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NamespaceAclAcl:NamespaceAclAcl": {
      "properties": {
        "accessrights": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the access control permissions for a specific user or group.\n"
        },
        "accesstype": {
          "type": "string",
          "description": "Grants or denies access control permissions.\n"
        },
        "inheritFlags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Grants or denies access control permissions.\n"
        },
        "op": {
          "type": "string",
          "description": "Operations for updating access control permissions. Unnecessary for access right replacing scenario\n"
        },
        "trustee": {
          "$ref": "#/types/powerscale:index%2FNamespaceAclAclTrustee:NamespaceAclAclTrustee",
          "description": "Provides the JSON object for the group persona of the owner.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "accessrights",
            "accesstype",
            "inheritFlags",
            "op",
            "trustee"
          ]
        }
      }
    },
    "powerscale:index/NamespaceAclAclCustom:NamespaceAclAclCustom": {
      "properties": {
        "accessrights": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the access control permissions for a specific user or group. Options: std*delete, std*read*dac, std*write*dac, std*write*owner, std*synchronize, std*required, generic*all, generic*read, generic*write, generic*exec, dir*gen*all, dir*gen*read, dir*gen*write, dir*gen*execute, file*gen*all, file*gen*read, file*gen*write, file*gen*execute, modify, file*read, file*write, append, execute, file*read*attr, file*write*attr, file*read*ext*attr, file*write*ext*attr, delete*child, list, add*file, add*subdir, traverse, dir*read*attr, dir*write*attr, dir*read*ext*attr, dir*write*ext*attr\n"
        },
        "accesstype": {
          "type": "string",
          "description": "Grants or denies access control permissions. Options: allow, deny\n"
        },
        "inheritFlags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Grants or denies access control permissions. Options: object*inherit, container*inherit, inherit*only, no*prop*inherit, inherited*ace\n"
        },
        "op": {
          "type": "string",
          "description": "Operations for updating access control permissions. Unnecessary for access right replacing scenario\n"
        },
        "trustee": {
          "$ref": "#/types/powerscale:index%2FNamespaceAclAclCustomTrustee:NamespaceAclAclCustomTrustee",
          "description": "Provides the JSON object for the group persona of the owner.\n"
        }
      },
      "type": "object",
      "required": [
        "accesstype",
        "trustee"
      ]
    },
    "powerscale:index/NamespaceAclAclCustomTrustee:NamespaceAclAclCustomTrustee": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0' or 'GID:0'\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/NamespaceAclAclTrustee:NamespaceAclAclTrustee": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0' or 'GID:0'\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NamespaceAclGroup:NamespaceAclGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'GID:0'\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NamespaceAclOwner:NamespaceAclOwner": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0'\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NetworkpoolIface:NetworkpoolIface": {
      "properties": {
        "iface": {
          "type": "string",
          "description": "A string that defines an interface name.\n"
        },
        "lnn": {
          "type": "number",
          "description": "Logical Node Number (LNN) of a node.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "iface",
            "lnn"
          ]
        }
      }
    },
    "powerscale:index/NetworkpoolRange:NetworkpoolRange": {
      "properties": {
        "high": {
          "type": "string",
          "description": "High IP\n"
        },
        "low": {
          "type": "string",
          "description": "Low IP\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "high",
            "low"
          ]
        }
      }
    },
    "powerscale:index/NetworkpoolStaticRoute:NetworkpoolStaticRoute": {
      "properties": {
        "gateway": {
          "type": "string",
          "description": "Address of the gateway in the format: yyy.yyy.yyy.yyy\n"
        },
        "prefixlen": {
          "type": "number",
          "description": "Prefix length in the format: nn.\n"
        },
        "subnet": {
          "type": "string",
          "description": "Network address in the format: xxx.xxx.xxx.xxx\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "gateway",
            "prefixlen",
            "subnet"
          ]
        }
      }
    },
    "powerscale:index/NfsExportMapAll:NfsExportMapAll": {
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "True if the user mapping is applied.\n"
        },
        "primaryGroup": {
          "$ref": "#/types/powerscale:index%2FNfsExportMapAllPrimaryGroup:NfsExportMapAllPrimaryGroup",
          "description": "Specifies the persona of the file group.\n"
        },
        "secondaryGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FNfsExportMapAllSecondaryGroup:NfsExportMapAllSecondaryGroup"
          },
          "description": "Specifies persona properties for the secondary user group. A persona consists of either a type and name, or an ID.\n"
        },
        "user": {
          "$ref": "#/types/powerscale:index%2FNfsExportMapAllUser:NfsExportMapAllUser",
          "description": "Specifies the persona of the file group.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "enabled",
            "primaryGroup",
            "secondaryGroups",
            "user"
          ]
        }
      }
    },
    "powerscale:index/NfsExportMapAllPrimaryGroup:NfsExportMapAllPrimaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportMapAllSecondaryGroup:NfsExportMapAllSecondaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportMapAllUser:NfsExportMapAllUser": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportMapFailure:NfsExportMapFailure": {
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "True if the user mapping is applied.\n"
        },
        "primaryGroup": {
          "$ref": "#/types/powerscale:index%2FNfsExportMapFailurePrimaryGroup:NfsExportMapFailurePrimaryGroup",
          "description": "Specifies the persona of the file group.\n"
        },
        "secondaryGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FNfsExportMapFailureSecondaryGroup:NfsExportMapFailureSecondaryGroup"
          },
          "description": "Specifies persona properties for the secondary user group. A persona consists of either a type and name, or an ID.\n"
        },
        "user": {
          "$ref": "#/types/powerscale:index%2FNfsExportMapFailureUser:NfsExportMapFailureUser",
          "description": "Specifies the persona of the file group.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "enabled",
            "primaryGroup",
            "secondaryGroups",
            "user"
          ]
        }
      }
    },
    "powerscale:index/NfsExportMapFailurePrimaryGroup:NfsExportMapFailurePrimaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportMapFailureSecondaryGroup:NfsExportMapFailureSecondaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportMapFailureUser:NfsExportMapFailureUser": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportMapNonRoot:NfsExportMapNonRoot": {
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "True if the user mapping is applied.\n"
        },
        "primaryGroup": {
          "$ref": "#/types/powerscale:index%2FNfsExportMapNonRootPrimaryGroup:NfsExportMapNonRootPrimaryGroup",
          "description": "Specifies the persona of the file group.\n"
        },
        "secondaryGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FNfsExportMapNonRootSecondaryGroup:NfsExportMapNonRootSecondaryGroup"
          },
          "description": "Specifies persona properties for the secondary user group. A persona consists of either a type and name, or an ID.\n"
        },
        "user": {
          "$ref": "#/types/powerscale:index%2FNfsExportMapNonRootUser:NfsExportMapNonRootUser",
          "description": "Specifies the persona of the file group.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "enabled",
            "primaryGroup",
            "secondaryGroups",
            "user"
          ]
        }
      }
    },
    "powerscale:index/NfsExportMapNonRootPrimaryGroup:NfsExportMapNonRootPrimaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportMapNonRootSecondaryGroup:NfsExportMapNonRootSecondaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportMapNonRootUser:NfsExportMapNonRootUser": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportMapRoot:NfsExportMapRoot": {
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "True if the user mapping is applied.\n"
        },
        "primaryGroup": {
          "$ref": "#/types/powerscale:index%2FNfsExportMapRootPrimaryGroup:NfsExportMapRootPrimaryGroup",
          "description": "Specifies the persona of the file group.\n"
        },
        "secondaryGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FNfsExportMapRootSecondaryGroup:NfsExportMapRootSecondaryGroup"
          },
          "description": "Specifies persona properties for the secondary user group. A persona consists of either a type and name, or an ID.\n"
        },
        "user": {
          "$ref": "#/types/powerscale:index%2FNfsExportMapRootUser:NfsExportMapRootUser",
          "description": "Specifies the persona of the file group.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "enabled",
            "primaryGroup",
            "secondaryGroups",
            "user"
          ]
        }
      }
    },
    "powerscale:index/NfsExportMapRootPrimaryGroup:NfsExportMapRootPrimaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportMapRootSecondaryGroup:NfsExportMapRootSecondaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportMapRootUser:NfsExportMapRootUser": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportSettingsMapAll:NfsExportSettingsMapAll": {
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "True if the user mapping is applied.\n"
        },
        "primaryGroup": {
          "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapAllPrimaryGroup:NfsExportSettingsMapAllPrimaryGroup",
          "description": "Specifies the persona of the file group.\n"
        },
        "secondaryGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapAllSecondaryGroup:NfsExportSettingsMapAllSecondaryGroup"
          },
          "description": "Specifies persona properties for the secondary user group. A persona consists of either a type and name, or an ID.\n"
        },
        "user": {
          "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapAllUser:NfsExportSettingsMapAllUser",
          "description": "Specifies the persona of the file group.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "enabled",
            "primaryGroup",
            "secondaryGroups",
            "user"
          ]
        }
      }
    },
    "powerscale:index/NfsExportSettingsMapAllPrimaryGroup:NfsExportSettingsMapAllPrimaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'GID:0', 'GROUP:wheel'\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportSettingsMapAllSecondaryGroup:NfsExportSettingsMapAllSecondaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'GID:0', 'GROUP:wheel'\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportSettingsMapAllUser:NfsExportSettingsMapAllUser": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'GID:0', 'GROUP:wheel'\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportSettingsMapFailure:NfsExportSettingsMapFailure": {
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "True if the user mapping is applied.\n"
        },
        "primaryGroup": {
          "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapFailurePrimaryGroup:NfsExportSettingsMapFailurePrimaryGroup",
          "description": "Specifies the persona of the file group.\n"
        },
        "secondaryGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapFailureSecondaryGroup:NfsExportSettingsMapFailureSecondaryGroup"
          },
          "description": "Specifies persona properties for the secondary user group. A persona consists of either a type and name, or an ID.\n"
        },
        "user": {
          "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapFailureUser:NfsExportSettingsMapFailureUser",
          "description": "Specifies the persona of the file group.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "enabled",
            "primaryGroup",
            "secondaryGroups",
            "user"
          ]
        }
      }
    },
    "powerscale:index/NfsExportSettingsMapFailurePrimaryGroup:NfsExportSettingsMapFailurePrimaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'GID:0', 'GROUP:wheel'\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportSettingsMapFailureSecondaryGroup:NfsExportSettingsMapFailureSecondaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'GID:0', 'GROUP:wheel'\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportSettingsMapFailureUser:NfsExportSettingsMapFailureUser": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'GID:0', 'GROUP:wheel'\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportSettingsMapNonRoot:NfsExportSettingsMapNonRoot": {
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "True if the user mapping is applied.\n"
        },
        "primaryGroup": {
          "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapNonRootPrimaryGroup:NfsExportSettingsMapNonRootPrimaryGroup",
          "description": "Specifies the persona of the file group.\n"
        },
        "secondaryGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapNonRootSecondaryGroup:NfsExportSettingsMapNonRootSecondaryGroup"
          },
          "description": "Specifies persona properties for the secondary user group. A persona consists of either a type and name, or an ID.\n"
        },
        "user": {
          "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapNonRootUser:NfsExportSettingsMapNonRootUser",
          "description": "Specifies the persona of the file group.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "enabled",
            "primaryGroup",
            "secondaryGroups",
            "user"
          ]
        }
      }
    },
    "powerscale:index/NfsExportSettingsMapNonRootPrimaryGroup:NfsExportSettingsMapNonRootPrimaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'GID:0', 'GROUP:wheel'\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportSettingsMapNonRootSecondaryGroup:NfsExportSettingsMapNonRootSecondaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'GID:0', 'GROUP:wheel'\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportSettingsMapNonRootUser:NfsExportSettingsMapNonRootUser": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'GID:0', 'GROUP:wheel'\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportSettingsMapRoot:NfsExportSettingsMapRoot": {
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "True if the user mapping is applied.\n"
        },
        "primaryGroup": {
          "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapRootPrimaryGroup:NfsExportSettingsMapRootPrimaryGroup",
          "description": "Specifies the persona of the file group.\n"
        },
        "secondaryGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapRootSecondaryGroup:NfsExportSettingsMapRootSecondaryGroup"
          },
          "description": "Specifies persona properties for the secondary user group. A persona consists of either a type and name, or an ID.\n"
        },
        "user": {
          "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapRootUser:NfsExportSettingsMapRootUser",
          "description": "Specifies the persona of the file group.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "enabled",
            "primaryGroup",
            "secondaryGroups",
            "user"
          ]
        }
      }
    },
    "powerscale:index/NfsExportSettingsMapRootPrimaryGroup:NfsExportSettingsMapRootPrimaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'GID:0', 'GROUP:wheel'\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportSettingsMapRootSecondaryGroup:NfsExportSettingsMapRootSecondaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'GID:0', 'GROUP:wheel'\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/NfsExportSettingsMapRootUser:NfsExportSettingsMapRootUser": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'GID:0', 'GROUP:wheel'\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/QuotaPersona:QuotaPersona": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id"
          ]
        }
      }
    },
    "powerscale:index/QuotaThresholds:QuotaThresholds": {
      "properties": {
        "advisory": {
          "type": "number",
          "description": "Usage bytes at which notifications will be sent but writes will not be denied.\n"
        },
        "advisoryExceeded": {
          "type": "boolean",
          "description": "True if the advisory threshold has been hit.\n"
        },
        "advisoryLastExceeded": {
          "type": "number",
          "description": "Time at which advisory threshold was hit.\n"
        },
        "hard": {
          "type": "number",
          "description": "Usage bytes at which further writes will be denied.\n"
        },
        "hardExceeded": {
          "type": "boolean",
          "description": "True if the hard threshold has been hit.\n"
        },
        "hardLastExceeded": {
          "type": "number",
          "description": "Time at which hard threshold was hit.\n"
        },
        "percentAdvisory": {
          "type": "number",
          "description": "Advisory threshold as percent of hard threshold. Usage bytes at which notifications will be sent but writes will not be denied.\n"
        },
        "percentSoft": {
          "type": "number",
          "description": "Soft threshold as percent of hard threshold. Usage bytes at which notifications will be sent and soft grace time will be started.\n"
        },
        "soft": {
          "type": "number",
          "description": "Usage bytes at which notifications will be sent and soft grace time will be started.\n"
        },
        "softExceeded": {
          "type": "boolean",
          "description": "True if the soft threshold has been hit.\n"
        },
        "softGrace": {
          "type": "number",
          "description": "Time in seconds after which the soft threshold has been hit before writes will be denied.\n"
        },
        "softLastExceeded": {
          "type": "number",
          "description": "Time at which soft threshold was hit\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "advisory",
            "advisoryExceeded",
            "advisoryLastExceeded",
            "hard",
            "hardExceeded",
            "hardLastExceeded",
            "soft",
            "softExceeded",
            "softGrace",
            "softLastExceeded"
          ]
        }
      }
    },
    "powerscale:index/QuotaUsage:QuotaUsage": {
      "properties": {
        "applogical": {
          "type": "number",
          "description": "Bytes used by governed data apparent to application.\n"
        },
        "applogicalReady": {
          "type": "boolean",
          "description": "True if applogical resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "fslogical": {
          "type": "number",
          "description": "Bytes used by governed data apparent to filesystem.\n"
        },
        "fslogicalReady": {
          "type": "boolean",
          "description": "True if fslogical resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "fsphysical": {
          "type": "number",
          "description": "Physical data usage adjusted to account for shadow store efficiency\n"
        },
        "fsphysicalReady": {
          "type": "boolean",
          "description": "True if fsphysical resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "inodes": {
          "type": "number",
          "description": "Number of inodes (filesystem entities) used by governed data.\n"
        },
        "inodesReady": {
          "type": "boolean",
          "description": "True if inodes resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "physical": {
          "type": "number",
          "description": "Bytes used for governed data and filesystem overhead.\n"
        },
        "physicalData": {
          "type": "number",
          "description": "Number of physical blocks for file data\n"
        },
        "physicalDataReady": {
          "type": "boolean",
          "description": "True if physical_data resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "physicalProtection": {
          "type": "number",
          "description": "Number of physical blocks for file protection\n"
        },
        "physicalProtectionReady": {
          "type": "boolean",
          "description": "True if physical_protection resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "physicalReady": {
          "type": "boolean",
          "description": "True if physical resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "shadowRefs": {
          "type": "number",
          "description": "Number of shadow references (cloned, deduplicated or packed filesystem blocks) used by governed data.\n"
        },
        "shadowRefsReady": {
          "type": "boolean",
          "description": "True if shadow_refs resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "applogical",
            "applogicalReady",
            "fslogical",
            "fslogicalReady",
            "fsphysical",
            "fsphysicalReady",
            "inodes",
            "inodesReady",
            "physical",
            "physicalData",
            "physicalDataReady",
            "physicalProtection",
            "physicalProtectionReady",
            "physicalReady",
            "shadowRefs",
            "shadowRefsReady"
          ]
        }
      }
    },
    "powerscale:index/RoleMember:RoleMember": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0'\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/RolePrivilege:RolePrivilege": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the ID of the privilege.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the name of the privilege.\n"
        },
        "permission": {
          "type": "string",
          "description": "permission of the privilege, 'r' = read , 'x' = read-execute, 'w' = read-execute-write, '-' = no permission\n"
        }
      },
      "type": "object",
      "required": [
        "id"
      ],
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "permission"
          ]
        }
      }
    },
    "powerscale:index/S3BucketAcl:S3BucketAcl": {
      "properties": {
        "grantee": {
          "$ref": "#/types/powerscale:index%2FS3BucketAclGrantee:S3BucketAclGrantee",
          "description": "Specifies the persona of the file group.\n"
        },
        "permission": {
          "type": "string",
          "description": "Specifies the S3 rights being allowed.\n"
        }
      },
      "type": "object",
      "required": [
        "grantee",
        "permission"
      ]
    },
    "powerscale:index/S3BucketAclGrantee:S3BucketAclGrantee": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/SmartpoolSettingsSpilloverTarget:SmartpoolSettingsSpilloverTarget": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Target pool name if target specified as storagepool, otherwise empty string.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of target pool. Acceptable values: storagepool, anywhere\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/SmbSharePermission:SmbSharePermission": {
      "properties": {
        "permission": {
          "type": "string",
          "description": "Specifies the file system rights that are allowed or denied.\n"
        },
        "permissionType": {
          "type": "string",
          "description": "Determines whether the permission is allowed or denied.\n"
        },
        "trustee": {
          "$ref": "#/types/powerscale:index%2FSmbSharePermissionTrustee:SmbSharePermissionTrustee",
          "description": "Specifies the persona of the file group.\n"
        }
      },
      "type": "object",
      "required": [
        "permission",
        "permissionType",
        "trustee"
      ]
    },
    "powerscale:index/SmbSharePermissionTrustee:SmbSharePermissionTrustee": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona using security identifier, which can be 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/SmbShareRunAsRoot:SmbShareRunAsRoot": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona using security identifier, which can be 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "type"
          ]
        }
      }
    },
    "powerscale:index/SnapshotRestoreCloneParams:SnapshotRestoreCloneParams": {
      "properties": {
        "destination": {
          "type": "string",
          "description": "Destination of the snapshot, e.g. ifs/dest/test.txt .\n"
        },
        "overwrite": {
          "type": "boolean",
          "description": "Whether or not to overwrite the destination if it already exists.\n"
        },
        "snapshotId": {
          "type": "number",
          "description": "Snapshot ID.\n"
        },
        "source": {
          "type": "string",
          "description": "Source of the snapshot.\n"
        }
      },
      "type": "object",
      "required": [
        "destination",
        "snapshotId",
        "source"
      ]
    },
    "powerscale:index/SnapshotRestoreCopyParams:SnapshotRestoreCopyParams": {
      "properties": {
        "directory": {
          "$ref": "#/types/powerscale:index%2FSnapshotRestoreCopyParamsDirectory:SnapshotRestoreCopyParamsDirectory",
          "description": "Specifies properties for copying directory.\n"
        },
        "file": {
          "$ref": "#/types/powerscale:index%2FSnapshotRestoreCopyParamsFile:SnapshotRestoreCopyParamsFile",
          "description": "Specifies properties for copying file.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/SnapshotRestoreCopyParamsDirectory:SnapshotRestoreCopyParamsDirectory": {
      "properties": {
        "continue": {
          "type": "boolean",
          "description": "Whether or not to continue if the destination already exists.\n"
        },
        "destination": {
          "type": "string",
          "description": "Destination of the snapshot, e.g. ifs/dest.\n"
        },
        "merge": {
          "type": "boolean",
          "description": "Whether or not to merge the destination if it already exists.\n"
        },
        "overwrite": {
          "type": "boolean",
          "description": "Whether or not to overwrite the destination if it already exists.\n"
        },
        "source": {
          "type": "string",
          "description": "Source of the snapshot.\n"
        }
      },
      "type": "object",
      "required": [
        "destination",
        "source"
      ]
    },
    "powerscale:index/SnapshotRestoreCopyParamsFile:SnapshotRestoreCopyParamsFile": {
      "properties": {
        "destination": {
          "type": "string",
          "description": "Destination of the snapshot, e.g. ifs/dest/test.txt .\n"
        },
        "overwrite": {
          "type": "boolean",
          "description": "Whether or not to overwrite the destination if it already exists.\n"
        },
        "source": {
          "type": "string",
          "description": "Source of the snapshot.\n"
        }
      },
      "type": "object",
      "required": [
        "destination",
        "source"
      ]
    },
    "powerscale:index/SnapshotRestoreSnaprevertParams:SnapshotRestoreSnaprevertParams": {
      "properties": {
        "allowDup": {
          "type": "boolean",
          "description": "Whether or not to queue the job if one of the same type is already running or queued.\n"
        },
        "jobId": {
          "type": "number",
          "description": "Job ID.\n"
        },
        "snapshotId": {
          "type": "number",
          "description": "Snapshot ID.\n"
        }
      },
      "type": "object",
      "required": [
        "snapshotId"
      ],
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "jobId",
            "snapshotId"
          ]
        }
      }
    },
    "powerscale:index/SubnetScServiceAddr:SubnetScServiceAddr": {
      "properties": {
        "high": {
          "type": "string",
          "description": "High IP\n"
        },
        "low": {
          "type": "string",
          "description": "Low IP\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "high",
            "low"
          ]
        }
      }
    },
    "powerscale:index/SupportAssistConnections:SupportAssistConnections": {
      "properties": {
        "gatewayEndpoints": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FSupportAssistConnectionsGatewayEndpoint:SupportAssistConnectionsGatewayEndpoint"
          },
          "description": "Gateway details\n"
        },
        "mode": {
          "type": "string",
          "description": "Connection Mode for SupportAssist: can be direct or via gateway\n"
        },
        "networkPools": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Network pools for gateway use\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "gatewayEndpoints",
            "mode",
            "networkPools"
          ]
        }
      }
    },
    "powerscale:index/SupportAssistConnectionsGatewayEndpoint:SupportAssistConnectionsGatewayEndpoint": {
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "Whether this gateway is enabled/disabled\n"
        },
        "host": {
          "type": "string",
          "description": "Gateway hostname or IPv4 address\n"
        },
        "port": {
          "type": "number",
          "description": "Gateway port\n"
        },
        "priority": {
          "type": "number",
          "description": "Gateway's priority\n"
        },
        "useProxy": {
          "type": "boolean",
          "description": "Whether to use Proxy for this gateway\n"
        },
        "validateSsl": {
          "type": "boolean",
          "description": "Whether to validate SSL for this gateway\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "enabled",
            "host",
            "port",
            "priority",
            "useProxy",
            "validateSsl"
          ]
        }
      }
    },
    "powerscale:index/SupportAssistContact:SupportAssistContact": {
      "properties": {
        "primary": {
          "$ref": "#/types/powerscale:index%2FSupportAssistContactPrimary:SupportAssistContactPrimary"
        },
        "secondary": {
          "$ref": "#/types/powerscale:index%2FSupportAssistContactSecondary:SupportAssistContactSecondary"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "primary",
            "secondary"
          ]
        }
      }
    },
    "powerscale:index/SupportAssistContactPrimary:SupportAssistContactPrimary": {
      "properties": {
        "email": {
          "type": "string",
          "description": "Contact's email address.\n"
        },
        "firstName": {
          "type": "string",
          "description": "Contact's first name.\n"
        },
        "language": {
          "type": "string"
        },
        "lastName": {
          "type": "string",
          "description": "Contact's last name.\n"
        },
        "phone": {
          "type": "string",
          "description": "Contact's phone number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "email",
            "firstName",
            "language",
            "lastName",
            "phone"
          ]
        }
      }
    },
    "powerscale:index/SupportAssistContactSecondary:SupportAssistContactSecondary": {
      "properties": {
        "email": {
          "type": "string",
          "description": "Contact's email address.\n"
        },
        "firstName": {
          "type": "string",
          "description": "Contact's first name.\n"
        },
        "language": {
          "type": "string"
        },
        "lastName": {
          "type": "string",
          "description": "Contact's last name.\n"
        },
        "phone": {
          "type": "string",
          "description": "Contact's phone number.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "email",
            "firstName",
            "language",
            "lastName",
            "phone"
          ]
        }
      }
    },
    "powerscale:index/SupportAssistTelemetry:SupportAssistTelemetry": {
      "properties": {
        "offlineCollectionPeriod": {
          "type": "number",
          "description": "Change the offline collection period for when the connection to gateway is down\n"
        },
        "telemetryEnabled": {
          "type": "boolean",
          "description": "Change the status of telemetry\n"
        },
        "telemetryPersist": {
          "type": "boolean",
          "description": "Change if files are kept after upload\n"
        },
        "telemetryThreads": {
          "type": "number",
          "description": "Change the number of threads for telemetry gathers\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "offlineCollectionPeriod",
            "telemetryEnabled",
            "telemetryPersist",
            "telemetryThreads"
          ]
        }
      }
    },
    "powerscale:index/SynciqGlobalSettingsSourceNetwork:SynciqGlobalSettingsSourceNetwork": {
      "properties": {
        "pool": {
          "type": "string",
          "description": "The pool to restrict replication policies to.\n"
        },
        "subnet": {
          "type": "string",
          "description": "The subnet to restrict replication policies to.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "pool",
            "subnet"
          ]
        }
      }
    },
    "powerscale:index/SynciqPolicyFileMatchingPattern:SynciqPolicyFileMatchingPattern": {
      "properties": {
        "orCriterias": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FSynciqPolicyFileMatchingPatternOrCriteria:SynciqPolicyFileMatchingPatternOrCriteria"
          },
          "description": "An array containing objects with \"and*criteria\" properties, each set of and*criteria will be logically OR'ed together to create the full file matching pattern.\n"
        }
      },
      "type": "object",
      "required": [
        "orCriterias"
      ]
    },
    "powerscale:index/SynciqPolicyFileMatchingPatternOrCriteria:SynciqPolicyFileMatchingPatternOrCriteria": {
      "properties": {
        "andCriterias": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FSynciqPolicyFileMatchingPatternOrCriteriaAndCriteria:SynciqPolicyFileMatchingPatternOrCriteriaAndCriteria"
          },
          "description": "An array containing individual file criterion objects each describing one criterion.  These are logically AND'ed together to form a set of criteria.\n"
        }
      },
      "type": "object",
      "required": [
        "andCriterias"
      ]
    },
    "powerscale:index/SynciqPolicyFileMatchingPatternOrCriteriaAndCriteria:SynciqPolicyFileMatchingPatternOrCriteriaAndCriteria": {
      "properties": {
        "attributeExists": {
          "type": "boolean",
          "description": "For \"custom_attribute\" type criteria.  The file will match as long as the attribute named by \"field\" exists.  Default is true.\n"
        },
        "caseSensitive": {
          "type": "boolean",
          "description": "If true, the value comparison will be case sensitive.  Default is true.\n"
        },
        "field": {
          "type": "string",
          "description": "The name of the file attribute to match on (only required if this is a custom_attribute type criterion).  Default is an empty string \"\".\n"
        },
        "operator": {
          "type": "string",
          "description": "How to compare the specified attribute of each file to the specified value.  Possible values are: `==`, `!=`, `>`, `>=`, `<`, `<=`, `!`.  Default is `==`.\n"
        },
        "type": {
          "type": "string",
          "description": "The type of this criterion, that is, which file attribute to match on. Accepted values are , `name`, `path`, `accessed_time`, `birth_time`, `changed_time`, `size`, `file_type`, `posix_regex_name`, `user_name`, `user_id`, `group_name`, `group_id`, `no_user`, `no_group`.\n"
        },
        "value": {
          "type": "string",
          "description": "The value to compare the specified attribute of each file to.\n"
        },
        "wholeWord": {
          "type": "boolean",
          "description": "If true, the attribute must match the entire word.  Default is true.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/SynciqPolicySourceNetwork:SynciqPolicySourceNetwork": {
      "properties": {
        "pool": {
          "type": "string",
          "description": "The pool to restrict replication policies to.\n"
        },
        "subnet": {
          "type": "string",
          "description": "The subnet to restrict replication policies to.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "pool",
            "subnet"
          ]
        }
      }
    },
    "powerscale:index/SynciqRulesBandwidthRule:SynciqRulesBandwidthRule": {
      "properties": {
        "description": {
          "type": "string",
          "description": "Description of this performance rule.\n"
        },
        "enabled": {
          "type": "boolean",
          "description": "Whether this performance rule is currently in effect during its specified intervals.\n"
        },
        "id": {
          "type": "string",
          "description": "The system ID given to this performance rule.\n"
        },
        "limit": {
          "type": "number",
          "description": "Amount of the specified system resource type that is limited by this rule. Units are kb/s for bandwidth, files/s for file-count, processing percentage used for cpu, or percentage of maximum available workers.\n"
        },
        "schedule": {
          "$ref": "#/types/powerscale:index%2FSynciqRulesBandwidthRuleSchedule:SynciqRulesBandwidthRuleSchedule",
          "description": "A schedule defining when during a week this performance rule is in effect. If unspecified or null, the schedule will always be in effect.\n"
        }
      },
      "type": "object",
      "required": [
        "limit"
      ],
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "description",
            "enabled",
            "id",
            "limit",
            "schedule"
          ]
        }
      }
    },
    "powerscale:index/SynciqRulesBandwidthRuleSchedule:SynciqRulesBandwidthRuleSchedule": {
      "properties": {
        "begin": {
          "type": "string",
          "description": "Start time (inclusive) for this schedule, during its specified days. Format is `hh:mm` (24h format hour, and minute).  A null value indicates the beginning of the day (`00:00`).\n"
        },
        "daysOfWeeks": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Set of days of the week during which this rule is in effect. Accepted values are `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`. At least one day must be set.\n"
        },
        "end": {
          "type": "string",
          "description": "End time (inclusive) for this schedule, during its specified days. Format is `hh:mm` (three-letter weekday name abbreviation, 24h format hour, and minute).  A null value indicates the end of the day (`23:59`).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "begin",
            "daysOfWeeks",
            "end"
          ]
        }
      }
    },
    "powerscale:index/SynciqRulesCpuRule:SynciqRulesCpuRule": {
      "properties": {
        "description": {
          "type": "string",
          "description": "Description of this performance rule.\n"
        },
        "enabled": {
          "type": "boolean",
          "description": "Whether this performance rule is currently in effect during its specified intervals.\n"
        },
        "id": {
          "type": "string",
          "description": "The system ID given to this performance rule.\n"
        },
        "limit": {
          "type": "number",
          "description": "Amount of the specified system resource type that is limited by this rule. Units are kb/s for bandwidth, files/s for file-count, processing percentage used for cpu, or percentage of maximum available workers.\n"
        },
        "schedule": {
          "$ref": "#/types/powerscale:index%2FSynciqRulesCpuRuleSchedule:SynciqRulesCpuRuleSchedule",
          "description": "A schedule defining when during a week this performance rule is in effect. If unspecified or null, the schedule will always be in effect.\n"
        }
      },
      "type": "object",
      "required": [
        "limit"
      ],
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "description",
            "enabled",
            "id",
            "limit",
            "schedule"
          ]
        }
      }
    },
    "powerscale:index/SynciqRulesCpuRuleSchedule:SynciqRulesCpuRuleSchedule": {
      "properties": {
        "begin": {
          "type": "string",
          "description": "Start time (inclusive) for this schedule, during its specified days. Format is `hh:mm` (24h format hour, and minute).  A null value indicates the beginning of the day (`00:00`).\n"
        },
        "daysOfWeeks": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Set of days of the week during which this rule is in effect. Accepted values are `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`. At least one day must be set.\n"
        },
        "end": {
          "type": "string",
          "description": "End time (inclusive) for this schedule, during its specified days. Format is `hh:mm` (three-letter weekday name abbreviation, 24h format hour, and minute).  A null value indicates the end of the day (`23:59`).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "begin",
            "daysOfWeeks",
            "end"
          ]
        }
      }
    },
    "powerscale:index/SynciqRulesFileCountRule:SynciqRulesFileCountRule": {
      "properties": {
        "description": {
          "type": "string",
          "description": "Description of this performance rule.\n"
        },
        "enabled": {
          "type": "boolean",
          "description": "Whether this performance rule is currently in effect during its specified intervals.\n"
        },
        "id": {
          "type": "string",
          "description": "The system ID given to this performance rule.\n"
        },
        "limit": {
          "type": "number",
          "description": "Amount of the specified system resource type that is limited by this rule. Units are kb/s for bandwidth, files/s for file-count, processing percentage used for cpu, or percentage of maximum available workers.\n"
        },
        "schedule": {
          "$ref": "#/types/powerscale:index%2FSynciqRulesFileCountRuleSchedule:SynciqRulesFileCountRuleSchedule",
          "description": "A schedule defining when during a week this performance rule is in effect. If unspecified or null, the schedule will always be in effect.\n"
        }
      },
      "type": "object",
      "required": [
        "limit"
      ],
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "description",
            "enabled",
            "id",
            "limit",
            "schedule"
          ]
        }
      }
    },
    "powerscale:index/SynciqRulesFileCountRuleSchedule:SynciqRulesFileCountRuleSchedule": {
      "properties": {
        "begin": {
          "type": "string",
          "description": "Start time (inclusive) for this schedule, during its specified days. Format is `hh:mm` (24h format hour, and minute).  A null value indicates the beginning of the day (`00:00`).\n"
        },
        "daysOfWeeks": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Set of days of the week during which this rule is in effect. Accepted values are `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`. At least one day must be set.\n"
        },
        "end": {
          "type": "string",
          "description": "End time (inclusive) for this schedule, during its specified days. Format is `hh:mm` (three-letter weekday name abbreviation, 24h format hour, and minute).  A null value indicates the end of the day (`23:59`).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "begin",
            "daysOfWeeks",
            "end"
          ]
        }
      }
    },
    "powerscale:index/SynciqRulesWorkerRule:SynciqRulesWorkerRule": {
      "properties": {
        "description": {
          "type": "string",
          "description": "Description of this performance rule.\n"
        },
        "enabled": {
          "type": "boolean",
          "description": "Whether this performance rule is currently in effect during its specified intervals.\n"
        },
        "id": {
          "type": "string",
          "description": "The system ID given to this performance rule.\n"
        },
        "limit": {
          "type": "number",
          "description": "Amount of the specified system resource type that is limited by this rule. Units are kb/s for bandwidth, files/s for file-count, processing percentage used for cpu, or percentage of maximum available workers.\n"
        },
        "schedule": {
          "$ref": "#/types/powerscale:index%2FSynciqRulesWorkerRuleSchedule:SynciqRulesWorkerRuleSchedule",
          "description": "A schedule defining when during a week this performance rule is in effect. If unspecified or null, the schedule will always be in effect.\n"
        }
      },
      "type": "object",
      "required": [
        "limit"
      ],
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "description",
            "enabled",
            "id",
            "limit",
            "schedule"
          ]
        }
      }
    },
    "powerscale:index/SynciqRulesWorkerRuleSchedule:SynciqRulesWorkerRuleSchedule": {
      "properties": {
        "begin": {
          "type": "string",
          "description": "Start time (inclusive) for this schedule, during its specified days. Format is `hh:mm` (24h format hour, and minute).  A null value indicates the beginning of the day (`00:00`).\n"
        },
        "daysOfWeeks": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Set of days of the week during which this rule is in effect. Accepted values are `monday`, `tuesday`, `wednesday`, `thursday`, `friday`, `saturday`, `sunday`. At least one day must be set.\n"
        },
        "end": {
          "type": "string",
          "description": "End time (inclusive) for this schedule, during its specified days. Format is `hh:mm` (three-letter weekday name abbreviation, 24h format hour, and minute).  A null value indicates the end of the day (`23:59`).\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "begin",
            "daysOfWeeks",
            "end"
          ]
        }
      }
    },
    "powerscale:index/UserGid:UserGid": {
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ]
    },
    "powerscale:index/UserMappingRulesMappingUser:UserMappingRulesMappingUser": {
      "properties": {
        "privileges": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FUserMappingRulesMappingUserPrivilege:UserMappingRulesMappingUserPrivilege"
          },
          "description": "Specifies the system-defined privilege that may be granted to users.\n"
        },
        "supplementalIdentities": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FUserMappingRulesMappingUserSupplementalIdentity:UserMappingRulesMappingUserSupplementalIdentity"
          },
          "description": "Specifies the configuration properties for a user.\n"
        },
        "user": {
          "$ref": "#/types/powerscale:index%2FUserMappingRulesMappingUserUser:UserMappingRulesMappingUserUser",
          "description": "Specifies the configuration properties for a user.\n"
        },
        "zid": {
          "type": "number",
          "description": "Numeric ID of the access zone which contains this user.\n"
        },
        "zone": {
          "type": "string",
          "description": "Name of the access zone which contains this user.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "privileges",
            "supplementalIdentities",
            "user",
            "zid",
            "zone"
          ]
        }
      }
    },
    "powerscale:index/UserMappingRulesMappingUserPrivilege:UserMappingRulesMappingUserPrivilege": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the ID of the privilege.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the name of the privilege.\n"
        },
        "readOnly": {
          "type": "boolean",
          "description": "True, if the privilege is read-only.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "id",
            "name",
            "readOnly"
          ]
        }
      }
    },
    "powerscale:index/UserMappingRulesMappingUserSupplementalIdentity:UserMappingRulesMappingUserSupplementalIdentity": {
      "properties": {
        "gid": {
          "type": "string",
          "description": "Specifies a user or group GID.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies a user or group name.\n"
        },
        "sid": {
          "type": "string",
          "description": "Specifies a user or group SID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "gid",
            "name",
            "sid"
          ]
        }
      }
    },
    "powerscale:index/UserMappingRulesMappingUserUser:UserMappingRulesMappingUserUser": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specifies the user name.\n"
        },
        "onDiskUserIdentity": {
          "type": "string",
          "description": "Specifies the user identity on disk.\n"
        },
        "primaryGroupName": {
          "type": "string",
          "description": "Specifies the primary group name.\n"
        },
        "primaryGroupSid": {
          "type": "string",
          "description": "Specifies the primary group SID.\n"
        },
        "sid": {
          "type": "string",
          "description": "Specifies a user or group SID.\n"
        },
        "uid": {
          "type": "string",
          "description": "Specifies the user UID.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "name",
            "onDiskUserIdentity",
            "primaryGroupName",
            "primaryGroupSid",
            "sid",
            "uid"
          ]
        }
      }
    },
    "powerscale:index/UserMappingRulesParameters:UserMappingRulesParameters": {
      "properties": {
        "defaultUnixUser": {
          "$ref": "#/types/powerscale:index%2FUserMappingRulesParametersDefaultUnixUser:UserMappingRulesParametersDefaultUnixUser",
          "description": "Specifies the default UNIX user information that can be applied if the final credentials do not have valid UID and GID information.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "defaultUnixUser"
          ]
        }
      }
    },
    "powerscale:index/UserMappingRulesParametersDefaultUnixUser:UserMappingRulesParametersDefaultUnixUser": {
      "properties": {
        "domain": {
          "type": "string",
          "description": "Specifies the domain of the user that is being mapped.\n"
        },
        "user": {
          "type": "string",
          "description": "Specifies the name of the user that is being mapped.\n"
        }
      },
      "type": "object",
      "required": [
        "user"
      ],
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "domain",
            "user"
          ]
        }
      }
    },
    "powerscale:index/UserMappingRulesRule:UserMappingRulesRule": {
      "properties": {
        "operator": {
          "type": "string",
          "description": "Specifies the operator to make rules on specified users or groups.\n"
        },
        "options": {
          "$ref": "#/types/powerscale:index%2FUserMappingRulesRuleOptions:UserMappingRulesRuleOptions",
          "description": "Specifies the mapping options for this user mapping rule.\n"
        },
        "sourceUser": {
          "$ref": "#/types/powerscale:index%2FUserMappingRulesRuleSourceUser:UserMappingRulesRuleSourceUser",
          "description": "Specifies the source user information that the rule can be applied from.\n"
        },
        "targetUser": {
          "$ref": "#/types/powerscale:index%2FUserMappingRulesRuleTargetUser:UserMappingRulesRuleTargetUser",
          "description": "Specifies the target user information that the rule can be applied to.\n"
        }
      },
      "type": "object",
      "required": [
        "operator",
        "targetUser"
      ],
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "operator",
            "options",
            "targetUser"
          ]
        }
      }
    },
    "powerscale:index/UserMappingRulesRuleOptions:UserMappingRulesRuleOptions": {
      "properties": {
        "break": {
          "type": "boolean",
          "description": "If true, and the rule was applied successfully, stop processing further.\n"
        },
        "defaultUser": {
          "$ref": "#/types/powerscale:index%2FUserMappingRulesRuleOptionsDefaultUser:UserMappingRulesRuleOptionsDefaultUser",
          "description": "Specifies the default user information that can be applied if the final credentials do not have valid UID and GID information.\n"
        },
        "group": {
          "type": "boolean",
          "description": "If true, the primary GID and primary group SID should be copied to the existing credential.\n"
        },
        "groups": {
          "type": "boolean",
          "description": "If true, all additional identifiers should be copied to the existing credential.\n"
        },
        "user": {
          "type": "boolean",
          "description": "If true, the primary UID and primary user SID should be copied to the existing credential.\n"
        }
      },
      "type": "object",
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "break",
            "defaultUser",
            "group",
            "groups",
            "user"
          ]
        }
      }
    },
    "powerscale:index/UserMappingRulesRuleOptionsDefaultUser:UserMappingRulesRuleOptionsDefaultUser": {
      "properties": {
        "domain": {
          "type": "string",
          "description": "Specifies the domain of the user that is being mapped.\n"
        },
        "user": {
          "type": "string",
          "description": "Specifies the name of the user that is being mapped.\n"
        }
      },
      "type": "object",
      "required": [
        "user"
      ],
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "domain",
            "user"
          ]
        }
      }
    },
    "powerscale:index/UserMappingRulesRuleSourceUser:UserMappingRulesRuleSourceUser": {
      "properties": {
        "domain": {
          "type": "string",
          "description": "Specifies the domain of the user that is being mapped.\n"
        },
        "user": {
          "type": "string",
          "description": "Specifies the name of the user that is being mapped.\n"
        }
      },
      "type": "object",
      "required": [
        "user"
      ],
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "domain",
            "user"
          ]
        }
      }
    },
    "powerscale:index/UserMappingRulesRuleTargetUser:UserMappingRulesRuleTargetUser": {
      "properties": {
        "domain": {
          "type": "string",
          "description": "Specifies the domain of the user that is being mapped.\n"
        },
        "user": {
          "type": "string",
          "description": "Specifies the name of the user that is being mapped.\n"
        }
      },
      "type": "object",
      "required": [
        "user"
      ],
      "language": {
        "nodejs": {
          "requiredOutputs": [
            "domain",
            "user"
          ]
        }
      }
    },
    "powerscale:index/UserMappingRulesTestMappingUser:UserMappingRulesTestMappingUser": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specifies a user name.\n"
        },
        "uid": {
          "type": "number",
          "description": "Specifies a numeric user identifier.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/UserPrimaryGroupSid:UserPrimaryGroupSid": {
      "properties": {
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "type": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ]
    },
    "powerscale:index/getAccesszoneAccessZonesDetail:getAccesszoneAccessZonesDetail": {
      "properties": {
        "alternateSystemProvider": {
          "type": "string",
          "description": "Specifies an alternate system provider.\n"
        },
        "authProviders": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the list of authentication providers available on this access zone.\n"
        },
        "cacheEntryExpiry": {
          "type": "number",
          "description": "Specifies amount of time in seconds to cache a user/group.\n"
        },
        "createPath": {
          "type": "boolean",
          "description": "Determines if a path is created when a path does not exist.\n"
        },
        "groupnet": {
          "type": "string",
          "description": "Groupnet identifier\n"
        },
        "homeDirectoryUmask": {
          "type": "number",
          "description": "Specifies the permissions set on automatically created user home directories.\n"
        },
        "id": {
          "type": "string",
          "description": "Specifies the system-assigned ID for the access zone. This value is returned when an access zone is created through the POST method\n"
        },
        "ifsRestricteds": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetAccesszoneAccessZonesDetailIfsRestricted:getAccesszoneAccessZonesDetailIfsRestricted"
          },
          "description": "Specifies a list of users and groups that have read and write access to /ifs.\n"
        },
        "mapUntrusted": {
          "type": "string",
          "description": "Maps untrusted domains to this NetBIOS domain during authentication.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the access zone name.\n"
        },
        "negativeCacheEntryExpiry": {
          "type": "number",
          "description": "Specifies number of seconds the negative cache entry is valid.\n"
        },
        "netbiosName": {
          "type": "string",
          "description": "Specifies the NetBIOS name.\n"
        },
        "path": {
          "type": "string",
          "description": "Specifies the access zone base directory path.\n"
        },
        "skeletonDirectory": {
          "type": "string",
          "description": "Specifies the skeleton directory that is used for user home directories.\n"
        },
        "system": {
          "type": "boolean",
          "description": "True if the access zone is built-in.\n"
        },
        "systemProvider": {
          "type": "string",
          "description": "Specifies the system provider for the access zone.\n"
        },
        "userMappingRules": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the current ID mapping rules.\n"
        },
        "zoneId": {
          "type": "number",
          "description": "Specifies the access zone ID on the system.\n"
        }
      },
      "type": "object",
      "required": [
        "alternateSystemProvider",
        "authProviders",
        "cacheEntryExpiry",
        "createPath",
        "groupnet",
        "homeDirectoryUmask",
        "id",
        "ifsRestricteds",
        "mapUntrusted",
        "name",
        "negativeCacheEntryExpiry",
        "netbiosName",
        "path",
        "skeletonDirectory",
        "system",
        "systemProvider",
        "userMappingRules",
        "zoneId"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getAccesszoneAccessZonesDetailIfsRestricted:getAccesszoneAccessZonesDetailIfsRestricted": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getAccesszoneFilter:getAccesszoneFilter": {
      "properties": {
        "names": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "type": "object"
    },
    "powerscale:index/getAdsproviderAdsProvidersDetail:getAdsproviderAdsProvidersDetail": {
      "properties": {
        "allocateGids": {
          "type": "boolean",
          "description": "Allocates an ID for an unmapped Active Directory (ADS) group. ADS groups without GIDs can be proactively assigned a GID by the ID mapper. If the ID mapper option is disabled, GIDs are not proactively assigned, and when a primary group for a user does not include a GID, the system may allocate one.\n"
        },
        "allocateUids": {
          "type": "boolean",
          "description": "Allocates a user ID for an unmapped Active Directory (ADS) user. ADS users without UIDs can be proactively assigned a UID by the ID mapper. IF the ID mapper option is disabled, UIDs are not proactively assigned, and when an identify for a user does not include a UID, the system may allocate one.\n"
        },
        "assumeDefaultDomain": {
          "type": "boolean",
          "description": "Enables lookup of unqualified user names in the primary domain.\n"
        },
        "authentication": {
          "type": "boolean",
          "description": "Enables authentication and identity management through the authentication provider.\n"
        },
        "checkOnlineInterval": {
          "type": "number",
          "description": "Specifies the time in seconds between provider online checks.\n"
        },
        "controllerTime": {
          "type": "number",
          "description": "Specifies the current time for the domain controllers.\n"
        },
        "createHomeDirectory": {
          "type": "boolean",
          "description": "Automatically creates a home directory on the first login.\n"
        },
        "domainOfflineAlerts": {
          "type": "boolean",
          "description": "Sends an alert if the domain goes offline.\n"
        },
        "dupSpns": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Get duplicate SPNs in the provider domain.\n"
        },
        "extraExpectedSpns": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of additional SPNs to expect beyond what automatic checking routines might find.\n"
        },
        "findableGroups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Sets list of groups that can be resolved.\n"
        },
        "findableUsers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Sets list of users that can be resolved.\n"
        },
        "forest": {
          "type": "string",
          "description": "Specifies the Active Directory forest.\n"
        },
        "groupnet": {
          "type": "string",
          "description": "Groupnet identifier.\n"
        },
        "homeDirectoryTemplate": {
          "type": "string",
          "description": "Specifies the path to the home directory template.\n"
        },
        "hostname": {
          "type": "string",
          "description": "Specifies the fully qualified hostname stored in the machine account.\n"
        },
        "id": {
          "type": "string",
          "description": "Specifies the ID of the Active Directory provider instance.\n"
        },
        "ignoreAllTrusts": {
          "type": "boolean",
          "description": "If set to true, ignores all trusted domains.\n"
        },
        "ignoredTrustedDomains": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Includes trusted domains when 'ignore*all*trusts' is set to false.\n"
        },
        "includeTrustedDomains": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Includes trusted domains when 'ignore*all*trusts' is set to true.\n"
        },
        "instance": {
          "type": "string",
          "description": "Specifies Active Directory provider instance.\n"
        },
        "ldapSignAndSeal": {
          "type": "boolean",
          "description": "Enables encryption and signing on LDAP requests.\n"
        },
        "loginShell": {
          "type": "string",
          "description": "Specifies the login shell path.\n"
        },
        "lookupDomains": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Limits user and group lookups to the specified domains.\n"
        },
        "lookupGroups": {
          "type": "boolean",
          "description": "Looks up AD groups in other providers before allocating a group ID.\n"
        },
        "lookupNormalizeGroups": {
          "type": "boolean",
          "description": "Normalizes AD group names to lowercase before look up.\n"
        },
        "lookupNormalizeUsers": {
          "type": "boolean",
          "description": "Normalize AD user names to lowercase before look up.\n"
        },
        "lookupUsers": {
          "type": "boolean",
          "description": "Looks up AD users in other providers before allocating a user ID.\n"
        },
        "machineAccount": {
          "type": "string",
          "description": "Specifies the machine account name when creating a SAM account with Active Directory.\n"
        },
        "machinePasswordChanges": {
          "type": "boolean",
          "description": "Enables periodic changes of the machine password for security.\n"
        },
        "machinePasswordLifespan": {
          "type": "number",
          "description": "Sets maximum age of a password in seconds.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the Active Directory provider name.\n"
        },
        "netbiosDomain": {
          "type": "string",
          "description": "Specifies the NetBIOS domain name associated with the machine account.\n"
        },
        "nodeDcAffinity": {
          "type": "string",
          "description": "Specifies the domain controller for which the node has affinity.\n"
        },
        "nodeDcAffinityTimeout": {
          "type": "number",
          "description": "Specifies the timeout for the domain controller for which the local node has affinity.\n"
        },
        "nssEnumeration": {
          "type": "boolean",
          "description": "Enables the Active Directory provider to respond to 'getpwent' and 'getgrent' requests.\n"
        },
        "primaryDomain": {
          "type": "string",
          "description": "Specifies the AD domain to which the provider is joined.\n"
        },
        "restrictFindable": {
          "type": "boolean",
          "description": "Check the provider for filtered lists of findable and unfindable users and groups.\n"
        },
        "rpcCallTimeout": {
          "type": "number",
          "description": "The maximum amount of time (in seconds) an RPC call to Active Directory is allowed to take.\n"
        },
        "serverRetryLimit": {
          "type": "number",
          "description": "The number of retries attempted when a call to Active Directory fails due to network error.\n"
        },
        "sfuSupport": {
          "type": "string",
          "description": "Specifies whether to support RFC 2307 attributes on ADS domain controllers.\n"
        },
        "site": {
          "type": "string",
          "description": "Specifies the site for the Active Directory.\n"
        },
        "status": {
          "type": "string",
          "description": "Specifies the status of the provider.\n"
        },
        "storeSfuMappings": {
          "type": "boolean",
          "description": "Stores SFU mappings permanently in the ID mapper.\n"
        },
        "system": {
          "type": "boolean",
          "description": "If set to true, indicates that this provider instance was created by OneFS and cannot be removed.\n"
        },
        "unfindableGroups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies groups that cannot be resolved by the provider.\n"
        },
        "unfindableUsers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies users that cannot be resolved by the provider.\n"
        },
        "zoneName": {
          "type": "string",
          "description": "Specifies the name of the access zone in which this provider was created.\n"
        }
      },
      "type": "object",
      "required": [
        "allocateGids",
        "allocateUids",
        "assumeDefaultDomain",
        "authentication",
        "checkOnlineInterval",
        "controllerTime",
        "createHomeDirectory",
        "domainOfflineAlerts",
        "dupSpns",
        "extraExpectedSpns",
        "findableGroups",
        "findableUsers",
        "forest",
        "groupnet",
        "homeDirectoryTemplate",
        "hostname",
        "id",
        "ignoreAllTrusts",
        "ignoredTrustedDomains",
        "includeTrustedDomains",
        "instance",
        "ldapSignAndSeal",
        "loginShell",
        "lookupDomains",
        "lookupGroups",
        "lookupNormalizeGroups",
        "lookupNormalizeUsers",
        "lookupUsers",
        "machineAccount",
        "machinePasswordChanges",
        "machinePasswordLifespan",
        "name",
        "netbiosDomain",
        "nodeDcAffinity",
        "nodeDcAffinityTimeout",
        "nssEnumeration",
        "primaryDomain",
        "restrictFindable",
        "rpcCallTimeout",
        "serverRetryLimit",
        "sfuSupport",
        "site",
        "status",
        "storeSfuMappings",
        "system",
        "unfindableGroups",
        "unfindableUsers",
        "zoneName"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getAdsproviderFilter:getAdsproviderFilter": {
      "properties": {
        "names": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Filter ads providers by names.\n"
        },
        "scope": {
          "type": "string",
          "description": "Filter ads providers by scope.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getClusterAcs:getClusterAcs": {
      "properties": {
        "failedNodesSns": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "list of failed nodes serial number.\n"
        },
        "joinedNodes": {
          "type": "number",
          "description": "the number of joined nodes.\n"
        },
        "licenseStatus": {
          "type": "string",
          "description": "the status of license activation.\n"
        },
        "srsStatus": {
          "type": "string",
          "description": "the status of SRS enablement.\n"
        },
        "totalNodes": {
          "type": "number",
          "description": "total nodes number of the cluster.\n"
        },
        "unresponsiveSns": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "list of unresponsive nodes serial number.\n"
        }
      },
      "type": "object",
      "required": [
        "failedNodesSns",
        "joinedNodes",
        "licenseStatus",
        "srsStatus",
        "totalNodes",
        "unresponsiveSns"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterConfig:getClusterConfig": {
      "properties": {
        "description": {
          "type": "string",
          "description": "Customer configurable description.\n"
        },
        "devices": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetClusterConfigDevice:getClusterConfigDevice"
          },
          "description": "device\n"
        },
        "guid": {
          "type": "string",
          "description": "Cluster GUID.\n"
        },
        "joinMode": {
          "type": "string",
          "description": "Node join mode: 'manual' or 'secure'.\n"
        },
        "localDevid": {
          "type": "number",
          "description": "Device ID of the queried node.\n"
        },
        "localLnn": {
          "type": "number",
          "description": "Device logical node number of the queried node.\n"
        },
        "localSerial": {
          "type": "string",
          "description": "Device serial number of the queried node.\n"
        },
        "name": {
          "type": "string",
          "description": "Cluster name.\n"
        },
        "onefsVersion": {
          "$ref": "#/types/powerscale:index%2FgetClusterConfigOnefsVersion:getClusterConfigOnefsVersion",
          "description": "version\n"
        },
        "timezone": {
          "$ref": "#/types/powerscale:index%2FgetClusterConfigTimezone:getClusterConfigTimezone",
          "description": "version\n"
        }
      },
      "type": "object",
      "required": [
        "description",
        "devices",
        "guid",
        "joinMode",
        "localDevid",
        "localLnn",
        "localSerial",
        "name",
        "onefsVersion",
        "timezone"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterConfigDevice:getClusterConfigDevice": {
      "properties": {
        "devid": {
          "type": "number",
          "description": "Device ID.\n"
        },
        "guid": {
          "type": "string",
          "description": "Device GUID.\n"
        },
        "isUp": {
          "type": "boolean",
          "description": "If true, this node is online and communicating with the local node and every other node with the is_up property normally\n"
        },
        "lnn": {
          "type": "number",
          "description": "Device logical node number.\n"
        }
      },
      "type": "object",
      "required": [
        "devid",
        "guid",
        "isUp",
        "lnn"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterConfigOnefsVersion:getClusterConfigOnefsVersion": {
      "properties": {
        "build": {
          "type": "string",
          "description": "OneFS build string.\n"
        },
        "release": {
          "type": "string",
          "description": "Kernel release number.\n"
        },
        "revision": {
          "type": "string",
          "description": "OneFS build number.\n"
        },
        "type": {
          "type": "string",
          "description": "Kernel release type.\n"
        },
        "version": {
          "type": "string",
          "description": "Kernel full version information.\n"
        }
      },
      "type": "object",
      "required": [
        "build",
        "release",
        "revision",
        "type",
        "version"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterConfigTimezone:getClusterConfigTimezone": {
      "properties": {
        "abbreviation": {
          "type": "string",
          "description": "Timezone abbreviation.\n"
        },
        "custom": {
          "type": "string",
          "description": "Customer timezone information.\n"
        },
        "name": {
          "type": "string",
          "description": "Timezone full name.\n"
        },
        "path": {
          "type": "string",
          "description": "Timezone hierarchical name.\n"
        }
      },
      "type": "object",
      "required": [
        "abbreviation",
        "custom",
        "name",
        "path"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterEmailSettings:getClusterEmailSettings": {
      "properties": {
        "batchMode": {
          "type": "string",
          "description": "This setting determines how notifications will be batched together to be sent by email.  'none' means each notification will be sent separately.  'severity' means notifications of the same severity will be sent together.  'category' means notifications of the same category will be sent together.  'all' means all notifications will be batched together and sent in a single email.\n"
        },
        "mailRelay": {
          "type": "string",
          "description": "The address of the SMTP server to be used for relaying the notification messages.  An SMTP server is required in order to send notifications.  If this string is empty, no emails will be sent.\n"
        },
        "mailSender": {
          "type": "string",
          "description": "The full email address that will appear as the sender of notification messages.\n"
        },
        "mailSubject": {
          "type": "string",
          "description": "The subject line for notification messages from this cluster.\n"
        },
        "smtpAuthPasswdSet": {
          "type": "boolean",
          "description": "Indicates if an SMTP authentication password is set.\n"
        },
        "smtpAuthSecurity": {
          "type": "string",
          "description": "The type of secure communication protocol to use if SMTP is being used.  If 'none', plain text will be used, if 'starttls', the encrypted STARTTLS protocol will be used.\n"
        },
        "smtpAuthUsername": {
          "type": "string",
          "description": "Username to authenticate with if SMTP authentication is being used.\n"
        },
        "smtpPort": {
          "type": "number",
          "description": "The port on the SMTP server to be used for relaying the notification messages.\n"
        },
        "useSmtpAuth": {
          "type": "boolean",
          "description": "If true, this cluster will send SMTP authentication credentials to the SMTP relay server in order to send its notification emails.  If false, the cluster will attempt to send its notification emails without authentication.\n"
        },
        "userTemplate": {
          "type": "string",
          "description": "Location of a custom template file that can be used to specify the layout of the notification emails.\n"
        }
      },
      "type": "object",
      "required": [
        "batchMode",
        "mailRelay",
        "mailSender",
        "mailSubject",
        "smtpAuthPasswdSet",
        "smtpAuthSecurity",
        "smtpAuthUsername",
        "smtpPort",
        "useSmtpAuth",
        "userTemplate"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterIdentity:getClusterIdentity": {
      "properties": {
        "description": {
          "type": "string",
          "description": "A description of the cluster.\n"
        },
        "logon": {
          "$ref": "#/types/powerscale:index%2FgetClusterIdentityLogon:getClusterIdentityLogon",
          "description": "//\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the cluster.\n"
        }
      },
      "type": "object",
      "required": [
        "description",
        "logon",
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterIdentityLogon:getClusterIdentityLogon": {
      "properties": {
        "motd": {
          "type": "string",
          "description": "The message of the day.\n"
        },
        "motdHeader": {
          "type": "string",
          "description": "The header to the message of the day.\n"
        }
      },
      "type": "object",
      "required": [
        "motd",
        "motdHeader"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterInternalNetworks:getClusterInternalNetworks": {
      "properties": {
        "failoverIpAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetClusterInternalNetworksFailoverIpAddress:getClusterInternalNetworksFailoverIpAddress"
          },
          "description": "Array of IP address ranges to be used to configure the internal failover network of the OneFS cluster.\n"
        },
        "failoverStatus": {
          "type": "string",
          "description": "Status of failover network.\n"
        },
        "intAFabric": {
          "type": "string",
          "description": "Network fabric used for the primary network int-a.\n"
        },
        "intAIpAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetClusterInternalNetworksIntAIpAddress:getClusterInternalNetworksIntAIpAddress"
          },
          "description": "Array of IP address ranges to be used to configure the internal int-a network of the OneFS cluster.\n"
        },
        "intAMtu": {
          "type": "number",
          "description": "Maximum Transfer Unit (MTU) of the primary network int-a.\n"
        },
        "intAPrefixLength": {
          "type": "number",
          "description": "Prefixlen specifies the length of network bits used in an IP address. This field is the right-hand part of the CIDR notation representing the subnet mask.\n"
        },
        "intAStatus": {
          "type": "string",
          "description": "Status of the primary network int-a.\n"
        },
        "intBFabric": {
          "type": "string",
          "description": "Network fabric used for the failover network.\n"
        },
        "intBIpAddresses": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetClusterInternalNetworksIntBIpAddress:getClusterInternalNetworksIntBIpAddress"
          },
          "description": "Array of IP address ranges to be used to configure the internal int-b network of the OneFS cluster.\n"
        },
        "intBMtu": {
          "type": "number",
          "description": "Maximum Transfer Unit (MTU) of the failover network int-b.\n"
        },
        "intBPrefixLength": {
          "type": "number",
          "description": "Prefixlen specifies the length of network bits used in an IP address. This field is the right-hand part of the CIDR notation representing the subnet mask.\n"
        }
      },
      "type": "object",
      "required": [
        "failoverIpAddresses",
        "failoverStatus",
        "intAFabric",
        "intAIpAddresses",
        "intAMtu",
        "intAPrefixLength",
        "intAStatus",
        "intBFabric",
        "intBIpAddresses",
        "intBMtu",
        "intBPrefixLength"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterInternalNetworksFailoverIpAddress:getClusterInternalNetworksFailoverIpAddress": {
      "properties": {
        "high": {
          "type": "string",
          "description": "IPv4 address in the format: xxx.xxx.xxx.xxx\n"
        },
        "low": {
          "type": "string",
          "description": "IPv4 address in the format: xxx.xxx.xxx.xxx\n"
        }
      },
      "type": "object",
      "required": [
        "high",
        "low"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterInternalNetworksIntAIpAddress:getClusterInternalNetworksIntAIpAddress": {
      "properties": {
        "high": {
          "type": "string",
          "description": "IPv4 address in the format: xxx.xxx.xxx.xxx\n"
        },
        "low": {
          "type": "string",
          "description": "IPv4 address in the format: xxx.xxx.xxx.xxx\n"
        }
      },
      "type": "object",
      "required": [
        "high",
        "low"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterInternalNetworksIntBIpAddress:getClusterInternalNetworksIntBIpAddress": {
      "properties": {
        "high": {
          "type": "string",
          "description": "IPv4 address in the format: xxx.xxx.xxx.xxx\n"
        },
        "low": {
          "type": "string",
          "description": "IPv4 address in the format: xxx.xxx.xxx.xxx\n"
        }
      },
      "type": "object",
      "required": [
        "high",
        "low"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodes:getClusterNodes": {
      "properties": {
        "errors": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetClusterNodesError:getClusterNodesError"
          },
          "description": "A list of errors encountered by the individual nodes involved in this request, or an empty list if there were no errors.\n"
        },
        "nodes": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetClusterNodesNode:getClusterNodesNode"
          },
          "description": "The responses from the individual nodes involved in this request.\n"
        },
        "total": {
          "type": "number",
          "description": "The total number of nodes responding.\n"
        }
      },
      "type": "object",
      "required": [
        "errors",
        "nodes",
        "total"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesError:getClusterNodesError": {
      "properties": {
        "code": {
          "type": "string",
          "description": "The error code.\n"
        },
        "field": {
          "type": "string",
          "description": "The field with the error if applicable.\n"
        },
        "id": {
          "type": "number",
          "description": "Node ID (Device Number) of a node.\n"
        },
        "lnn": {
          "type": "number",
          "description": "Logical Node Number (LNN) of a node.\n"
        },
        "message": {
          "type": "string",
          "description": "The error message.\n"
        },
        "status": {
          "type": "number",
          "description": "HTTP Status code returned by this node.\n"
        }
      },
      "type": "object",
      "required": [
        "code",
        "field",
        "id",
        "lnn",
        "message",
        "status"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesNode:getClusterNodesNode": {
      "properties": {
        "drives": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetClusterNodesNodeDrife:getClusterNodesNodeDrife"
          },
          "description": "List of the drives in this node.\n"
        },
        "error": {
          "type": "string",
          "description": "Error message, if the HTTP status returned from this node was not 200.\n"
        },
        "hardware": {
          "$ref": "#/types/powerscale:index%2FgetClusterNodesNodeHardware:getClusterNodesNodeHardware",
          "description": "//\n"
        },
        "id": {
          "type": "number",
          "description": "Node ID (Device Number) of a node.\n"
        },
        "lnn": {
          "type": "number",
          "description": "Logical Node Number (LNN) of a node.\n"
        },
        "partitions": {
          "$ref": "#/types/powerscale:index%2FgetClusterNodesNodePartitions:getClusterNodesNodePartitions",
          "description": "//\n"
        },
        "sensors": {
          "$ref": "#/types/powerscale:index%2FgetClusterNodesNodeSensors:getClusterNodesNodeSensors",
          "description": "//\n"
        },
        "state": {
          "$ref": "#/types/powerscale:index%2FgetClusterNodesNodeState:getClusterNodesNodeState",
          "description": "//\n"
        },
        "status": {
          "$ref": "#/types/powerscale:index%2FgetClusterNodesNodeStatus:getClusterNodesNodeStatus",
          "description": "//\n"
        }
      },
      "type": "object",
      "required": [
        "drives",
        "error",
        "hardware",
        "id",
        "lnn",
        "partitions",
        "sensors",
        "state",
        "status"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesNodeDrife:getClusterNodesNodeDrife": {
      "properties": {
        "baynum": {
          "type": "number",
          "description": "Numerical representation of this drive's bay.\n"
        },
        "blocks": {
          "type": "number",
          "description": "Number of blocks on this drive.\n"
        },
        "chassis": {
          "type": "number",
          "description": "The chassis number which contains this drive.\n"
        },
        "devname": {
          "type": "string",
          "description": "This drive's device name.\n"
        },
        "firmware": {
          "$ref": "#/types/powerscale:index%2FgetClusterNodesNodeDrifeFirmware:getClusterNodesNodeDrifeFirmware",
          "description": "Drive firmware information\n"
        },
        "handle": {
          "type": "number",
          "description": "Drive*d's handle representation for this driveIf we fail to retrieve the handle for this drive from drive*d: -1\n"
        },
        "interfaceType": {
          "type": "string",
          "description": "String representation of this drive's interface type.\n"
        },
        "lnum": {
          "type": "number",
          "description": "This drive's logical drive number in IFS.\n"
        },
        "locnstr": {
          "type": "string",
          "description": "String representation of this drive's physical location.\n"
        },
        "logicalBlockLength": {
          "type": "number",
          "description": "Size of a logical block on this drive.\n"
        },
        "mediaType": {
          "type": "string",
          "description": "String representation of this drive's media type.\n"
        },
        "model": {
          "type": "string",
          "description": "This drive's manufacturer and model.\n"
        },
        "physicalBlockLength": {
          "type": "number",
          "description": "Size of a physical block on this drive.\n"
        },
        "present": {
          "type": "boolean",
          "description": "Indicates whether this drive is physically present in the node.\n"
        },
        "purpose": {
          "type": "string",
          "description": "This drive's purpose in the DRV state machine.\n"
        },
        "purposeDescription": {
          "type": "string",
          "description": "Description of this drive's purpose.\n"
        },
        "serial": {
          "type": "string",
          "description": "Serial number for this drive.\n"
        },
        "uiState": {
          "type": "string",
          "description": "This drive's state as presented to the UI.\n"
        },
        "wwn": {
          "type": "string",
          "description": "The drive's 'worldwide name' from its NAA identifiers.\n"
        },
        "xLoc": {
          "type": "number",
          "description": "This drive's x-axis grid location.\n"
        },
        "yLoc": {
          "type": "number",
          "description": "This drive's y-axis grid location.\n"
        }
      },
      "type": "object",
      "required": [
        "baynum",
        "blocks",
        "chassis",
        "devname",
        "firmware",
        "handle",
        "interfaceType",
        "lnum",
        "locnstr",
        "logicalBlockLength",
        "mediaType",
        "model",
        "physicalBlockLength",
        "present",
        "purpose",
        "purposeDescription",
        "serial",
        "uiState",
        "wwn",
        "xLoc",
        "yLoc"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesNodeDrifeFirmware:getClusterNodesNodeDrifeFirmware": {
      "properties": {
        "currentFirmware": {
          "type": "string",
          "description": "This drive's current firmware revision\n"
        },
        "desiredFirmware": {
          "type": "string",
          "description": "This drive's desired firmware revision.\n"
        }
      },
      "type": "object",
      "required": [
        "currentFirmware",
        "desiredFirmware"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesNodeHardware:getClusterNodesNodeHardware": {
      "properties": {
        "chassis": {
          "type": "string",
          "description": "Name of this node's chassis.\n"
        },
        "chassisCode": {
          "type": "string",
          "description": "Chassis code of this node (1U, 2U, etc.).\n"
        },
        "chassisCount": {
          "type": "string",
          "description": "Number of chassis making up this node.\n"
        },
        "class": {
          "type": "string",
          "description": "Class of this node (storage, accelerator, etc.).\n"
        },
        "configurationId": {
          "type": "string",
          "description": "Node configuration ID.\n"
        },
        "cpu": {
          "type": "string",
          "description": "Manufacturer and model of this node's CPU.\n"
        },
        "diskController": {
          "type": "string",
          "description": "Manufacturer and model of this node's disk controller.\n"
        },
        "diskExpander": {
          "type": "string",
          "description": "Manufacturer and model of this node's disk expander.\n"
        },
        "familyCode": {
          "type": "string",
          "description": "Family code of this node (X, S, NL, etc.).\n"
        },
        "flashDrive": {
          "type": "string",
          "description": "Manufacturer, model, and device id of this node's flash drive.\n"
        },
        "generationCode": {
          "type": "string",
          "description": "Generation code of this node.\n"
        },
        "hwgen": {
          "type": "string",
          "description": "PowerScale hardware generation name.\n"
        },
        "imbVersion": {
          "type": "string",
          "description": "Version of this node's PowerScale Management Board.\n"
        },
        "infiniband": {
          "type": "string",
          "description": "Infiniband card type.\n"
        },
        "lcdVersion": {
          "type": "string",
          "description": "Version of the LCD panel.\n"
        },
        "motherboard": {
          "type": "string",
          "description": "Manufacturer and model of this node's motherboard.\n"
        },
        "netInterfaces": {
          "type": "string",
          "description": "Description of all this node's network interfaces.\n"
        },
        "nvram": {
          "type": "string",
          "description": "Manufacturer and model of this node's NVRAM board.\n"
        },
        "powersupplies": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Description strings for each power supply on this node.\n"
        },
        "processor": {
          "type": "string",
          "description": "Number of processors and cores on this node.\n"
        },
        "product": {
          "type": "string",
          "description": "PowerScale product name.\n"
        },
        "ram": {
          "type": "number",
          "description": "Size of RAM in bytes.\n"
        },
        "serialNumber": {
          "type": "string",
          "description": "Serial number of this node.\n"
        },
        "series": {
          "type": "string",
          "description": "Series of this node (X, I, NL, etc.).\n"
        },
        "storageClass": {
          "type": "string",
          "description": "Storage class of this node (storage or diskless).\n"
        }
      },
      "type": "object",
      "required": [
        "chassis",
        "chassisCode",
        "chassisCount",
        "class",
        "configurationId",
        "cpu",
        "diskController",
        "diskExpander",
        "familyCode",
        "flashDrive",
        "generationCode",
        "hwgen",
        "imbVersion",
        "infiniband",
        "lcdVersion",
        "motherboard",
        "netInterfaces",
        "nvram",
        "powersupplies",
        "processor",
        "product",
        "ram",
        "serialNumber",
        "series",
        "storageClass"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesNodePartitions:getClusterNodesNodePartitions": {
      "properties": {
        "count": {
          "type": "number",
          "description": "Count of how many partitions are included.\n"
        },
        "partitions": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetClusterNodesNodePartitionsPartition:getClusterNodesNodePartitionsPartition"
          },
          "description": "Partition information.\n"
        }
      },
      "type": "object",
      "required": [
        "count",
        "partitions"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesNodePartitionsPartition:getClusterNodesNodePartitionsPartition": {
      "properties": {
        "blockSize": {
          "type": "number",
          "description": "The block size used for the reported partition information.\n"
        },
        "capacity": {
          "type": "number",
          "description": "Total blocks on this file system partition.\n"
        },
        "componentDevices": {
          "type": "string",
          "description": "Comma separated list of devices used for this file system partition.\n"
        },
        "mountPoint": {
          "type": "string",
          "description": "Directory on which this partition is mounted.\n"
        },
        "percentUsed": {
          "type": "string",
          "description": "Used blocks on this file system partition, expressed as a percentage.\n"
        },
        "statfs": {
          "$ref": "#/types/powerscale:index%2FgetClusterNodesNodePartitionsPartitionStatfs:getClusterNodesNodePartitionsPartitionStatfs",
          "description": "//\n"
        },
        "used": {
          "type": "number",
          "description": "Used blocks on this file system partition.\n"
        }
      },
      "type": "object",
      "required": [
        "blockSize",
        "capacity",
        "componentDevices",
        "mountPoint",
        "percentUsed",
        "statfs",
        "used"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesNodePartitionsPartitionStatfs:getClusterNodesNodePartitionsPartitionStatfs": {
      "properties": {
        "fBavail": {
          "type": "number",
          "description": "Free blocks available to non-superuser on this partition.\n"
        },
        "fBfree": {
          "type": "number",
          "description": "Free blocks on this partition.\n"
        },
        "fBlocks": {
          "type": "number",
          "description": "Total data blocks on this partition.\n"
        },
        "fBsize": {
          "type": "number",
          "description": "Filesystem fragment size; block size in OneFS.\n"
        },
        "fFfree": {
          "type": "number",
          "description": "Free file nodes avail to non-superuser.\n"
        },
        "fFiles": {
          "type": "number",
          "description": "Total file nodes in filesystem.\n"
        },
        "fFlags": {
          "type": "number",
          "description": "Mount exported flags.\n"
        },
        "fFstypename": {
          "type": "string",
          "description": "File system type name.\n"
        },
        "fIosize": {
          "type": "number",
          "description": "Optimal transfer block size.\n"
        },
        "fMntfromname": {
          "type": "string",
          "description": "Names of devices this partition is mounted from.\n"
        },
        "fMntonname": {
          "type": "string",
          "description": "Directory this partition is mounted to.\n"
        },
        "fNamemax": {
          "type": "number",
          "description": "Maximum filename length.\n"
        },
        "fOwner": {
          "type": "number",
          "description": "UID of user that mounted the filesystem.\n"
        },
        "fType": {
          "type": "number",
          "description": "Type of filesystem.\n"
        },
        "fVersion": {
          "type": "number",
          "description": "statfs() structure version number.\n"
        }
      },
      "type": "object",
      "required": [
        "fBavail",
        "fBfree",
        "fBlocks",
        "fBsize",
        "fFfree",
        "fFiles",
        "fFlags",
        "fFstypename",
        "fIosize",
        "fMntfromname",
        "fMntonname",
        "fNamemax",
        "fOwner",
        "fType",
        "fVersion"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesNodeSensors:getClusterNodesNodeSensors": {
      "properties": {
        "sensors": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetClusterNodesNodeSensorsSensor:getClusterNodesNodeSensorsSensor"
          },
          "description": "This node's sensor information.\n"
        }
      },
      "type": "object",
      "required": [
        "sensors"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesNodeSensorsSensor:getClusterNodesNodeSensorsSensor": {
      "properties": {
        "count": {
          "type": "number",
          "description": "The count of values in this sensor group.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of this sensor group.\n"
        },
        "values": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetClusterNodesNodeSensorsSensorValue:getClusterNodesNodeSensorsSensorValue"
          },
          "description": "The list of specific sensor value info in this sensor group.\n"
        }
      },
      "type": "object",
      "required": [
        "count",
        "name",
        "values"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesNodeSensorsSensorValue:getClusterNodesNodeSensorsSensorValue": {
      "properties": {
        "desc": {
          "type": "string",
          "description": "The descriptive name of this sensor.\n"
        },
        "name": {
          "type": "string",
          "description": "The identifier name of this sensor.\n"
        },
        "units": {
          "type": "string",
          "description": "The units of this sensor.\n"
        },
        "value": {
          "type": "string",
          "description": "The value of this sensor.\n"
        }
      },
      "type": "object",
      "required": [
        "desc",
        "name",
        "units",
        "value"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesNodeState:getClusterNodesNodeState": {
      "properties": {
        "readonly": {
          "$ref": "#/types/powerscale:index%2FgetClusterNodesNodeStateReadonly:getClusterNodesNodeStateReadonly",
          "description": "//\n"
        },
        "servicelight": {
          "$ref": "#/types/powerscale:index%2FgetClusterNodesNodeStateServicelight:getClusterNodesNodeStateServicelight",
          "description": "//\n"
        },
        "smartfail": {
          "$ref": "#/types/powerscale:index%2FgetClusterNodesNodeStateSmartfail:getClusterNodesNodeStateSmartfail",
          "description": "//\n"
        }
      },
      "type": "object",
      "required": [
        "readonly",
        "servicelight",
        "smartfail"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesNodeStateReadonly:getClusterNodesNodeStateReadonly": {
      "properties": {
        "allowed": {
          "type": "boolean",
          "description": "The current read-only mode allowed status for the node.\n"
        },
        "enabled": {
          "type": "boolean",
          "description": "The current read-only user mode status for the node. NOTE: If read-only mode is currently disallowed for this node, it will remain read/write until read-only mode is allowed again. This value only sets or clears any user-specified requests for read-only mode. If the node has been placed into read-only mode by the system, it will remain in read-only mode until the system conditions which triggered read-only mode have cleared.\n"
        },
        "mode": {
          "type": "boolean",
          "description": "The current read-only mode status for the node.\n"
        },
        "status": {
          "type": "string",
          "description": "The current read-only mode status description for the node.\n"
        },
        "valid": {
          "type": "boolean",
          "description": "The read-only state values are valid (False = Error).\n"
        },
        "value": {
          "type": "number",
          "description": "The current read-only value (enumerated bitfield) for the node.\n"
        }
      },
      "type": "object",
      "required": [
        "allowed",
        "enabled",
        "mode",
        "status",
        "valid",
        "value"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesNodeStateServicelight:getClusterNodesNodeStateServicelight": {
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "The node service light state (True = on).\n"
        }
      },
      "type": "object",
      "required": [
        "enabled"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesNodeStateSmartfail:getClusterNodesNodeStateSmartfail": {
      "properties": {
        "smartfailed": {
          "type": "boolean",
          "description": "This node is smartfailed (soft_devs).\n"
        }
      },
      "type": "object",
      "required": [
        "smartfailed"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesNodeStatus:getClusterNodesNodeStatus": {
      "properties": {
        "batterystatus": {
          "$ref": "#/types/powerscale:index%2FgetClusterNodesNodeStatusBatterystatus:getClusterNodesNodeStatusBatterystatus",
          "description": "//\n"
        },
        "capacities": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetClusterNodesNodeStatusCapacity:getClusterNodesNodeStatusCapacity"
          },
          "description": "Storage capacity of this node.\n"
        },
        "cpu": {
          "$ref": "#/types/powerscale:index%2FgetClusterNodesNodeStatusCpu:getClusterNodesNodeStatusCpu",
          "description": "//\n"
        },
        "nvram": {
          "$ref": "#/types/powerscale:index%2FgetClusterNodesNodeStatusNvram:getClusterNodesNodeStatusNvram",
          "description": "//\n"
        },
        "powersupplies": {
          "$ref": "#/types/powerscale:index%2FgetClusterNodesNodeStatusPowersupplies:getClusterNodesNodeStatusPowersupplies",
          "description": "//\n"
        },
        "release": {
          "type": "string",
          "description": "OneFS release.\n"
        },
        "uptime": {
          "type": "number",
          "description": "Seconds this node has been online.\n"
        },
        "version": {
          "type": "string",
          "description": "OneFS version.\n"
        }
      },
      "type": "object",
      "required": [
        "batterystatus",
        "capacities",
        "cpu",
        "nvram",
        "powersupplies",
        "release",
        "uptime",
        "version"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesNodeStatusBatterystatus:getClusterNodesNodeStatusBatterystatus": {
      "properties": {
        "lastTestTime1": {
          "type": "string",
          "description": "The last battery test time for battery 1.\n"
        },
        "lastTestTime2": {
          "type": "string",
          "description": "The last battery test time for battery 2.\n"
        },
        "nextTestTime1": {
          "type": "string",
          "description": "The next checkup for battery 1.\n"
        },
        "nextTestTime2": {
          "type": "string",
          "description": "The next checkup for battery 2.\n"
        },
        "present": {
          "type": "boolean",
          "description": "Node has battery status.\n"
        },
        "result1": {
          "type": "string",
          "description": "The result of the last battery test for battery 1.\n"
        },
        "result2": {
          "type": "string",
          "description": "The result of the last battery test for battery 2.\n"
        },
        "status1": {
          "type": "string",
          "description": "The status of battery 1.\n"
        },
        "status2": {
          "type": "string",
          "description": "The status of battery 2.\n"
        },
        "supported": {
          "type": "boolean",
          "description": "Node supports battery status.\n"
        }
      },
      "type": "object",
      "required": [
        "lastTestTime1",
        "lastTestTime2",
        "nextTestTime1",
        "nextTestTime2",
        "present",
        "result1",
        "result2",
        "status1",
        "status2",
        "supported"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesNodeStatusCapacity:getClusterNodesNodeStatusCapacity": {
      "properties": {
        "bytes": {
          "type": "number",
          "description": "Total device storage bytes.\n"
        },
        "count": {
          "type": "number",
          "description": "Total device count.\n"
        },
        "type": {
          "type": "string",
          "description": "Device type.\n"
        }
      },
      "type": "object",
      "required": [
        "bytes",
        "count",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesNodeStatusCpu:getClusterNodesNodeStatusCpu": {
      "properties": {
        "model": {
          "type": "string",
          "description": "Manufacturer model description of this CPU.\n"
        },
        "overtemp": {
          "type": "string",
          "description": "CPU overtemp state.\n"
        },
        "proc": {
          "type": "string",
          "description": "Type of processor and core of this CPU.\n"
        },
        "speedLimit": {
          "type": "string",
          "description": "CPU throttling (expressed as a percentage).\n"
        }
      },
      "type": "object",
      "required": [
        "model",
        "overtemp",
        "proc",
        "speedLimit"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesNodeStatusNvram:getClusterNodesNodeStatusNvram": {
      "properties": {
        "batteries": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetClusterNodesNodeStatusNvramBattery:getClusterNodesNodeStatusNvramBattery"
          },
          "description": "This node's NVRAM battery status information.\n"
        },
        "batteryCount": {
          "type": "number",
          "description": "This node's NVRAM battery count. On failure: -1, otherwise 1 or 2.\n"
        },
        "chargeStatus": {
          "type": "string",
          "description": "This node's NVRAM battery charge status, as a color.\n"
        },
        "chargeStatusNumber": {
          "type": "number",
          "description": "This node's NVRAM battery charge status, as a number. Error or not supported: -1. BR_BLACK: 0. BR_GREEN: 1. BR_YELLOW: 2. BR_RED: 3.\n"
        },
        "device": {
          "type": "string",
          "description": "This node's NVRAM device name with path.\n"
        },
        "present": {
          "type": "boolean",
          "description": "This node has NVRAM.\n"
        },
        "presentFlash": {
          "type": "boolean",
          "description": "This node has NVRAM with flash storage.\n"
        },
        "presentSize": {
          "type": "number",
          "description": "The size of the NVRAM, in bytes.\n"
        },
        "presentType": {
          "type": "string",
          "description": "This node's NVRAM type.\n"
        },
        "shipMode": {
          "type": "number",
          "description": "This node's current ship mode state for NVRAM batteries. If not supported or on failure: -1. Disabled: 0. Enabled: 1.\n"
        },
        "supported": {
          "type": "boolean",
          "description": "This node supports NVRAM.\n"
        },
        "supportedFlash": {
          "type": "boolean",
          "description": "This node supports NVRAM with flash storage.\n"
        },
        "supportedSize": {
          "type": "number",
          "description": "The maximum size of the NVRAM, in bytes.\n"
        },
        "supportedType": {
          "type": "string",
          "description": "This node's supported NVRAM type.\n"
        }
      },
      "type": "object",
      "required": [
        "batteries",
        "batteryCount",
        "chargeStatus",
        "chargeStatusNumber",
        "device",
        "present",
        "presentFlash",
        "presentSize",
        "presentType",
        "shipMode",
        "supported",
        "supportedFlash",
        "supportedSize",
        "supportedType"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesNodeStatusNvramBattery:getClusterNodesNodeStatusNvramBattery": {
      "properties": {
        "color": {
          "type": "string",
          "description": "The current status color of the NVRAM battery.\n"
        },
        "id": {
          "type": "number",
          "description": "Unique identifier of the cluster.\n"
        },
        "status": {
          "type": "string",
          "description": "The current status message of the NVRAM battery.\n"
        },
        "voltage": {
          "type": "string",
          "description": "The current voltage of the NVRAM battery.\n"
        }
      },
      "type": "object",
      "required": [
        "color",
        "id",
        "status",
        "voltage"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesNodeStatusPowersupplies:getClusterNodesNodeStatusPowersupplies": {
      "properties": {
        "count": {
          "type": "number",
          "description": "Count of how many power supplies are supported.\n"
        },
        "failures": {
          "type": "number",
          "description": "Count of how many power supplies have failed.\n"
        },
        "hasCff": {
          "type": "boolean",
          "description": "Does this node have a CFF power supply.\n"
        },
        "status": {
          "type": "string",
          "description": "A descriptive status string for this node's power supplies.\n"
        },
        "supplies": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetClusterNodesNodeStatusPowersuppliesSupply:getClusterNodesNodeStatusPowersuppliesSupply"
          },
          "description": "List of this node's power supplies.\n"
        },
        "supportsCff": {
          "type": "boolean",
          "description": "Does this node support CFF power supplies.\n"
        }
      },
      "type": "object",
      "required": [
        "count",
        "failures",
        "hasCff",
        "status",
        "supplies",
        "supportsCff"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getClusterNodesNodeStatusPowersuppliesSupply:getClusterNodesNodeStatusPowersuppliesSupply": {
      "properties": {
        "chassis": {
          "type": "number",
          "description": "Which node chassis is this power supply in.\n"
        },
        "firmware": {
          "type": "string",
          "description": "The current firmware revision of this power supply.\n"
        },
        "good": {
          "type": "string",
          "description": "Is this power supply in a failure state.\n"
        },
        "id": {
          "type": "number",
          "description": "Unique identifier of the cluster.\n"
        },
        "name": {
          "type": "string",
          "description": "Complete identifying string for this power supply.\n"
        },
        "status": {
          "type": "string",
          "description": "A descriptive status string for this power supply.\n"
        },
        "type": {
          "type": "string",
          "description": "The type of this power supply.\n"
        }
      },
      "type": "object",
      "required": [
        "chassis",
        "firmware",
        "good",
        "id",
        "name",
        "status",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getFilepoolPolicyFilePoolPolicy:getFilepoolPolicyFilePoolPolicy": {
      "properties": {
        "actions": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetFilepoolPolicyFilePoolPolicyAction:getFilepoolPolicyFilePoolPolicyAction"
          },
          "description": "A list of actions to be taken for matching files.\n"
        },
        "applyOrder": {
          "type": "number",
          "description": "The order in which this policy should be applied (relative to other policies).\n"
        },
        "birthClusterId": {
          "type": "string",
          "description": "The guid assigned to the cluster on which the policy was created.\n"
        },
        "description": {
          "type": "string",
          "description": "A description for this File Pool Policy.\n"
        },
        "fileMatchingPattern": {
          "$ref": "#/types/powerscale:index%2FgetFilepoolPolicyFilePoolPolicyFileMatchingPattern:getFilepoolPolicyFilePoolPolicyFileMatchingPattern",
          "description": "Specifies the file matching rules for determining which files will be managed by this policy.\n"
        },
        "id": {
          "type": "string",
          "description": "A unique name for this File Pool Policy.\n"
        },
        "name": {
          "type": "string",
          "description": "A unique name for this File Pool Policy.\n"
        },
        "state": {
          "type": "string",
          "description": "Indicates whether this policy is in a good state (\"OK\") or disabled (\"disabled\").\n"
        },
        "stateDetails": {
          "type": "string",
          "description": "Gives further information to describe the state of this policy.\n"
        }
      },
      "type": "object",
      "required": [
        "actions",
        "applyOrder",
        "birthClusterId",
        "description",
        "fileMatchingPattern",
        "id",
        "name",
        "state",
        "stateDetails"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getFilepoolPolicyFilePoolPolicyAction:getFilepoolPolicyFilePoolPolicyAction": {
      "properties": {
        "actionType": {
          "type": "string",
          "description": "action*type Acceptable values: set*requested*protection, set*data*access*pattern, enable*coalescer, apply*data*storage*policy, apply*snapshot*storage*policy, set*cloudpool*policy, enable*packing.\n"
        },
        "cloudpoolPolicyAction": {
          "$ref": "#/types/powerscale:index%2FgetFilepoolPolicyFilePoolPolicyActionCloudpoolPolicyAction:getFilepoolPolicyFilePoolPolicyActionCloudpoolPolicyAction",
          "description": "Action for set*cloudpool*policy type.\n"
        },
        "dataAccessPatternAction": {
          "type": "string",
          "description": "Action for set*data*access_pattern type. Set data access pattern optimization. Acceptable values: random, concurrency, streaming.\n"
        },
        "dataStoragePolicyAction": {
          "$ref": "#/types/powerscale:index%2FgetFilepoolPolicyFilePoolPolicyActionDataStoragePolicyAction:getFilepoolPolicyFilePoolPolicyActionDataStoragePolicyAction",
          "description": "Action for apply*data*storage*policy.\n"
        },
        "enableCoalescerAction": {
          "type": "boolean",
          "description": "Action for enable_coalescer type. Set write performance optimization. True to enable SmartCache action.\n"
        },
        "enablePackingAction": {
          "type": "boolean",
          "description": "Action for enable*packing type. True to enable enable*packing action.\n"
        },
        "requestedProtectionAction": {
          "type": "string",
          "description": "Action for set*requested*protection type. Acceptable values: default, +1n, +2d:1n, +2n, +3d:1n, +3d:1n1d, +3n, +4d:1n, +4d:2n, +4n, 2x, 3x, 4x, 5x, 6x, 7x, 8x.\n"
        },
        "snapshotStoragePolicyAction": {
          "$ref": "#/types/powerscale:index%2FgetFilepoolPolicyFilePoolPolicyActionSnapshotStoragePolicyAction:getFilepoolPolicyFilePoolPolicyActionSnapshotStoragePolicyAction",
          "description": "Action for apply*snapshot*storage*policy.\n"
        }
      },
      "type": "object",
      "required": [
        "actionType",
        "cloudpoolPolicyAction",
        "dataAccessPatternAction",
        "dataStoragePolicyAction",
        "enableCoalescerAction",
        "enablePackingAction",
        "requestedProtectionAction",
        "snapshotStoragePolicyAction"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getFilepoolPolicyFilePoolPolicyActionCloudpoolPolicyAction:getFilepoolPolicyFilePoolPolicyActionCloudpoolPolicyAction": {
      "properties": {
        "archiveSnapshotFiles": {
          "type": "boolean",
          "description": "Specifies if files with snapshots should be archived.\n"
        },
        "cache": {
          "$ref": "#/types/powerscale:index%2FgetFilepoolPolicyFilePoolPolicyActionCloudpoolPolicyActionCache:getFilepoolPolicyFilePoolPolicyActionCloudpoolPolicyActionCache",
          "description": "Specifies default cloudpool cache settings for new filepool policies.\n"
        },
        "compression": {
          "type": "boolean",
          "description": "Specifies if files should be compressed.\n"
        },
        "dataRetention": {
          "type": "number",
          "description": "Specifies the minimum amount of time archived data will be retained in the cloud after deletion.\n"
        },
        "encryption": {
          "type": "boolean",
          "description": "Specifies if files should be encrypted.\n"
        },
        "fullBackupRetention": {
          "type": "number",
          "description": "The minimum amount of time cloud files will be retained after the creation of a full NDMP backup. (Used with NDMP backups only.  Not applicable to SyncIQ.)\n"
        },
        "incrementalBackupRetention": {
          "type": "number",
          "description": "The minimum amount of time cloud files will be retained after the creation of a SyncIQ backup or an incremental NDMP backup. (Used with SyncIQ and NDMP backups.)\n"
        },
        "pool": {
          "type": "string",
          "description": "Specifies the cloudPool storage target.\n"
        },
        "writebackFrequency": {
          "type": "number",
          "description": "The minimum amount of time to wait before updating cloud data with local changes.\n"
        }
      },
      "type": "object",
      "required": [
        "archiveSnapshotFiles",
        "cache",
        "compression",
        "dataRetention",
        "encryption",
        "fullBackupRetention",
        "incrementalBackupRetention",
        "pool",
        "writebackFrequency"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getFilepoolPolicyFilePoolPolicyActionCloudpoolPolicyActionCache:getFilepoolPolicyFilePoolPolicyActionCloudpoolPolicyActionCache": {
      "properties": {
        "expiration": {
          "type": "number",
          "description": "Specifies cache expiration.\n"
        },
        "readAhead": {
          "type": "string",
          "description": "Specifies cache read ahead type. Acceptable values: partial, full.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies cache type. Acceptable values: cached, no-cache.\n"
        }
      },
      "type": "object",
      "required": [
        "expiration",
        "readAhead",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getFilepoolPolicyFilePoolPolicyActionDataStoragePolicyAction:getFilepoolPolicyFilePoolPolicyActionDataStoragePolicyAction": {
      "properties": {
        "ssdStrategy": {
          "type": "string",
          "description": "Specifies the SSD strategy. Acceptable values: metadata, metadata-write, data, avoid.\n"
        },
        "storagepool": {
          "type": "string",
          "description": "Specifies the storage target.\n"
        }
      },
      "type": "object",
      "required": [
        "ssdStrategy",
        "storagepool"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getFilepoolPolicyFilePoolPolicyActionSnapshotStoragePolicyAction:getFilepoolPolicyFilePoolPolicyActionSnapshotStoragePolicyAction": {
      "properties": {
        "ssdStrategy": {
          "type": "string",
          "description": "Specifies the SSD strategy. Acceptable values: metadata, metadata-write, data, avoid.\n"
        },
        "storagepool": {
          "type": "string",
          "description": "Specifies the snapshot storage target.\n"
        }
      },
      "type": "object",
      "required": [
        "ssdStrategy",
        "storagepool"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getFilepoolPolicyFilePoolPolicyFileMatchingPattern:getFilepoolPolicyFilePoolPolicyFileMatchingPattern": {
      "properties": {
        "orCriterias": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetFilepoolPolicyFilePoolPolicyFileMatchingPatternOrCriteria:getFilepoolPolicyFilePoolPolicyFileMatchingPatternOrCriteria"
          },
          "description": "List of or*criteria file matching rules for this policy.\n"
        }
      },
      "type": "object",
      "required": [
        "orCriterias"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getFilepoolPolicyFilePoolPolicyFileMatchingPatternOrCriteria:getFilepoolPolicyFilePoolPolicyFileMatchingPatternOrCriteria": {
      "properties": {
        "andCriterias": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetFilepoolPolicyFilePoolPolicyFileMatchingPatternOrCriteriaAndCriteria:getFilepoolPolicyFilePoolPolicyFileMatchingPatternOrCriteriaAndCriteria"
          },
          "description": "List of and*criteria file matching rules for this policy.\n"
        }
      },
      "type": "object",
      "required": [
        "andCriterias"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getFilepoolPolicyFilePoolPolicyFileMatchingPatternOrCriteriaAndCriteria:getFilepoolPolicyFilePoolPolicyFileMatchingPatternOrCriteriaAndCriteria": {
      "properties": {
        "attributeExists": {
          "type": "boolean",
          "description": "Indicates whether the existence of an attribute indicates a match (valid only with 'type' = 'custom_attribute').\n"
        },
        "beginsWith": {
          "type": "boolean",
          "description": "True to match the path exactly, False to match any subtree. (valid only with 'type' = 'path').\n"
        },
        "caseSensitive": {
          "type": "boolean",
          "description": "True to indicate case sensitivity when comparing file attributes (valid only with 'type' = 'name' or 'type' = 'path').\n"
        },
        "field": {
          "type": "string",
          "description": "File attribute field name to be compared in a custom comparison (valid only with 'type' = 'custom_attribute').\n"
        },
        "operator": {
          "type": "string",
          "description": "The comparison operator to use while comparing an attribute with its value.\n"
        },
        "type": {
          "type": "string",
          "description": "The file attribute to be compared to a given value.\n"
        },
        "units": {
          "type": "string",
          "description": "Size unit value. One of 'B','KB','MB','GB','TB','PB','EB' (valid only with 'type' = 'size').\n"
        },
        "useRelativeTime": {
          "type": "boolean",
          "description": "Whether time units refer to a calendar date and time (e.g., Jun 3, 2009) or a relative duration (e.g., 2 weeks) (valid only with 'type' in {accessed*time, birth*time, changed*time or metadata*changed_time}.\n"
        },
        "value": {
          "type": "string",
          "description": "The value to be compared against a file attribute.\n"
        }
      },
      "type": "object",
      "required": [
        "attributeExists",
        "beginsWith",
        "caseSensitive",
        "field",
        "operator",
        "type",
        "units",
        "useRelativeTime",
        "value"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getFilepoolPolicyFilter:getFilepoolPolicyFilter": {
      "properties": {
        "names": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "type": "object"
    },
    "powerscale:index/getFilesystemFileSystemsDetails:getFilesystemFileSystemsDetails": {
      "properties": {
        "fileSystemAttributes": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetFilesystemFileSystemsDetailsFileSystemAttribute:getFilesystemFileSystemsDetailsFileSystemAttribute"
          },
          "description": "FileSystems Attributes\n"
        },
        "fileSystemNamespaceAcl": {
          "$ref": "#/types/powerscale:index%2FgetFilesystemFileSystemsDetailsFileSystemNamespaceAcl:getFilesystemFileSystemsDetailsFileSystemNamespaceAcl",
          "description": "Filesystem acl. Shows the access control list for the FileSystem(Namespace directory)\n"
        },
        "fileSystemQuotas": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetFilesystemFileSystemsDetailsFileSystemQuota:getFilesystemFileSystemsDetailsFileSystemQuota"
          },
          "description": "Filesystem quotas\n"
        },
        "fileSystemSnapshots": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetFilesystemFileSystemsDetailsFileSystemSnapshot:getFilesystemFileSystemsDetailsFileSystemSnapshot"
          },
          "description": "Filesystem snapshots\n"
        }
      },
      "type": "object",
      "required": [
        "fileSystemAttributes",
        "fileSystemNamespaceAcl",
        "fileSystemQuotas",
        "fileSystemSnapshots"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getFilesystemFileSystemsDetailsFileSystemAttribute:getFilesystemFileSystemsDetailsFileSystemAttribute": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Attribute name\n"
        },
        "namespace": {
          "type": "string",
          "description": "Attribute namespace\n"
        },
        "value": {
          "type": "string",
          "description": "Attribute value\n"
        }
      },
      "type": "object",
      "required": [
        "name",
        "namespace",
        "value"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getFilesystemFileSystemsDetailsFileSystemNamespaceAcl:getFilesystemFileSystemsDetailsFileSystemNamespaceAcl": {
      "properties": {
        "acls": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetFilesystemFileSystemsDetailsFileSystemNamespaceAclAcl:getFilesystemFileSystemsDetailsFileSystemNamespaceAclAcl"
          },
          "description": "Filesystem Access Control List\n"
        },
        "action": {
          "type": "string",
          "description": "Acl action\n"
        },
        "authoritative": {
          "type": "string",
          "description": "Acl authoritative\n"
        },
        "group": {
          "$ref": "#/types/powerscale:index%2FgetFilesystemFileSystemsDetailsFileSystemNamespaceAclGroup:getFilesystemFileSystemsDetailsFileSystemNamespaceAclGroup",
          "description": "ACL group\n"
        },
        "mode": {
          "type": "string",
          "description": "Acl mode\n"
        },
        "owner": {
          "$ref": "#/types/powerscale:index%2FgetFilesystemFileSystemsDetailsFileSystemNamespaceAclOwner:getFilesystemFileSystemsDetailsFileSystemNamespaceAclOwner",
          "description": "ACL owner\n"
        }
      },
      "type": "object",
      "required": [
        "acls",
        "action",
        "authoritative",
        "group",
        "mode",
        "owner"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getFilesystemFileSystemsDetailsFileSystemNamespaceAclAcl:getFilesystemFileSystemsDetailsFileSystemNamespaceAclAcl": {
      "properties": {
        "accessRights": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Access rights\n"
        },
        "accessType": {
          "type": "string",
          "description": "Access type\n"
        },
        "inheritFlags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Inherit flags\n"
        },
        "op": {
          "type": "string",
          "description": "Op\n"
        },
        "trustee": {
          "$ref": "#/types/powerscale:index%2FgetFilesystemFileSystemsDetailsFileSystemNamespaceAclAclTrustee:getFilesystemFileSystemsDetailsFileSystemNamespaceAclAclTrustee",
          "description": "Trustee\n"
        }
      },
      "type": "object",
      "required": [
        "accessRights",
        "accessType",
        "inheritFlags",
        "op",
        "trustee"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getFilesystemFileSystemsDetailsFileSystemNamespaceAclAclTrustee:getFilesystemFileSystemsDetailsFileSystemNamespaceAclAclTrustee": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Trustee identifier\n"
        },
        "name": {
          "type": "string",
          "description": "Trustee name\n"
        },
        "type": {
          "type": "string",
          "description": "Trustee type\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getFilesystemFileSystemsDetailsFileSystemNamespaceAclGroup:getFilesystemFileSystemsDetailsFileSystemNamespaceAclGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Group identifier\n"
        },
        "name": {
          "type": "string",
          "description": "Group name\n"
        },
        "type": {
          "type": "string",
          "description": "Group type\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getFilesystemFileSystemsDetailsFileSystemNamespaceAclOwner:getFilesystemFileSystemsDetailsFileSystemNamespaceAclOwner": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Owner identifier\n"
        },
        "name": {
          "type": "string",
          "description": "Owner name\n"
        },
        "type": {
          "type": "string",
          "description": "Owner type\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getFilesystemFileSystemsDetailsFileSystemQuota:getFilesystemFileSystemsDetailsFileSystemQuota": {
      "properties": {
        "container": {
          "type": "boolean",
          "description": "If true, SMB shares using the quota directory see the quota thresholds as share size.\n"
        },
        "enforced": {
          "type": "boolean",
          "description": "True if the quota provides enforcement, otherwise a accounting quota.\n"
        },
        "id": {
          "type": "string",
          "description": "Quota Id\n"
        },
        "path": {
          "type": "string",
          "description": "The path of quota.\n"
        },
        "type": {
          "type": "string",
          "description": "The type of quota.\n"
        },
        "usage": {
          "$ref": "#/types/powerscale:index%2FgetFilesystemFileSystemsDetailsFileSystemQuotaUsage:getFilesystemFileSystemsDetailsFileSystemQuotaUsage",
          "description": "Usage\n"
        }
      },
      "type": "object",
      "required": [
        "container",
        "enforced",
        "id",
        "path",
        "type",
        "usage"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getFilesystemFileSystemsDetailsFileSystemQuotaUsage:getFilesystemFileSystemsDetailsFileSystemQuotaUsage": {
      "properties": {
        "applogical": {
          "type": "number",
          "description": "Bytes used by governed data apparent to application\n"
        },
        "applogicalReady": {
          "type": "boolean",
          "description": "True if applogical resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "fslogical": {
          "type": "number",
          "description": "Bytes used by governed data apparent to filesystem.\n"
        },
        "fslogicalReady": {
          "type": "boolean",
          "description": "True if fslogical resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "fsphysical": {
          "type": "number",
          "description": "Bytes used by governed data apparent to filesystem.\n"
        },
        "fsphysicalReady": {
          "type": "boolean",
          "description": "True if fsphysical resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "inodes": {
          "type": "number",
          "description": "Number of inodes (filesystem entities) used by governed data.\n"
        },
        "inodesReady": {
          "type": "boolean",
          "description": "True if inodes resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "physical": {
          "type": "number",
          "description": "Bytes used for governed data and filesystem overhead.\n"
        },
        "physicalData": {
          "type": "number",
          "description": "Number of physical blocks for file data\n"
        },
        "physicalDataReady": {
          "type": "boolean",
          "description": "True if physical_data resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "physicalProtection": {
          "type": "number",
          "description": "Number of physical blocks for file protection\n"
        },
        "physicalProtectionReady": {
          "type": "boolean",
          "description": "True if physical_protection resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "physicalReady": {
          "type": "boolean",
          "description": "True if physical resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "shadowRefs": {
          "type": "number",
          "description": "Number of shadow references (cloned, deduplicated or packed filesystem blocks) used by governed data.\n"
        },
        "shadowRefsReady": {
          "type": "boolean",
          "description": "True if shadow_refs resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        }
      },
      "type": "object",
      "required": [
        "applogical",
        "applogicalReady",
        "fslogical",
        "fslogicalReady",
        "fsphysical",
        "fsphysicalReady",
        "inodes",
        "inodesReady",
        "physical",
        "physicalData",
        "physicalDataReady",
        "physicalProtection",
        "physicalProtectionReady",
        "physicalReady",
        "shadowRefs",
        "shadowRefsReady"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getFilesystemFileSystemsDetailsFileSystemSnapshot:getFilesystemFileSystemsDetailsFileSystemSnapshot": {
      "properties": {
        "alias": {
          "type": "string",
          "description": "The name of the alias, none for real snapshots.\n"
        },
        "created": {
          "type": "number",
          "description": "The Unix Epoch time the snapshot was created.\n"
        },
        "expires": {
          "type": "number",
          "description": "The Unix Epoch time the snapshot will expire and be eligible for automatic deletion.\n"
        },
        "hasLocks": {
          "type": "boolean",
          "description": "True if the snapshot has one or more locks present see, see the locks subresource of a snapshot for a list of locks.\n"
        },
        "id": {
          "type": "number",
          "description": "The system ID given to the snapshot. This is useful for tracking the status of delete pending snapshots.\n"
        },
        "name": {
          "type": "string",
          "description": "The user or system supplied snapshot name. This will be null for snapshots pending delete.\n"
        },
        "path": {
          "type": "string",
          "description": "The /ifs path snapshotted.\n"
        },
        "pctFilesystem": {
          "type": "number",
          "description": "Percentage of /ifs used for storing this snapshot.\n"
        },
        "pctReserve": {
          "type": "number",
          "description": "Percentage of configured snapshot reserved used for storing this snapshot.\n"
        },
        "schedule": {
          "type": "string",
          "description": "The name of the schedule used to create this snapshot, if applicable.\n"
        },
        "shadowBytes": {
          "type": "number",
          "description": "The amount of shadow bytes referred to by this snapshot.\n"
        },
        "size": {
          "type": "number",
          "description": "The amount of storage in bytes used to store this snapshot.\n"
        },
        "state": {
          "type": "string",
          "description": "Snapshot state.\n"
        },
        "targetId": {
          "type": "number",
          "description": "The ID of the snapshot pointed to if this is an alias. 18446744073709551615 (max uint64) is returned for an alias to the live filesystem.\n"
        },
        "targetName": {
          "type": "string",
          "description": "The name of the snapshot pointed to if this is an alias.\n"
        }
      },
      "type": "object",
      "required": [
        "alias",
        "created",
        "expires",
        "hasLocks",
        "id",
        "name",
        "path",
        "pctFilesystem",
        "pctReserve",
        "schedule",
        "shadowBytes",
        "size",
        "state",
        "targetId",
        "targetName"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getGroupnetFilter:getGroupnetFilter": {
      "properties": {
        "dir": {
          "type": "string",
          "description": "The direction of the sort.\n"
        },
        "limit": {
          "type": "number",
          "description": "Return no more than this many results.\n"
        },
        "names": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Only list groupnet matching this name.\n"
        },
        "sort": {
          "type": "string",
          "description": "The field that will be used for sorting.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getGroupnetGroupnet:getGroupnetGroupnet": {
      "properties": {
        "allowWildcardSubdomains": {
          "type": "boolean",
          "description": "If enabled, SmartConnect treats subdomains of known dns zones as the known dns zone. This is required for S3 Virtual Host domains.\n"
        },
        "description": {
          "type": "string",
          "description": "A description of the groupnet.\n"
        },
        "dnsCacheEnabled": {
          "type": "boolean",
          "description": "DNS caching is enabled or disabled.\n"
        },
        "dnsResolverRotate": {
          "type": "boolean",
          "description": "Enable or disable DNS resolver rotate.\n"
        },
        "dnsSearches": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of DNS search suffixes.\n"
        },
        "dnsServers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of Domain Name Server IP addresses.\n"
        },
        "id": {
          "type": "string",
          "description": "Unique Interface ID.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the groupnet.\n"
        },
        "serverSideDnsSearch": {
          "type": "boolean",
          "description": "Enable or disable appending nodes DNS search list to client DNS inquiries directed at SmartConnect service IP.\n"
        },
        "subnets": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name of the subnets in the groupnet.\n"
        }
      },
      "type": "object",
      "required": [
        "allowWildcardSubdomains",
        "description",
        "dnsCacheEnabled",
        "dnsResolverRotate",
        "dnsSearches",
        "dnsServers",
        "id",
        "name",
        "serverSideDnsSearch",
        "subnets"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getLdapProviderFilter:getLdapProviderFilter": {
      "properties": {
        "names": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "scope": {
          "type": "string",
          "description": "If specified as \"effective\" or not specified, all fields are returned.  If specified as \"user\", only fields with non-default values are shown.  If specified as \"default\", the original values are returned.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getLdapProviderLdapProvider:getLdapProviderLdapProvider": {
      "properties": {
        "alternateSecurityIdentitiesAttribute": {
          "type": "string",
          "description": "Specifies the attribute name used when searching for alternate security identities.\n"
        },
        "authentication": {
          "type": "boolean",
          "description": "If true, enables authentication and identity management through the authentication provider.\n"
        },
        "balanceServers": {
          "type": "boolean",
          "description": "If true, connects the provider to a random server.\n"
        },
        "baseDn": {
          "type": "string",
          "description": "Specifies the root of the tree in which to search identities.\n"
        },
        "bindDn": {
          "type": "string",
          "description": "Specifies the distinguished name for binding to the LDAP server.\n"
        },
        "bindMechanism": {
          "type": "string",
          "description": "Specifies which bind mechanism to use when connecting to an LDAP server. The only supported option is the 'simple' value.\n"
        },
        "bindTimeout": {
          "type": "number",
          "description": "Specifies the timeout in seconds when binding to an LDAP server.\n"
        },
        "certificateAuthorityFile": {
          "type": "string",
          "description": "Specifies the path to the root certificates file.\n"
        },
        "checkOnlineInterval": {
          "type": "number",
          "description": "Specifies the time in seconds between provider online checks.\n"
        },
        "cnAttribute": {
          "type": "string",
          "description": "Specifies the canonical name.\n"
        },
        "createHomeDirectory": {
          "type": "boolean",
          "description": "Automatically create the home directory on the first login.\n"
        },
        "cryptPasswordAttribute": {
          "type": "string",
          "description": "Specifies the hashed password value.\n"
        },
        "emailAttribute": {
          "type": "string",
          "description": "Specifies the LDAP Email attribute.\n"
        },
        "enabled": {
          "type": "boolean",
          "description": "If true, enables the LDAP provider.\n"
        },
        "enumerateGroups": {
          "type": "boolean",
          "description": "If true, allows the provider to enumerate groups.\n"
        },
        "enumerateUsers": {
          "type": "boolean",
          "description": "If true, allows the provider to enumerate users.\n"
        },
        "findableGroups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the list of groups that can be resolved.\n"
        },
        "findableUsers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the list of users that can be resolved.\n"
        },
        "gecosAttribute": {
          "type": "string",
          "description": "Specifies the LDAP GECOS attribute.\n"
        },
        "gidAttribute": {
          "type": "string",
          "description": "Specifies the LDAP GID attribute.\n"
        },
        "groupBaseDn": {
          "type": "string",
          "description": "Specifies the distinguished name of the entry where LDAP searches for groups are started.\n"
        },
        "groupDomain": {
          "type": "string",
          "description": "Specifies the domain for this provider through which groups are qualified.\n"
        },
        "groupFilter": {
          "type": "string",
          "description": "Specifies the LDAP filter for group objects.\n"
        },
        "groupMembersAttribute": {
          "type": "string",
          "description": "Specifies the LDAP Group Members attribute.\n"
        },
        "groupSearchScope": {
          "type": "string",
          "description": "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\".\n"
        },
        "groupnet": {
          "type": "string",
          "description": "Groupnet identifier.\n"
        },
        "homeDirectoryTemplate": {
          "type": "string",
          "description": "Specifies the path to the home directory template.\n"
        },
        "homedirAttribute": {
          "type": "string",
          "description": "Specifies the LDAP Homedir attribute.\n"
        },
        "id": {
          "type": "string",
          "description": "Specifies the ID of the LDAP provider.\n"
        },
        "ignoreTlsErrors": {
          "type": "boolean",
          "description": "If true, continues over secure connections even if identity checks fail.\n"
        },
        "listableGroups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the groups that can be viewed in the provider.\n"
        },
        "listableUsers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the users that can be viewed in the provider.\n"
        },
        "loginShell": {
          "type": "string",
          "description": "Specifies the login shell path.\n"
        },
        "memberLookupMethod": {
          "type": "string",
          "description": "Sets the method by which group member lookups are performed. Use caution when changing this option directly. Acceptable values: \"default\", \"rfc2307bis\".\n"
        },
        "memberOfAttribute": {
          "type": "string",
          "description": "Specifies the LDAP Query Member Of attribute, which performs reverse membership queries.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the name of the LDAP provider.\n"
        },
        "nameAttribute": {
          "type": "string",
          "description": "Specifies the LDAP UID attribute, which is used as the login name.\n"
        },
        "netgroupBaseDn": {
          "type": "string",
          "description": "Specifies the distinguished name of the entry where LDAP searches for netgroups are started.\n"
        },
        "netgroupFilter": {
          "type": "string",
          "description": "Specifies the LDAP filter for netgroup objects.\n"
        },
        "netgroupMembersAttribute": {
          "type": "string",
          "description": "Specifies the LDAP Netgroup Members attribute.\n"
        },
        "netgroupSearchScope": {
          "type": "string",
          "description": "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\".\n"
        },
        "netgroupTripleAttribute": {
          "type": "string",
          "description": "Specifies the LDAP Netgroup Triple attribute.\n"
        },
        "normalizeGroups": {
          "type": "boolean",
          "description": "Normalizes group names to lowercase before look up.\n"
        },
        "normalizeUsers": {
          "type": "boolean",
          "description": "Normalizes user names to lowercase before look up.\n"
        },
        "ntPasswordAttribute": {
          "type": "string",
          "description": "Specifies the LDAP NT Password attribute.\n"
        },
        "ntlmSupport": {
          "type": "string",
          "description": "Specifies which NTLM versions to support for users with NTLM-compatible credentials. Acceptable values: \"all\", \"v2only\", \"none\".\n"
        },
        "ocspServerUris": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the OCSP server URIs. Only available for PowerScale 9.5 and above.\n"
        },
        "providerDomain": {
          "type": "string",
          "description": "Specifies the provider domain.\n"
        },
        "requireSecureConnection": {
          "type": "boolean",
          "description": "Determines whether to continue over a non-TLS connection.\n"
        },
        "restrictFindable": {
          "type": "boolean",
          "description": "If true, checks the provider for filtered lists of findable and unfindable users and groups.\n"
        },
        "restrictListable": {
          "type": "boolean",
          "description": "If true, checks the provider for filtered lists of listable and unlistable users and groups.\n"
        },
        "searchScope": {
          "type": "string",
          "description": "Specifies the default depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\".\n"
        },
        "searchTimeout": {
          "type": "number",
          "description": "Specifies the search timeout period in seconds.\n"
        },
        "serverUris": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the server URIs.\n"
        },
        "shadowExpireAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the absolute date to expire the account.\n"
        },
        "shadowFlagAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the section of the shadow map that is used to store the flag value.\n"
        },
        "shadowInactiveAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the number of days of inactivity that is allowed for the user.\n"
        },
        "shadowLastChangeAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the last change of the shadow information.\n"
        },
        "shadowMaxAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the maximum number of days a password can be valid.\n"
        },
        "shadowMinAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the minimum number of days between shadow changes.\n"
        },
        "shadowUserFilter": {
          "type": "string",
          "description": "Sets LDAP filter for shadow user objects.\n"
        },
        "shadowWarningAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the number of days before the password expires to warn the user.\n"
        },
        "shellAttribute": {
          "type": "string",
          "description": "Specifies the LDAP Shell attribute.\n"
        },
        "sshPublicKeyAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the SSH Public Key for the user.\n"
        },
        "status": {
          "type": "string",
          "description": "Specifies the status of the provider.\n"
        },
        "system": {
          "type": "boolean",
          "description": "If true, indicates that this provider instance was created by OneFS and cannot be removed.\n"
        },
        "tlsProtocolMin": {
          "type": "string",
          "description": "Specifies the minimum TLS protocol version.\n"
        },
        "tlsRevocationCheckLevel": {
          "type": "string",
          "description": "This setting controls the behavior of the certificate revocation checking algorithm when the LDAP provider is presented with a digital certificate by an LDAP server. Acceptable values: \"none\", \"allowNoData\", \"allowNoSrc\", \"strict\". Only available for PowerScale 9.5 and above.\n"
        },
        "uidAttribute": {
          "type": "string",
          "description": "Specifies the LDAP UID Number attribute.\n"
        },
        "unfindableGroups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the groups that cannot be resolved by the provider.\n"
        },
        "unfindableUsers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies users that cannot be resolved by the provider.\n"
        },
        "uniqueGroupMembersAttribute": {
          "type": "string",
          "description": "Sets the LDAP Unique Group Members attribute.\n"
        },
        "unlistableGroups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies a group that cannot be listed by the provider.\n"
        },
        "unlistableUsers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies a user that cannot be listed by the provider.\n"
        },
        "userBaseDn": {
          "type": "string",
          "description": "Specifies the distinguished name of the entry at which to start LDAP searches for users.\n"
        },
        "userDomain": {
          "type": "string",
          "description": "Specifies the domain for this provider through which users are qualified.\n"
        },
        "userFilter": {
          "type": "string",
          "description": "Specifies the LDAP filter for user objects.\n"
        },
        "userSearchScope": {
          "type": "string",
          "description": "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\".\n"
        },
        "zoneName": {
          "type": "string",
          "description": "Specifies the name of the access zone in which this provider was created.\n"
        }
      },
      "type": "object",
      "required": [
        "alternateSecurityIdentitiesAttribute",
        "authentication",
        "balanceServers",
        "baseDn",
        "bindDn",
        "bindMechanism",
        "bindTimeout",
        "certificateAuthorityFile",
        "checkOnlineInterval",
        "cnAttribute",
        "createHomeDirectory",
        "cryptPasswordAttribute",
        "emailAttribute",
        "enabled",
        "enumerateGroups",
        "enumerateUsers",
        "findableGroups",
        "findableUsers",
        "gecosAttribute",
        "gidAttribute",
        "groupBaseDn",
        "groupDomain",
        "groupFilter",
        "groupMembersAttribute",
        "groupSearchScope",
        "groupnet",
        "homeDirectoryTemplate",
        "homedirAttribute",
        "id",
        "ignoreTlsErrors",
        "listableGroups",
        "listableUsers",
        "loginShell",
        "memberLookupMethod",
        "memberOfAttribute",
        "name",
        "nameAttribute",
        "netgroupBaseDn",
        "netgroupFilter",
        "netgroupMembersAttribute",
        "netgroupSearchScope",
        "netgroupTripleAttribute",
        "normalizeGroups",
        "normalizeUsers",
        "ntPasswordAttribute",
        "ntlmSupport",
        "ocspServerUris",
        "providerDomain",
        "requireSecureConnection",
        "restrictFindable",
        "restrictListable",
        "searchScope",
        "searchTimeout",
        "serverUris",
        "shadowExpireAttribute",
        "shadowFlagAttribute",
        "shadowInactiveAttribute",
        "shadowLastChangeAttribute",
        "shadowMaxAttribute",
        "shadowMinAttribute",
        "shadowUserFilter",
        "shadowWarningAttribute",
        "shellAttribute",
        "sshPublicKeyAttribute",
        "status",
        "system",
        "tlsProtocolMin",
        "tlsRevocationCheckLevel",
        "uidAttribute",
        "unfindableGroups",
        "unfindableUsers",
        "uniqueGroupMembersAttribute",
        "unlistableGroups",
        "unlistableUsers",
        "userBaseDn",
        "userDomain",
        "userFilter",
        "userSearchScope",
        "zoneName"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNamespaceAclAcl:getNamespaceAclAcl": {
      "properties": {
        "accessrights": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the access control permissions for a specific user or group.\n"
        },
        "accesstype": {
          "type": "string",
          "description": "Grants or denies access control permissions.\n"
        },
        "inheritFlags": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Grants or denies access control permissions.\n"
        },
        "op": {
          "type": "string",
          "description": "Operations for updating access control permissions. Unnecessary for access right replacing scenario\n"
        },
        "trustee": {
          "$ref": "#/types/powerscale:index%2FgetNamespaceAclAclTrustee:getNamespaceAclAclTrustee",
          "description": "Provides the JSON object for the group persona of the owner.\n"
        }
      },
      "type": "object",
      "required": [
        "accessrights",
        "accesstype",
        "inheritFlags",
        "op",
        "trustee"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNamespaceAclAclTrustee:getNamespaceAclAclTrustee": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0' or 'GID:0'\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNamespaceAclFilter:getNamespaceAclFilter": {
      "properties": {
        "namespace": {
          "type": "string",
          "description": "Indicate the namespace to set/get acl.\n"
        },
        "nsaccess": {
          "type": "boolean",
          "description": "Indicates that the operation is on the access point instead of the store path.\n"
        }
      },
      "type": "object",
      "required": [
        "namespace"
      ]
    },
    "powerscale:index/getNamespaceAclGroup:getNamespaceAclGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'GID:0'\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNamespaceAclOwner:getNamespaceAclOwner": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0'\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNetworkRuleFilter:getNetworkRuleFilter": {
      "properties": {
        "groupnet": {
          "type": "string",
          "description": "If specified, only rules for this groupnet will be returned.\n"
        },
        "names": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Filter network rules by names.\n"
        },
        "pool": {
          "type": "string",
          "description": "If specified, only rules for this pool will be returned.\n"
        },
        "subnet": {
          "type": "string",
          "description": "If specified, only rules for this subnet will be returned.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getNetworkRuleNetworkRule:getNetworkRuleNetworkRule": {
      "properties": {
        "description": {
          "type": "string",
          "description": "Description for the provisioning rule.\n"
        },
        "groupnet": {
          "type": "string",
          "description": "Name of the groupnet this rule belongs to\n"
        },
        "id": {
          "type": "string",
          "description": "Unique rule ID.\n"
        },
        "iface": {
          "type": "string",
          "description": "Interface name the provisioning rule applies to.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the provisioning rule.\n"
        },
        "nodeType": {
          "type": "string",
          "description": "Node type the provisioning rule applies to.\n"
        },
        "pool": {
          "type": "string",
          "description": "Name of the pool this rule belongs to.\n"
        },
        "subnet": {
          "type": "string",
          "description": "Name of the subnet this rule belongs to.\n"
        }
      },
      "type": "object",
      "required": [
        "description",
        "groupnet",
        "id",
        "iface",
        "name",
        "nodeType",
        "pool",
        "subnet"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNetworkpoolFilter:getNetworkpoolFilter": {
      "properties": {
        "accessZone": {
          "type": "string",
          "description": "If specified, only pools with this zone name will be returned.\n"
        },
        "allocMethod": {
          "type": "string",
          "description": "If specified, only pools with this allocation type will be returned.\n"
        },
        "groupnet": {
          "type": "string",
          "description": "If specified, only pools for this groupnet will be returned.\n"
        },
        "names": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Filter network pools by names.\n"
        },
        "subnet": {
          "type": "string",
          "description": "If specified, only pools for this subnet will be returned.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getNetworkpoolNetworkPoolsDetail:getNetworkpoolNetworkPoolsDetail": {
      "properties": {
        "accessZone": {
          "type": "string",
          "description": "Name of a valid access zone to map IP address pool to the zone.\n"
        },
        "addrFamily": {
          "type": "string",
          "description": "IP address format.\n"
        },
        "aggregationMode": {
          "type": "string",
          "description": "OneFS supports the following NIC aggregation modes.\n"
        },
        "allocMethod": {
          "type": "string",
          "description": "Specifies how IP address allocation is done among pool members.\n"
        },
        "description": {
          "type": "string",
          "description": "A description of the pool.\n"
        },
        "groupnet": {
          "type": "string",
          "description": "Name of the groupnet this pool belongs to.\n"
        },
        "id": {
          "type": "string",
          "description": "Unique Pool ID.\n"
        },
        "ifaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetNetworkpoolNetworkPoolsDetailIface:getNetworkpoolNetworkPoolsDetailIface"
          },
          "description": "List of interface members in this pool.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the pool. It must be unique throughout the given subnet.It's a required field with POST method.\n"
        },
        "nfsv3RroceOnly": {
          "type": "boolean",
          "description": "Indicates that pool contains only RDMA RRoCE capable interfaces.\n"
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetNetworkpoolNetworkPoolsDetailRange:getNetworkpoolNetworkPoolsDetailRange"
          },
          "description": "List of IP address ranges in this pool.\n"
        },
        "rebalancePolicy": {
          "type": "string",
          "description": "Rebalance policy..\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Names of the rules in this pool.\n"
        },
        "scAutoUnsuspendDelay": {
          "type": "number",
          "description": "Time delay in seconds before a node which has been automatically unsuspended becomes usable in SmartConnect responses for pool zones.\n"
        },
        "scConnectPolicy": {
          "type": "string",
          "description": "SmartConnect client connection balancing policy.\n"
        },
        "scDnsZone": {
          "type": "string",
          "description": "SmartConnect zone name for the pool.\n"
        },
        "scDnsZoneAliases": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of SmartConnect zone aliases (DNS names) to the pool.\n"
        },
        "scFailoverPolicy": {
          "type": "string",
          "description": "SmartConnect IP failover policy.\n"
        },
        "scSubnet": {
          "type": "string",
          "description": "Name of SmartConnect service subnet for this pool.\n"
        },
        "scSuspendedNodes": {
          "type": "array",
          "items": {
            "type": "number"
          },
          "description": "List of LNNs showing currently suspended nodes in SmartConnect.\n"
        },
        "scTtl": {
          "type": "number",
          "description": "Time to live value for SmartConnect DNS query responses in seconds.\n"
        },
        "staticRoutes": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetNetworkpoolNetworkPoolsDetailStaticRoute:getNetworkpoolNetworkPoolsDetailStaticRoute"
          },
          "description": "List of interface members in this pool.\n"
        },
        "subnet": {
          "type": "string",
          "description": "The name of the subnet.\n"
        }
      },
      "type": "object",
      "required": [
        "accessZone",
        "addrFamily",
        "aggregationMode",
        "allocMethod",
        "description",
        "groupnet",
        "id",
        "ifaces",
        "name",
        "nfsv3RroceOnly",
        "ranges",
        "rebalancePolicy",
        "rules",
        "scAutoUnsuspendDelay",
        "scConnectPolicy",
        "scDnsZone",
        "scDnsZoneAliases",
        "scFailoverPolicy",
        "scSubnet",
        "scSuspendedNodes",
        "scTtl",
        "staticRoutes",
        "subnet"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNetworkpoolNetworkPoolsDetailIface:getNetworkpoolNetworkPoolsDetailIface": {
      "properties": {
        "iface": {
          "type": "string",
          "description": "A string that defines an interface name.\n"
        },
        "lnn": {
          "type": "number",
          "description": "Logical Node Number (LNN) of a node.\n"
        }
      },
      "type": "object",
      "required": [
        "iface",
        "lnn"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNetworkpoolNetworkPoolsDetailRange:getNetworkpoolNetworkPoolsDetailRange": {
      "properties": {
        "high": {
          "type": "string",
          "description": "High IP\n"
        },
        "low": {
          "type": "string",
          "description": "Low IP\n"
        }
      },
      "type": "object",
      "required": [
        "high",
        "low"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNetworkpoolNetworkPoolsDetailStaticRoute:getNetworkpoolNetworkPoolsDetailStaticRoute": {
      "properties": {
        "gateway": {
          "type": "string",
          "description": "Address of the gateway in the format: yyy.yyy.yyy.yyy\n"
        },
        "prefixlen": {
          "type": "number",
          "description": "Prefix length in the format: nn.\n"
        },
        "subnet": {
          "type": "string",
          "description": "Network address in the format: xxx.xxx.xxx.xxx\n"
        }
      },
      "type": "object",
      "required": [
        "gateway",
        "prefixlen",
        "subnet"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsAliasFilter:getNfsAliasFilter": {
      "properties": {
        "check": {
          "type": "boolean",
          "description": "Check for conflicts when listing Aliases.\n"
        },
        "dir": {
          "type": "string",
          "description": "The direction of the sort.\n"
        },
        "ids": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "IDs to filter nfs Aliases.\n"
        },
        "limit": {
          "type": "number",
          "description": "Return no more than this many results at once (see resume).\n"
        },
        "sort": {
          "type": "string",
          "description": "The field that will be used for sorting.\n"
        },
        "zone": {
          "type": "string",
          "description": "Specifies which access zone to use.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getNfsAliasNfsAlias:getNfsAliasNfsAlias": {
      "properties": {
        "health": {
          "type": "string",
          "description": "Health status of NFS Alias.\n"
        },
        "id": {
          "type": "string",
          "description": "ID of NFS Alias.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of NFS Alias.\n"
        },
        "path": {
          "type": "string",
          "description": "Path of NFS Alias.\n"
        },
        "zone": {
          "type": "string",
          "description": "Zone of NFS Alias.\n"
        }
      },
      "type": "object",
      "required": [
        "health",
        "id",
        "name",
        "path",
        "zone"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportFilter:getNfsExportFilter": {
      "properties": {
        "check": {
          "type": "boolean",
          "description": "Check for conflicts when listing exports.\n"
        },
        "dir": {
          "type": "string",
          "description": "The direction of the sort.\n"
        },
        "ids": {
          "type": "array",
          "items": {
            "type": "number"
          },
          "description": "IDs to filter nfs exports.\n"
        },
        "limit": {
          "type": "number",
          "description": "Return no more than this many results at once (see resume).\n"
        },
        "offset": {
          "type": "number",
          "description": "The position of the first item returned for a paginated query within the full result set.\n"
        },
        "path": {
          "type": "string",
          "description": "If specified, only exports that explicitly reference at least one of the given paths will be returned.\n"
        },
        "paths": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Paths to filter nfs exports.\n"
        },
        "resume": {
          "type": "string",
          "description": "Continue returning results from previous call using this token (token should come from the previous call, resume cannot be used with other options).\n"
        },
        "scope": {
          "type": "string",
          "description": "If specified as \"effective\" or not specified, all fields are returned. If specified as \"user\", only fields with non-default values are shown. If specified as \"default\", the original values are returned.\n"
        },
        "sort": {
          "type": "string",
          "description": "The field that will be used for sorting.\n"
        },
        "zone": {
          "type": "string",
          "description": "Specifies which access zone to use.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getNfsExportNfsExport:getNfsExportNfsExport": {
      "properties": {
        "allDirs": {
          "type": "boolean",
          "description": "True if all directories under the specified paths are mountable.\n"
        },
        "blockSize": {
          "type": "number",
          "description": "Specifies the block size returned by the NFS statfs procedure.\n"
        },
        "canSetTime": {
          "type": "boolean",
          "description": "True if the client can set file times through the NFS set attribute request. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "caseInsensitive": {
          "type": "boolean",
          "description": "True if the case is ignored for file names. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "casePreserving": {
          "type": "boolean",
          "description": "True if the case is preserved for file names. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "chownRestricted": {
          "type": "boolean",
          "description": "True if the superuser can change file ownership. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "clients": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the clients with root access to the export.\n"
        },
        "commitAsynchronous": {
          "type": "boolean",
          "description": "True if NFS  commit  requests execute asynchronously.\n"
        },
        "conflictingPaths": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Reports the paths that conflict with another export.\n"
        },
        "description": {
          "type": "string",
          "description": "Specifies the user-defined string that is used to identify the export.\n"
        },
        "directoryTransferSize": {
          "type": "number",
          "description": "Specifies the preferred size for directory read operations. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "encoding": {
          "type": "string",
          "description": "Specifies the default character set encoding of the clients connecting to the export, unless otherwise specified.\n"
        },
        "id": {
          "type": "number",
          "description": "Specifies the system-assigned ID for the export. This ID is returned when an export is created through the POST method.\n"
        },
        "linkMax": {
          "type": "number",
          "description": "Specifies the reported maximum number of links to a file. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "mapAll": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportNfsExportMapAll:getNfsExportNfsExportMapAll",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "mapFailure": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportNfsExportMapFailure:getNfsExportNfsExportMapFailure",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "mapFull": {
          "type": "boolean",
          "description": "True if user mappings query the OneFS user database. When set to false, user mappings only query local authentication.\n"
        },
        "mapLookupUid": {
          "type": "boolean",
          "description": "True if incoming user IDs (UIDs) are mapped to users in the OneFS user database. When set to false, incoming UIDs are applied directly to file operations.\n"
        },
        "mapNonRoot": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportNfsExportMapNonRoot:getNfsExportNfsExportMapNonRoot",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "mapRetry": {
          "type": "boolean",
          "description": "Determines whether searches for users specified in 'map*all', 'map*root' or 'map_nonroot' are retried if the search fails.\n"
        },
        "mapRoot": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportNfsExportMapRoot:getNfsExportNfsExportMapRoot",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "maxFileSize": {
          "type": "number",
          "description": "Specifies the maximum file size for any file accessed from the export. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "nameMaxSize": {
          "type": "number",
          "description": "Specifies the reported maximum length of a file name. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "noTruncate": {
          "type": "boolean",
          "description": "True if long file names result in an error. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "paths": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the paths under /ifs that are exported.\n"
        },
        "readOnly": {
          "type": "boolean",
          "description": "True if the export is set to read-only.\n"
        },
        "readOnlyClients": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the clients with read-only access to the export.\n"
        },
        "readTransferMaxSize": {
          "type": "number",
          "description": "Specifies the maximum buffer size that clients should use on NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "readTransferMultiple": {
          "type": "number",
          "description": "Specifies the preferred multiple size for NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "readTransferSize": {
          "type": "number",
          "description": "Specifies the preferred size for NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "readWriteClients": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the clients with both read and write access to the export, even when the export is set to read-only.\n"
        },
        "readdirplus": {
          "type": "boolean",
          "description": "True if 'readdirplus' requests are enabled. Enabling this property might improve network performance and is only available for NFSv3.\n"
        },
        "readdirplusPrefetch": {
          "type": "number",
          "description": "Sets the number of directory entries that are prefetched when a 'readdirplus' request is processed. (Deprecated.)\n"
        },
        "return32bitFileIds": {
          "type": "boolean",
          "description": "Limits the size of file identifiers returned by NFSv3+ to 32-bit values (may require remount).\n"
        },
        "rootClients": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Clients that have root access to the export.\n"
        },
        "securityFlavors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the authentication types that are supported for this export.\n"
        },
        "setattrAsynchronous": {
          "type": "boolean",
          "description": "True if set attribute operations execute asynchronously.\n"
        },
        "snapshot": {
          "type": "string",
          "description": "Specifies the snapshot for all mounts.\n"
        },
        "symlinks": {
          "type": "boolean",
          "description": "True if symlinks are supported. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "timeDelta": {
          "type": "number",
          "description": "Specifies the resolution of all time values that are returned to the clients\n"
        },
        "unresolvedClients": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Reports clients that cannot be resolved.\n"
        },
        "writeDatasyncAction": {
          "type": "string",
          "description": "Specifies the action to be taken when an NFSv3+ datasync write is requested.\n"
        },
        "writeDatasyncReply": {
          "type": "string",
          "description": "Specifies the stability disposition returned when an NFSv3+ datasync write is processed.\n"
        },
        "writeFilesyncAction": {
          "type": "string",
          "description": "Specifies the action to be taken when an NFSv3+ filesync write is requested.\n"
        },
        "writeFilesyncReply": {
          "type": "string",
          "description": "Specifies the stability disposition returned when an NFSv3+ filesync write is processed.\n"
        },
        "writeTransferMaxSize": {
          "type": "number",
          "description": "Specifies the maximum buffer size that clients should use on NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "writeTransferMultiple": {
          "type": "number",
          "description": "Specifies the preferred multiple size for NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "writeTransferSize": {
          "type": "number",
          "description": "Specifies the preferred multiple size for NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "writeUnstableAction": {
          "type": "string",
          "description": "Specifies the action to be taken when an NFSv3+ unstable write is requested.\n"
        },
        "writeUnstableReply": {
          "type": "string",
          "description": "Specifies the stability disposition returned when an NFSv3+ unstable write is processed.\n"
        },
        "zone": {
          "type": "string",
          "description": "Specifies the zone in which the export is valid.\n"
        }
      },
      "type": "object",
      "required": [
        "allDirs",
        "blockSize",
        "canSetTime",
        "caseInsensitive",
        "casePreserving",
        "chownRestricted",
        "clients",
        "commitAsynchronous",
        "conflictingPaths",
        "description",
        "directoryTransferSize",
        "encoding",
        "id",
        "linkMax",
        "mapAll",
        "mapFailure",
        "mapFull",
        "mapLookupUid",
        "mapNonRoot",
        "mapRetry",
        "mapRoot",
        "maxFileSize",
        "nameMaxSize",
        "noTruncate",
        "paths",
        "readOnly",
        "readOnlyClients",
        "readTransferMaxSize",
        "readTransferMultiple",
        "readTransferSize",
        "readWriteClients",
        "readdirplus",
        "readdirplusPrefetch",
        "return32bitFileIds",
        "rootClients",
        "securityFlavors",
        "setattrAsynchronous",
        "snapshot",
        "symlinks",
        "timeDelta",
        "unresolvedClients",
        "writeDatasyncAction",
        "writeDatasyncReply",
        "writeFilesyncAction",
        "writeFilesyncReply",
        "writeTransferMaxSize",
        "writeTransferMultiple",
        "writeTransferSize",
        "writeUnstableAction",
        "writeUnstableReply",
        "zone"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportNfsExportMapAll:getNfsExportNfsExportMapAll": {
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "True if the user mapping is applied.\n"
        },
        "primaryGroup": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportNfsExportMapAllPrimaryGroup:getNfsExportNfsExportMapAllPrimaryGroup",
          "description": "Specifies the persona of the file group.\n"
        },
        "secondaryGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetNfsExportNfsExportMapAllSecondaryGroup:getNfsExportNfsExportMapAllSecondaryGroup"
          },
          "description": "Specifies persona properties for the secondary user group. A persona consists of either a type and name, or an ID.\n"
        },
        "user": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportNfsExportMapAllUser:getNfsExportNfsExportMapAllUser",
          "description": "Specifies the persona of the file group.\n"
        }
      },
      "type": "object",
      "required": [
        "enabled",
        "primaryGroup",
        "secondaryGroups",
        "user"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportNfsExportMapAllPrimaryGroup:getNfsExportNfsExportMapAllPrimaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportNfsExportMapAllSecondaryGroup:getNfsExportNfsExportMapAllSecondaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportNfsExportMapAllUser:getNfsExportNfsExportMapAllUser": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportNfsExportMapFailure:getNfsExportNfsExportMapFailure": {
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "True if the user mapping is applied.\n"
        },
        "primaryGroup": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportNfsExportMapFailurePrimaryGroup:getNfsExportNfsExportMapFailurePrimaryGroup",
          "description": "Specifies the persona of the file group.\n"
        },
        "secondaryGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetNfsExportNfsExportMapFailureSecondaryGroup:getNfsExportNfsExportMapFailureSecondaryGroup"
          },
          "description": "Specifies persona properties for the secondary user group. A persona consists of either a type and name, or an ID.\n"
        },
        "user": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportNfsExportMapFailureUser:getNfsExportNfsExportMapFailureUser",
          "description": "Specifies the persona of the file group.\n"
        }
      },
      "type": "object",
      "required": [
        "enabled",
        "primaryGroup",
        "secondaryGroups",
        "user"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportNfsExportMapFailurePrimaryGroup:getNfsExportNfsExportMapFailurePrimaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportNfsExportMapFailureSecondaryGroup:getNfsExportNfsExportMapFailureSecondaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportNfsExportMapFailureUser:getNfsExportNfsExportMapFailureUser": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportNfsExportMapNonRoot:getNfsExportNfsExportMapNonRoot": {
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "True if the user mapping is applied.\n"
        },
        "primaryGroup": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportNfsExportMapNonRootPrimaryGroup:getNfsExportNfsExportMapNonRootPrimaryGroup",
          "description": "Specifies the persona of the file group.\n"
        },
        "secondaryGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetNfsExportNfsExportMapNonRootSecondaryGroup:getNfsExportNfsExportMapNonRootSecondaryGroup"
          },
          "description": "Specifies persona properties for the secondary user group. A persona consists of either a type and name, or an ID.\n"
        },
        "user": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportNfsExportMapNonRootUser:getNfsExportNfsExportMapNonRootUser",
          "description": "Specifies the persona of the file group.\n"
        }
      },
      "type": "object",
      "required": [
        "enabled",
        "primaryGroup",
        "secondaryGroups",
        "user"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportNfsExportMapNonRootPrimaryGroup:getNfsExportNfsExportMapNonRootPrimaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportNfsExportMapNonRootSecondaryGroup:getNfsExportNfsExportMapNonRootSecondaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportNfsExportMapNonRootUser:getNfsExportNfsExportMapNonRootUser": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportNfsExportMapRoot:getNfsExportNfsExportMapRoot": {
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "True if the user mapping is applied.\n"
        },
        "primaryGroup": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportNfsExportMapRootPrimaryGroup:getNfsExportNfsExportMapRootPrimaryGroup",
          "description": "Specifies the persona of the file group.\n"
        },
        "secondaryGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetNfsExportNfsExportMapRootSecondaryGroup:getNfsExportNfsExportMapRootSecondaryGroup"
          },
          "description": "Specifies persona properties for the secondary user group. A persona consists of either a type and name, or an ID.\n"
        },
        "user": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportNfsExportMapRootUser:getNfsExportNfsExportMapRootUser",
          "description": "Specifies the persona of the file group.\n"
        }
      },
      "type": "object",
      "required": [
        "enabled",
        "primaryGroup",
        "secondaryGroups",
        "user"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportNfsExportMapRootPrimaryGroup:getNfsExportNfsExportMapRootPrimaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportNfsExportMapRootSecondaryGroup:getNfsExportNfsExportMapRootSecondaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportNfsExportMapRootUser:getNfsExportNfsExportMapRootUser": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportSettingsFilter:getNfsExportSettingsFilter": {
      "properties": {
        "scope": {
          "type": "string",
          "description": "If specified as \"effective\" or not specified, all fields are returned. If specified as \"user\", only fields with non-default values are shown. If specified as \"default\", the original values are returned.\n"
        },
        "zone": {
          "type": "string",
          "description": "Specifies which access zone to use.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getNfsExportSettingsNfsExportSettings:getNfsExportSettingsNfsExportSettings": {
      "properties": {
        "allDirs": {
          "type": "boolean",
          "description": "True if all directories under the specified paths are mountable.\n"
        },
        "blockSize": {
          "type": "number",
          "description": "Specifies the block size returned by the NFS statfs procedure.\n"
        },
        "canSetTime": {
          "type": "boolean",
          "description": "True if the client can set file times through the NFS set attribute request. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "caseInsensitive": {
          "type": "boolean",
          "description": "True if the case is ignored for file names. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "casePreserving": {
          "type": "boolean",
          "description": "True if the case is preserved for file names. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "chownRestricted": {
          "type": "boolean",
          "description": "True if the superuser can change file ownership. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "commitAsynchronous": {
          "type": "boolean",
          "description": "True if NFS  commit  requests execute asynchronously.\n"
        },
        "directoryTransferSize": {
          "type": "number",
          "description": "Specifies the preferred size for directory read operations. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "encoding": {
          "type": "string",
          "description": "Specifies the default character set encoding of the clients connecting to the export, unless otherwise specified.\n"
        },
        "linkMax": {
          "type": "number",
          "description": "Specifies the reported maximum number of links to a file. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "mapAll": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportSettingsNfsExportSettingsMapAll:getNfsExportSettingsNfsExportSettingsMapAll",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "mapFailure": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportSettingsNfsExportSettingsMapFailure:getNfsExportSettingsNfsExportSettingsMapFailure",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "mapFull": {
          "type": "boolean",
          "description": "True if user mappings query the OneFS user database. When set to false, user mappings only query local authentication.\n"
        },
        "mapLookupUid": {
          "type": "boolean",
          "description": "True if incoming user IDs (UIDs) are mapped to users in the OneFS user database. When set to false, incoming UIDs are applied directly to file operations.\n"
        },
        "mapNonRoot": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportSettingsNfsExportSettingsMapNonRoot:getNfsExportSettingsNfsExportSettingsMapNonRoot",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "mapRetry": {
          "type": "boolean",
          "description": "Determines whether searches for users specified in 'map*all', 'map*root' or 'map_nonroot' are retried if the search fails.\n"
        },
        "mapRoot": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportSettingsNfsExportSettingsMapRoot:getNfsExportSettingsNfsExportSettingsMapRoot",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "maxFileSize": {
          "type": "number",
          "description": "Specifies the maximum file size for any file accessed from the export. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "nameMaxSize": {
          "type": "number",
          "description": "Specifies the reported maximum length of a file name. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "noTruncate": {
          "type": "boolean",
          "description": "True if long file names result in an error. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "readOnly": {
          "type": "boolean",
          "description": "True if the export is set to read-only.\n"
        },
        "readTransferMaxSize": {
          "type": "number",
          "description": "Specifies the maximum buffer size that clients should use on NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "readTransferMultiple": {
          "type": "number",
          "description": "Specifies the preferred multiple size for NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "readTransferSize": {
          "type": "number",
          "description": "Specifies the preferred size for NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "readdirplus": {
          "type": "boolean",
          "description": "True if 'readdirplus' requests are enabled. Enabling this property might improve network performance and is only available for NFSv3.\n"
        },
        "readdirplusPrefetch": {
          "type": "number",
          "description": "Sets the number of directory entries that are prefetched when a 'readdirplus' request is processed. (Deprecated.)\n"
        },
        "return32bitFileIds": {
          "type": "boolean",
          "description": "Limits the size of file identifiers returned by NFSv3+ to 32-bit values (may require remount).\n"
        },
        "securityFlavors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the authentication types that are supported for this export.\n"
        },
        "setattrAsynchronous": {
          "type": "boolean",
          "description": "True if set attribute operations execute asynchronously.\n"
        },
        "snapshot": {
          "type": "string",
          "description": "Specifies the snapshot for all mounts.\n"
        },
        "symlinks": {
          "type": "boolean",
          "description": "True if symlinks are supported. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "timeDelta": {
          "type": "number",
          "description": "Specifies the resolution of all time values that are returned to the clients\n"
        },
        "writeDatasyncAction": {
          "type": "string",
          "description": "Specifies the action to be taken when an NFSv3+ datasync write is requested.\n"
        },
        "writeDatasyncReply": {
          "type": "string",
          "description": "Specifies the stability disposition returned when an NFSv3+ datasync write is processed.\n"
        },
        "writeFilesyncAction": {
          "type": "string",
          "description": "Specifies the action to be taken when an NFSv3+ filesync write is requested.\n"
        },
        "writeFilesyncReply": {
          "type": "string",
          "description": "Specifies the stability disposition returned when an NFSv3+ filesync write is processed.\n"
        },
        "writeTransferMaxSize": {
          "type": "number",
          "description": "Specifies the maximum buffer size that clients should use on NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "writeTransferMultiple": {
          "type": "number",
          "description": "Specifies the preferred multiple size for NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "writeTransferSize": {
          "type": "number",
          "description": "Specifies the preferred multiple size for NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "writeUnstableAction": {
          "type": "string",
          "description": "Specifies the action to be taken when an NFSv3+ unstable write is requested.\n"
        },
        "writeUnstableReply": {
          "type": "string",
          "description": "Specifies the stability disposition returned when an NFSv3+ unstable write is processed.\n"
        },
        "zone": {
          "type": "string",
          "description": "Specifies the zone in which the export is valid.\n"
        }
      },
      "type": "object",
      "required": [
        "allDirs",
        "blockSize",
        "canSetTime",
        "caseInsensitive",
        "casePreserving",
        "chownRestricted",
        "commitAsynchronous",
        "directoryTransferSize",
        "encoding",
        "linkMax",
        "mapAll",
        "mapFailure",
        "mapFull",
        "mapLookupUid",
        "mapNonRoot",
        "mapRetry",
        "mapRoot",
        "maxFileSize",
        "nameMaxSize",
        "noTruncate",
        "readOnly",
        "readTransferMaxSize",
        "readTransferMultiple",
        "readTransferSize",
        "readdirplus",
        "readdirplusPrefetch",
        "return32bitFileIds",
        "securityFlavors",
        "setattrAsynchronous",
        "snapshot",
        "symlinks",
        "timeDelta",
        "writeDatasyncAction",
        "writeDatasyncReply",
        "writeFilesyncAction",
        "writeFilesyncReply",
        "writeTransferMaxSize",
        "writeTransferMultiple",
        "writeTransferSize",
        "writeUnstableAction",
        "writeUnstableReply",
        "zone"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportSettingsNfsExportSettingsMapAll:getNfsExportSettingsNfsExportSettingsMapAll": {
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "True if the user mapping is applied.\n"
        },
        "primaryGroup": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportSettingsNfsExportSettingsMapAllPrimaryGroup:getNfsExportSettingsNfsExportSettingsMapAllPrimaryGroup",
          "description": "Specifies the persona of the file group.\n"
        },
        "secondaryGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetNfsExportSettingsNfsExportSettingsMapAllSecondaryGroup:getNfsExportSettingsNfsExportSettingsMapAllSecondaryGroup"
          },
          "description": "Specifies persona properties for the secondary user group. A persona consists of either a type and name, or an ID.\n"
        },
        "user": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportSettingsNfsExportSettingsMapAllUser:getNfsExportSettingsNfsExportSettingsMapAllUser",
          "description": "Specifies the persona of the file group.\n"
        }
      },
      "type": "object",
      "required": [
        "enabled",
        "primaryGroup",
        "secondaryGroups",
        "user"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportSettingsNfsExportSettingsMapAllPrimaryGroup:getNfsExportSettingsNfsExportSettingsMapAllPrimaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportSettingsNfsExportSettingsMapAllSecondaryGroup:getNfsExportSettingsNfsExportSettingsMapAllSecondaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportSettingsNfsExportSettingsMapAllUser:getNfsExportSettingsNfsExportSettingsMapAllUser": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportSettingsNfsExportSettingsMapFailure:getNfsExportSettingsNfsExportSettingsMapFailure": {
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "True if the user mapping is applied.\n"
        },
        "primaryGroup": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportSettingsNfsExportSettingsMapFailurePrimaryGroup:getNfsExportSettingsNfsExportSettingsMapFailurePrimaryGroup",
          "description": "Specifies the persona of the file group.\n"
        },
        "secondaryGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetNfsExportSettingsNfsExportSettingsMapFailureSecondaryGroup:getNfsExportSettingsNfsExportSettingsMapFailureSecondaryGroup"
          },
          "description": "Specifies persona properties for the secondary user group. A persona consists of either a type and name, or an ID.\n"
        },
        "user": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportSettingsNfsExportSettingsMapFailureUser:getNfsExportSettingsNfsExportSettingsMapFailureUser",
          "description": "Specifies the persona of the file group.\n"
        }
      },
      "type": "object",
      "required": [
        "enabled",
        "primaryGroup",
        "secondaryGroups",
        "user"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportSettingsNfsExportSettingsMapFailurePrimaryGroup:getNfsExportSettingsNfsExportSettingsMapFailurePrimaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportSettingsNfsExportSettingsMapFailureSecondaryGroup:getNfsExportSettingsNfsExportSettingsMapFailureSecondaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportSettingsNfsExportSettingsMapFailureUser:getNfsExportSettingsNfsExportSettingsMapFailureUser": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportSettingsNfsExportSettingsMapNonRoot:getNfsExportSettingsNfsExportSettingsMapNonRoot": {
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "True if the user mapping is applied.\n"
        },
        "primaryGroup": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportSettingsNfsExportSettingsMapNonRootPrimaryGroup:getNfsExportSettingsNfsExportSettingsMapNonRootPrimaryGroup",
          "description": "Specifies the persona of the file group.\n"
        },
        "secondaryGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetNfsExportSettingsNfsExportSettingsMapNonRootSecondaryGroup:getNfsExportSettingsNfsExportSettingsMapNonRootSecondaryGroup"
          },
          "description": "Specifies persona properties for the secondary user group. A persona consists of either a type and name, or an ID.\n"
        },
        "user": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportSettingsNfsExportSettingsMapNonRootUser:getNfsExportSettingsNfsExportSettingsMapNonRootUser",
          "description": "Specifies the persona of the file group.\n"
        }
      },
      "type": "object",
      "required": [
        "enabled",
        "primaryGroup",
        "secondaryGroups",
        "user"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportSettingsNfsExportSettingsMapNonRootPrimaryGroup:getNfsExportSettingsNfsExportSettingsMapNonRootPrimaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportSettingsNfsExportSettingsMapNonRootSecondaryGroup:getNfsExportSettingsNfsExportSettingsMapNonRootSecondaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportSettingsNfsExportSettingsMapNonRootUser:getNfsExportSettingsNfsExportSettingsMapNonRootUser": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportSettingsNfsExportSettingsMapRoot:getNfsExportSettingsNfsExportSettingsMapRoot": {
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "True if the user mapping is applied.\n"
        },
        "primaryGroup": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportSettingsNfsExportSettingsMapRootPrimaryGroup:getNfsExportSettingsNfsExportSettingsMapRootPrimaryGroup",
          "description": "Specifies the persona of the file group.\n"
        },
        "secondaryGroups": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetNfsExportSettingsNfsExportSettingsMapRootSecondaryGroup:getNfsExportSettingsNfsExportSettingsMapRootSecondaryGroup"
          },
          "description": "Specifies persona properties for the secondary user group. A persona consists of either a type and name, or an ID.\n"
        },
        "user": {
          "$ref": "#/types/powerscale:index%2FgetNfsExportSettingsNfsExportSettingsMapRootUser:getNfsExportSettingsNfsExportSettingsMapRootUser",
          "description": "Specifies the persona of the file group.\n"
        }
      },
      "type": "object",
      "required": [
        "enabled",
        "primaryGroup",
        "secondaryGroups",
        "user"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportSettingsNfsExportSettingsMapRootPrimaryGroup:getNfsExportSettingsNfsExportSettingsMapRootPrimaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportSettingsNfsExportSettingsMapRootSecondaryGroup:getNfsExportSettingsNfsExportSettingsMapRootSecondaryGroup": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsExportSettingsNfsExportSettingsMapRootUser:getNfsExportSettingsNfsExportSettingsMapRootUser": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNfsZoneSettingsFilter:getNfsZoneSettingsFilter": {
      "properties": {
        "zone": {
          "type": "string",
          "description": "Access zone\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getNfsZoneSettingsNfsZoneSettings:getNfsZoneSettingsNfsZoneSettings": {
      "properties": {
        "nfsv4AllowNumericIds": {
          "type": "boolean",
          "description": "If true, sends owners and groups as UIDs and GIDs when look up fails or if the 'nfsv4*no*name' property is set to 1.\n"
        },
        "nfsv4Domain": {
          "type": "string",
          "description": "Specifies the domain or realm through which users and groups are associated.\n"
        },
        "nfsv4NoDomain": {
          "type": "boolean",
          "description": "If true, sends owners and groups without a domain name.\n"
        },
        "nfsv4NoDomainUids": {
          "type": "boolean",
          "description": "If true, sends UIDs and GIDs without a domain name.\n"
        },
        "nfsv4NoNames": {
          "type": "boolean",
          "description": "If true, sends owners and groups as UIDs and GIDs.\n"
        },
        "nfsv4ReplaceDomain": {
          "type": "boolean",
          "description": "If true, replaces the owner or group domain with an NFS domain name.\n"
        },
        "zone": {
          "type": "string",
          "description": "Specifies the access zones in which these settings apply.\n"
        }
      },
      "type": "object",
      "required": [
        "nfsv4AllowNumericIds",
        "nfsv4Domain",
        "nfsv4NoDomain",
        "nfsv4NoDomainUids",
        "nfsv4NoNames",
        "nfsv4ReplaceDomain",
        "zone"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getNtpserverFilter:getNtpserverFilter": {
      "properties": {
        "names": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Filter NTP Servers by names.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getNtpserverNtpServersDetail:getNtpserverNtpServersDetail": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Field ID.\n"
        },
        "key": {
          "type": "string",
          "description": "Key value from key_file that maps to this server.\n"
        },
        "name": {
          "type": "string",
          "description": "NTP server name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "key",
        "name"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getQuotaFilter:getQuotaFilter": {
      "properties": {
        "enforced": {
          "type": "boolean",
          "description": "Only list quotas with this enforcement (non-accounting).\n"
        },
        "exceeded": {
          "type": "boolean",
          "description": "Set to true to only list quotas which have exceeded one or more of their thresholds.\n"
        },
        "includeSnapshots": {
          "type": "boolean",
          "description": "Only list quotas with this setting for include_snapshots.\n"
        },
        "path": {
          "type": "string",
          "description": "Only list quotas matching this path (see also recurse*path**).\n"
        },
        "persona": {
          "type": "string",
          "description": "Only list user or group quotas matching this persona (must be used with the corresponding type argument).\n"
        },
        "recursePathChildren": {
          "type": "boolean",
          "description": "If used with the path argument, match all quotas at that path or any descendent sub-directory.\n"
        },
        "recursePathParents": {
          "type": "boolean",
          "description": "If used with the path argument, match all quotas at that path or any parent directory.\n"
        },
        "reportId": {
          "type": "string",
          "description": "Use the named report as a source rather than the live quotas.\n"
        },
        "type": {
          "type": "string",
          "description": "Only list quotas matching this type.\n"
        },
        "zone": {
          "type": "string",
          "description": "Optional named zone to use for user and group resolution.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getQuotaQuota:getQuotaQuota": {
      "properties": {
        "container": {
          "type": "boolean",
          "description": "If true, SMB shares using the quota directory see the quota thresholds as share size.\n"
        },
        "efficiencyRatio": {
          "type": "number",
          "description": "Represents the ratio of logical space provided to physical space used. This accounts for protection overhead, metadata, and compression ratios for the data.\n"
        },
        "enforced": {
          "type": "boolean",
          "description": "True if the quota provides enforcement, otherwise an accounting quota.\n"
        },
        "id": {
          "type": "string",
          "description": "The system ID given to the quota.\n"
        },
        "includeSnapshots": {
          "type": "boolean",
          "description": "If true, quota governs snapshot data as well as head data.\n"
        },
        "linked": {
          "type": "boolean",
          "description": "For user, group and directory quotas, true if the quota is linked and controlled by a parent default-* quota. Linked quotas cannot be modified until they are unlinked.\n"
        },
        "notifications": {
          "type": "string",
          "description": "Summary of notifications: 'custom' indicates one or more notification rules available from the notifications sub-resource; 'default' indicates system default rules are used; 'disabled' indicates that no notifications will be used for this quota.; 'badmap' indicates that notification rule has problem in rule map.\n"
        },
        "path": {
          "type": "string",
          "description": "The ifs path governed.\n"
        },
        "persona": {
          "$ref": "#/types/powerscale:index%2FgetQuotaQuotaPersona:getQuotaQuotaPersona",
          "description": "Specifies the persona of the file group.\n"
        },
        "ready": {
          "type": "boolean",
          "description": "True if the default resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "reductionRatio": {
          "type": "number",
          "description": "Represents the ratio of logical space provided to physical data space used. This accounts for compression and data deduplication effects.\n"
        },
        "thresholds": {
          "$ref": "#/types/powerscale:index%2FgetQuotaQuotaThresholds:getQuotaQuotaThresholds",
          "description": "The thresholds of quota\n"
        },
        "thresholdsOn": {
          "type": "string",
          "description": "Thresholds apply on quota accounting metric.\n"
        },
        "type": {
          "type": "string",
          "description": "The type of quota.\n"
        },
        "usage": {
          "$ref": "#/types/powerscale:index%2FgetQuotaQuotaUsage:getQuotaQuotaUsage",
          "description": "The usage of quota\n"
        }
      },
      "type": "object",
      "required": [
        "container",
        "efficiencyRatio",
        "enforced",
        "id",
        "includeSnapshots",
        "linked",
        "notifications",
        "path",
        "persona",
        "ready",
        "reductionRatio",
        "thresholds",
        "thresholdsOn",
        "type",
        "usage"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getQuotaQuotaPersona:getQuotaQuotaPersona": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getQuotaQuotaThresholds:getQuotaQuotaThresholds": {
      "properties": {
        "advisory": {
          "type": "number",
          "description": "Usage bytes at which notifications will be sent but writes will not be denied.\n"
        },
        "advisoryExceeded": {
          "type": "boolean",
          "description": "True if the advisory threshold has been hit.\n"
        },
        "advisoryLastExceeded": {
          "type": "number",
          "description": "Time at which advisory threshold was hit.\n"
        },
        "hard": {
          "type": "number",
          "description": "Usage bytes at which further writes will be denied.\n"
        },
        "hardExceeded": {
          "type": "boolean",
          "description": "True if the hard threshold has been hit.\n"
        },
        "hardLastExceeded": {
          "type": "number",
          "description": "Time at which hard threshold was hit.\n"
        },
        "percentAdvisory": {
          "type": "number",
          "description": "Advisory threshold as percent of hard threshold. Usage bytes at which notifications will be sent but writes will not be denied.\n"
        },
        "percentSoft": {
          "type": "number",
          "description": "Soft threshold as percent of hard threshold. Usage bytes at which notifications will be sent and soft grace time will be started.\n"
        },
        "soft": {
          "type": "number",
          "description": "Usage bytes at which notifications will be sent and soft grace time will be started.\n"
        },
        "softExceeded": {
          "type": "boolean",
          "description": "True if the soft threshold has been hit.\n"
        },
        "softGrace": {
          "type": "number",
          "description": "Time in seconds after which the soft threshold has been hit before writes will be denied.\n"
        },
        "softLastExceeded": {
          "type": "number",
          "description": "Time at which soft threshold was hit\n"
        }
      },
      "type": "object",
      "required": [
        "advisory",
        "advisoryExceeded",
        "advisoryLastExceeded",
        "hard",
        "hardExceeded",
        "hardLastExceeded",
        "percentAdvisory",
        "percentSoft",
        "soft",
        "softExceeded",
        "softGrace",
        "softLastExceeded"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getQuotaQuotaUsage:getQuotaQuotaUsage": {
      "properties": {
        "applogical": {
          "type": "number",
          "description": "Bytes used by governed data apparent to application.\n"
        },
        "applogicalReady": {
          "type": "boolean",
          "description": "True if applogical resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "fslogical": {
          "type": "number",
          "description": "Bytes used by governed data apparent to filesystem.\n"
        },
        "fslogicalReady": {
          "type": "boolean",
          "description": "True if fslogical resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "fsphysical": {
          "type": "number",
          "description": "Physical data usage adjusted to account for shadow store efficiency\n"
        },
        "fsphysicalReady": {
          "type": "boolean",
          "description": "True if fsphysical resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "inodes": {
          "type": "number",
          "description": "Number of inodes (filesystem entities) used by governed data.\n"
        },
        "inodesReady": {
          "type": "boolean",
          "description": "True if inodes resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "physical": {
          "type": "number",
          "description": "Bytes used for governed data and filesystem overhead.\n"
        },
        "physicalData": {
          "type": "number",
          "description": "Number of physical blocks for file data\n"
        },
        "physicalDataReady": {
          "type": "boolean",
          "description": "True if physical_data resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "physicalProtection": {
          "type": "number",
          "description": "Number of physical blocks for file protection\n"
        },
        "physicalProtectionReady": {
          "type": "boolean",
          "description": "True if physical_protection resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "physicalReady": {
          "type": "boolean",
          "description": "True if physical resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "shadowRefs": {
          "type": "number",
          "description": "Number of shadow references (cloned, deduplicated or packed filesystem blocks) used by governed data.\n"
        },
        "shadowRefsReady": {
          "type": "boolean",
          "description": "True if shadow_refs resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        }
      },
      "type": "object",
      "required": [
        "applogical",
        "applogicalReady",
        "fslogical",
        "fslogicalReady",
        "fsphysical",
        "fsphysicalReady",
        "inodes",
        "inodesReady",
        "physical",
        "physicalData",
        "physicalDataReady",
        "physicalProtection",
        "physicalProtectionReady",
        "physicalReady",
        "shadowRefs",
        "shadowRefsReady"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getRoleFilter:getRoleFilter": {
      "properties": {
        "names": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Filter roles by names.\n"
        },
        "zone": {
          "type": "string",
          "description": "Specifies which access zone to use.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getRoleRolesDetail:getRoleRolesDetail": {
      "properties": {
        "description": {
          "type": "string",
          "description": "Specifies the description of the role.\n"
        },
        "id": {
          "type": "string",
          "description": "Specifies the ID of the role.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetRoleRolesDetailMember:getRoleRolesDetailMember"
          },
          "description": "Specifies the users or groups that have this role.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the name of the role.\n"
        },
        "privileges": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetRoleRolesDetailPrivilege:getRoleRolesDetailPrivilege"
          },
          "description": "Specifies the privileges granted by this role.\n"
        }
      },
      "type": "object",
      "required": [
        "description",
        "id",
        "members",
        "name",
        "privileges"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getRoleRolesDetailMember:getRoleRolesDetailMember": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getRoleRolesDetailPrivilege:getRoleRolesDetailPrivilege": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the ID of the privilege.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the name of the privilege.\n"
        },
        "permission": {
          "type": "string",
          "description": "permission of the privilege, 'r' = read , 'x' = read-execute, 'w' = read-execute-write, '-' = no permission\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "permission"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getRoleprivilegeFilter:getRoleprivilegeFilter": {
      "properties": {
        "names": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Filter Role Privileges by names.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getRoleprivilegeRolePrivilegesDetail:getRoleprivilegeRolePrivilegesDetail": {
      "properties": {
        "category": {
          "type": "string",
          "description": "Specifies the general categorization of the privilege.\n"
        },
        "description": {
          "type": "string",
          "description": "Specifies a short description of the privilege.\n"
        },
        "id": {
          "type": "string",
          "description": "Specifies the ID of the privilege.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the name of the privilege.\n"
        },
        "parentId": {
          "type": "string",
          "description": "Specifies the parent ID of the privilege.\n"
        },
        "permission": {
          "type": "string",
          "description": "Permissions the privilege has r=read , x=read-execute, w=read-execute-write.\n"
        },
        "privilegelevel": {
          "type": "string",
          "description": "Specifies the level of the privilege.\n"
        },
        "uri": {
          "type": "string",
          "description": "Specifies the associated uri for the privilege.\n"
        }
      },
      "type": "object",
      "required": [
        "category",
        "description",
        "id",
        "name",
        "parentId",
        "permission",
        "privilegelevel",
        "uri"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getS3BucketFilter:getS3BucketFilter": {
      "properties": {
        "owner": {
          "type": "string",
          "description": "Specifies the name of the owner.\n"
        },
        "zone": {
          "type": "string",
          "description": "Specifies which access zone to use.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getS3BucketS3Bucket:getS3BucketS3Bucket": {
      "properties": {
        "acls": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetS3BucketS3BucketAcl:getS3BucketS3BucketAcl"
          },
          "description": "Specifies properties for an S3 Access Control Entry.\n"
        },
        "description": {
          "type": "string",
          "description": "Description for this S3 bucket.\n"
        },
        "id": {
          "type": "string",
          "description": "Bucket ID.\n"
        },
        "name": {
          "type": "string",
          "description": "Bucket name.\n"
        },
        "objectAclPolicy": {
          "type": "string",
          "description": "Set behavior of modifying object acls\n"
        },
        "owner": {
          "type": "string",
          "description": "Specifies the name of the owner.\n"
        },
        "path": {
          "type": "string",
          "description": "Path of bucket within /ifs.\n"
        },
        "zid": {
          "type": "number",
          "description": "Zone ID\n"
        }
      },
      "type": "object",
      "required": [
        "acls",
        "description",
        "id",
        "name",
        "objectAclPolicy",
        "owner",
        "path",
        "zid"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getS3BucketS3BucketAcl:getS3BucketS3BucketAcl": {
      "properties": {
        "grantee": {
          "$ref": "#/types/powerscale:index%2FgetS3BucketS3BucketAclGrantee:getS3BucketS3BucketAclGrantee",
          "description": "Specifies the persona of the file group.\n"
        },
        "permission": {
          "type": "string",
          "description": "Specifies the S3 rights being allowed.\n"
        }
      },
      "type": "object",
      "required": [
        "grantee",
        "permission"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getS3BucketS3BucketAclGrantee:getS3BucketS3BucketAclGrantee": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSmartpoolSettingsSpilloverTarget:getSmartpoolSettingsSpilloverTarget": {
      "properties": {
        "id": {
          "type": "number",
          "description": "Target pool ID if target specified, otherwise null.\n"
        },
        "name": {
          "type": "string",
          "description": "Target pool name if target specified, otherwise null.\n"
        },
        "type": {
          "type": "string",
          "description": "Type of target pool.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSmbServerSettingsFilter:getSmbServerSettingsFilter": {
      "properties": {
        "scope": {
          "type": "string",
          "description": "If specified as \"effective\" or not specified, all fields are returned.  If specified as \"user\", only fields with non-default values are shown.  If specified as \"default\", the original values are returned.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getSmbServerSettingsSmbServerSettings:getSmbServerSettingsSmbServerSettings": {
      "properties": {
        "accessBasedShareEnum": {
          "type": "boolean",
          "description": "Only enumerate files and folders the requesting user has access to.\n"
        },
        "auditFileshare": {
          "type": "string",
          "description": "Specify level of file share audit events to log.\n"
        },
        "auditLogon": {
          "type": "string",
          "description": "Specify the level of logon audit events to log.\n"
        },
        "dotSnapAccessibleChild": {
          "type": "boolean",
          "description": "Allow access to .snapshot directories in share subdirectories.\n"
        },
        "dotSnapAccessibleRoot": {
          "type": "boolean",
          "description": "Allow access to the .snapshot directory in the root of the share.\n"
        },
        "dotSnapVisibleChild": {
          "type": "boolean",
          "description": "Show .snapshot directories in share subdirectories.\n"
        },
        "dotSnapVisibleRoot": {
          "type": "boolean",
          "description": "Show the .snapshot directory in the root of a share.\n"
        },
        "enableSecuritySignatures": {
          "type": "boolean",
          "description": "Indicates whether the server supports signed SMB packets.\n"
        },
        "guestUser": {
          "type": "string",
          "description": "Specifies the fully-qualified user to use for guest access.\n"
        },
        "ignoreEas": {
          "type": "boolean",
          "description": "Specify whether to ignore EAs on files.\n"
        },
        "onefsCpuMultiplier": {
          "type": "number",
          "description": "Specify the number of OneFS driver worker threads per CPU.\n"
        },
        "onefsNumWorkers": {
          "type": "number",
          "description": "Set the maximum number of OneFS driver worker threads.\n"
        },
        "rejectUnencryptedAccess": {
          "type": "boolean",
          "description": "If SMB3 encryption is enabled, reject unencrypted access from clients.\n"
        },
        "requireSecuritySignatures": {
          "type": "boolean",
          "description": "Indicates whether the server requires signed SMB packets.\n"
        },
        "serverSideCopy": {
          "type": "boolean",
          "description": "Enable Server Side Copy.\n"
        },
        "serverString": {
          "type": "string",
          "description": "Provides a description of the server.\n"
        },
        "service": {
          "type": "boolean",
          "description": "Specify whether service is enabled.\n"
        },
        "srvCpuMultiplier": {
          "type": "number",
          "description": "Specify the number of SRV service worker threads per CPU.\n"
        },
        "srvNumWorkers": {
          "type": "number",
          "description": "Set the maximum number of SRV service worker threads.\n"
        },
        "supportMultichannel": {
          "type": "boolean",
          "description": "Support multichannel.\n"
        },
        "supportNetbios": {
          "type": "boolean",
          "description": "Support NetBIOS.\n"
        },
        "supportSmb2": {
          "type": "boolean",
          "description": "Support the SMB2 protocol on the server.\n"
        },
        "supportSmb3Encryption": {
          "type": "boolean",
          "description": "Support the SMB3 encryption on the server.\n"
        }
      },
      "type": "object",
      "required": [
        "accessBasedShareEnum",
        "auditFileshare",
        "auditLogon",
        "dotSnapAccessibleChild",
        "dotSnapAccessibleRoot",
        "dotSnapVisibleChild",
        "dotSnapVisibleRoot",
        "enableSecuritySignatures",
        "guestUser",
        "ignoreEas",
        "onefsCpuMultiplier",
        "onefsNumWorkers",
        "rejectUnencryptedAccess",
        "requireSecuritySignatures",
        "serverSideCopy",
        "serverString",
        "service",
        "srvCpuMultiplier",
        "srvNumWorkers",
        "supportMultichannel",
        "supportNetbios",
        "supportSmb2",
        "supportSmb3Encryption"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSmbShareFilter:getSmbShareFilter": {
      "properties": {
        "dir": {
          "type": "string",
          "description": "The direction of the sort.\n"
        },
        "limit": {
          "type": "number",
          "description": "Return no more than this many results at once (see resume).\n"
        },
        "names": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Names to filter smb shares.\n"
        },
        "offset": {
          "type": "number",
          "description": "The position of the first item returned for a paginated query within the full result set.\n"
        },
        "resume": {
          "type": "string",
          "description": "Continue returning results from previous call using this token (token should come from the previous call, resume cannot be used with other options).\n"
        },
        "scope": {
          "type": "string",
          "description": "If specified as \"effective\" or not specified, all fields are returned. If specified as \"user\", only fields with non-default values are shown. If specified as \"default\", the original values are returned.\n"
        },
        "sort": {
          "type": "string",
          "description": "The field that will be used for sorting.\n"
        },
        "zone": {
          "type": "string",
          "description": "Specifies which access zone to use.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getSmbShareSettingsFilter:getSmbShareSettingsFilter": {
      "properties": {
        "scope": {
          "type": "string",
          "description": "If specified as \"effective\" or not specified, all fields are returned.  If specified as \"user\", only fields with non-default values are shown.  If specified as \"default\", the original values are returned.\n"
        },
        "zone": {
          "type": "string",
          "description": "Specifies which access zone to use.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getSmbShareSettingsSmbShareSettings:getSmbShareSettingsSmbShareSettings": {
      "properties": {
        "accessBasedEnumeration": {
          "type": "boolean",
          "description": "Only enumerate files and folders the requesting user has access to.\n"
        },
        "accessBasedEnumerationRootOnly": {
          "type": "boolean",
          "description": "Access-based enumeration on only the root directory of the share.\n"
        },
        "allowDeleteReadonly": {
          "type": "boolean",
          "description": "Allow deletion of read-only files in the share.\n"
        },
        "allowExecuteAlways": {
          "type": "boolean",
          "description": "Allows users to execute files they have read rights for.\n"
        },
        "caTimeout": {
          "type": "number",
          "description": "Persistent open timeout for the share.\n"
        },
        "caWriteIntegrity": {
          "type": "string",
          "description": "Specify the level of write-integrity on continuously available shares. Acceptable values: none, write-read-coherent, full\n"
        },
        "changeNotify": {
          "type": "string",
          "description": "Specify level of change notification alerts on the share. Acceptable values: all, norecurse, none\n"
        },
        "continuouslyAvailable": {
          "type": "boolean",
          "description": "Specify if persistent opens are allowed on the share.\n"
        },
        "createPermissions": {
          "type": "string",
          "description": "Set the create permissions for new files and directories in share. Acceptable values: default acl, inherit mode bits, use create mask and mode\n"
        },
        "cscPolicy": {
          "type": "string",
          "description": "Client-side caching policy for the shares. Acceptable values: manual, documents, programs, none\n"
        },
        "directoryCreateMask": {
          "type": "number",
          "description": "Unix umask or mode bits.\n"
        },
        "directoryCreateMode": {
          "type": "number",
          "description": "Unix umask or mode bits.\n"
        },
        "fileCreateMask": {
          "type": "number",
          "description": "Unix umask or mode bits.\n"
        },
        "fileCreateMode": {
          "type": "number",
          "description": "Unix umask or mode bits.\n"
        },
        "fileFilterExtensions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the list of file extensions.\n"
        },
        "fileFilterType": {
          "type": "string",
          "description": "Specifies if filter list is for deny or allow. Default is deny.\n"
        },
        "fileFilteringEnabled": {
          "type": "boolean",
          "description": "Enables file filtering on the share.\n"
        },
        "hideDotFiles": {
          "type": "boolean",
          "description": "Hide files and directories that begin with a period '.'.\n"
        },
        "hostAcls": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "An ACL expressing which hosts are allowed access. A deny clause must be the final entry.\n"
        },
        "impersonateGuest": {
          "type": "string",
          "description": "Specify the condition in which user access is done as the guest account. Acceptable values: always, bad user, never\n"
        },
        "impersonateUser": {
          "type": "string",
          "description": "User account to be used as guest account.\n"
        },
        "mangleByteStart": {
          "type": "number",
          "description": "Specifies the wchar_t starting point for automatic byte mangling.\n"
        },
        "mangleMaps": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Character mangle map.\n"
        },
        "ntfsAclSupport": {
          "type": "boolean",
          "description": "Support NTFS ACLs on files and directories.\n"
        },
        "oplocks": {
          "type": "boolean",
          "description": "Allow oplock requests.\n"
        },
        "smb3EncryptionEnabled": {
          "type": "boolean",
          "description": "Enables SMB3 encryption for the share.\n"
        },
        "sparseFile": {
          "type": "boolean",
          "description": "Enables sparse file.\n"
        },
        "strictCaLockout": {
          "type": "boolean",
          "description": "Specifies if persistent opens would do strict lockout on the share.\n"
        },
        "strictFlush": {
          "type": "boolean",
          "description": "Handle SMB flush operations.\n"
        },
        "strictLocking": {
          "type": "boolean",
          "description": "Specifies whether byte range locks contend against SMB I/O.\n"
        },
        "zone": {
          "type": "string",
          "description": "Name of the access zone in which to update settings\n"
        }
      },
      "type": "object",
      "required": [
        "accessBasedEnumeration",
        "accessBasedEnumerationRootOnly",
        "allowDeleteReadonly",
        "allowExecuteAlways",
        "caTimeout",
        "caWriteIntegrity",
        "changeNotify",
        "continuouslyAvailable",
        "createPermissions",
        "cscPolicy",
        "directoryCreateMask",
        "directoryCreateMode",
        "fileCreateMask",
        "fileCreateMode",
        "fileFilterExtensions",
        "fileFilterType",
        "fileFilteringEnabled",
        "hideDotFiles",
        "hostAcls",
        "impersonateGuest",
        "impersonateUser",
        "mangleByteStart",
        "mangleMaps",
        "ntfsAclSupport",
        "oplocks",
        "smb3EncryptionEnabled",
        "sparseFile",
        "strictCaLockout",
        "strictFlush",
        "strictLocking",
        "zone"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSmbShareSmbShare:getSmbShareSmbShare": {
      "properties": {
        "accessBasedEnumeration": {
          "type": "boolean",
          "description": "Only enumerate files and folders the requesting user has access to.\n"
        },
        "accessBasedEnumerationRootOnly": {
          "type": "boolean",
          "description": "Access-based enumeration on only the root directory of the share.\n"
        },
        "allowDeleteReadonly": {
          "type": "boolean",
          "description": "Allow deletion of read-only files in the share.\n"
        },
        "allowExecuteAlways": {
          "type": "boolean",
          "description": "Allows users to execute files they have read rights for.\n"
        },
        "allowVariableExpansion": {
          "type": "boolean",
          "description": "Allow automatic expansion of variables for home directories.\n"
        },
        "autoCreateDirectory": {
          "type": "boolean",
          "description": "Automatically create home directories.\n"
        },
        "browsable": {
          "type": "boolean",
          "description": "Share is visible in net view and the browse list.\n"
        },
        "caTimeout": {
          "type": "number",
          "description": "Persistent open timeout for the share.\n"
        },
        "caWriteIntegrity": {
          "type": "string",
          "description": "Specify the level of write-integrity on continuously available shares.\n"
        },
        "changeNotify": {
          "type": "string",
          "description": "Level of change notification alerts on the share.\n"
        },
        "continuouslyAvailable": {
          "type": "boolean",
          "description": "Specify if persistent opens are allowed on the share.\n"
        },
        "createPermissions": {
          "type": "string",
          "description": "Create permissions for new files and directories in share.\n"
        },
        "cscPolicy": {
          "type": "string",
          "description": "Client-side caching policy for the shares.\n"
        },
        "description": {
          "type": "string",
          "description": "Description for this SMB share.\n"
        },
        "directoryCreateMask": {
          "type": "number",
          "description": "Directory create mask bits.\n"
        },
        "directoryCreateMode": {
          "type": "number",
          "description": "Directory create mode bits.\n"
        },
        "fileCreateMask": {
          "type": "number",
          "description": "File create mask bits.\n"
        },
        "fileCreateMode": {
          "type": "number",
          "description": "File create mode bits.\n"
        },
        "fileFilterExtensions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the list of file extensions.\n"
        },
        "fileFilterType": {
          "type": "string",
          "description": "Specifies if filter list is for deny or allow. Default is deny.\n"
        },
        "fileFilteringEnabled": {
          "type": "boolean",
          "description": "Enables file filtering on this zone.\n"
        },
        "hideDotFiles": {
          "type": "boolean",
          "description": "Hide files and directories that begin with a period '.'.\n"
        },
        "hostAcls": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "An ACL expressing which hosts are allowed access. A deny clause must be the final entry.\n"
        },
        "id": {
          "type": "string",
          "description": "Share ID.\n"
        },
        "impersonateGuest": {
          "type": "string",
          "description": "Specify the condition in which user access is done as the guest account.\n"
        },
        "impersonateUser": {
          "type": "string",
          "description": "User account to be used as guest account.\n"
        },
        "inheritablePathAcl": {
          "type": "boolean",
          "description": "Set the inheritable ACL on the share path.\n"
        },
        "mangleByteStart": {
          "type": "number",
          "description": "Specifies the wchar_t starting point for automatic byte mangling.\n"
        },
        "mangleMaps": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Character mangle map.\n"
        },
        "name": {
          "type": "string",
          "description": "Share name.\n"
        },
        "ntfsAclSupport": {
          "type": "boolean",
          "description": "Support NTFS ACLs on files and directories.\n"
        },
        "oplocks": {
          "type": "boolean",
          "description": "Support oplocks.\n"
        },
        "path": {
          "type": "string",
          "description": "Path of share within /ifs.\n"
        },
        "permissions": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetSmbShareSmbSharePermission:getSmbShareSmbSharePermission"
          },
          "description": "Specifies an ordered list of permission modifications.\n"
        },
        "runAsRoots": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetSmbShareSmbShareRunAsRoot:getSmbShareSmbShareRunAsRoot"
          },
          "description": "Allow account to run as root.\n"
        },
        "smb3EncryptionEnabled": {
          "type": "boolean",
          "description": "Enables SMB3 encryption for the share.\n"
        },
        "sparseFile": {
          "type": "boolean",
          "description": "Enables sparse file.\n"
        },
        "strictCaLockout": {
          "type": "boolean",
          "description": "Specifies if persistent opens would do strict lockout on the share.\n"
        },
        "strictFlush": {
          "type": "boolean",
          "description": "Handle SMB flush operations.\n"
        },
        "strictLocking": {
          "type": "boolean",
          "description": "Specifies whether byte range locks contend against SMB I/O.\n"
        },
        "zid": {
          "type": "number",
          "description": "Numeric ID of the access zone which contains this SMB share\n"
        }
      },
      "type": "object",
      "required": [
        "accessBasedEnumeration",
        "accessBasedEnumerationRootOnly",
        "allowDeleteReadonly",
        "allowExecuteAlways",
        "allowVariableExpansion",
        "autoCreateDirectory",
        "browsable",
        "caTimeout",
        "caWriteIntegrity",
        "changeNotify",
        "continuouslyAvailable",
        "createPermissions",
        "cscPolicy",
        "description",
        "directoryCreateMask",
        "directoryCreateMode",
        "fileCreateMask",
        "fileCreateMode",
        "fileFilterExtensions",
        "fileFilterType",
        "fileFilteringEnabled",
        "hideDotFiles",
        "hostAcls",
        "id",
        "impersonateGuest",
        "impersonateUser",
        "inheritablePathAcl",
        "mangleByteStart",
        "mangleMaps",
        "name",
        "ntfsAclSupport",
        "oplocks",
        "path",
        "permissions",
        "runAsRoots",
        "smb3EncryptionEnabled",
        "sparseFile",
        "strictCaLockout",
        "strictFlush",
        "strictLocking",
        "zid"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSmbShareSmbSharePermission:getSmbShareSmbSharePermission": {
      "properties": {
        "permission": {
          "type": "string",
          "description": "Specifies the file system rights that are allowed or denied.\n"
        },
        "permissionType": {
          "type": "string",
          "description": "Determines whether the permission is allowed or denied.\n"
        },
        "trustee": {
          "$ref": "#/types/powerscale:index%2FgetSmbShareSmbSharePermissionTrustee:getSmbShareSmbSharePermissionTrustee",
          "description": "Specifies the persona of the file group.\n"
        }
      },
      "type": "object",
      "required": [
        "permission",
        "permissionType",
        "trustee"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSmbShareSmbSharePermissionTrustee:getSmbShareSmbSharePermissionTrustee": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSmbShareSmbShareRunAsRoot:getSmbShareSmbShareRunAsRoot": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies the serialized form of a persona, which can be 'UID:0', 'USER:name', 'GID:0', 'GROUP:wheel', or 'SID:S-1-1'.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the persona name, which must be combined with a type.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the type of persona, which must be combined with a name.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSnapshotFilter:getSnapshotFilter": {
      "properties": {
        "dir": {
          "type": "string",
          "description": "The direction of the sort.\n"
        },
        "limit": {
          "type": "number",
          "description": "Return no more than this many results at once (see resume).\n"
        },
        "name": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "schedule": {
          "type": "string",
          "description": "The schedule of the snapshot.\n"
        },
        "sort": {
          "type": "string",
          "description": "The field that will be used for sorting.\n"
        },
        "state": {
          "type": "string",
          "description": "The state of the snapshot.\n"
        },
        "type": {
          "type": "string",
          "description": "The type of the snapshot.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getSnapshotScheduleFilter:getSnapshotScheduleFilter": {
      "properties": {
        "dir": {
          "type": "string",
          "description": "The direction of the sort.Supported Values:ASC , DESC\n"
        },
        "limit": {
          "type": "number",
          "description": "Return no more than this many results at once.\n"
        },
        "names": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Names to filter snapshot schedules.\n"
        },
        "sort": {
          "type": "string",
          "description": "The field that will be used for sorting. Choices are id, name, path, pattern, schedule, duration, alias, next*run, and next*snapshot. Default is id.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getSnapshotScheduleSchedule:getSnapshotScheduleSchedule": {
      "properties": {
        "alias": {
          "type": "string",
          "description": "Alias name to create for each snapshot.\n"
        },
        "duration": {
          "type": "number",
          "description": "Time in seconds added to creation time to construction expiration time.\n"
        },
        "id": {
          "type": "number",
          "description": "The system ID given to the schedule.\n"
        },
        "name": {
          "type": "string",
          "description": "The schedule name.\n"
        },
        "nextRun": {
          "type": "number",
          "description": "Unix Epoch time of next snapshot to be created.\n"
        },
        "nextSnapshot": {
          "type": "string",
          "description": "Formatted name (see pattern) of next snapshot to be created\n"
        },
        "path": {
          "type": "string",
          "description": "The /ifs path snapshotted.\n"
        },
        "pattern": {
          "type": "string",
          "description": "Pattern expanded with strftime to create snapshot names.\n"
        },
        "schedule": {
          "type": "string",
          "description": "The isidate compatible natural language description of the schedule.\n"
        }
      },
      "type": "object",
      "required": [
        "alias",
        "duration",
        "id",
        "name",
        "nextRun",
        "nextSnapshot",
        "path",
        "pattern",
        "schedule"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSnapshotSnapshotsDetail:getSnapshotSnapshotsDetail": {
      "properties": {
        "alias": {
          "type": "string",
          "description": "The name of the alias, none for real snapshots.\n"
        },
        "created": {
          "type": "number",
          "description": "The Unix Epoch time the snapshot was created.\n"
        },
        "expires": {
          "type": "number",
          "description": "The Unix Epoch time the snapshot will expire and be eligible for automatic deletion.\n"
        },
        "hasLocks": {
          "type": "boolean",
          "description": "True if the snapshot has one or more locks present see, see the locks subresource of a snapshot for a list of lock.\n"
        },
        "id": {
          "type": "string",
          "description": "The system ID given to the snapshot. This is useful for tracking the status of delete pending snapshots.\n"
        },
        "name": {
          "type": "string",
          "description": "The user or system supplied snapshot name. This will be null for snapshots pending delete.\n"
        },
        "path": {
          "type": "string",
          "description": "The /ifs path snapshotted.\n"
        },
        "pctFilesystem": {
          "type": "number",
          "description": "Percentage of /ifs used for storing this snapshot.\n"
        },
        "pctReserve": {
          "type": "number",
          "description": "Percentage of configured snapshot reserved used for storing this snapshot.\n"
        },
        "schedule": {
          "type": "string",
          "description": "The name of the schedule used to create this snapshot, if applicable.\n"
        },
        "setExpires": {
          "type": "string",
          "description": "The amount of time from creation before the snapshot will expire and be eligible for automatic deletion.\n"
        },
        "shadowBytes": {
          "type": "number",
          "description": "The amount of shadow bytes referred to by this snapshot.\n"
        },
        "size": {
          "type": "number",
          "description": "The amount of storage in bytes used to store this snapshot.\n"
        },
        "state": {
          "type": "string",
          "description": "Snapshot state.\n"
        },
        "targetId": {
          "type": "number",
          "description": "The ID of the snapshot pointed to if this is an alias. An alias to the live filesystem is represented by the value -1.\n"
        },
        "targetName": {
          "type": "string",
          "description": "The name of the snapshot pointed to if this is an alias.\n"
        }
      },
      "type": "object",
      "required": [
        "alias",
        "created",
        "expires",
        "hasLocks",
        "id",
        "name",
        "path",
        "pctFilesystem",
        "pctReserve",
        "schedule",
        "setExpires",
        "shadowBytes",
        "size",
        "state",
        "targetId",
        "targetName"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getStoragepoolTierStoragepoolTier:getStoragepoolTierStoragepoolTier": {
      "properties": {
        "childrens": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The names or IDs of the tier's children.\n"
        },
        "id": {
          "type": "string",
          "description": "Id of storagepool tier.\n"
        },
        "lnns": {
          "type": "array",
          "items": {
            "type": "number"
          },
          "description": "The nodes that are part of this tier.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of storagepool tier.\n"
        },
        "transferLimitPct": {
          "type": "number",
          "description": "Stop moving files to this tier when this limit is met.\n"
        },
        "transferLimitState": {
          "type": "string",
          "description": "How the transfer limit value is being applied.\n"
        },
        "usage": {
          "$ref": "#/types/powerscale:index%2FgetStoragepoolTierStoragepoolTierUsage:getStoragepoolTierStoragepoolTierUsage",
          "description": "Usage.\n"
        }
      },
      "type": "object",
      "required": [
        "childrens",
        "id",
        "lnns",
        "name",
        "transferLimitPct",
        "transferLimitState",
        "usage"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getStoragepoolTierStoragepoolTierUsage:getStoragepoolTierStoragepoolTierUsage": {
      "properties": {
        "availBytes": {
          "type": "string",
          "description": "Available free bytes remaining in the pool when virtual hot spare is taken into account.\n"
        },
        "availHddBytes": {
          "type": "string",
          "description": "Available free bytes remaining in the pool on HDD drives when virtual hot spare is taken into account.\n"
        },
        "availSsdBytes": {
          "type": "string",
          "description": "Available free bytes remaining in the pool on SSD drives when virtual hot spare is taken into account.\n"
        },
        "balanced": {
          "type": "boolean",
          "description": "Whether or not the pool usage is currently balanced.\n"
        },
        "freeBytes": {
          "type": "string",
          "description": "Free bytes remaining in the pool.\n"
        },
        "freeHddBytes": {
          "type": "string",
          "description": "Free bytes remaining in the pool on HDD drives.\n"
        },
        "freeSsdBytes": {
          "type": "string",
          "description": "Free bytes remaining in the pool on SSD drives.\n"
        },
        "pctUsed": {
          "type": "string",
          "description": "Percentage of usable space in the pool which is used.\n"
        },
        "pctUsedHdd": {
          "type": "string",
          "description": "Percentage of usable space on HDD drives in the pool which is used.\n"
        },
        "pctUsedSsd": {
          "type": "string",
          "description": "Percentage of usable space on SSD drives in the pool which is used.\n"
        },
        "totalBytes": {
          "type": "string",
          "description": "Total bytes in the pool.\n"
        },
        "totalHddBytes": {
          "type": "string",
          "description": "Total bytes in the pool on HDD drives.\n"
        },
        "totalSsdBytes": {
          "type": "string",
          "description": "Total bytes in the pool on SSD drives.\n"
        },
        "usableBytes": {
          "type": "string",
          "description": "Total bytes in the pool drives when virtual hot spare is taken into account.\n"
        },
        "usableHddBytes": {
          "type": "string",
          "description": "Total bytes in the pool on HDD drives when virtual hot spare is taken into account.\n"
        },
        "usableSsdBytes": {
          "type": "string",
          "description": "Total bytes in the pool on SSD drives when virtual hot spare is taken into account.\n"
        },
        "usedBytes": {
          "type": "string",
          "description": "Used bytes in the pool.\n"
        },
        "usedHddBytes": {
          "type": "string",
          "description": "Used bytes in the pool on HDD drives.\n"
        },
        "usedSsdBytes": {
          "type": "string",
          "description": "Used bytes in the pool on SSD drives.\n"
        },
        "virtualHotSpareBytes": {
          "type": "string",
          "description": "Bytes reserved for virtual hot spare in the pool.\n"
        }
      },
      "type": "object",
      "required": [
        "availBytes",
        "availHddBytes",
        "availSsdBytes",
        "balanced",
        "freeBytes",
        "freeHddBytes",
        "freeSsdBytes",
        "pctUsed",
        "pctUsedHdd",
        "pctUsedSsd",
        "totalBytes",
        "totalHddBytes",
        "totalSsdBytes",
        "usableBytes",
        "usableHddBytes",
        "usableSsdBytes",
        "usedBytes",
        "usedHddBytes",
        "usedSsdBytes",
        "virtualHotSpareBytes"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSubnetFilter:getSubnetFilter": {
      "properties": {
        "groupnetName": {
          "type": "string",
          "description": "Specifies which groupnet to query.\n"
        },
        "names": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of subnet name.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getSubnetSubnet:getSubnetSubnet": {
      "properties": {
        "addrFamily": {
          "type": "string",
          "description": "IP address format.\n"
        },
        "baseAddr": {
          "type": "string",
          "description": "The base IP address.\n"
        },
        "description": {
          "type": "string",
          "description": "A description of the subnet.\n"
        },
        "dsrAddrs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of Direct Server Return addresses.\n"
        },
        "gateway": {
          "type": "string",
          "description": "Gateway IP address.\n"
        },
        "gatewayPriority": {
          "type": "number",
          "description": "Gateway priority.\n"
        },
        "groupnet": {
          "type": "string",
          "description": "Name of the groupnet this subnet belongs to.\n"
        },
        "id": {
          "type": "string",
          "description": "Unique Subnet ID.\n"
        },
        "mtu": {
          "type": "number",
          "description": "MTU of the subnet.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the subnet.\n"
        },
        "pools": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name of the pools in the subnet.\n"
        },
        "prefixlen": {
          "type": "number",
          "description": "Subnet Prefix Length.\n"
        },
        "scServiceAddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetSubnetSubnetScServiceAddr:getSubnetSubnetScServiceAddr"
          },
          "description": "List of IP addresses that SmartConnect listens for DNS requests.\n"
        },
        "scServiceName": {
          "type": "string",
          "description": "Domain Name corresponding to the SmartConnect Service Address.\n"
        },
        "vlanEnabled": {
          "type": "boolean",
          "description": "VLAN tagging enabled or disabled.\n"
        },
        "vlanId": {
          "type": "number",
          "description": "VLAN ID for all interfaces in the subnet.\n"
        }
      },
      "type": "object",
      "required": [
        "addrFamily",
        "baseAddr",
        "description",
        "dsrAddrs",
        "gateway",
        "gatewayPriority",
        "groupnet",
        "id",
        "mtu",
        "name",
        "pools",
        "prefixlen",
        "scServiceAddrs",
        "scServiceName",
        "vlanEnabled",
        "vlanId"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSubnetSubnetScServiceAddr:getSubnetSubnetScServiceAddr": {
      "properties": {
        "high": {
          "type": "string",
          "description": "High IP\n"
        },
        "low": {
          "type": "string",
          "description": "Low IP\n"
        }
      },
      "type": "object",
      "required": [
        "high",
        "low"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqGlobalSettingsSourceNetwork:getSynciqGlobalSettingsSourceNetwork": {
      "properties": {
        "pool": {
          "type": "string",
          "description": "The pool to restrict replication policies to.\n"
        },
        "subnet": {
          "type": "string",
          "description": "The subnet to restrict replication policies to.\n"
        }
      },
      "type": "object",
      "required": [
        "pool",
        "subnet"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqPeerCertificateCertificate:getSynciqPeerCertificateCertificate": {
      "properties": {
        "description": {
          "type": "string",
          "description": "Description field associated with a certificate provided for administrative convenience.\n"
        },
        "fingerprints": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetSynciqPeerCertificateCertificateFingerprint:getSynciqPeerCertificateCertificateFingerprint"
          },
          "description": "A list of zero or more certificate fingerprints which can be used for certificate identification.\n"
        },
        "id": {
          "type": "string",
          "description": "Unique server certificate identifier.\n"
        },
        "issuer": {
          "type": "string",
          "description": "Certificate issuer field extracted from the certificate.\n"
        },
        "name": {
          "type": "string",
          "description": "Administrator specified name identifier.\n"
        },
        "notAfter": {
          "type": "number",
          "description": "Certificate notAfter field extracted from the certificate encoded as a UNIX epoch timestamp.  The certificate is not valid after this timestamp.\n"
        },
        "notBefore": {
          "type": "number",
          "description": "Certificate notBefore field extracted from the certificate encoded as a UNIX epoch timestamp.  The certificate is not valid before this timestamp.\n"
        },
        "status": {
          "type": "string",
          "description": "Certificate validity status\n"
        },
        "subject": {
          "type": "string",
          "description": "Certificate subject field extracted from the certificate.\n"
        }
      },
      "type": "object",
      "required": [
        "description",
        "fingerprints",
        "id",
        "issuer",
        "name",
        "notAfter",
        "notBefore",
        "status",
        "subject"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqPeerCertificateCertificateFingerprint:getSynciqPeerCertificateCertificateFingerprint": {
      "properties": {
        "type": {
          "type": "string",
          "description": "Fingerprint hash algorithm\n"
        },
        "value": {
          "type": "string",
          "description": "Fingerprint value\n"
        }
      },
      "type": "object",
      "required": [
        "type",
        "value"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqPeerCertificateFilter:getSynciqPeerCertificateFilter": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Name of the SyncIQ Peer Certificate to be fetched.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getSynciqPolicyPolicy:getSynciqPolicyPolicy": {
      "properties": {
        "acceleratedFailback": {
          "type": "boolean",
          "description": "Accelerated Failback\n"
        },
        "action": {
          "type": "string",
          "description": "Action\n"
        },
        "allowCopyFb": {
          "type": "boolean",
          "description": "Allow Copy Fb\n"
        },
        "bandwidthReservation": {
          "type": "number",
          "description": "Bandwidth Reservation\n"
        },
        "changelist": {
          "type": "boolean",
          "description": "Changelist\n"
        },
        "checkIntegrity": {
          "type": "boolean",
          "description": "Check Integrity\n"
        },
        "cloudDeepCopy": {
          "type": "string",
          "description": "Cloud Deep Copy\n"
        },
        "conflicted": {
          "type": "boolean",
          "description": "Conflicted\n"
        },
        "databaseMirrored": {
          "type": "boolean",
          "description": "Database Mirrored\n"
        },
        "deleteQuotas": {
          "type": "boolean",
          "description": "Delete Quotas\n"
        },
        "description": {
          "type": "string",
          "description": "Description\n"
        },
        "disableFileSplit": {
          "type": "boolean",
          "description": "Disable File Split\n"
        },
        "disableFofb": {
          "type": "boolean",
          "description": "Disable Fofb\n"
        },
        "disableQuotaTmpDir": {
          "type": "boolean",
          "description": "Disable Quota Tmp Dir\n"
        },
        "disableStf": {
          "type": "boolean",
          "description": "Disable Stf\n"
        },
        "enableHashTmpdir": {
          "type": "boolean",
          "description": "Enable Hash Tmpdir\n"
        },
        "enabled": {
          "type": "boolean",
          "description": "Enabled\n"
        },
        "encrypted": {
          "type": "boolean",
          "description": "Encrypted\n"
        },
        "encryptionCipherList": {
          "type": "string",
          "description": "Encryption Cipher List\n"
        },
        "expectedDataloss": {
          "type": "boolean",
          "description": "Expected Dataloss\n"
        },
        "fileMatchingPattern": {
          "$ref": "#/types/powerscale:index%2FgetSynciqPolicyPolicyFileMatchingPattern:getSynciqPolicyPolicyFileMatchingPattern",
          "description": "File Matching Pattern\n"
        },
        "forceInterface": {
          "type": "boolean",
          "description": "Force Interface\n"
        },
        "hasSyncState": {
          "type": "boolean",
          "description": "Has Sync State\n"
        },
        "id": {
          "type": "string",
          "description": "Id\n"
        },
        "ignoreRecursiveQuota": {
          "type": "boolean",
          "description": "Ignore Recursive Quota\n"
        },
        "jobDelay": {
          "type": "number",
          "description": "Job Delay\n"
        },
        "lastJobState": {
          "type": "string",
          "description": "Last Job State\n"
        },
        "lastStarted": {
          "type": "number",
          "description": "Last Started\n"
        },
        "lastSuccess": {
          "type": "number",
          "description": "Last Success\n"
        },
        "linkedServicePolicies": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Linked Service Policies\n"
        },
        "logLevel": {
          "type": "string",
          "description": "Log Level\n"
        },
        "logRemovedFiles": {
          "type": "boolean",
          "description": "Log Removed Files\n"
        },
        "name": {
          "type": "string",
          "description": "Name\n"
        },
        "nextRun": {
          "type": "number",
          "description": "Next Run\n"
        },
        "ocspAddress": {
          "type": "string",
          "description": "Ocsp Address\n"
        },
        "ocspIssuerCertificateId": {
          "type": "string",
          "description": "Ocsp Issuer Certificate Id\n"
        },
        "passwordSet": {
          "type": "boolean",
          "description": "Password Set\n"
        },
        "priority": {
          "type": "number",
          "description": "Priority\n"
        },
        "reportMaxAge": {
          "type": "number",
          "description": "Report Max Age\n"
        },
        "reportMaxCount": {
          "type": "number",
          "description": "Report Max Count\n"
        },
        "restrictTargetNetwork": {
          "type": "boolean",
          "description": "Restrict Target Network\n"
        },
        "rpoAlert": {
          "type": "number",
          "description": "Rpo Alert\n"
        },
        "schedule": {
          "type": "string",
          "description": "Schedule\n"
        },
        "servicePolicy": {
          "type": "boolean",
          "description": "Service Policy\n"
        },
        "skipLookup": {
          "type": "boolean",
          "description": "Skip Lookup\n"
        },
        "skipWhenSourceUnmodified": {
          "type": "boolean",
          "description": "Skip When Source Unmodified\n"
        },
        "snapshotSyncExisting": {
          "type": "boolean",
          "description": "Snapshot Sync Existing\n"
        },
        "snapshotSyncPattern": {
          "type": "string",
          "description": "Snapshot Sync Pattern\n"
        },
        "sourceCertificateId": {
          "type": "string",
          "description": "Source Certificate Id\n"
        },
        "sourceDomainMarked": {
          "type": "boolean",
          "description": "Source Domain Marked\n"
        },
        "sourceExcludeDirectories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Source Exclude Directories\n"
        },
        "sourceIncludeDirectories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Source Include Directories\n"
        },
        "sourceNetwork": {
          "$ref": "#/types/powerscale:index%2FgetSynciqPolicyPolicySourceNetwork:getSynciqPolicyPolicySourceNetwork",
          "description": "Source Network\n"
        },
        "sourceRootPath": {
          "type": "string",
          "description": "Source Root Path\n"
        },
        "sourceSnapshotArchive": {
          "type": "boolean",
          "description": "Source Snapshot Archive\n"
        },
        "sourceSnapshotExpiration": {
          "type": "number",
          "description": "Source Snapshot Expiration\n"
        },
        "sourceSnapshotPattern": {
          "type": "string",
          "description": "Source Snapshot Pattern\n"
        },
        "syncExistingSnapshotExpiration": {
          "type": "boolean",
          "description": "Sync Existing Snapshot Expiration\n"
        },
        "syncExistingTargetSnapshotPattern": {
          "type": "string",
          "description": "Sync Existing Target Snapshot Pattern\n"
        },
        "targetCertificateId": {
          "type": "string",
          "description": "Target Certificate Id\n"
        },
        "targetCompareInitialSync": {
          "type": "boolean",
          "description": "Target Compare Initial Sync\n"
        },
        "targetDetectModifications": {
          "type": "boolean",
          "description": "Target Detect Modifications\n"
        },
        "targetHost": {
          "type": "string",
          "description": "Target Host\n"
        },
        "targetPath": {
          "type": "string",
          "description": "Target Path\n"
        },
        "targetSnapshotAlias": {
          "type": "string",
          "description": "Target Snapshot Alias\n"
        },
        "targetSnapshotArchive": {
          "type": "boolean",
          "description": "Target Snapshot Archive\n"
        },
        "targetSnapshotExpiration": {
          "type": "number",
          "description": "Target Snapshot Expiration\n"
        },
        "targetSnapshotPattern": {
          "type": "string",
          "description": "Target Snapshot Pattern\n"
        },
        "workersPerNode": {
          "type": "number",
          "description": "Workers Per Node\n"
        }
      },
      "type": "object",
      "required": [
        "acceleratedFailback",
        "action",
        "allowCopyFb",
        "bandwidthReservation",
        "changelist",
        "checkIntegrity",
        "cloudDeepCopy",
        "conflicted",
        "databaseMirrored",
        "deleteQuotas",
        "description",
        "disableFileSplit",
        "disableFofb",
        "disableQuotaTmpDir",
        "disableStf",
        "enableHashTmpdir",
        "enabled",
        "encrypted",
        "encryptionCipherList",
        "expectedDataloss",
        "fileMatchingPattern",
        "forceInterface",
        "hasSyncState",
        "id",
        "ignoreRecursiveQuota",
        "jobDelay",
        "lastJobState",
        "lastStarted",
        "lastSuccess",
        "linkedServicePolicies",
        "logLevel",
        "logRemovedFiles",
        "name",
        "nextRun",
        "ocspAddress",
        "ocspIssuerCertificateId",
        "passwordSet",
        "priority",
        "reportMaxAge",
        "reportMaxCount",
        "restrictTargetNetwork",
        "rpoAlert",
        "schedule",
        "servicePolicy",
        "skipLookup",
        "skipWhenSourceUnmodified",
        "snapshotSyncExisting",
        "snapshotSyncPattern",
        "sourceCertificateId",
        "sourceDomainMarked",
        "sourceExcludeDirectories",
        "sourceIncludeDirectories",
        "sourceNetwork",
        "sourceRootPath",
        "sourceSnapshotArchive",
        "sourceSnapshotExpiration",
        "sourceSnapshotPattern",
        "syncExistingSnapshotExpiration",
        "syncExistingTargetSnapshotPattern",
        "targetCertificateId",
        "targetCompareInitialSync",
        "targetDetectModifications",
        "targetHost",
        "targetPath",
        "targetSnapshotAlias",
        "targetSnapshotArchive",
        "targetSnapshotExpiration",
        "targetSnapshotPattern",
        "workersPerNode"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqPolicyPolicyFileMatchingPattern:getSynciqPolicyPolicyFileMatchingPattern": {
      "properties": {
        "orCriterias": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetSynciqPolicyPolicyFileMatchingPatternOrCriteria:getSynciqPolicyPolicyFileMatchingPatternOrCriteria"
          },
          "description": "Or Criteria\n"
        }
      },
      "type": "object",
      "required": [
        "orCriterias"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqPolicyPolicyFileMatchingPatternOrCriteria:getSynciqPolicyPolicyFileMatchingPatternOrCriteria": {
      "properties": {
        "andCriterias": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetSynciqPolicyPolicyFileMatchingPatternOrCriteriaAndCriteria:getSynciqPolicyPolicyFileMatchingPatternOrCriteriaAndCriteria"
          },
          "description": "And Criteria\n"
        }
      },
      "type": "object",
      "required": [
        "andCriterias"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqPolicyPolicyFileMatchingPatternOrCriteriaAndCriteria:getSynciqPolicyPolicyFileMatchingPatternOrCriteriaAndCriteria": {
      "properties": {
        "attributeExists": {
          "type": "boolean",
          "description": "Attribute Exists\n"
        },
        "caseSensitive": {
          "type": "boolean",
          "description": "Case Sensitive\n"
        },
        "field": {
          "type": "string",
          "description": "Field\n"
        },
        "operator": {
          "type": "string",
          "description": "Operator\n"
        },
        "type": {
          "type": "string",
          "description": "Type\n"
        },
        "value": {
          "type": "string",
          "description": "Value\n"
        },
        "wholeWord": {
          "type": "boolean",
          "description": "Whole Word\n"
        }
      },
      "type": "object",
      "required": [
        "attributeExists",
        "caseSensitive",
        "field",
        "operator",
        "type",
        "value",
        "wholeWord"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqPolicyPolicySourceNetwork:getSynciqPolicyPolicySourceNetwork": {
      "properties": {
        "pool": {
          "type": "string",
          "description": "Pool\n"
        },
        "subnet": {
          "type": "string",
          "description": "Subnet\n"
        }
      },
      "type": "object",
      "required": [
        "pool",
        "subnet"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqReplicationJobFilter:getSynciqReplicationJobFilter": {
      "properties": {
        "dir": {
          "type": "string",
          "description": "The direction of the sort.\n"
        },
        "limit": {
          "type": "number",
          "description": "Return no more than this many results.\n"
        },
        "sort": {
          "type": "string",
          "description": "The field that will be used for sorting.\n"
        },
        "state": {
          "type": "string",
          "description": "Only list SyncIQ replication jobs matching this state.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getSynciqReplicationJobSynciqJob:getSynciqReplicationJobSynciqJob": {
      "properties": {
        "action": {
          "type": "string",
          "description": "The action to be taken by this job.\n"
        },
        "adsStreamsReplicated": {
          "type": "number",
          "description": "The number of ads streams replicated by this job.\n"
        },
        "blockSpecsReplicated": {
          "type": "number",
          "description": "The number of block specs replicated by this job.\n"
        },
        "bytesRecoverable": {
          "type": "number",
          "description": "The number of bytes recoverable by this job.\n"
        },
        "bytesTransferred": {
          "type": "number",
          "description": "The number of bytes that have been transferred by this job.\n"
        },
        "charSpecsReplicated": {
          "type": "number",
          "description": "The number of char specs replicated by this job.\n"
        },
        "committedFiles": {
          "type": "number",
          "description": "The number of WORM committed files.\n"
        },
        "correctedLins": {
          "type": "number",
          "description": "The number of LINs corrected by this job.\n"
        },
        "deadNode": {
          "type": "boolean",
          "description": "This field is true if the node running this job is dead.\n"
        },
        "directoriesReplicated": {
          "type": "number",
          "description": "The number of directories replicated.\n"
        },
        "dirsChanged": {
          "type": "number",
          "description": "The number of directories changed by this job.\n"
        },
        "dirsDeleted": {
          "type": "number",
          "description": "The number of directories deleted by this job.\n"
        },
        "dirsMoved": {
          "type": "number",
          "description": "The number of directories moved by this job.\n"
        },
        "dirsNew": {
          "type": "number",
          "description": "The number of directories created by this job.\n"
        },
        "duration": {
          "type": "number",
          "description": "The amount of time in seconds between when the job was started and when it ended.  If the job has not yet ended, this is the amount of time since the job started.  This field is null if the job has not yet started.\n"
        },
        "encrypted": {
          "type": "boolean",
          "description": "If true, syncs will be encrypted.\n"
        },
        "endTime": {
          "type": "number",
          "description": "The time the job ended in unix epoch seconds. The field is null if the job hasn't ended.\n"
        },
        "error": {
          "type": "string",
          "description": "The primary error message for this job.\n"
        },
        "errorChecksumFilesSkipped": {
          "type": "number",
          "description": "The number of files with checksum errors skipped by this job.\n"
        },
        "errorIoFilesSkipped": {
          "type": "number",
          "description": "The number of files with io errors skipped by this job.\n"
        },
        "errorNetFilesSkipped": {
          "type": "number",
          "description": "The number of files with network errors skipped by this job.\n"
        },
        "errors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of error messages for this job.\n"
        },
        "failedChunks": {
          "type": "number",
          "description": "They number of data chunks that failed transmission.\n"
        },
        "fifosReplicated": {
          "type": "number",
          "description": "The number of fifos replicated by this job.\n"
        },
        "fileDataBytes": {
          "type": "number",
          "description": "The number of bytes transferred that belong to files.\n"
        },
        "filesChanged": {
          "type": "number",
          "description": "The number of files changed by this job.\n"
        },
        "filesLinked": {
          "type": "number",
          "description": "The number of files linked by this job.\n"
        },
        "filesNew": {
          "type": "number",
          "description": "The number of files created by this job.\n"
        },
        "filesSelected": {
          "type": "number",
          "description": "The number of files selected by this job.\n"
        },
        "filesTransferred": {
          "type": "number",
          "description": "The number of files transferred by this job.\n"
        },
        "filesUnlinked": {
          "type": "number",
          "description": "The number of files unlinked by this job.\n"
        },
        "filesWithAdsReplicated": {
          "type": "number",
          "description": "The number of files with ads replicated by this job.\n"
        },
        "flippedLins": {
          "type": "number",
          "description": "The number of LINs flipped by this job.\n"
        },
        "hardLinksReplicated": {
          "type": "number",
          "description": "The number of hard links replicated by this job.\n"
        },
        "hashExceptionsFixed": {
          "type": "number",
          "description": "The number of hash exceptions fixed by this job.\n"
        },
        "hashExceptionsFound": {
          "type": "number",
          "description": "The number of hash exceptions found by this job.\n"
        },
        "id": {
          "type": "string",
          "description": "A unique identifier for this object.\n"
        },
        "jobId": {
          "type": "number",
          "description": "The ID of the job.\n"
        },
        "linsTotal": {
          "type": "number",
          "description": "The number of LINs transferred by this job.\n"
        },
        "networkBytesToSource": {
          "type": "number",
          "description": "The total number of bytes sent to the source by this job.\n"
        },
        "networkBytesToTarget": {
          "type": "number",
          "description": "The total number of bytes sent to the target by this job.\n"
        },
        "newFilesReplicated": {
          "type": "number",
          "description": "The number of new files replicated by this job.\n"
        },
        "numRetransmittedFiles": {
          "type": "number",
          "description": "The number of files that have been retransmitted by this job.\n"
        },
        "phases": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetSynciqReplicationJobSynciqJobPhase:getSynciqReplicationJobSynciqJobPhase"
          },
          "description": "Data for each phase of this job.\n"
        },
        "policy": {
          "$ref": "#/types/powerscale:index%2FgetSynciqReplicationJobSynciqJobPolicy:getSynciqReplicationJobSynciqJobPolicy",
          "description": "The policy associated with this job, or null if there is currently no policy associated with this job (this can happen if the job is newly created and not yet fully populated in the underlying database).\n"
        },
        "policyAction": {
          "type": "string",
          "description": "This is the action the policy is configured to perform.\n"
        },
        "policyId": {
          "type": "string",
          "description": "The ID of the policy.\n"
        },
        "policyName": {
          "type": "string",
          "description": "The name of the policy.\n"
        },
        "quotasDeleted": {
          "type": "number",
          "description": "The number of quotas removed from the target.\n"
        },
        "regularFilesReplicated": {
          "type": "number",
          "description": "The number of regular files replicated by this job.\n"
        },
        "resyncedLins": {
          "type": "number",
          "description": "The number of LINs resynched by this job.\n"
        },
        "retransmittedFiles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The files that have been retransmitted by this job.\n"
        },
        "retry": {
          "type": "number",
          "description": "The number of times the job has been retried.\n"
        },
        "runningChunks": {
          "type": "number",
          "description": "The number of data chunks currently being transmitted.\n"
        },
        "serviceReports": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetSynciqReplicationJobSynciqJobServiceReport:getSynciqReplicationJobSynciqJobServiceReport"
          },
          "description": "Data for each component exported as part of service replication.\n"
        },
        "socketsReplicated": {
          "type": "number",
          "description": "The number of sockets replicated by this job.\n"
        },
        "sourceBytesRecovered": {
          "type": "number",
          "description": "The number of bytes recovered on the source.\n"
        },
        "sourceDirectoriesCreated": {
          "type": "number",
          "description": "The number of directories created on the source.\n"
        },
        "sourceDirectoriesDeleted": {
          "type": "number",
          "description": "The number of directories deleted on the source.\n"
        },
        "sourceDirectoriesLinked": {
          "type": "number",
          "description": "The number of directories linked on the source.\n"
        },
        "sourceDirectoriesUnlinked": {
          "type": "number",
          "description": "The number of directories unlinked on the source.\n"
        },
        "sourceDirectoriesVisited": {
          "type": "number",
          "description": "The number of directories visited on the source.\n"
        },
        "sourceFilesDeleted": {
          "type": "number",
          "description": "The number of files deleted on the source.\n"
        },
        "sourceFilesLinked": {
          "type": "number",
          "description": "The number of files linked on the source.\n"
        },
        "sourceFilesUnlinked": {
          "type": "number",
          "description": "The number of files unlinked on the source.\n"
        },
        "sparseDataBytes": {
          "type": "number",
          "description": "The number of sparse data bytes transferred by this job.\n"
        },
        "startTime": {
          "type": "number",
          "description": "The time the job started in unix epoch seconds. The field is null if the job hasn't started.\n"
        },
        "state": {
          "type": "string",
          "description": "The state of the job.\n"
        },
        "succeededChunks": {
          "type": "number",
          "description": "The number of data chunks that have been transmitted successfully.\n"
        },
        "symlinksReplicated": {
          "type": "number",
          "description": "The number of symlinks replicated by this job.\n"
        },
        "syncType": {
          "type": "string",
          "description": "The type of sync being performed by this job.\n"
        },
        "targetBytesRecovered": {
          "type": "number",
          "description": "The number of bytes recovered on the target.\n"
        },
        "targetDirectoriesCreated": {
          "type": "number",
          "description": "The number of directories created on the target.\n"
        },
        "targetDirectoriesDeleted": {
          "type": "number",
          "description": "The number of directories deleted on the target.\n"
        },
        "targetDirectoriesLinked": {
          "type": "number",
          "description": "The number of directories linked on the target.\n"
        },
        "targetDirectoriesUnlinked": {
          "type": "number",
          "description": "The number of directories unlinked on the target.\n"
        },
        "targetFilesDeleted": {
          "type": "number",
          "description": "The number of files deleted on the target.\n"
        },
        "targetFilesLinked": {
          "type": "number",
          "description": "The number of files linked on the target.\n"
        },
        "targetFilesUnlinked": {
          "type": "number",
          "description": "The number of files unlinked on the target.\n"
        },
        "targetSnapshots": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The target snapshots created by this job.\n"
        },
        "totalChunks": {
          "type": "number",
          "description": "The total number of data chunks transmitted by this job.\n"
        },
        "totalDataBytes": {
          "type": "number",
          "description": "The total number of bytes transferred by this job.\n"
        },
        "totalExportedServices": {
          "type": "number",
          "description": "The total number of components exported as part of service replication.\n"
        },
        "totalFiles": {
          "type": "number",
          "description": "The number of files affected by this job.\n"
        },
        "totalNetworkBytes": {
          "type": "number",
          "description": "The total number of bytes sent over the network by this job.\n"
        },
        "totalPhases": {
          "type": "number",
          "description": "The total number of phases for this job.\n"
        },
        "unchangedDataBytes": {
          "type": "number",
          "description": "The number of bytes unchanged by this job.\n"
        },
        "upToDateFilesSkipped": {
          "type": "number",
          "description": "The number of up-to-date files skipped by this job.\n"
        },
        "updatedFilesReplicated": {
          "type": "number",
          "description": "The number of updated files replicated by this job.\n"
        },
        "userConflictFilesSkipped": {
          "type": "number",
          "description": "The number of files with user conflicts skipped by this job.\n"
        },
        "warnings": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of warning messages for this job.\n"
        },
        "workers": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetSynciqReplicationJobSynciqJobWorker:getSynciqReplicationJobSynciqJobWorker"
          },
          "description": "A list of workers for this job.\n"
        },
        "wormCommittedFileConflicts": {
          "type": "number",
          "description": "The number of WORM committed files which needed to be reverted. Since WORM committed files cannot be reverted, this is the number of files that were preserved in the compliance store.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "adsStreamsReplicated",
        "blockSpecsReplicated",
        "bytesRecoverable",
        "bytesTransferred",
        "charSpecsReplicated",
        "committedFiles",
        "correctedLins",
        "deadNode",
        "directoriesReplicated",
        "dirsChanged",
        "dirsDeleted",
        "dirsMoved",
        "dirsNew",
        "duration",
        "encrypted",
        "endTime",
        "error",
        "errorChecksumFilesSkipped",
        "errorIoFilesSkipped",
        "errorNetFilesSkipped",
        "errors",
        "failedChunks",
        "fifosReplicated",
        "fileDataBytes",
        "filesChanged",
        "filesLinked",
        "filesNew",
        "filesSelected",
        "filesTransferred",
        "filesUnlinked",
        "filesWithAdsReplicated",
        "flippedLins",
        "hardLinksReplicated",
        "hashExceptionsFixed",
        "hashExceptionsFound",
        "id",
        "jobId",
        "linsTotal",
        "networkBytesToSource",
        "networkBytesToTarget",
        "newFilesReplicated",
        "numRetransmittedFiles",
        "phases",
        "policy",
        "policyAction",
        "policyId",
        "policyName",
        "quotasDeleted",
        "regularFilesReplicated",
        "resyncedLins",
        "retransmittedFiles",
        "retry",
        "runningChunks",
        "serviceReports",
        "socketsReplicated",
        "sourceBytesRecovered",
        "sourceDirectoriesCreated",
        "sourceDirectoriesDeleted",
        "sourceDirectoriesLinked",
        "sourceDirectoriesUnlinked",
        "sourceDirectoriesVisited",
        "sourceFilesDeleted",
        "sourceFilesLinked",
        "sourceFilesUnlinked",
        "sparseDataBytes",
        "startTime",
        "state",
        "succeededChunks",
        "symlinksReplicated",
        "syncType",
        "targetBytesRecovered",
        "targetDirectoriesCreated",
        "targetDirectoriesDeleted",
        "targetDirectoriesLinked",
        "targetDirectoriesUnlinked",
        "targetFilesDeleted",
        "targetFilesLinked",
        "targetFilesUnlinked",
        "targetSnapshots",
        "totalChunks",
        "totalDataBytes",
        "totalExportedServices",
        "totalFiles",
        "totalNetworkBytes",
        "totalPhases",
        "unchangedDataBytes",
        "upToDateFilesSkipped",
        "updatedFilesReplicated",
        "userConflictFilesSkipped",
        "warnings",
        "workers",
        "wormCommittedFileConflicts"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqReplicationJobSynciqJobPhase:getSynciqReplicationJobSynciqJobPhase": {
      "properties": {
        "endTime": {
          "type": "number",
          "description": "The time the job ended this phase.\n"
        },
        "phase": {
          "type": "string",
          "description": "The phase that the job was in.\n"
        },
        "startTime": {
          "type": "number",
          "description": "The time the job began this phase.\n"
        }
      },
      "type": "object",
      "required": [
        "endTime",
        "phase",
        "startTime"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqReplicationJobSynciqJobPolicy:getSynciqReplicationJobSynciqJobPolicy": {
      "properties": {
        "action": {
          "type": "string",
          "description": "The action to be taken by the job.\n"
        },
        "fileMatchingPattern": {
          "$ref": "#/types/powerscale:index%2FgetSynciqReplicationJobSynciqJobPolicyFileMatchingPattern:getSynciqReplicationJobSynciqJobPolicyFileMatchingPattern",
          "description": "A file matching pattern, organized as an OR'ed set of AND'ed file criteria, for example ((a AND b) OR (x AND y)) used to define a set of files with specific properties.  Policies of type 'sync' cannot use 'path' or time criteria in their matching patterns, but policies of type 'copy' can use all listed criteria.\n"
        },
        "name": {
          "type": "string",
          "description": "User-assigned name of this sync policy.\n"
        },
        "sourceExcludeDirectories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Directories that will be excluded from the sync.  Modifying this field will result in a full synchronization of all data.\n"
        },
        "sourceIncludeDirectories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Directories that will be included in the sync.  Modifying this field will result in a full synchronization of all data.\n"
        },
        "sourceRootPath": {
          "type": "string",
          "description": "The root directory on the source cluster the files will be synced from.  Modifying this field will result in a full synchronization of all data.\n"
        },
        "targetHost": {
          "type": "string",
          "description": "Hostname or IP address of sync target cluster.  Modifying the target cluster host can result in the policy being unrunnable if the new target does not match the current target association.\n"
        },
        "targetPath": {
          "type": "string",
          "description": "Absolute filesystem path on the target cluster for the sync destination.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "fileMatchingPattern",
        "name",
        "sourceExcludeDirectories",
        "sourceIncludeDirectories",
        "sourceRootPath",
        "targetHost",
        "targetPath"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqReplicationJobSynciqJobPolicyFileMatchingPattern:getSynciqReplicationJobSynciqJobPolicyFileMatchingPattern": {
      "properties": {
        "orCriterias": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetSynciqReplicationJobSynciqJobPolicyFileMatchingPatternOrCriteria:getSynciqReplicationJobSynciqJobPolicyFileMatchingPatternOrCriteria"
          },
          "description": "An array containing objects with \"and*criteria\" properties, each set of and*criteria will be logically OR'ed together to create the full file matching pattern.\n"
        }
      },
      "type": "object",
      "required": [
        "orCriterias"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqReplicationJobSynciqJobPolicyFileMatchingPatternOrCriteria:getSynciqReplicationJobSynciqJobPolicyFileMatchingPatternOrCriteria": {
      "properties": {
        "andCriterias": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetSynciqReplicationJobSynciqJobPolicyFileMatchingPatternOrCriteriaAndCriteria:getSynciqReplicationJobSynciqJobPolicyFileMatchingPatternOrCriteriaAndCriteria"
          },
          "description": "An array containing individual file criterion objects each describing one criterion.  These are logically AND'ed together to form a set of criteria.\n"
        }
      },
      "type": "object",
      "required": [
        "andCriterias"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqReplicationJobSynciqJobPolicyFileMatchingPatternOrCriteriaAndCriteria:getSynciqReplicationJobSynciqJobPolicyFileMatchingPatternOrCriteriaAndCriteria": {
      "properties": {
        "attributeExists": {
          "type": "boolean",
          "description": "For \"custom_attribute\" type criteria.  The file will match as long as the attribute named by \"field\" exists.  Default is true.\n"
        },
        "caseSensitive": {
          "type": "boolean",
          "description": "If true, the value comparison will be case sensitive.  Default is true.\n"
        },
        "field": {
          "type": "string",
          "description": "The name of the file attribute to match on (only required if this is a custom_attribute type criterion).  Default is an empty string \"\".\n"
        },
        "operator": {
          "type": "string",
          "description": "How to compare the specified attribute of each file to the specified value.\n"
        },
        "type": {
          "type": "string",
          "description": "The type of this criterion, that is, which file attribute to match on.\n"
        },
        "value": {
          "type": "string",
          "description": "The value to compare the specified attribute of each file to.\n"
        },
        "wholeWord": {
          "type": "boolean",
          "description": "If true, the attribute must match the entire word.  Default is true.\n"
        }
      },
      "type": "object",
      "required": [
        "attributeExists",
        "caseSensitive",
        "field",
        "operator",
        "type",
        "value",
        "wholeWord"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqReplicationJobSynciqJobServiceReport:getSynciqReplicationJobSynciqJobServiceReport": {
      "properties": {
        "component": {
          "type": "string",
          "description": "The component that was processed.\n"
        },
        "directory": {
          "type": "string",
          "description": "The directory of the service export.\n"
        },
        "endTime": {
          "type": "number",
          "description": "The time the job ended this component.\n"
        },
        "errorMsgs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of error messages generated while exporting components.\n"
        },
        "filters": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of path-based filters for exporting components.\n"
        },
        "handlersFailed": {
          "type": "number",
          "description": "The number of handlers failed during export.\n"
        },
        "handlersSkipped": {
          "type": "number",
          "description": "The number of handlers skipped during export.\n"
        },
        "handlersTransferred": {
          "type": "number",
          "description": "The number of handlers exported.\n"
        },
        "recordsFailed": {
          "type": "number",
          "description": "The number of records failed during export.\n"
        },
        "recordsSkipped": {
          "type": "number",
          "description": "The number of records skipped during export.\n"
        },
        "recordsTransferred": {
          "type": "number",
          "description": "The number of records exported.\n"
        },
        "startTime": {
          "type": "number",
          "description": "The time the job began this component.\n"
        },
        "status": {
          "type": "string",
          "description": "The current status of export for this component.\n"
        }
      },
      "type": "object",
      "required": [
        "component",
        "directory",
        "endTime",
        "errorMsgs",
        "filters",
        "handlersFailed",
        "handlersSkipped",
        "handlersTransferred",
        "recordsFailed",
        "recordsSkipped",
        "recordsTransferred",
        "startTime",
        "status"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqReplicationJobSynciqJobWorker:getSynciqReplicationJobSynciqJobWorker": {
      "properties": {
        "connected": {
          "type": "boolean",
          "description": "Whether there is a connection between the source and target.\n"
        },
        "lastSplit": {
          "type": "number",
          "description": "The last time a network split occurred.\n"
        },
        "lastWork": {
          "type": "number",
          "description": "The last time the worker performed work.\n"
        },
        "lin": {
          "type": "number",
          "description": "The LIN being worked on.\n"
        },
        "lnn": {
          "type": "number",
          "description": "The lnn the worker is assigned to run on.\n"
        },
        "processId": {
          "type": "number",
          "description": "The process ID of the worker.\n"
        },
        "sourceHost": {
          "type": "string",
          "description": "The source host for this worker.\n"
        },
        "targetHost": {
          "type": "string",
          "description": "The target host for this worker.\n"
        },
        "workerId": {
          "type": "number",
          "description": "The ID of the worker.\n"
        }
      },
      "type": "object",
      "required": [
        "connected",
        "lastSplit",
        "lastWork",
        "lin",
        "lnn",
        "processId",
        "sourceHost",
        "targetHost",
        "workerId"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqReplicationReportFilter:getSynciqReplicationReportFilter": {
      "properties": {
        "dir": {
          "type": "string",
          "description": "The direction of the sort.\n"
        },
        "limit": {
          "type": "number",
          "description": "Return no more than this many results at once (see resume).\n"
        },
        "newerThan": {
          "type": "number",
          "description": "Filter the returned reports to include only those whose jobs started more recently than the specified number of days ago.\n"
        },
        "policyName": {
          "type": "string",
          "description": "Filter the returned reports to include only those with this policy name.\n"
        },
        "reportsPerPolicy": {
          "type": "number",
          "description": "If specified, only the N most recent reports will be returned per policy.  If no other query args are present this argument defaults to 1.\n"
        },
        "sort": {
          "type": "string",
          "description": "The field that will be used for sorting.\n"
        },
        "state": {
          "type": "string",
          "description": "Filter the returned reports to include only those whose jobs are in this state.\n"
        },
        "summary": {
          "type": "boolean",
          "description": "Return a summary rather than entire objects\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getSynciqReplicationReportReplicationReport:getSynciqReplicationReportReplicationReport": {
      "properties": {
        "action": {
          "type": "string",
          "description": "The action to be taken by this job.\n"
        },
        "adsStreamsReplicated": {
          "type": "number",
          "description": "The number of ads streams replicated by this job.\n"
        },
        "blockSpecsReplicated": {
          "type": "number",
          "description": "The number of block specs replicated by this job.\n"
        },
        "bytesRecoverable": {
          "type": "number",
          "description": "The number of bytes recoverable by this job.\n"
        },
        "bytesTransferred": {
          "type": "number",
          "description": "The number of bytes that have been transferred by this job.\n"
        },
        "charSpecsReplicated": {
          "type": "number",
          "description": "The number of char specs replicated by this job.\n"
        },
        "committedFiles": {
          "type": "number",
          "description": "The number of WORM committed files.\n"
        },
        "correctedLins": {
          "type": "number",
          "description": "The number of LINs corrected by this job.\n"
        },
        "deadNode": {
          "type": "boolean",
          "description": "This field is true if the node running this job is dead.\n"
        },
        "directoriesReplicated": {
          "type": "number",
          "description": "The number of directories replicated.\n"
        },
        "dirsChanged": {
          "type": "number",
          "description": "The number of directories changed by this job.\n"
        },
        "dirsDeleted": {
          "type": "number",
          "description": "The number of directories deleted by this job.\n"
        },
        "dirsMoved": {
          "type": "number",
          "description": "The number of directories moved by this job.\n"
        },
        "dirsNew": {
          "type": "number",
          "description": "The number of directories created by this job.\n"
        },
        "duration": {
          "type": "number",
          "description": "The amount of time in seconds between when the job was started and when it ended.  If the job has not yet ended, this is the amount of time since the job started.  This field is null if the job has not yet started.\n"
        },
        "encrypted": {
          "type": "boolean",
          "description": "If true, syncs will be encrypted.\n"
        },
        "endTime": {
          "type": "number",
          "description": "The time the job ended in unix epoch seconds. The field is null if the job hasn't ended.\n"
        },
        "error": {
          "type": "string",
          "description": "The primary error message for this job.\n"
        },
        "errorChecksumFilesSkipped": {
          "type": "number",
          "description": "The number of files with checksum errors skipped by this job.\n"
        },
        "errorIoFilesSkipped": {
          "type": "number",
          "description": "The number of files with io errors skipped by this job.\n"
        },
        "errorNetFilesSkipped": {
          "type": "number",
          "description": "The number of files with network errors skipped by this job.\n"
        },
        "errors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of error messages for this job.\n"
        },
        "failedChunks": {
          "type": "number",
          "description": "Tyhe number of data chunks that failed transmission.\n"
        },
        "fifosReplicated": {
          "type": "number",
          "description": "The number of fifos replicated by this job.\n"
        },
        "fileDataBytes": {
          "type": "number",
          "description": "The number of bytes transferred that belong to files.\n"
        },
        "filesChanged": {
          "type": "number",
          "description": "The number of files changed by this job.\n"
        },
        "filesLinked": {
          "type": "number",
          "description": "The number of files linked by this job.\n"
        },
        "filesNew": {
          "type": "number",
          "description": "The number of files created by this job.\n"
        },
        "filesSelected": {
          "type": "number",
          "description": "The number of files selected by this job.\n"
        },
        "filesTransferred": {
          "type": "number",
          "description": "The number of files transferred by this job.\n"
        },
        "filesUnlinked": {
          "type": "number",
          "description": "The number of files unlinked by this job.\n"
        },
        "filesWithAdsReplicated": {
          "type": "number",
          "description": "The number of files with ads replicated by this job.\n"
        },
        "flippedLins": {
          "type": "number",
          "description": "The number of LINs flipped by this job.\n"
        },
        "hardLinksReplicated": {
          "type": "number",
          "description": "The number of hard links replicated by this job.\n"
        },
        "hashExceptionsFixed": {
          "type": "number",
          "description": "The number of hash exceptions fixed by this job.\n"
        },
        "hashExceptionsFound": {
          "type": "number",
          "description": "The number of hash exceptions found by this job.\n"
        },
        "id": {
          "type": "string",
          "description": "A unique identifier for this object.\n"
        },
        "jobId": {
          "type": "number",
          "description": "The ID of the job.\n"
        },
        "linsTotal": {
          "type": "number",
          "description": "The number of LINs transferred by this job.\n"
        },
        "networkBytesToSource": {
          "type": "number",
          "description": "The total number of bytes sent to the source by this job.\n"
        },
        "networkBytesToTarget": {
          "type": "number",
          "description": "The total number of bytes sent to the target by this job.\n"
        },
        "newFilesReplicated": {
          "type": "number",
          "description": "The number of new files replicated by this job.\n"
        },
        "numRetransmittedFiles": {
          "type": "number",
          "description": "The number of files that have been retransmitted by this job.\n"
        },
        "phases": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetSynciqReplicationReportReplicationReportPhase:getSynciqReplicationReportReplicationReportPhase"
          },
          "description": "Data for each phase of this job.\n"
        },
        "policy": {
          "$ref": "#/types/powerscale:index%2FgetSynciqReplicationReportReplicationReportPolicy:getSynciqReplicationReportReplicationReportPolicy",
          "description": "The policy associated with this job, or null if there is currently no policy associated with this job (this can happen if the job is newly created and not yet fully populated in the underlying database).\n"
        },
        "policyAction": {
          "type": "string",
          "description": "This is the action the policy is configured to perform.\n"
        },
        "policyId": {
          "type": "string",
          "description": "The ID of the policy.\n"
        },
        "policyName": {
          "type": "string",
          "description": "The name of the policy.\n"
        },
        "quotasDeleted": {
          "type": "number",
          "description": "The number of quotas removed from the target.\n"
        },
        "regularFilesReplicated": {
          "type": "number",
          "description": "The number of regular files replicated by this job.\n"
        },
        "resyncedLins": {
          "type": "number",
          "description": "The number of LINs resynched by this job.\n"
        },
        "retransmittedFiles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The files that have been retransmitted by this job.\n"
        },
        "retry": {
          "type": "number",
          "description": "The number of times the job has been retried.\n"
        },
        "runningChunks": {
          "type": "number",
          "description": "The number of data chunks currently being transmitted.\n"
        },
        "socketsReplicated": {
          "type": "number",
          "description": "The number of sockets replicated by this job.\n"
        },
        "sourceBytesRecovered": {
          "type": "number",
          "description": "The number of bytes recovered on the source.\n"
        },
        "sourceDirectoriesCreated": {
          "type": "number",
          "description": "The number of directories created on the source.\n"
        },
        "sourceDirectoriesDeleted": {
          "type": "number",
          "description": "The number of directories deleted on the source.\n"
        },
        "sourceDirectoriesLinked": {
          "type": "number",
          "description": "The number of directories linked on the source.\n"
        },
        "sourceDirectoriesUnlinked": {
          "type": "number",
          "description": "The number of directories unlinked on the source.\n"
        },
        "sourceDirectoriesVisited": {
          "type": "number",
          "description": "The number of directories visited on the source.\n"
        },
        "sourceFilesDeleted": {
          "type": "number",
          "description": "The number of files deleted on the source.\n"
        },
        "sourceFilesLinked": {
          "type": "number",
          "description": "The number of files linked on the source.\n"
        },
        "sourceFilesUnlinked": {
          "type": "number",
          "description": "The number of files unlinked on the source.\n"
        },
        "sparseDataBytes": {
          "type": "number",
          "description": "The number of sparse data bytes transferred by this job.\n"
        },
        "startTime": {
          "type": "number",
          "description": "The time the job started in unix epoch seconds. The field is null if the job hasn't started.\n"
        },
        "state": {
          "type": "string",
          "description": "The state of the job.\n"
        },
        "subreportCount": {
          "type": "number",
          "description": "The number of subreports that are available for this job report.\n"
        },
        "succeededChunks": {
          "type": "number",
          "description": "The number of data chunks that have been transmitted successfully.\n"
        },
        "symlinksReplicated": {
          "type": "number",
          "description": "The number of symlinks replicated by this job.\n"
        },
        "syncType": {
          "type": "string",
          "description": "The type of sync being performed by this job.\n"
        },
        "targetBytesRecovered": {
          "type": "number",
          "description": "The number of bytes recovered on the target.\n"
        },
        "targetDirectoriesCreated": {
          "type": "number",
          "description": "The number of directories created on the target.\n"
        },
        "targetDirectoriesDeleted": {
          "type": "number",
          "description": "The number of directories deleted on the target.\n"
        },
        "targetDirectoriesLinked": {
          "type": "number",
          "description": "The number of directories linked on the target.\n"
        },
        "targetDirectoriesUnlinked": {
          "type": "number",
          "description": "The number of directories unlinked on the target.\n"
        },
        "targetFilesDeleted": {
          "type": "number",
          "description": "The number of files deleted on the target.\n"
        },
        "targetFilesLinked": {
          "type": "number",
          "description": "The number of files linked on the target.\n"
        },
        "targetFilesUnlinked": {
          "type": "number",
          "description": "The number of files unlinked on the target.\n"
        },
        "targetSnapshots": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "The target snapshots created by this job.\n"
        },
        "throughput": {
          "type": "string",
          "description": "Throughput of a job\n"
        },
        "totalChunks": {
          "type": "number",
          "description": "The total number of data chunks transmitted by this job.\n"
        },
        "totalDataBytes": {
          "type": "number",
          "description": "The total number of bytes transferred by this job.\n"
        },
        "totalFiles": {
          "type": "number",
          "description": "The number of files affected by this job.\n"
        },
        "totalNetworkBytes": {
          "type": "number",
          "description": "The total number of bytes sent over the network by this job.\n"
        },
        "totalPhases": {
          "type": "number",
          "description": "The total number of phases for this job.\n"
        },
        "unchangedDataBytes": {
          "type": "number",
          "description": "The number of bytes unchanged by this job.\n"
        },
        "upToDateFilesSkipped": {
          "type": "number",
          "description": "The number of up-to-date files skipped by this job.\n"
        },
        "updatedFilesReplicated": {
          "type": "number",
          "description": "The number of updated files replicated by this job.\n"
        },
        "userConflictFilesSkipped": {
          "type": "number",
          "description": "The number of files with user conflicts skipped by this job.\n"
        },
        "warnings": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "A list of warning messages for this job.\n"
        },
        "wormCommittedFileConflicts": {
          "type": "number",
          "description": "The number of WORM committed files which needed to be reverted. Since WORM committed files cannot be reverted, this is the number of files that were preserved in the compliance store.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "adsStreamsReplicated",
        "blockSpecsReplicated",
        "bytesRecoverable",
        "bytesTransferred",
        "charSpecsReplicated",
        "committedFiles",
        "correctedLins",
        "deadNode",
        "directoriesReplicated",
        "dirsChanged",
        "dirsDeleted",
        "dirsMoved",
        "dirsNew",
        "duration",
        "encrypted",
        "endTime",
        "error",
        "errorChecksumFilesSkipped",
        "errorIoFilesSkipped",
        "errorNetFilesSkipped",
        "errors",
        "failedChunks",
        "fifosReplicated",
        "fileDataBytes",
        "filesChanged",
        "filesLinked",
        "filesNew",
        "filesSelected",
        "filesTransferred",
        "filesUnlinked",
        "filesWithAdsReplicated",
        "flippedLins",
        "hardLinksReplicated",
        "hashExceptionsFixed",
        "hashExceptionsFound",
        "id",
        "jobId",
        "linsTotal",
        "networkBytesToSource",
        "networkBytesToTarget",
        "newFilesReplicated",
        "numRetransmittedFiles",
        "phases",
        "policy",
        "policyAction",
        "policyId",
        "policyName",
        "quotasDeleted",
        "regularFilesReplicated",
        "resyncedLins",
        "retransmittedFiles",
        "retry",
        "runningChunks",
        "socketsReplicated",
        "sourceBytesRecovered",
        "sourceDirectoriesCreated",
        "sourceDirectoriesDeleted",
        "sourceDirectoriesLinked",
        "sourceDirectoriesUnlinked",
        "sourceDirectoriesVisited",
        "sourceFilesDeleted",
        "sourceFilesLinked",
        "sourceFilesUnlinked",
        "sparseDataBytes",
        "startTime",
        "state",
        "subreportCount",
        "succeededChunks",
        "symlinksReplicated",
        "syncType",
        "targetBytesRecovered",
        "targetDirectoriesCreated",
        "targetDirectoriesDeleted",
        "targetDirectoriesLinked",
        "targetDirectoriesUnlinked",
        "targetFilesDeleted",
        "targetFilesLinked",
        "targetFilesUnlinked",
        "targetSnapshots",
        "throughput",
        "totalChunks",
        "totalDataBytes",
        "totalFiles",
        "totalNetworkBytes",
        "totalPhases",
        "unchangedDataBytes",
        "upToDateFilesSkipped",
        "updatedFilesReplicated",
        "userConflictFilesSkipped",
        "warnings",
        "wormCommittedFileConflicts"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqReplicationReportReplicationReportPhase:getSynciqReplicationReportReplicationReportPhase": {
      "properties": {
        "endTime": {
          "type": "number",
          "description": "The time the job ended this phase.\n"
        },
        "phase": {
          "type": "string",
          "description": "The phase that the job was in.\n"
        },
        "startTime": {
          "type": "number",
          "description": "The time the job began this phase.\n"
        },
        "statistics": {
          "$ref": "#/types/powerscale:index%2FgetSynciqReplicationReportReplicationReportPhaseStatistics:getSynciqReplicationReportReplicationReportPhaseStatistics",
          "description": "Statistics for each phase of this job.\n"
        }
      },
      "type": "object",
      "required": [
        "endTime",
        "phase",
        "startTime",
        "statistics"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqReplicationReportReplicationReportPhaseStatistics:getSynciqReplicationReportReplicationReportPhaseStatistics": {
      "properties": {
        "complianceDirLinks": {
          "type": "string",
          "description": "Compliance Dir Links\n"
        },
        "correctedLins": {
          "type": "string",
          "description": "Corrected LINs\n"
        },
        "deletedDirs": {
          "type": "string",
          "description": "Deleted Dirs\n"
        },
        "dirs": {
          "type": "string",
          "description": "Dirs\n"
        },
        "files": {
          "type": "string",
          "description": "Files\n"
        },
        "flippedLins": {
          "type": "string",
          "description": "Flipped LINs\n"
        },
        "hashExceptions": {
          "type": "string",
          "description": "Hash Exceptions\n"
        },
        "linkedDirs": {
          "type": "string",
          "description": "Linked Dirs\n"
        },
        "linkedFiles": {
          "type": "string",
          "description": "Linked Files\n"
        },
        "markedDirectories": {
          "type": "string",
          "description": "Marked Directories\n"
        },
        "markedFiles": {
          "type": "string",
          "description": "Marked Files\n"
        },
        "modifiedDirs": {
          "type": "string",
          "description": "Modified Dirs\n"
        },
        "modifiedFiles": {
          "type": "string",
          "description": "Modified Files\n"
        },
        "modifiedLins": {
          "type": "string",
          "description": "Modified LINs\n"
        },
        "newComplianceDirs": {
          "type": "string",
          "description": "New Compliance Dirs\n"
        },
        "newDirs": {
          "type": "string",
          "description": "New Dirs\n"
        },
        "newFiles": {
          "type": "string",
          "description": "New Files\n"
        },
        "newResyncedFiles": {
          "type": "string",
          "description": "New Resynced Files\n"
        },
        "resyncedFileLinks": {
          "type": "string",
          "description": "Resynced File Links\n"
        },
        "resyncedLins": {
          "type": "string",
          "description": "Resynced LINs\n"
        },
        "unlinkedFiles": {
          "type": "string",
          "description": "Unlinked Files\n"
        }
      },
      "type": "object",
      "required": [
        "complianceDirLinks",
        "correctedLins",
        "deletedDirs",
        "dirs",
        "files",
        "flippedLins",
        "hashExceptions",
        "linkedDirs",
        "linkedFiles",
        "markedDirectories",
        "markedFiles",
        "modifiedDirs",
        "modifiedFiles",
        "modifiedLins",
        "newComplianceDirs",
        "newDirs",
        "newFiles",
        "newResyncedFiles",
        "resyncedFileLinks",
        "resyncedLins",
        "unlinkedFiles"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqReplicationReportReplicationReportPolicy:getSynciqReplicationReportReplicationReportPolicy": {
      "properties": {
        "action": {
          "type": "string",
          "description": "The action to be taken by the job.\n"
        },
        "fileMatchingPattern": {
          "$ref": "#/types/powerscale:index%2FgetSynciqReplicationReportReplicationReportPolicyFileMatchingPattern:getSynciqReplicationReportReplicationReportPolicyFileMatchingPattern",
          "description": "A file matching pattern, organized as an OR'ed set of AND'ed file criteria, for example ((a AND b) OR (x AND y)) used to define a set of files with specific properties.  Policies of type 'sync' cannot use 'path' or time criteria in their matching patterns, but policies of type 'copy' can use all listed criteria.\n"
        },
        "name": {
          "type": "string",
          "description": "User-assigned name of this sync policy.\n"
        },
        "sourceExcludeDirectories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Directories that will be excluded from the sync.  Modifying this field will result in a full synchronization of all data.\n"
        },
        "sourceIncludeDirectories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Directories that will be included in the sync.  Modifying this field will result in a full synchronization of all data.\n"
        },
        "sourceRootPath": {
          "type": "string",
          "description": "The root directory on the source cluster the files will be synced from.  Modifying this field will result in a full synchronization of all data.\n"
        },
        "targetHost": {
          "type": "string",
          "description": "Hostname or IP address of sync target cluster.  Modifying the target cluster host can result in the policy being unrunnable if the new target does not match the current target association.\n"
        },
        "targetPath": {
          "type": "string",
          "description": "Absolute filesystem path on the target cluster for the sync destination.\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "fileMatchingPattern",
        "name",
        "sourceExcludeDirectories",
        "sourceIncludeDirectories",
        "sourceRootPath",
        "targetHost",
        "targetPath"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqReplicationReportReplicationReportPolicyFileMatchingPattern:getSynciqReplicationReportReplicationReportPolicyFileMatchingPattern": {
      "properties": {
        "orCriterias": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetSynciqReplicationReportReplicationReportPolicyFileMatchingPatternOrCriteria:getSynciqReplicationReportReplicationReportPolicyFileMatchingPatternOrCriteria"
          },
          "description": "An array containing objects with \"and*criteria\" properties, each set of and*criteria will be logically OR'ed together to create the full file matching pattern.\n"
        }
      },
      "type": "object",
      "required": [
        "orCriterias"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqReplicationReportReplicationReportPolicyFileMatchingPatternOrCriteria:getSynciqReplicationReportReplicationReportPolicyFileMatchingPatternOrCriteria": {
      "properties": {
        "andCriterias": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetSynciqReplicationReportReplicationReportPolicyFileMatchingPatternOrCriteriaAndCriteria:getSynciqReplicationReportReplicationReportPolicyFileMatchingPatternOrCriteriaAndCriteria"
          },
          "description": "An array containing individual file criterion objects each describing one criterion.  These are logically AND'ed together to form a set of criteria.\n"
        }
      },
      "type": "object",
      "required": [
        "andCriterias"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqReplicationReportReplicationReportPolicyFileMatchingPatternOrCriteriaAndCriteria:getSynciqReplicationReportReplicationReportPolicyFileMatchingPatternOrCriteriaAndCriteria": {
      "properties": {
        "attributeExists": {
          "type": "boolean",
          "description": "For \"custom_attribute\" type criteria.  The file will match as long as the attribute named by \"field\" exists.  Default is true.\n"
        },
        "caseSensitive": {
          "type": "boolean",
          "description": "If true, the value comparison will be case sensitive.  Default is true.\n"
        },
        "field": {
          "type": "string",
          "description": "The name of the file attribute to match on (only required if this is a custom_attribute type criterion).  Default is an empty string \"\".\n"
        },
        "operator": {
          "type": "string",
          "description": "How to compare the specified attribute of each file to the specified value.\n"
        },
        "type": {
          "type": "string",
          "description": "The type of this criterion, that is, which file attribute to match on.\n"
        },
        "value": {
          "type": "string",
          "description": "The value to compare the specified attribute of each file to.\n"
        },
        "wholeWord": {
          "type": "boolean",
          "description": "If true, the attribute must match the entire word.  Default is true.\n"
        }
      },
      "type": "object",
      "required": [
        "attributeExists",
        "caseSensitive",
        "field",
        "operator",
        "type",
        "value",
        "wholeWord"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqRuleRule:getSynciqRuleRule": {
      "properties": {
        "description": {
          "type": "string",
          "description": "User-entered description of this performance rule.\n"
        },
        "enabled": {
          "type": "boolean",
          "description": "Whether this performance rule is currently in effect during its specified intervals.\n"
        },
        "id": {
          "type": "string",
          "description": "The system ID given to this performance rule.\n"
        },
        "limit": {
          "type": "number",
          "description": "Amount the specified system resource type is limited by this rule.  Units are kb/s for bandwidth, files/s for file-count, processing percentage used for cpu, or percentage of maximum available workers.\n"
        },
        "schedule": {
          "$ref": "#/types/powerscale:index%2FgetSynciqRuleRuleSchedule:getSynciqRuleRuleSchedule",
          "description": "A schedule defining when during a week this performance rule is in effect.  If unspecified or null, the schedule will always be in effect.\n"
        },
        "type": {
          "type": "string",
          "description": "The type of system resource this rule limits.\n"
        }
      },
      "type": "object",
      "required": [
        "description",
        "enabled",
        "id",
        "limit",
        "schedule",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getSynciqRuleRuleSchedule:getSynciqRuleRuleSchedule": {
      "properties": {
        "begin": {
          "type": "string",
          "description": "Start time (inclusive) for this schedule, during its specified days.  Format is \"hh:mm\" (24h format hour, and minute).  A null value indicates the beginning of the day (\"00:00\").\n"
        },
        "end": {
          "type": "string",
          "description": "End time (inclusive) for this schedule, during its specified days.  Format is \"hh:mm\" (three-letter weekday name abbreviation, 24h format hour, and minute).  A null value indicates the end of the day (\"23:59\").\n"
        },
        "friday": {
          "type": "boolean",
          "description": "If true, this rule is in effect on Friday.  If false, or unspecified, it is not.\n"
        },
        "monday": {
          "type": "boolean",
          "description": "If true, this rule is in effect on Monday.  If false, or unspecified, it is not.\n"
        },
        "saturday": {
          "type": "boolean",
          "description": "If true, this rule is in effect on Saturday.  If false, or unspecified, it is not.\n"
        },
        "sunday": {
          "type": "boolean",
          "description": "If true, this rule is in effect on Sunday.  If false, or unspecified, it is not.\n"
        },
        "thursday": {
          "type": "boolean",
          "description": "If true, this rule is in effect on Thursday.  If false, or unspecified, it is not.\n"
        },
        "tuesday": {
          "type": "boolean",
          "description": "If true, this rule is in effect on Tuesday.  If false, or unspecified, it is not.\n"
        },
        "wednesday": {
          "type": "boolean",
          "description": "If true, this rule is in effect on Wednesday.  If false, or unspecified, it is not.\n"
        }
      },
      "type": "object",
      "required": [
        "begin",
        "end",
        "friday",
        "monday",
        "saturday",
        "sunday",
        "thursday",
        "tuesday",
        "wednesday"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getUserFilter:getUserFilter": {
      "properties": {
        "cached": {
          "type": "boolean",
          "description": "If true, only return cached objects.\n"
        },
        "domain": {
          "type": "string",
          "description": "Filter users by domain.\n"
        },
        "memberOf": {
          "type": "boolean",
          "description": "Enumerate all users that a group is a member of.\n"
        },
        "namePrefix": {
          "type": "string",
          "description": "Filter users by name prefix.\n"
        },
        "names": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetUserFilterName:getUserFilterName"
          },
          "description": "List of user identity.\n"
        },
        "provider": {
          "type": "string",
          "description": "Filter users by provider.\n"
        },
        "zone": {
          "type": "string",
          "description": "Filter users by zone.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getUserFilterName:getUserFilterName": {
      "properties": {
        "name": {
          "type": "string",
          "description": "Specifies a user name.\n"
        },
        "sid": {
          "type": "string",
          "description": "Specifies a numeric security identifier.\n"
        },
        "uid": {
          "type": "number",
          "description": "Specifies a numeric user identifier.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getUserGroupFilter:getUserGroupFilter": {
      "properties": {
        "cached": {
          "type": "boolean",
          "description": "If true, only return cached objects.\n"
        },
        "domain": {
          "type": "string",
          "description": "Filter user groups by domain.\n"
        },
        "namePrefix": {
          "type": "string",
          "description": "Filter user groups by name prefix.\n"
        },
        "names": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetUserGroupFilterName:getUserGroupFilterName"
          },
          "description": "List of user group identity.\n"
        },
        "provider": {
          "type": "string",
          "description": "Filter user groups by provider.\n"
        },
        "zone": {
          "type": "string",
          "description": "Filter user groups by zone.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getUserGroupFilterName:getUserGroupFilterName": {
      "properties": {
        "gid": {
          "type": "number",
          "description": "Specifies a numeric user group identifier.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies a user group name.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getUserGroupUserGroup:getUserGroupUserGroup": {
      "properties": {
        "dn": {
          "type": "string",
          "description": "Specifies the distinguished name for the user group.\n"
        },
        "dnsDomain": {
          "type": "string",
          "description": "Specifies the DNS domain.\n"
        },
        "domain": {
          "type": "string",
          "description": "Specifies the domain that the object is part of.\n"
        },
        "generatedGid": {
          "type": "boolean",
          "description": "If true, the GID was generated.\n"
        },
        "gid": {
          "type": "string",
          "description": "Specifies a user group identifier.\n"
        },
        "id": {
          "type": "string",
          "description": "Specifies the user group ID.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FgetUserGroupUserGroupMember:getUserGroupUserGroupMember"
          },
          "description": "List of members of group. Group Member can be user or group.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies a user group name.\n"
        },
        "provider": {
          "type": "string",
          "description": "Specifies the authentication provider that the object belongs to.\n"
        },
        "roles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of roles.\n"
        },
        "samAccountName": {
          "type": "string",
          "description": "Specifies a user group name.\n"
        },
        "sid": {
          "type": "string",
          "description": "Specifies a security identifier.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the object type.\n"
        }
      },
      "type": "object",
      "required": [
        "dn",
        "dnsDomain",
        "domain",
        "generatedGid",
        "gid",
        "id",
        "members",
        "name",
        "provider",
        "roles",
        "samAccountName",
        "sid",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getUserGroupUserGroupMember:getUserGroupUserGroupMember": {
      "properties": {
        "id": {
          "type": "string",
          "description": "Specifies a user or group id.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies a user or group name.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the object type.\n"
        }
      },
      "type": "object",
      "required": [
        "id",
        "name",
        "type"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getUserMappingRulesFilter:getUserMappingRulesFilter": {
      "properties": {
        "names": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Names filter for source user name or target user name.\n"
        },
        "operators": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Operators filter for user mapping rules.\n"
        },
        "zone": {
          "type": "string",
          "description": "The zone to which the user mapping applies. Defaults to System.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getUserMappingRulesUserMappingRule:getUserMappingRulesUserMappingRule": {
      "properties": {
        "operator": {
          "type": "string",
          "description": "Specifies the operator to make rules on specified users or groups.\n"
        },
        "options": {
          "$ref": "#/types/powerscale:index%2FgetUserMappingRulesUserMappingRuleOptions:getUserMappingRulesUserMappingRuleOptions",
          "description": "Specifies the mapping options for this user mapping rule.\n"
        },
        "sourceUser": {
          "$ref": "#/types/powerscale:index%2FgetUserMappingRulesUserMappingRuleSourceUser:getUserMappingRulesUserMappingRuleSourceUser",
          "description": "Specifies the source user information that the rule can be applied from.\n"
        },
        "targetUser": {
          "$ref": "#/types/powerscale:index%2FgetUserMappingRulesUserMappingRuleTargetUser:getUserMappingRulesUserMappingRuleTargetUser",
          "description": "Specifies the target user information that the rule can be applied to.\n"
        }
      },
      "type": "object",
      "required": [
        "operator",
        "options",
        "sourceUser",
        "targetUser"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getUserMappingRulesUserMappingRuleOptions:getUserMappingRulesUserMappingRuleOptions": {
      "properties": {
        "break": {
          "type": "boolean",
          "description": "If true, and the rule was applied successfully, stop processing further.\n"
        },
        "defaultUser": {
          "$ref": "#/types/powerscale:index%2FgetUserMappingRulesUserMappingRuleOptionsDefaultUser:getUserMappingRulesUserMappingRuleOptionsDefaultUser",
          "description": "Specifies the default user information that can be applied if the final credentials do not have valid UID and GID information.\n"
        },
        "group": {
          "type": "boolean",
          "description": "If true, the primary GID and primary group SID should be copied to the existing credential.\n"
        },
        "groups": {
          "type": "boolean",
          "description": "If true, all additional identifiers should be copied to the existing credential.\n"
        },
        "user": {
          "type": "boolean",
          "description": "If true, the primary UID and primary user SID should be copied to the existing credential.\n"
        }
      },
      "type": "object",
      "required": [
        "break",
        "defaultUser",
        "group",
        "groups",
        "user"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getUserMappingRulesUserMappingRuleOptionsDefaultUser:getUserMappingRulesUserMappingRuleOptionsDefaultUser": {
      "properties": {
        "domain": {
          "type": "string",
          "description": "Specifies the domain of the user that is being mapped.\n"
        },
        "user": {
          "type": "string",
          "description": "Specifies the name of the user that is being mapped.\n"
        }
      },
      "type": "object",
      "required": [
        "domain",
        "user"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getUserMappingRulesUserMappingRuleSourceUser:getUserMappingRulesUserMappingRuleSourceUser": {
      "properties": {
        "domain": {
          "type": "string",
          "description": "Specifies the domain of the user that is being mapped.\n"
        },
        "user": {
          "type": "string",
          "description": "Specifies the name of the user that is being mapped.\n"
        }
      },
      "type": "object",
      "required": [
        "domain",
        "user"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getUserMappingRulesUserMappingRuleTargetUser:getUserMappingRulesUserMappingRuleTargetUser": {
      "properties": {
        "domain": {
          "type": "string",
          "description": "Specifies the domain of the user that is being mapped.\n"
        },
        "user": {
          "type": "string",
          "description": "Specifies the name of the user that is being mapped.\n"
        }
      },
      "type": "object",
      "required": [
        "domain",
        "user"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getUserMappingRulesUserMappingRulesParameters:getUserMappingRulesUserMappingRulesParameters": {
      "properties": {
        "defaultUnixUser": {
          "$ref": "#/types/powerscale:index%2FgetUserMappingRulesUserMappingRulesParametersDefaultUnixUser:getUserMappingRulesUserMappingRulesParametersDefaultUnixUser",
          "description": "Specifies the default UNIX user information that can be applied if the final credentials do not have valid UID and GID information.\n"
        }
      },
      "type": "object",
      "required": [
        "defaultUnixUser"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getUserMappingRulesUserMappingRulesParametersDefaultUnixUser:getUserMappingRulesUserMappingRulesParametersDefaultUnixUser": {
      "properties": {
        "domain": {
          "type": "string",
          "description": "Specifies the domain of the user that is being mapped.\n"
        },
        "user": {
          "type": "string",
          "description": "Specifies the name of the user that is being mapped.\n"
        }
      },
      "type": "object",
      "required": [
        "domain",
        "user"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getUserUser:getUserUser": {
      "properties": {
        "dn": {
          "type": "string",
          "description": "Specifies a principal name for the user.\n"
        },
        "dnsDomain": {
          "type": "string",
          "description": "Specifies the DNS domain.\n"
        },
        "domain": {
          "type": "string",
          "description": "Specifies the domain that the object is part of.\n"
        },
        "email": {
          "type": "string",
          "description": "Specifies an email address.\n"
        },
        "enabled": {
          "type": "boolean",
          "description": "If true, the authenticated user is enabled.\n"
        },
        "expired": {
          "type": "boolean",
          "description": "If true, the authenticated user has expired.\n"
        },
        "expiry": {
          "type": "number",
          "description": "Specifies the Unix Epoch time at which the authenticated user will expire.\n"
        },
        "gecos": {
          "type": "string",
          "description": "Specifies the GECOS value, which is usually the full name.\n"
        },
        "generatedGid": {
          "type": "boolean",
          "description": "If true, the GID was generated.\n"
        },
        "generatedUid": {
          "type": "boolean",
          "description": "If true, the UID was generated.\n"
        },
        "generatedUpn": {
          "type": "boolean",
          "description": "If true, the UPN was generated.\n"
        },
        "gid": {
          "type": "string",
          "description": "Specifies a group identifier.\n"
        },
        "homeDirectory": {
          "type": "string",
          "description": "Specifies a home directory for the user.\n"
        },
        "id": {
          "type": "string",
          "description": "Specifies the user ID.\n"
        },
        "locked": {
          "type": "boolean",
          "description": "If true, indicates that the account is locked.\n"
        },
        "maxPasswordAge": {
          "type": "number",
          "description": "Specifies the maximum time in seconds allowed before the password expires.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies a user name.\n"
        },
        "passwordExpired": {
          "type": "boolean",
          "description": "If true, the password has expired.\n"
        },
        "passwordExpires": {
          "type": "boolean",
          "description": "If true, the password is allowed to expire.\n"
        },
        "passwordExpiry": {
          "type": "number",
          "description": "Specifies the time in Unix Epoch seconds that the password will expire.\n"
        },
        "passwordLastSet": {
          "type": "number",
          "description": "Specifies the last time the password was set.\n"
        },
        "primaryGroupSid": {
          "type": "string",
          "description": "Specifies the persona of the primary group.\n"
        },
        "promptPasswordChange": {
          "type": "boolean",
          "description": "If true, Prompts the user to change their password at the next login.\n"
        },
        "provider": {
          "type": "string",
          "description": "Specifies the authentication provider that the object belongs to.\n"
        },
        "roles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of roles.\n"
        },
        "samAccountName": {
          "type": "string",
          "description": "Specifies a user name.\n"
        },
        "shell": {
          "type": "string",
          "description": "Specifies a path to the shell for the user.\n"
        },
        "sid": {
          "type": "string",
          "description": "Specifies a security identifier.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the object type.\n"
        },
        "uid": {
          "type": "string",
          "description": "Specifies a user identifier.\n"
        },
        "upn": {
          "type": "string",
          "description": "Specifies a principal name for the user.\n"
        },
        "userCanChangePassword": {
          "type": "boolean",
          "description": "Specifies whether the password for the user can be changed.\n"
        }
      },
      "type": "object",
      "required": [
        "roles"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    },
    "powerscale:index/getWritableSnapshotFilter:getWritableSnapshotFilter": {
      "properties": {
        "dir": {
          "type": "string",
          "description": "The direction of the sort.\n"
        },
        "limit": {
          "type": "number",
          "description": "Return no more than this many results at once (see resume).\n"
        },
        "path": {
          "type": "string",
          "description": "Only list writable snapshots matching this path.\n"
        },
        "resume": {
          "type": "string",
          "description": "Continue returning results from previous call using this token (token should come from the previous call, resume cannot be used with other options).\n"
        },
        "sort": {
          "type": "string",
          "description": "The field that will be used for sorting.  Choices are path, src name, src path, created, size and state. Default is created.\n"
        },
        "state": {
          "type": "string",
          "description": "Only list writable snapshots matching this state.\n"
        }
      },
      "type": "object"
    },
    "powerscale:index/getWritableSnapshotWritable:getWritableSnapshotWritable": {
      "properties": {
        "created": {
          "type": "number",
          "description": "The Unix Epoch time the writable snapshot was created.\n"
        },
        "dstPath": {
          "type": "string",
          "description": "The user supplied /ifs path of writable snapshot.\n"
        },
        "id": {
          "type": "number",
          "description": "The system ID given to the writable snapshot. This is useful for debugging.\n"
        },
        "logSize": {
          "type": "number",
          "description": "The sum in bytes of logical size of files in this writable snapshot.\n"
        },
        "physSize": {
          "type": "number",
          "description": "The amount of storage in bytes used to store this writable snapshot.\n"
        },
        "srcId": {
          "type": "number",
          "description": "The system ID of the user supplied source snapshot. This is useful for debugging.\n"
        },
        "srcPath": {
          "type": "string",
          "description": "The /ifs path of user supplied source snapshot. This will be null for writable snapshots pending delete.\n"
        },
        "srcSnap": {
          "type": "string",
          "description": "The user supplied source snapshot name or ID. This will be null for writable snapshots pending delete.\n"
        },
        "state": {
          "type": "string",
          "description": "Writable Snapshot state.\n"
        }
      },
      "type": "object",
      "required": [
        "created",
        "dstPath",
        "id",
        "logSize",
        "physSize",
        "srcId",
        "srcPath",
        "srcSnap",
        "state"
      ],
      "language": {
        "nodejs": {
          "requiredInputs": []
        }
      }
    }
  },
  "provider": {
    "description": "The provider type for the powerscale package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n",
    "properties": {
      "endpoint": {
        "type": "string",
        "description": "The API endpoint, ex. https://172.17.177.230:8080. This can also be set using the environment variable\nPOWERSCALE_ENDPOINT\n"
      },
      "password": {
        "type": "string",
        "description": "The password. This can also be set using the environment variable POWERSCALE_PASSWORD\n",
        "secret": true
      },
      "username": {
        "type": "string",
        "description": "The username. This can also be set using the environment variable POWERSCALE_USERNAME\n"
      }
    },
    "type": "object",
    "inputProperties": {
      "authType": {
        "type": "number",
        "description": "what should be the auth type, 0 for basic and 1 for session-based. This can also be set using the environment variable\nPOWERSCALE_AUTH_TYPE\n"
      },
      "endpoint": {
        "type": "string",
        "description": "The API endpoint, ex. https://172.17.177.230:8080. This can also be set using the environment variable\nPOWERSCALE_ENDPOINT\n"
      },
      "insecure": {
        "type": "boolean",
        "description": "whether to skip SSL validation. This can also be set using the environment variable POWERSCALE_INSECURE\n"
      },
      "password": {
        "type": "string",
        "description": "The password. This can also be set using the environment variable POWERSCALE_PASSWORD\n",
        "secret": true
      },
      "timeout": {
        "type": "number",
        "description": "specifies a time limit for requests. This can also be set using the environment variable POWERSCALE_TIMEOUT\n"
      },
      "username": {
        "type": "string",
        "description": "The username. This can also be set using the environment variable POWERSCALE_USERNAME\n"
      }
    }
  },
  "resources": {
    "powerscale:index/accesszone:Accesszone": {
      "description": "This resource is used to manage the Access Zone entity of PowerScale Array. We can Create, Update and Delete the Access Zone using this resource. We can also import an existing Access Zone from PowerScale array. PowerScale access zones allow you to isolate data and control who can access data in each zone.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale access zones allow you to isolate data and control who can access data in each zone.\nconst zone = new powerscale.Accesszone(\"zone\", {\n    customAuthProviders: [\n        \"localProviderName\",\n        \"lsa-local-provider:testAccessZoneSample\",\n        \"lsa-local-provider:localProviderName\",\n        \"lsa-file-provider:fileProviderName\",\n        \"lsa-activedirectory-provider:adsProviderName\",\n        \"lsa-ldap-provider:testProvider\",\n    ],\n    groupnet: \"groupnet0\",\n    path: \"/ifs\",\n});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale access zones allow you to isolate data and control who can access data in each zone.\nzone = powerscale.Accesszone(\"zone\",\n    custom_auth_providers=[\n        \"localProviderName\",\n        \"lsa-local-provider:testAccessZoneSample\",\n        \"lsa-local-provider:localProviderName\",\n        \"lsa-file-provider:fileProviderName\",\n        \"lsa-activedirectory-provider:adsProviderName\",\n        \"lsa-ldap-provider:testProvider\",\n    ],\n    groupnet=\"groupnet0\",\n    path=\"/ifs\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale access zones allow you to isolate data and control who can access data in each zone.\n    var zone = new Powerscale.Accesszone(\"zone\", new()\n    {\n        CustomAuthProviders = new[]\n        {\n            \"localProviderName\",\n            \"lsa-local-provider:testAccessZoneSample\",\n            \"lsa-local-provider:localProviderName\",\n            \"lsa-file-provider:fileProviderName\",\n            \"lsa-activedirectory-provider:adsProviderName\",\n            \"lsa-ldap-provider:testProvider\",\n        },\n        Groupnet = \"groupnet0\",\n        Path = \"/ifs\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale access zones allow you to isolate data and control who can access data in each zone.\n\t\t_, err := powerscale.NewAccesszone(ctx, \"zone\", &powerscale.AccesszoneArgs{\n\t\t\tCustomAuthProviders: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"localProviderName\"),\n\t\t\t\tpulumi.String(\"lsa-local-provider:testAccessZoneSample\"),\n\t\t\t\tpulumi.String(\"lsa-local-provider:localProviderName\"),\n\t\t\t\tpulumi.String(\"lsa-file-provider:fileProviderName\"),\n\t\t\t\tpulumi.String(\"lsa-activedirectory-provider:adsProviderName\"),\n\t\t\t\tpulumi.String(\"lsa-ldap-provider:testProvider\"),\n\t\t\t},\n\t\t\tGroupnet: pulumi.String(\"groupnet0\"),\n\t\t\tPath:     pulumi.String(\"/ifs\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.Accesszone;\nimport com.pulumi.powerscale.AccesszoneArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale access zones allow you to isolate data and control who can access data in each zone.\n        var zone = new Accesszone(\"zone\", AccesszoneArgs.builder()\n            .customAuthProviders(            \n                \"localProviderName\",\n                \"lsa-local-provider:testAccessZoneSample\",\n                \"lsa-local-provider:localProviderName\",\n                \"lsa-file-provider:fileProviderName\",\n                \"lsa-activedirectory-provider:adsProviderName\",\n                \"lsa-ldap-provider:testProvider\")\n            .groupnet(\"groupnet0\")\n            .path(\"/ifs\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale access zones allow you to isolate data and control who can access data in each zone.\n  zone:\n    type: powerscale:Accesszone\n    properties:\n      # Optional pecifies the list of authentication providers available on this access zone\n      #     // A provider name should be of the form '[provider-type:]provider-name', the provider-type defaults to 'lsa-local-provider'.\n      customAuthProviders:\n        - localProviderName\n        - lsa-local-provider:testAccessZoneSample\n        - lsa-local-provider:localProviderName\n        - lsa-file-provider:fileProviderName\n        - lsa-activedirectory-provider:adsProviderName\n        - lsa-ldap-provider:testProvider\n      # Required Groupnet identifier to be assoicated with this access zone\n      #     // Note can not be changed after the access zone is created\n      groupnet: groupnet0\n      # Required Specifies the access zone base directory path\n      path: /ifs\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2023-2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/accesszone:Accesszone zone <id>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/accesszone:Accesszone zone access_zone\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "alternateSystemProvider": {
          "type": "string",
          "description": "Specifies an alternate system provider.\n"
        },
        "authProviders": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the list of authentication providers available on this access zone.\n"
        },
        "cacheEntryExpiry": {
          "type": "number",
          "description": "Specifies amount of time in seconds to cache a user/group.\n"
        },
        "createPath": {
          "type": "boolean",
          "description": "Determines if a path is created when a path does not exist.\n"
        },
        "customAuthProviders": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "An optional parameter which adds new auth_providers to the access zone. A provider name should be of the form '[provider-type:]provider-name', the provider-type defaults to 'lsa-local-provider'.\n"
        },
        "groupnet": {
          "type": "string",
          "description": "Groupnet identifier. Cannot be updated.\n"
        },
        "homeDirectoryUmask": {
          "type": "number",
          "description": "Specifies the permissions set on automatically created user home directories.\n"
        },
        "ifsRestricteds": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FAccesszoneIfsRestricted:AccesszoneIfsRestricted"
          },
          "description": "Specifies a list of users and groups that have read and write access to /ifs.\n"
        },
        "mapUntrusted": {
          "type": "string",
          "description": "Maps untrusted domains to this NetBIOS domain during authentication.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the access zone name.\n"
        },
        "negativeCacheEntryExpiry": {
          "type": "number",
          "description": "Specifies number of seconds the negative cache entry is valid.\n"
        },
        "netbiosName": {
          "type": "string",
          "description": "Specifies the NetBIOS name.\n"
        },
        "path": {
          "type": "string",
          "description": "Specifies the access zone base directory path.\n"
        },
        "skeletonDirectory": {
          "type": "string",
          "description": "Specifies the skeleton directory that is used for user home directories.\n"
        },
        "system": {
          "type": "boolean",
          "description": "True if the access zone is built-in.\n"
        },
        "systemProvider": {
          "type": "string",
          "description": "Specifies the system provider for the access zone.\n"
        },
        "userMappingRules": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the current ID mapping rules.\n"
        },
        "zoneId": {
          "type": "number",
          "description": "Specifies the access zone ID on the system.\n"
        }
      },
      "type": "object",
      "required": [
        "alternateSystemProvider",
        "authProviders",
        "cacheEntryExpiry",
        "createPath",
        "customAuthProviders",
        "groupnet",
        "homeDirectoryUmask",
        "ifsRestricteds",
        "mapUntrusted",
        "name",
        "negativeCacheEntryExpiry",
        "netbiosName",
        "path",
        "skeletonDirectory",
        "system",
        "systemProvider",
        "userMappingRules",
        "zoneId"
      ],
      "inputProperties": {
        "customAuthProviders": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "An optional parameter which adds new auth_providers to the access zone. A provider name should be of the form '[provider-type:]provider-name', the provider-type defaults to 'lsa-local-provider'.\n"
        },
        "groupnet": {
          "type": "string",
          "description": "Groupnet identifier. Cannot be updated.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the access zone name.\n"
        },
        "path": {
          "type": "string",
          "description": "Specifies the access zone base directory path.\n"
        }
      },
      "requiredInputs": [
        "groupnet",
        "path"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Accesszone resources.\n",
        "properties": {
          "alternateSystemProvider": {
            "type": "string",
            "description": "Specifies an alternate system provider.\n"
          },
          "authProviders": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies the list of authentication providers available on this access zone.\n"
          },
          "cacheEntryExpiry": {
            "type": "number",
            "description": "Specifies amount of time in seconds to cache a user/group.\n"
          },
          "createPath": {
            "type": "boolean",
            "description": "Determines if a path is created when a path does not exist.\n"
          },
          "customAuthProviders": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "An optional parameter which adds new auth_providers to the access zone. A provider name should be of the form '[provider-type:]provider-name', the provider-type defaults to 'lsa-local-provider'.\n"
          },
          "groupnet": {
            "type": "string",
            "description": "Groupnet identifier. Cannot be updated.\n"
          },
          "homeDirectoryUmask": {
            "type": "number",
            "description": "Specifies the permissions set on automatically created user home directories.\n"
          },
          "ifsRestricteds": {
            "type": "array",
            "items": {
              "$ref": "#/types/powerscale:index%2FAccesszoneIfsRestricted:AccesszoneIfsRestricted"
            },
            "description": "Specifies a list of users and groups that have read and write access to /ifs.\n"
          },
          "mapUntrusted": {
            "type": "string",
            "description": "Maps untrusted domains to this NetBIOS domain during authentication.\n"
          },
          "name": {
            "type": "string",
            "description": "Specifies the access zone name.\n"
          },
          "negativeCacheEntryExpiry": {
            "type": "number",
            "description": "Specifies number of seconds the negative cache entry is valid.\n"
          },
          "netbiosName": {
            "type": "string",
            "description": "Specifies the NetBIOS name.\n"
          },
          "path": {
            "type": "string",
            "description": "Specifies the access zone base directory path.\n"
          },
          "skeletonDirectory": {
            "type": "string",
            "description": "Specifies the skeleton directory that is used for user home directories.\n"
          },
          "system": {
            "type": "boolean",
            "description": "True if the access zone is built-in.\n"
          },
          "systemProvider": {
            "type": "string",
            "description": "Specifies the system provider for the access zone.\n"
          },
          "userMappingRules": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies the current ID mapping rules.\n"
          },
          "zoneId": {
            "type": "number",
            "description": "Specifies the access zone ID on the system.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/aclsettings:Aclsettings": {
      "description": "This resource is used to manage the ACL Settings entity of PowerScale Array. We can Create, Update and Delete the ACL Settings using this resource. We can also import the existing ACL Settings from PowerScale array. Note that, ACL Settings is the native functionality of PowerScale. When creating the resource, we actually load ACL Settings from PowerScale to the resource state.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale ACL Settings allow you to manage file and directory permissions, referred to as access rights.\nconst exampleAclSettings = new powerscale.Aclsettings(\"exampleAclSettings\", {});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale ACL Settings allow you to manage file and directory permissions, referred to as access rights.\nexample_acl_settings = powerscale.Aclsettings(\"exampleAclSettings\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale ACL Settings allow you to manage file and directory permissions, referred to as access rights.\n    var exampleAclSettings = new Powerscale.Aclsettings(\"exampleAclSettings\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale ACL Settings allow you to manage file and directory permissions, referred to as access rights.\n\t\t_, err := powerscale.NewAclsettings(ctx, \"exampleAclSettings\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.Aclsettings;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale ACL Settings allow you to manage file and directory permissions, referred to as access rights.\n        var exampleAclSettings = new Aclsettings(\"exampleAclSettings\");\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale ACL Settings allow you to manage file and directory permissions, referred to as access rights.\n  exampleAclSettings:\n    type: powerscale:Aclsettings\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2023-2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/aclsettings:Aclsettings example_acl_settings <anyString>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/aclsettings:Aclsettings example_acl_settings anyString\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "access": {
          "type": "string",
          "description": "Access checks (chmod, chown). Options: unix, windows\n"
        },
        "calcmode": {
          "type": "string",
          "description": "Displayed mode bits. Options: approx, 777\n"
        },
        "calcmodeGroup": {
          "type": "string",
          "description": "Approximate group mode bits when ACL exists. Options: group*aces, group*only\n"
        },
        "calcmodeOwner": {
          "type": "string",
          "description": "Approximate owner mode bits when ACL exists. Options: owner*aces, owner*only\n"
        },
        "calcmodeTraverse": {
          "type": "string",
          "description": "Require traverse rights in order to traverse directories with existing ACLs. Options: require, ignore\n"
        },
        "chmod": {
          "type": "string",
          "description": "chmod on files with existing ACLs. Options: remove, replace, replace*users*and*groups, merge*with*ugo*priority, merge, deny, ignore\n"
        },
        "chmod007": {
          "type": "string",
          "description": "chmod (007) on files with existing ACLs. Options: default, remove\n"
        },
        "chmodInheritable": {
          "type": "string",
          "description": "ACLs created on directories by UNIX chmod. Options: yes, no\n"
        },
        "chown": {
          "type": "string",
          "description": "chown/chgrp on files with existing ACLs. Options: owner*group*and*acl, owner*group_only, ignore\n"
        },
        "createOverSmb": {
          "type": "string",
          "description": "ACL creation over SMB. Options: allow, disallow\n"
        },
        "dosAttr": {
          "type": "string",
          "description": "Read only DOS attribute. Options: deny*smb, deny*smb*and*nfs\n"
        },
        "groupOwnerInheritance": {
          "type": "string",
          "description": "Group owner inheritance. Options: native, parent, creator\n"
        },
        "rwx": {
          "type": "string",
          "description": "Treatment of 'rwx' permissions. Options: retain, full_control\n"
        },
        "syntheticDenies": {
          "type": "string",
          "description": "Synthetic 'deny' ACEs. Options: none, remove\n"
        },
        "utimes": {
          "type": "string",
          "description": "Access check (utimes). Options: only*owner, owner*and_write\n"
        }
      },
      "type": "object",
      "required": [
        "access",
        "calcmode",
        "calcmodeGroup",
        "calcmodeOwner",
        "calcmodeTraverse",
        "chmod",
        "chmod007",
        "chmodInheritable",
        "chown",
        "createOverSmb",
        "dosAttr",
        "groupOwnerInheritance",
        "rwx",
        "syntheticDenies",
        "utimes"
      ],
      "inputProperties": {
        "access": {
          "type": "string",
          "description": "Access checks (chmod, chown). Options: unix, windows\n"
        },
        "calcmode": {
          "type": "string",
          "description": "Displayed mode bits. Options: approx, 777\n"
        },
        "calcmodeGroup": {
          "type": "string",
          "description": "Approximate group mode bits when ACL exists. Options: group*aces, group*only\n"
        },
        "calcmodeOwner": {
          "type": "string",
          "description": "Approximate owner mode bits when ACL exists. Options: owner*aces, owner*only\n"
        },
        "calcmodeTraverse": {
          "type": "string",
          "description": "Require traverse rights in order to traverse directories with existing ACLs. Options: require, ignore\n"
        },
        "chmod": {
          "type": "string",
          "description": "chmod on files with existing ACLs. Options: remove, replace, replace*users*and*groups, merge*with*ugo*priority, merge, deny, ignore\n"
        },
        "chmod007": {
          "type": "string",
          "description": "chmod (007) on files with existing ACLs. Options: default, remove\n"
        },
        "chmodInheritable": {
          "type": "string",
          "description": "ACLs created on directories by UNIX chmod. Options: yes, no\n"
        },
        "chown": {
          "type": "string",
          "description": "chown/chgrp on files with existing ACLs. Options: owner*group*and*acl, owner*group_only, ignore\n"
        },
        "createOverSmb": {
          "type": "string",
          "description": "ACL creation over SMB. Options: allow, disallow\n"
        },
        "dosAttr": {
          "type": "string",
          "description": "Read only DOS attribute. Options: deny*smb, deny*smb*and*nfs\n"
        },
        "groupOwnerInheritance": {
          "type": "string",
          "description": "Group owner inheritance. Options: native, parent, creator\n"
        },
        "rwx": {
          "type": "string",
          "description": "Treatment of 'rwx' permissions. Options: retain, full_control\n"
        },
        "syntheticDenies": {
          "type": "string",
          "description": "Synthetic 'deny' ACEs. Options: none, remove\n"
        },
        "utimes": {
          "type": "string",
          "description": "Access check (utimes). Options: only*owner, owner*and_write\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Aclsettings resources.\n",
        "properties": {
          "access": {
            "type": "string",
            "description": "Access checks (chmod, chown). Options: unix, windows\n"
          },
          "calcmode": {
            "type": "string",
            "description": "Displayed mode bits. Options: approx, 777\n"
          },
          "calcmodeGroup": {
            "type": "string",
            "description": "Approximate group mode bits when ACL exists. Options: group*aces, group*only\n"
          },
          "calcmodeOwner": {
            "type": "string",
            "description": "Approximate owner mode bits when ACL exists. Options: owner*aces, owner*only\n"
          },
          "calcmodeTraverse": {
            "type": "string",
            "description": "Require traverse rights in order to traverse directories with existing ACLs. Options: require, ignore\n"
          },
          "chmod": {
            "type": "string",
            "description": "chmod on files with existing ACLs. Options: remove, replace, replace*users*and*groups, merge*with*ugo*priority, merge, deny, ignore\n"
          },
          "chmod007": {
            "type": "string",
            "description": "chmod (007) on files with existing ACLs. Options: default, remove\n"
          },
          "chmodInheritable": {
            "type": "string",
            "description": "ACLs created on directories by UNIX chmod. Options: yes, no\n"
          },
          "chown": {
            "type": "string",
            "description": "chown/chgrp on files with existing ACLs. Options: owner*group*and*acl, owner*group_only, ignore\n"
          },
          "createOverSmb": {
            "type": "string",
            "description": "ACL creation over SMB. Options: allow, disallow\n"
          },
          "dosAttr": {
            "type": "string",
            "description": "Read only DOS attribute. Options: deny*smb, deny*smb*and*nfs\n"
          },
          "groupOwnerInheritance": {
            "type": "string",
            "description": "Group owner inheritance. Options: native, parent, creator\n"
          },
          "rwx": {
            "type": "string",
            "description": "Treatment of 'rwx' permissions. Options: retain, full_control\n"
          },
          "syntheticDenies": {
            "type": "string",
            "description": "Synthetic 'deny' ACEs. Options: none, remove\n"
          },
          "utimes": {
            "type": "string",
            "description": "Access check (utimes). Options: only*owner, owner*and_write\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/adsprovider:Adsprovider": {
      "description": "This resource is used to manage the ADS provider entity of PowerScale Array. We can Create, Update and Delete the ADS provider using this resource. We can also import an existing ADS provider from PowerScale array.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale ADS provider allows you to authenticate users and groups\nconst adsTest = new powerscale.Adsprovider(\"adsTest\", {\n    password: \"password\",\n    user: \"admin\",\n});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale ADS provider allows you to authenticate users and groups\nads_test = powerscale.Adsprovider(\"adsTest\",\n    password=\"password\",\n    user=\"admin\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale ADS provider allows you to authenticate users and groups\n    var adsTest = new Powerscale.Adsprovider(\"adsTest\", new()\n    {\n        Password = \"password\",\n        User = \"admin\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale ADS provider allows you to authenticate users and groups\n\t\t_, err := powerscale.NewAdsprovider(ctx, \"adsTest\", &powerscale.AdsproviderArgs{\n\t\t\tPassword: pulumi.String(\"password\"),\n\t\t\tUser:     pulumi.String(\"admin\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.Adsprovider;\nimport com.pulumi.powerscale.AdsproviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale ADS provider allows you to authenticate users and groups\n        var adsTest = new Adsprovider(\"adsTest\", AdsproviderArgs.builder()\n            .password(\"password\")\n            .user(\"admin\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale ADS provider allows you to authenticate users and groups\n  adsTest:\n    type: powerscale:Adsprovider\n    properties:\n      password: password\n      # User should have join permission\n      user: admin\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2023-2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/adsprovider:Adsprovider ads_test <name>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/adsprovider:Adsprovider ads_test ads_id\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "adsproviderId": {
          "type": "string",
          "description": "Specifies the ID of the Active Directory provider instance.\n"
        },
        "allocateGids": {
          "type": "boolean",
          "description": "Allocates an ID for an unmapped Active Directory (ADS) group. ADS groups without GIDs can be proactively assigned a GID by the ID mapper. If the ID mapper option is disabled, GIDs are not proactively assigned, and when a primary group for a user does not include a GID, the system may allocate one.\n"
        },
        "allocateUids": {
          "type": "boolean",
          "description": "Allocates a user ID for an unmapped Active Directory (ADS) user. ADS users without UIDs can be proactively assigned a UID by the ID mapper. IF the ID mapper option is disabled, UIDs are not proactively assigned, and when an identify for a user does not include a UID, the system may allocate one.\n"
        },
        "assumeDefaultDomain": {
          "type": "boolean",
          "description": "Enables lookup of unqualified user names in the primary domain.\n"
        },
        "authentication": {
          "type": "boolean",
          "description": "Enables authentication and identity management through the authentication provider.\n"
        },
        "checkDuplicates": {
          "type": "boolean",
          "description": "Check for duplicate SPNs registered in Active Directory.\n"
        },
        "checkOnlineInterval": {
          "type": "number",
          "description": "Specifies the time in seconds between provider online checks.\n"
        },
        "controllerTime": {
          "type": "number",
          "description": "Specifies the current time for the domain controllers.\n"
        },
        "createHomeDirectory": {
          "type": "boolean",
          "description": "Automatically creates a home directory on the first login.\n"
        },
        "dnsDomain": {
          "type": "string",
          "description": "Specifies the DNS search domain. Set this parameter if the DNS search domain has a unique name or address.\n"
        },
        "domainController": {
          "type": "string",
          "description": "Specifies the domain controller to which the authentication service should send requests\n"
        },
        "domainOfflineAlerts": {
          "type": "boolean",
          "description": "Sends an alert if the domain goes offline.\n"
        },
        "dupSpns": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Get duplicate SPNs in the provider domain\n"
        },
        "extraExpectedSpns": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of additional SPNs to expect beyond what automatic checking routines might find\n"
        },
        "findableGroups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Sets list of groups that can be resolved.\n"
        },
        "findableUsers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Sets list of users that can be resolved.\n"
        },
        "forest": {
          "type": "string",
          "description": "Specifies the Active Directory forest.\n"
        },
        "groupnet": {
          "type": "string",
          "description": "Groupnet identifier.\n"
        },
        "homeDirectoryTemplate": {
          "type": "string",
          "description": "Specifies the path to the home directory template.\n"
        },
        "hostname": {
          "type": "string",
          "description": "Specifies the fully qualified hostname stored in the machine account.\n"
        },
        "ignoreAllTrusts": {
          "type": "boolean",
          "description": "If set to true, ignores all trusted domains.\n"
        },
        "ignoredTrustedDomains": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Includes trusted domains when 'ignore*all*trusts' is set to false.\n"
        },
        "includeTrustedDomains": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Includes trusted domains when 'ignore*all*trusts' is set to true.\n"
        },
        "instance": {
          "type": "string",
          "description": "Specifies Active Directory provider instance.\n"
        },
        "kerberosHdfsSpn": {
          "type": "boolean",
          "description": "Determines if connecting through HDFS with Kerberos.\n"
        },
        "kerberosNfsSpn": {
          "type": "boolean",
          "description": "Determines if connecting through NFS with Kerberos.\n"
        },
        "ldapSignAndSeal": {
          "type": "boolean",
          "description": "Enables encryption and signing on LDAP requests.\n"
        },
        "loginShell": {
          "type": "string",
          "description": "Specifies the login shell path.\n"
        },
        "lookupDomains": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Limits user and group lookups to the specified domains.\n"
        },
        "lookupGroups": {
          "type": "boolean",
          "description": "Looks up AD groups in other providers before allocating a group ID.\n"
        },
        "lookupNormalizeGroups": {
          "type": "boolean",
          "description": "Normalizes AD group names to lowercase before look up.\n"
        },
        "lookupNormalizeUsers": {
          "type": "boolean",
          "description": "Normalize AD user names to lowercase before look up.\n"
        },
        "lookupUsers": {
          "type": "boolean",
          "description": "Looks up AD users in other providers before allocating a user ID.\n"
        },
        "machineAccount": {
          "type": "string",
          "description": "Specifies the machine account name when creating a SAM account with Active Directory.\n"
        },
        "machinePasswordChanges": {
          "type": "boolean",
          "description": "Enables periodic changes of the machine password for security.\n"
        },
        "machinePasswordLifespan": {
          "type": "number",
          "description": "Sets maximum age of a password in seconds.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the Active Directory provider name.\n"
        },
        "netbiosDomain": {
          "type": "string",
          "description": "Specifies the NetBIOS domain name associated with the machine account.\n"
        },
        "nodeDcAffinity": {
          "type": "string",
          "description": "Specifies the domain controller for which the node has affinity.\n"
        },
        "nodeDcAffinityTimeout": {
          "type": "number",
          "description": "Specifies the timeout for the domain controller for which the local node has affinity.\n"
        },
        "nssEnumeration": {
          "type": "boolean",
          "description": "Enables the Active Directory provider to respond to 'getpwent' and 'getgrent' requests.\n"
        },
        "organizationalUnit": {
          "type": "string",
          "description": "Specifies the organizational unit.\n"
        },
        "password": {
          "type": "string",
          "description": "Specifies the password used during domain join.\n",
          "secret": true
        },
        "primaryDomain": {
          "type": "string",
          "description": "Specifies the AD domain to which the provider is joined.\n"
        },
        "recommendedSpns": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Configuration recommended SPNs.\n"
        },
        "resetSchannel": {
          "type": "boolean",
          "description": "Resets the secure channel to the primary domain.\n"
        },
        "restrictFindable": {
          "type": "boolean",
          "description": "Check the provider for filtered lists of findable and unfindable users and groups.\n"
        },
        "rpcCallTimeout": {
          "type": "number",
          "description": "The maximum amount of time (in seconds) an RPC call to Active Directory is allowed to take.\n"
        },
        "scope": {
          "type": "string",
          "description": "When specified as 'effective', or not specified, all fields are returned. When specified as 'user', only fields with non-default values are shown. When specified as 'default', the original values are returned.\n"
        },
        "serverRetryLimit": {
          "type": "number",
          "description": "The number of retries attempted when a call to Active Directory fails due to network error.\n"
        },
        "sfuSupport": {
          "type": "string",
          "description": "Specifies whether to support RFC 2307 attributes on ADS domain controllers.\n"
        },
        "site": {
          "type": "string",
          "description": "Specifies the site for the Active Directory.\n"
        },
        "spns": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Currently configured SPNs.\n"
        },
        "status": {
          "type": "string",
          "description": "Specifies the status of the provider.\n"
        },
        "storeSfuMappings": {
          "type": "boolean",
          "description": "Stores SFU mappings permanently in the ID mapper.\n"
        },
        "system": {
          "type": "boolean",
          "description": "If set to true, indicates that this provider instance was created by OneFS and cannot be removed.\n"
        },
        "unfindableGroups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies groups that cannot be resolved by the provider.\n"
        },
        "unfindableUsers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies users that cannot be resolved by the provider.\n"
        },
        "user": {
          "type": "string",
          "description": "Specifies the user name that has permission to join a machine to the given domain.\n"
        },
        "zoneName": {
          "type": "string",
          "description": "Specifies the name of the access zone in which this provider was created.\n"
        }
      },
      "type": "object",
      "required": [
        "adsproviderId",
        "allocateGids",
        "allocateUids",
        "assumeDefaultDomain",
        "authentication",
        "checkOnlineInterval",
        "controllerTime",
        "createHomeDirectory",
        "domainOfflineAlerts",
        "dupSpns",
        "extraExpectedSpns",
        "findableGroups",
        "findableUsers",
        "forest",
        "groupnet",
        "homeDirectoryTemplate",
        "hostname",
        "ignoreAllTrusts",
        "ignoredTrustedDomains",
        "includeTrustedDomains",
        "ldapSignAndSeal",
        "loginShell",
        "lookupDomains",
        "lookupGroups",
        "lookupNormalizeGroups",
        "lookupNormalizeUsers",
        "lookupUsers",
        "machineAccount",
        "machinePasswordChanges",
        "machinePasswordLifespan",
        "name",
        "netbiosDomain",
        "nodeDcAffinity",
        "nodeDcAffinityTimeout",
        "nssEnumeration",
        "password",
        "primaryDomain",
        "recommendedSpns",
        "restrictFindable",
        "rpcCallTimeout",
        "serverRetryLimit",
        "sfuSupport",
        "site",
        "spns",
        "status",
        "storeSfuMappings",
        "system",
        "unfindableGroups",
        "unfindableUsers",
        "user",
        "zoneName"
      ],
      "inputProperties": {
        "adsproviderId": {
          "type": "string",
          "description": "Specifies the ID of the Active Directory provider instance.\n"
        },
        "allocateGids": {
          "type": "boolean",
          "description": "Allocates an ID for an unmapped Active Directory (ADS) group. ADS groups without GIDs can be proactively assigned a GID by the ID mapper. If the ID mapper option is disabled, GIDs are not proactively assigned, and when a primary group for a user does not include a GID, the system may allocate one.\n"
        },
        "allocateUids": {
          "type": "boolean",
          "description": "Allocates a user ID for an unmapped Active Directory (ADS) user. ADS users without UIDs can be proactively assigned a UID by the ID mapper. IF the ID mapper option is disabled, UIDs are not proactively assigned, and when an identify for a user does not include a UID, the system may allocate one.\n"
        },
        "assumeDefaultDomain": {
          "type": "boolean",
          "description": "Enables lookup of unqualified user names in the primary domain.\n"
        },
        "authentication": {
          "type": "boolean",
          "description": "Enables authentication and identity management through the authentication provider.\n"
        },
        "checkDuplicates": {
          "type": "boolean",
          "description": "Check for duplicate SPNs registered in Active Directory.\n"
        },
        "checkOnlineInterval": {
          "type": "number",
          "description": "Specifies the time in seconds between provider online checks.\n"
        },
        "controllerTime": {
          "type": "number",
          "description": "Specifies the current time for the domain controllers.\n"
        },
        "createHomeDirectory": {
          "type": "boolean",
          "description": "Automatically creates a home directory on the first login.\n"
        },
        "dnsDomain": {
          "type": "string",
          "description": "Specifies the DNS search domain. Set this parameter if the DNS search domain has a unique name or address.\n"
        },
        "domainController": {
          "type": "string",
          "description": "Specifies the domain controller to which the authentication service should send requests\n"
        },
        "domainOfflineAlerts": {
          "type": "boolean",
          "description": "Sends an alert if the domain goes offline.\n"
        },
        "extraExpectedSpns": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of additional SPNs to expect beyond what automatic checking routines might find\n"
        },
        "findableGroups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Sets list of groups that can be resolved.\n"
        },
        "findableUsers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Sets list of users that can be resolved.\n"
        },
        "groupnet": {
          "type": "string",
          "description": "Groupnet identifier.\n"
        },
        "homeDirectoryTemplate": {
          "type": "string",
          "description": "Specifies the path to the home directory template.\n"
        },
        "ignoreAllTrusts": {
          "type": "boolean",
          "description": "If set to true, ignores all trusted domains.\n"
        },
        "ignoredTrustedDomains": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Includes trusted domains when 'ignore*all*trusts' is set to false.\n"
        },
        "includeTrustedDomains": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Includes trusted domains when 'ignore*all*trusts' is set to true.\n"
        },
        "instance": {
          "type": "string",
          "description": "Specifies Active Directory provider instance.\n"
        },
        "kerberosHdfsSpn": {
          "type": "boolean",
          "description": "Determines if connecting through HDFS with Kerberos.\n"
        },
        "kerberosNfsSpn": {
          "type": "boolean",
          "description": "Determines if connecting through NFS with Kerberos.\n"
        },
        "ldapSignAndSeal": {
          "type": "boolean",
          "description": "Enables encryption and signing on LDAP requests.\n"
        },
        "loginShell": {
          "type": "string",
          "description": "Specifies the login shell path.\n"
        },
        "lookupDomains": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Limits user and group lookups to the specified domains.\n"
        },
        "lookupGroups": {
          "type": "boolean",
          "description": "Looks up AD groups in other providers before allocating a group ID.\n"
        },
        "lookupNormalizeGroups": {
          "type": "boolean",
          "description": "Normalizes AD group names to lowercase before look up.\n"
        },
        "lookupNormalizeUsers": {
          "type": "boolean",
          "description": "Normalize AD user names to lowercase before look up.\n"
        },
        "lookupUsers": {
          "type": "boolean",
          "description": "Looks up AD users in other providers before allocating a user ID.\n"
        },
        "machineAccount": {
          "type": "string",
          "description": "Specifies the machine account name when creating a SAM account with Active Directory.\n"
        },
        "machinePasswordChanges": {
          "type": "boolean",
          "description": "Enables periodic changes of the machine password for security.\n"
        },
        "machinePasswordLifespan": {
          "type": "number",
          "description": "Sets maximum age of a password in seconds.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the Active Directory provider name.\n"
        },
        "nodeDcAffinity": {
          "type": "string",
          "description": "Specifies the domain controller for which the node has affinity.\n"
        },
        "nodeDcAffinityTimeout": {
          "type": "number",
          "description": "Specifies the timeout for the domain controller for which the local node has affinity.\n"
        },
        "nssEnumeration": {
          "type": "boolean",
          "description": "Enables the Active Directory provider to respond to 'getpwent' and 'getgrent' requests.\n"
        },
        "organizationalUnit": {
          "type": "string",
          "description": "Specifies the organizational unit.\n"
        },
        "password": {
          "type": "string",
          "description": "Specifies the password used during domain join.\n",
          "secret": true
        },
        "resetSchannel": {
          "type": "boolean",
          "description": "Resets the secure channel to the primary domain.\n"
        },
        "restrictFindable": {
          "type": "boolean",
          "description": "Check the provider for filtered lists of findable and unfindable users and groups.\n"
        },
        "rpcCallTimeout": {
          "type": "number",
          "description": "The maximum amount of time (in seconds) an RPC call to Active Directory is allowed to take.\n"
        },
        "scope": {
          "type": "string",
          "description": "When specified as 'effective', or not specified, all fields are returned. When specified as 'user', only fields with non-default values are shown. When specified as 'default', the original values are returned.\n"
        },
        "serverRetryLimit": {
          "type": "number",
          "description": "The number of retries attempted when a call to Active Directory fails due to network error.\n"
        },
        "sfuSupport": {
          "type": "string",
          "description": "Specifies whether to support RFC 2307 attributes on ADS domain controllers.\n"
        },
        "spns": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Currently configured SPNs.\n"
        },
        "storeSfuMappings": {
          "type": "boolean",
          "description": "Stores SFU mappings permanently in the ID mapper.\n"
        },
        "unfindableGroups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies groups that cannot be resolved by the provider.\n"
        },
        "unfindableUsers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies users that cannot be resolved by the provider.\n"
        },
        "user": {
          "type": "string",
          "description": "Specifies the user name that has permission to join a machine to the given domain.\n"
        }
      },
      "requiredInputs": [
        "password",
        "user"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Adsprovider resources.\n",
        "properties": {
          "adsproviderId": {
            "type": "string",
            "description": "Specifies the ID of the Active Directory provider instance.\n"
          },
          "allocateGids": {
            "type": "boolean",
            "description": "Allocates an ID for an unmapped Active Directory (ADS) group. ADS groups without GIDs can be proactively assigned a GID by the ID mapper. If the ID mapper option is disabled, GIDs are not proactively assigned, and when a primary group for a user does not include a GID, the system may allocate one.\n"
          },
          "allocateUids": {
            "type": "boolean",
            "description": "Allocates a user ID for an unmapped Active Directory (ADS) user. ADS users without UIDs can be proactively assigned a UID by the ID mapper. IF the ID mapper option is disabled, UIDs are not proactively assigned, and when an identify for a user does not include a UID, the system may allocate one.\n"
          },
          "assumeDefaultDomain": {
            "type": "boolean",
            "description": "Enables lookup of unqualified user names in the primary domain.\n"
          },
          "authentication": {
            "type": "boolean",
            "description": "Enables authentication and identity management through the authentication provider.\n"
          },
          "checkDuplicates": {
            "type": "boolean",
            "description": "Check for duplicate SPNs registered in Active Directory.\n"
          },
          "checkOnlineInterval": {
            "type": "number",
            "description": "Specifies the time in seconds between provider online checks.\n"
          },
          "controllerTime": {
            "type": "number",
            "description": "Specifies the current time for the domain controllers.\n"
          },
          "createHomeDirectory": {
            "type": "boolean",
            "description": "Automatically creates a home directory on the first login.\n"
          },
          "dnsDomain": {
            "type": "string",
            "description": "Specifies the DNS search domain. Set this parameter if the DNS search domain has a unique name or address.\n"
          },
          "domainController": {
            "type": "string",
            "description": "Specifies the domain controller to which the authentication service should send requests\n"
          },
          "domainOfflineAlerts": {
            "type": "boolean",
            "description": "Sends an alert if the domain goes offline.\n"
          },
          "dupSpns": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Get duplicate SPNs in the provider domain\n"
          },
          "extraExpectedSpns": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of additional SPNs to expect beyond what automatic checking routines might find\n"
          },
          "findableGroups": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Sets list of groups that can be resolved.\n"
          },
          "findableUsers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Sets list of users that can be resolved.\n"
          },
          "forest": {
            "type": "string",
            "description": "Specifies the Active Directory forest.\n"
          },
          "groupnet": {
            "type": "string",
            "description": "Groupnet identifier.\n"
          },
          "homeDirectoryTemplate": {
            "type": "string",
            "description": "Specifies the path to the home directory template.\n"
          },
          "hostname": {
            "type": "string",
            "description": "Specifies the fully qualified hostname stored in the machine account.\n"
          },
          "ignoreAllTrusts": {
            "type": "boolean",
            "description": "If set to true, ignores all trusted domains.\n"
          },
          "ignoredTrustedDomains": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Includes trusted domains when 'ignore*all*trusts' is set to false.\n"
          },
          "includeTrustedDomains": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Includes trusted domains when 'ignore*all*trusts' is set to true.\n"
          },
          "instance": {
            "type": "string",
            "description": "Specifies Active Directory provider instance.\n"
          },
          "kerberosHdfsSpn": {
            "type": "boolean",
            "description": "Determines if connecting through HDFS with Kerberos.\n"
          },
          "kerberosNfsSpn": {
            "type": "boolean",
            "description": "Determines if connecting through NFS with Kerberos.\n"
          },
          "ldapSignAndSeal": {
            "type": "boolean",
            "description": "Enables encryption and signing on LDAP requests.\n"
          },
          "loginShell": {
            "type": "string",
            "description": "Specifies the login shell path.\n"
          },
          "lookupDomains": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Limits user and group lookups to the specified domains.\n"
          },
          "lookupGroups": {
            "type": "boolean",
            "description": "Looks up AD groups in other providers before allocating a group ID.\n"
          },
          "lookupNormalizeGroups": {
            "type": "boolean",
            "description": "Normalizes AD group names to lowercase before look up.\n"
          },
          "lookupNormalizeUsers": {
            "type": "boolean",
            "description": "Normalize AD user names to lowercase before look up.\n"
          },
          "lookupUsers": {
            "type": "boolean",
            "description": "Looks up AD users in other providers before allocating a user ID.\n"
          },
          "machineAccount": {
            "type": "string",
            "description": "Specifies the machine account name when creating a SAM account with Active Directory.\n"
          },
          "machinePasswordChanges": {
            "type": "boolean",
            "description": "Enables periodic changes of the machine password for security.\n"
          },
          "machinePasswordLifespan": {
            "type": "number",
            "description": "Sets maximum age of a password in seconds.\n"
          },
          "name": {
            "type": "string",
            "description": "Specifies the Active Directory provider name.\n"
          },
          "netbiosDomain": {
            "type": "string",
            "description": "Specifies the NetBIOS domain name associated with the machine account.\n"
          },
          "nodeDcAffinity": {
            "type": "string",
            "description": "Specifies the domain controller for which the node has affinity.\n"
          },
          "nodeDcAffinityTimeout": {
            "type": "number",
            "description": "Specifies the timeout for the domain controller for which the local node has affinity.\n"
          },
          "nssEnumeration": {
            "type": "boolean",
            "description": "Enables the Active Directory provider to respond to 'getpwent' and 'getgrent' requests.\n"
          },
          "organizationalUnit": {
            "type": "string",
            "description": "Specifies the organizational unit.\n"
          },
          "password": {
            "type": "string",
            "description": "Specifies the password used during domain join.\n",
            "secret": true
          },
          "primaryDomain": {
            "type": "string",
            "description": "Specifies the AD domain to which the provider is joined.\n"
          },
          "recommendedSpns": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Configuration recommended SPNs.\n"
          },
          "resetSchannel": {
            "type": "boolean",
            "description": "Resets the secure channel to the primary domain.\n"
          },
          "restrictFindable": {
            "type": "boolean",
            "description": "Check the provider for filtered lists of findable and unfindable users and groups.\n"
          },
          "rpcCallTimeout": {
            "type": "number",
            "description": "The maximum amount of time (in seconds) an RPC call to Active Directory is allowed to take.\n"
          },
          "scope": {
            "type": "string",
            "description": "When specified as 'effective', or not specified, all fields are returned. When specified as 'user', only fields with non-default values are shown. When specified as 'default', the original values are returned.\n"
          },
          "serverRetryLimit": {
            "type": "number",
            "description": "The number of retries attempted when a call to Active Directory fails due to network error.\n"
          },
          "sfuSupport": {
            "type": "string",
            "description": "Specifies whether to support RFC 2307 attributes on ADS domain controllers.\n"
          },
          "site": {
            "type": "string",
            "description": "Specifies the site for the Active Directory.\n"
          },
          "spns": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Currently configured SPNs.\n"
          },
          "status": {
            "type": "string",
            "description": "Specifies the status of the provider.\n"
          },
          "storeSfuMappings": {
            "type": "boolean",
            "description": "Stores SFU mappings permanently in the ID mapper.\n"
          },
          "system": {
            "type": "boolean",
            "description": "If set to true, indicates that this provider instance was created by OneFS and cannot be removed.\n"
          },
          "unfindableGroups": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies groups that cannot be resolved by the provider.\n"
          },
          "unfindableUsers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies users that cannot be resolved by the provider.\n"
          },
          "user": {
            "type": "string",
            "description": "Specifies the user name that has permission to join a machine to the given domain.\n"
          },
          "zoneName": {
            "type": "string",
            "description": "Specifies the name of the access zone in which this provider was created.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/clusterEmail:ClusterEmail": {
      "description": "This resource is used to manage the Cluster Email Settings entity of PowerScale Array. PowerScale Cluster Email Settings provide the ability to configure email settings on the cluster.We can Create, Update and Delete the Cluster Email Settings using this resource. We can also import existing Cluster Email Settings from PowerScale array. Note that, Cluster Email Settings is the native functionality of PowerScale. When creating the resource, we actually load Cluster Email Settings from PowerScale to the resource state.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\nconst test = new powerscale.ClusterEmail(\"test\", {settings: {}});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\ntest = powerscale.ClusterEmail(\"test\", settings={})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test = new Powerscale.ClusterEmail(\"test\", new()\n    {\n        Settings = null,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := powerscale.NewClusterEmail(ctx, \"test\", &powerscale.ClusterEmailArgs{\n\t\t\tSettings: &powerscale.ClusterEmailSettingsArgs{},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.ClusterEmail;\nimport com.pulumi.powerscale.ClusterEmailArgs;\nimport com.pulumi.powerscale.inputs.ClusterEmailSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new ClusterEmail(\"test\", ClusterEmailArgs.builder()\n            .settings()\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: powerscale:ClusterEmail\n    properties:\n      settings: {}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2023-2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/clusterEmail:ClusterEmail email <anystring>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/clusterEmail:ClusterEmail email cluster_email\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "settings": {
          "$ref": "#/types/powerscale:index%2FClusterEmailSettings:ClusterEmailSettings",
          "description": "Cluster email notification settings.\n"
        }
      },
      "type": "object",
      "required": [
        "settings"
      ],
      "inputProperties": {
        "settings": {
          "$ref": "#/types/powerscale:index%2FClusterEmailSettings:ClusterEmailSettings",
          "description": "Cluster email notification settings.\n"
        }
      },
      "requiredInputs": [
        "settings"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ClusterEmail resources.\n",
        "properties": {
          "settings": {
            "$ref": "#/types/powerscale:index%2FClusterEmailSettings:ClusterEmailSettings",
            "description": "Cluster email notification settings.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/clusterIdentity:ClusterIdentity": {
      "description": "This resource is used to manage the Cluster Identity settings of PowerScale Array. We can Create, Update and Delete the Cluster Identity using this resource. We can also import the existing Cluster Identity settings from PowerScale array.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.ClusterIdentity;\nimport com.pulumi.powerscale.ClusterIdentityArgs;\nimport com.pulumi.powerscale.inputs.ClusterIdentityLogonArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale Cluster identity Settings allow you to change the settings of identity\n        var exampleIdentitySettings = new ClusterIdentity(\"exampleIdentitySettings\", ClusterIdentityArgs.builder()\n            .description(\"cluster1 description\")\n            .logon(ClusterIdentityLogonArgs.builder()\n                .motd(\"motd\")\n                .motd_header(\"motd header\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale Cluster identity Settings allow you to change the settings of identity\n  exampleIdentitySettings:\n    type: powerscale:ClusterIdentity\n    properties:\n      # The description of the cluster.\n      description: cluster1 description\n      # The information displayed when a user logs in to the cluster.\n      logon:\n        motd: motd\n        motd_header: motd header\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/clusterIdentity:ClusterIdentity example_identity_settings <anyString>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/clusterIdentity:ClusterIdentity example_identity_settings \"cluster_identity\"\n```\n\nafter running this command, populate fields as per your requirement in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "description": {
          "type": "string",
          "description": "A description of the cluster.\n"
        },
        "logon": {
          "$ref": "#/types/powerscale:index%2FClusterIdentityLogon:ClusterIdentityLogon",
          "description": "The information displayed when a user logs in to the cluster.\n"
        },
        "name": {
          "type": "string",
          "description": "A unique name for this cluster.\n"
        }
      },
      "type": "object",
      "required": [
        "description",
        "logon",
        "name"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "A description of the cluster.\n"
        },
        "logon": {
          "$ref": "#/types/powerscale:index%2FClusterIdentityLogon:ClusterIdentityLogon",
          "description": "The information displayed when a user logs in to the cluster.\n"
        },
        "name": {
          "type": "string",
          "description": "A unique name for this cluster.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ClusterIdentity resources.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "A description of the cluster.\n"
          },
          "logon": {
            "$ref": "#/types/powerscale:index%2FClusterIdentityLogon:ClusterIdentityLogon",
            "description": "The information displayed when a user logs in to the cluster.\n"
          },
          "name": {
            "type": "string",
            "description": "A unique name for this cluster.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/clusterOwner:ClusterOwner": {
      "description": "This resource is used to manage the Cluster Owner Settings entity of PowerScale Array. PowerScale Cluster Owner Settings provide the ability to configure owner settings on the cluster.We can Create, Update and Delete the Cluster Owner Settings using this resource. We can also import existing Cluster Owner Settings from PowerScale array. Note that, Cluster Owner Settings is the native functionality of PowerScale. When creating the resource, we actually load Cluster Owner Settings from PowerScale to the resource state.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\nconst test = new powerscale.ClusterOwner(\"test\", {\n    company: \"company_name\",\n    location: \"location\",\n    primaryEmail: \"primary_email@example.com\",\n    primaryName: \"primary_name\",\n    primaryPhone1: \"+91-12345-67890\",\n    primaryPhone2: \"+1 123-456-7890\",\n    secondaryEmail: \"secondary_email@example.com\",\n    secondaryName: \"secondary_name\",\n    secondaryPhone1: \"+44 (20) 1234 5678\",\n    secondaryPhone2: \"+1 (800) 555-5555\",\n});\n// secondary alternate phone number\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\ntest = powerscale.ClusterOwner(\"test\",\n    company=\"company_name\",\n    location=\"location\",\n    primary_email=\"primary_email@example.com\",\n    primary_name=\"primary_name\",\n    primary_phone1=\"+91-12345-67890\",\n    primary_phone2=\"+1 123-456-7890\",\n    secondary_email=\"secondary_email@example.com\",\n    secondary_name=\"secondary_name\",\n    secondary_phone1=\"+44 (20) 1234 5678\",\n    secondary_phone2=\"+1 (800) 555-5555\")\n# secondary alternate phone number\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test = new Powerscale.ClusterOwner(\"test\", new()\n    {\n        Company = \"company_name\",\n        Location = \"location\",\n        PrimaryEmail = \"primary_email@example.com\",\n        PrimaryName = \"primary_name\",\n        PrimaryPhone1 = \"+91-12345-67890\",\n        PrimaryPhone2 = \"+1 123-456-7890\",\n        SecondaryEmail = \"secondary_email@example.com\",\n        SecondaryName = \"secondary_name\",\n        SecondaryPhone1 = \"+44 (20) 1234 5678\",\n        SecondaryPhone2 = \"+1 (800) 555-5555\",\n    });\n\n    // secondary alternate phone number\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := powerscale.NewClusterOwner(ctx, \"test\", &powerscale.ClusterOwnerArgs{\n\t\t\tCompany:         pulumi.String(\"company_name\"),\n\t\t\tLocation:        pulumi.String(\"location\"),\n\t\t\tPrimaryEmail:    pulumi.String(\"primary_email@example.com\"),\n\t\t\tPrimaryName:     pulumi.String(\"primary_name\"),\n\t\t\tPrimaryPhone1:   pulumi.String(\"+91-12345-67890\"),\n\t\t\tPrimaryPhone2:   pulumi.String(\"+1 123-456-7890\"),\n\t\t\tSecondaryEmail:  pulumi.String(\"secondary_email@example.com\"),\n\t\t\tSecondaryName:   pulumi.String(\"secondary_name\"),\n\t\t\tSecondaryPhone1: pulumi.String(\"+44 (20) 1234 5678\"),\n\t\t\tSecondaryPhone2: pulumi.String(\"+1 (800) 555-5555\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.ClusterOwner;\nimport com.pulumi.powerscale.ClusterOwnerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new ClusterOwner(\"test\", ClusterOwnerArgs.builder()\n            .company(\"company_name\")\n            .location(\"location\")\n            .primaryEmail(\"primary_email@example.com\")\n            .primaryName(\"primary_name\")\n            .primaryPhone1(\"+91-12345-67890\")\n            .primaryPhone2(\"+1 123-456-7890\")\n            .secondaryEmail(\"secondary_email@example.com\")\n            .secondaryName(\"secondary_name\")\n            .secondaryPhone1(\"+44 (20) 1234 5678\")\n            .secondaryPhone2(\"+1 (800) 555-5555\")\n            .build());\n\n        // secondary alternate phone number\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: powerscale:ClusterOwner\n    properties:\n      company: company_name\n      location: location\n      primaryEmail: primary_email@example.com\n      primaryName: primary_name\n      primaryPhone1: +91-12345-67890\n      primaryPhone2: +1 123-456-7890\n      # primary alternate phone number\n      secondaryEmail: secondary_email@example.com\n      secondaryName: secondary_name\n      secondaryPhone1: +44 (20) 1234 5678\n      secondaryPhone2: +1 (800) 555-5555\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/clusterOwner:ClusterOwner owner <anystring>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/clusterOwner:ClusterOwner owner cluster_owner\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "company": {
          "type": "string",
          "description": "Company Name of the Cluster Owner Settings.\n"
        },
        "location": {
          "type": "string",
          "description": "Location of the Cluster Owner Settings.\n"
        },
        "primaryEmail": {
          "type": "string",
          "description": "Primary Email of the Cluster Owner Settings.\n"
        },
        "primaryName": {
          "type": "string",
          "description": "Primary Name of the Cluster Owner Settings.\n"
        },
        "primaryPhone1": {
          "type": "string",
          "description": "Primary Phone of the Cluster Owner Settings.\n"
        },
        "primaryPhone2": {
          "type": "string",
          "description": "Primary Alternate Phone of the Cluster Owner Settings.\n"
        },
        "secondaryEmail": {
          "type": "string",
          "description": "Secondary Email of the Cluster Owner Settings.\n"
        },
        "secondaryName": {
          "type": "string",
          "description": "Secondary Name of the Cluster Owner Settings.\n"
        },
        "secondaryPhone1": {
          "type": "string",
          "description": "Secondary Phone of the Cluster Owner Settings.\n"
        },
        "secondaryPhone2": {
          "type": "string",
          "description": "Secondary Alternate Phone of the Cluster Owner Settings.\n"
        }
      },
      "type": "object",
      "required": [
        "company",
        "location",
        "primaryEmail",
        "primaryName",
        "primaryPhone1",
        "primaryPhone2",
        "secondaryEmail",
        "secondaryName",
        "secondaryPhone1",
        "secondaryPhone2"
      ],
      "inputProperties": {
        "company": {
          "type": "string",
          "description": "Company Name of the Cluster Owner Settings.\n"
        },
        "location": {
          "type": "string",
          "description": "Location of the Cluster Owner Settings.\n"
        },
        "primaryEmail": {
          "type": "string",
          "description": "Primary Email of the Cluster Owner Settings.\n"
        },
        "primaryName": {
          "type": "string",
          "description": "Primary Name of the Cluster Owner Settings.\n"
        },
        "primaryPhone1": {
          "type": "string",
          "description": "Primary Phone of the Cluster Owner Settings.\n"
        },
        "primaryPhone2": {
          "type": "string",
          "description": "Primary Alternate Phone of the Cluster Owner Settings.\n"
        },
        "secondaryEmail": {
          "type": "string",
          "description": "Secondary Email of the Cluster Owner Settings.\n"
        },
        "secondaryName": {
          "type": "string",
          "description": "Secondary Name of the Cluster Owner Settings.\n"
        },
        "secondaryPhone1": {
          "type": "string",
          "description": "Secondary Phone of the Cluster Owner Settings.\n"
        },
        "secondaryPhone2": {
          "type": "string",
          "description": "Secondary Alternate Phone of the Cluster Owner Settings.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ClusterOwner resources.\n",
        "properties": {
          "company": {
            "type": "string",
            "description": "Company Name of the Cluster Owner Settings.\n"
          },
          "location": {
            "type": "string",
            "description": "Location of the Cluster Owner Settings.\n"
          },
          "primaryEmail": {
            "type": "string",
            "description": "Primary Email of the Cluster Owner Settings.\n"
          },
          "primaryName": {
            "type": "string",
            "description": "Primary Name of the Cluster Owner Settings.\n"
          },
          "primaryPhone1": {
            "type": "string",
            "description": "Primary Phone of the Cluster Owner Settings.\n"
          },
          "primaryPhone2": {
            "type": "string",
            "description": "Primary Alternate Phone of the Cluster Owner Settings.\n"
          },
          "secondaryEmail": {
            "type": "string",
            "description": "Secondary Email of the Cluster Owner Settings.\n"
          },
          "secondaryName": {
            "type": "string",
            "description": "Secondary Name of the Cluster Owner Settings.\n"
          },
          "secondaryPhone1": {
            "type": "string",
            "description": "Secondary Phone of the Cluster Owner Settings.\n"
          },
          "secondaryPhone2": {
            "type": "string",
            "description": "Secondary Alternate Phone of the Cluster Owner Settings.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/clusterSnmp:ClusterSnmp": {
      "description": "This resource is used to manage the Cluster SNMP settings of PowerScale Array. We can Create, Update and Delete the Cluster SNMP using this resource. We can also import the existing Cluster SNMP settings from PowerScale array.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale Cluster SNMP Settings allow you to change the settings of SNMP\nconst exampleSnmpSettings = new powerscale.ClusterSnmp(\"exampleSnmpSettings\", {enabled: true});\n//enables/disables cluster SNMP Settings\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale Cluster SNMP Settings allow you to change the settings of SNMP\nexample_snmp_settings = powerscale.ClusterSnmp(\"exampleSnmpSettings\", enabled=True)\n#enables/disables cluster SNMP Settings\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale Cluster SNMP Settings allow you to change the settings of SNMP\n    var exampleSnmpSettings = new Powerscale.ClusterSnmp(\"exampleSnmpSettings\", new()\n    {\n        Enabled = true,\n    });\n\n    //enables/disables cluster SNMP Settings\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale Cluster SNMP Settings allow you to change the settings of SNMP\n\t\t_, err := powerscale.NewClusterSnmp(ctx, \"exampleSnmpSettings\", &powerscale.ClusterSnmpArgs{\n\t\t\tEnabled: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.ClusterSnmp;\nimport com.pulumi.powerscale.ClusterSnmpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale Cluster SNMP Settings allow you to change the settings of SNMP\n        var exampleSnmpSettings = new ClusterSnmp(\"exampleSnmpSettings\", ClusterSnmpArgs.builder()\n            .enabled(true)\n            .build());\n\n        //enables/disables cluster SNMP Settings\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale Cluster SNMP Settings allow you to change the settings of SNMP\n  exampleSnmpSettings:\n    type: powerscale:ClusterSnmp\n    properties:\n      # Required field\n      enabled: true\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/clusterSnmp:ClusterSnmp example_snmp_settings <anyString>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/clusterSnmp:ClusterSnmp example_snmp_settings \"cluster_snmp\"\n```\n\nafter running this command, populate the enabled field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "enabled": {
          "type": "boolean",
          "description": "True if the Cluster SNMP is enabled. If true, either `snmp_v1v2_access` or `snmp_v3_access` is required.\n"
        },
        "readOnlyCommunity": {
          "type": "string",
          "description": "The read-only community string for the Cluster SNMP.\n"
        },
        "snmpV1V2cAccess": {
          "type": "boolean",
          "description": "The SNMPv1/v2c access for the Cluster SNMP. Also requires `read_only_community`.\n"
        },
        "snmpV3Access": {
          "type": "boolean",
          "description": "The SNMPv3 access for the Cluster SNMP. Also requires snmp*v3*password.\n"
        },
        "snmpV3AuthProtocol": {
          "type": "string",
          "description": "The SNMPv3 authentication protocol for the Cluster SNMP. Accepted values are `MD5`and `SHA`.\n"
        },
        "snmpV3Password": {
          "type": "string",
          "description": "The SNMPv3 authentication password for the Cluster SNMP.\n"
        },
        "snmpV3PrivPassword": {
          "type": "string",
          "description": "The SNMPv3 privacy protocol password for the Cluster SNMP.\n"
        },
        "snmpV3PrivProtocol": {
          "type": "string",
          "description": "The SNMPv3 privacy protocol for the Cluster SNMP.\n"
        },
        "snmpV3ReadOnlyUser": {
          "type": "string",
          "description": "The SNMPv3 read-only user for the Cluster SNMP.\n"
        },
        "snmpV3SecurityLevel": {
          "type": "string",
          "description": "The SNMPv3 security level for the Cluster SNMP.\n"
        },
        "systemContact": {
          "type": "string",
          "description": "The system contact for the Cluster SNMP.\n"
        },
        "systemLocation": {
          "type": "string",
          "description": "The system location for the Cluster SNMP.\n"
        }
      },
      "type": "object",
      "required": [
        "enabled",
        "readOnlyCommunity",
        "snmpV1V2cAccess",
        "snmpV3Access",
        "snmpV3AuthProtocol",
        "snmpV3Password",
        "snmpV3PrivPassword",
        "snmpV3PrivProtocol",
        "snmpV3ReadOnlyUser",
        "snmpV3SecurityLevel",
        "systemContact",
        "systemLocation"
      ],
      "inputProperties": {
        "enabled": {
          "type": "boolean",
          "description": "True if the Cluster SNMP is enabled. If true, either `snmp_v1v2_access` or `snmp_v3_access` is required.\n"
        },
        "readOnlyCommunity": {
          "type": "string",
          "description": "The read-only community string for the Cluster SNMP.\n"
        },
        "snmpV1V2cAccess": {
          "type": "boolean",
          "description": "The SNMPv1/v2c access for the Cluster SNMP. Also requires `read_only_community`.\n"
        },
        "snmpV3Access": {
          "type": "boolean",
          "description": "The SNMPv3 access for the Cluster SNMP. Also requires snmp*v3*password.\n"
        },
        "snmpV3AuthProtocol": {
          "type": "string",
          "description": "The SNMPv3 authentication protocol for the Cluster SNMP. Accepted values are `MD5`and `SHA`.\n"
        },
        "snmpV3Password": {
          "type": "string",
          "description": "The SNMPv3 authentication password for the Cluster SNMP.\n"
        },
        "snmpV3PrivPassword": {
          "type": "string",
          "description": "The SNMPv3 privacy protocol password for the Cluster SNMP.\n"
        },
        "snmpV3PrivProtocol": {
          "type": "string",
          "description": "The SNMPv3 privacy protocol for the Cluster SNMP.\n"
        },
        "snmpV3ReadOnlyUser": {
          "type": "string",
          "description": "The SNMPv3 read-only user for the Cluster SNMP.\n"
        },
        "snmpV3SecurityLevel": {
          "type": "string",
          "description": "The SNMPv3 security level for the Cluster SNMP.\n"
        },
        "systemContact": {
          "type": "string",
          "description": "The system contact for the Cluster SNMP.\n"
        },
        "systemLocation": {
          "type": "string",
          "description": "The system location for the Cluster SNMP.\n"
        }
      },
      "requiredInputs": [
        "enabled"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ClusterSnmp resources.\n",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "True if the Cluster SNMP is enabled. If true, either `snmp_v1v2_access` or `snmp_v3_access` is required.\n"
          },
          "readOnlyCommunity": {
            "type": "string",
            "description": "The read-only community string for the Cluster SNMP.\n"
          },
          "snmpV1V2cAccess": {
            "type": "boolean",
            "description": "The SNMPv1/v2c access for the Cluster SNMP. Also requires `read_only_community`.\n"
          },
          "snmpV3Access": {
            "type": "boolean",
            "description": "The SNMPv3 access for the Cluster SNMP. Also requires snmp*v3*password.\n"
          },
          "snmpV3AuthProtocol": {
            "type": "string",
            "description": "The SNMPv3 authentication protocol for the Cluster SNMP. Accepted values are `MD5`and `SHA`.\n"
          },
          "snmpV3Password": {
            "type": "string",
            "description": "The SNMPv3 authentication password for the Cluster SNMP.\n"
          },
          "snmpV3PrivPassword": {
            "type": "string",
            "description": "The SNMPv3 privacy protocol password for the Cluster SNMP.\n"
          },
          "snmpV3PrivProtocol": {
            "type": "string",
            "description": "The SNMPv3 privacy protocol for the Cluster SNMP.\n"
          },
          "snmpV3ReadOnlyUser": {
            "type": "string",
            "description": "The SNMPv3 read-only user for the Cluster SNMP.\n"
          },
          "snmpV3SecurityLevel": {
            "type": "string",
            "description": "The SNMPv3 security level for the Cluster SNMP.\n"
          },
          "systemContact": {
            "type": "string",
            "description": "The system contact for the Cluster SNMP.\n"
          },
          "systemLocation": {
            "type": "string",
            "description": "The system location for the Cluster SNMP.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/clusterTime:ClusterTime": {
      "description": "This resource is used to manage the Cluster Time settings of PowerScale Array. We can Create, Update and Delete the Cluster Time using this resource. We can also import an existing Cluster Time from PowerScale array.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\nconst test = new powerscale.ClusterTime(\"test\", {\n    date: \"01/12/2024\",\n    path: \"Asia/Kolkata\",\n    time: \"00:32\",\n});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\ntest = powerscale.ClusterTime(\"test\",\n    date=\"01/12/2024\",\n    path=\"Asia/Kolkata\",\n    time=\"00:32\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    var test = new Powerscale.ClusterTime(\"test\", new()\n    {\n        Date = \"01/12/2024\",\n        Path = \"Asia/Kolkata\",\n        Time = \"00:32\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := powerscale.NewClusterTime(ctx, \"test\", &powerscale.ClusterTimeArgs{\n\t\t\tDate: pulumi.String(\"01/12/2024\"),\n\t\t\tPath: pulumi.String(\"Asia/Kolkata\"),\n\t\t\tTime: pulumi.String(\"00:32\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.ClusterTime;\nimport com.pulumi.powerscale.ClusterTimeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new ClusterTime(\"test\", ClusterTimeArgs.builder()\n            .date(\"01/12/2024\")\n            .path(\"Asia/Kolkata\")\n            .time(\"00:32\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: powerscale:ClusterTime\n    properties:\n      date: 01/12/2024\n      path: Asia/Kolkata\n      time: 00:32\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/clusterTime:ClusterTime time <anystring>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/clusterTime:ClusterTime time cluster_time\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "abbreviation": {
          "type": "string",
          "description": "Timezone abbreviation.\n"
        },
        "date": {
          "type": "string",
          "description": "Date of the Cluster Time Settings, Please follow format MM/dd/yyyy\n"
        },
        "path": {
          "type": "string",
          "description": "Timezone hierarchical name.\n"
        },
        "time": {
          "type": "string",
          "description": "Time of the Cluster Time Settings, Please follow format HH:mm\n"
        },
        "timeMillis": {
          "type": "number",
          "description": "Time in Miliseconds of the Cluster\n"
        }
      },
      "type": "object",
      "required": [
        "abbreviation",
        "date",
        "path",
        "time",
        "timeMillis"
      ],
      "inputProperties": {
        "date": {
          "type": "string",
          "description": "Date of the Cluster Time Settings, Please follow format MM/dd/yyyy\n"
        },
        "path": {
          "type": "string",
          "description": "Timezone hierarchical name.\n"
        },
        "time": {
          "type": "string",
          "description": "Time of the Cluster Time Settings, Please follow format HH:mm\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering ClusterTime resources.\n",
        "properties": {
          "abbreviation": {
            "type": "string",
            "description": "Timezone abbreviation.\n"
          },
          "date": {
            "type": "string",
            "description": "Date of the Cluster Time Settings, Please follow format MM/dd/yyyy\n"
          },
          "path": {
            "type": "string",
            "description": "Timezone hierarchical name.\n"
          },
          "time": {
            "type": "string",
            "description": "Time of the Cluster Time Settings, Please follow format HH:mm\n"
          },
          "timeMillis": {
            "type": "number",
            "description": "Time in Miliseconds of the Cluster\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/filepoolPolicy:FilepoolPolicy": {
      "description": "This resource is used to manage the File Pool Policy entity of PowerScale Array. We can Create, Update and Delete the File Pool Policy using this resource. We can also import an existing File Pool Policy from PowerScale array. PowerScale File Pool Policy can identify logical groups of files and specify storage operations for these files.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.FilepoolPolicy;\nimport com.pulumi.powerscale.FilepoolPolicyArgs;\nimport com.pulumi.powerscale.inputs.FilepoolPolicyActionArgs;\nimport com.pulumi.powerscale.inputs.FilepoolPolicyActionDataStoragePolicyActionArgs;\nimport com.pulumi.powerscale.inputs.FilepoolPolicyActionSnapshotStoragePolicyActionArgs;\nimport com.pulumi.powerscale.inputs.FilepoolPolicyActionCloudpoolPolicyActionArgs;\nimport com.pulumi.powerscale.inputs.FilepoolPolicyActionCloudpoolPolicyActionCacheArgs;\nimport com.pulumi.powerscale.inputs.FilepoolPolicyFileMatchingPatternArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale File Pool Policy can identify logical groups of files and specify storage operations for these files.\n        var exampleFilepoolPolicy = new FilepoolPolicy(\"exampleFilepoolPolicy\", FilepoolPolicyArgs.builder()\n            .actions(            \n                FilepoolPolicyActionArgs.builder()\n                    .actionType(\"set_data_access_pattern\")\n                    .dataAccessPatternAction(\"concurrency\")\n                    .build(),\n                FilepoolPolicyActionArgs.builder()\n                    .actionType(\"apply_data_storage_policy\")\n                    .dataStoragePolicyAction(FilepoolPolicyActionDataStoragePolicyActionArgs.builder()\n                        .ssdStrategy(\"metadata\")\n                        .storagepool(\"anywhere\")\n                        .build())\n                    .build(),\n                FilepoolPolicyActionArgs.builder()\n                    .actionType(\"apply_snapshot_storage_policy\")\n                    .snapshotStoragePolicyAction(FilepoolPolicyActionSnapshotStoragePolicyActionArgs.builder()\n                        .ssdStrategy(\"metadata\")\n                        .storagepool(\"anywhere\")\n                        .build())\n                    .build(),\n                FilepoolPolicyActionArgs.builder()\n                    .actionType(\"set_requested_protection\")\n                    .requestedProtectionAction(\"default\")\n                    .build(),\n                FilepoolPolicyActionArgs.builder()\n                    .actionType(\"enable_coalescer\")\n                    .enableCoalescerAction(true)\n                    .build(),\n                FilepoolPolicyActionArgs.builder()\n                    .actionType(\"enable_packing\")\n                    .enablePackingAction(true)\n                    .build(),\n                FilepoolPolicyActionArgs.builder()\n                    .actionType(\"set_cloudpool_policy\")\n                    .cloudpoolPolicyAction(FilepoolPolicyActionCloudpoolPolicyActionArgs.builder()\n                        .archiveSnapshotFiles(true)\n                        .cache(FilepoolPolicyActionCloudpoolPolicyActionCacheArgs.builder()\n                            .expiration(86400)\n                            .readAhead(\"partial\")\n                            .type(\"cached\")\n                            .build())\n                        .compression(true)\n                        .dataRetention(604800)\n                        .encryption(true)\n                        .fullBackupRetention(145152000)\n                        .incrementalBackupRetention(145152000)\n                        .pool(\"cloudPool_policy\")\n                        .writebackFrequency(32400)\n                        .build())\n                    .build())\n            .applyOrder(1)\n            .description(\"filePoolPolicySample description\")\n            .fileMatchingPattern(FilepoolPolicyFileMatchingPatternArgs.builder()\n                .or_criteria(                \n                    %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),\n                    %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n                .build())\n            .isDefaultPolicy(false)\n            .build());\n\n        // PowerScale Default File Pool Policy applies to all files not selected by higher-priority and can specify storage operations for these files.\n        var exampleDefaultPolicy = new FilepoolPolicy(\"exampleDefaultPolicy\", FilepoolPolicyArgs.builder()\n            .actions(            \n                FilepoolPolicyActionArgs.builder()\n                    .actionType(\"set_data_access_pattern\")\n                    .dataAccessPatternAction(\"concurrency\")\n                    .build(),\n                FilepoolPolicyActionArgs.builder()\n                    .actionType(\"apply_data_storage_policy\")\n                    .dataStoragePolicyAction(FilepoolPolicyActionDataStoragePolicyActionArgs.builder()\n                        .ssdStrategy(\"metadata\")\n                        .storagepool(\"anywhere\")\n                        .build())\n                    .build(),\n                FilepoolPolicyActionArgs.builder()\n                    .actionType(\"apply_snapshot_storage_policy\")\n                    .snapshotStoragePolicyAction(FilepoolPolicyActionSnapshotStoragePolicyActionArgs.builder()\n                        .ssdStrategy(\"metadata\")\n                        .storagepool(\"anywhere\")\n                        .build())\n                    .build(),\n                FilepoolPolicyActionArgs.builder()\n                    .actionType(\"set_requested_protection\")\n                    .requestedProtectionAction(\"default\")\n                    .build(),\n                FilepoolPolicyActionArgs.builder()\n                    .actionType(\"enable_coalescer\")\n                    .enableCoalescerAction(true)\n                    .build(),\n                FilepoolPolicyActionArgs.builder()\n                    .actionType(\"enable_packing\")\n                    .enablePackingAction(true)\n                    .build())\n            .isDefaultPolicy(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale File Pool Policy can identify logical groups of files and specify storage operations for these files.\n  exampleFilepoolPolicy:\n    type: powerscale:FilepoolPolicy\n    properties:\n      # A list of actions to be taken for matching files. (Update Supported)\n      actions:\n        - actionType: set_data_access_pattern\n          dataAccessPatternAction: concurrency\n        - actionType: apply_data_storage_policy\n          dataStoragePolicyAction:\n            ssdStrategy: metadata\n            storagepool: anywhere\n        - actionType: apply_snapshot_storage_policy\n          snapshotStoragePolicyAction:\n            ssdStrategy: metadata\n            storagepool: anywhere\n        - actionType: set_requested_protection\n          requestedProtectionAction: default\n        - actionType: enable_coalescer\n          enableCoalescerAction: true\n        - actionType: enable_packing\n          enablePackingAction: true\n        - actionType: set_cloudpool_policy\n          cloudpoolPolicyAction:\n            archiveSnapshotFiles: true\n            cache:\n              expiration: 86400\n              readAhead: partial\n              type: cached\n            compression: true\n            dataRetention: 604800\n            encryption: true\n            fullBackupRetention: 1.45152e+08\n            incrementalBackupRetention: 1.45152e+08\n            pool: cloudPool_policy\n            writebackFrequency: 32400\n      # The order in which this policy should be applied (relative to other policies). (Update Supported)\n      applyOrder: 1\n      # A description for this policy. (Update Supported)\n      description: filePoolPolicySample description\n      # Optional params for creating and updating.\n      #     // Specifies the file matching rules for determining which files will be managed by this policy. (Update Supported)\n      fileMatchingPattern:\n        or_criteria:\n          - andCriteria:\n              - operator: '>'\n                type: size\n                units: B\n                value: '1073741824'\n              - operator: '>'\n                type: birth_time\n                useRelativeTime: true\n                value: '20'\n              - operator: '>'\n                type: metadata_changed_time\n                useRelativeTime: false\n                value: '1704742200'\n              - operator: <\n                type: accessed_time\n                useRelativeTime: true\n                value: '20'\n          - andCriteria:\n              - operator: <\n                type: changed_time\n                useRelativeTime: false\n                value: '1704820500'\n              - attributeExists: false\n                field: test\n                type: custom_attribute\n                value: \"\"\n              - operator: '!='\n                type: file_type\n                value: directory\n              - beginsWith: false\n                caseSensitive: true\n                operator: '!='\n                type: path\n                value: test\n              - caseSensitive: true\n                operator: '!='\n                type: name\n                value: test\n      # Optional is_default_policy for creating. Specifies if the policy is default policy. \n      #     // Default policy applies to all files not selected by higher-priority policies.\n      isDefaultPolicy: false\n  # PowerScale Default File Pool Policy applies to all files not selected by higher-priority and can specify storage operations for these files.\n  exampleDefaultPolicy:\n    type: powerscale:FilepoolPolicy\n    properties:\n      # Optional actions when creating and updating.\n      #     // A list of actions to be taken for matching files. (Update Supported)\n      actions:\n        - actionType: set_data_access_pattern\n          dataAccessPatternAction: concurrency\n        - actionType: apply_data_storage_policy\n          dataStoragePolicyAction:\n            ssdStrategy: metadata\n            storagepool: anywhere\n        - actionType: apply_snapshot_storage_policy\n          snapshotStoragePolicyAction:\n            ssdStrategy: metadata\n            storagepool: anywhere\n        - actionType: set_requested_protection\n          requestedProtectionAction: default\n        - actionType: enable_coalescer\n          enableCoalescerAction: true\n        - actionType: enable_packing\n          enablePackingAction: true\n      # Optional is_default_policy for creating. Specifies if the policy is default policy. \n      #     // Default policy applies to all files not selected by higher-priority policies.\n      isDefaultPolicy: true\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2023-2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/filepoolPolicy:FilepoolPolicy example_filepool_policy <policyID>\n```\n\nExample1:\n\n```sh\n$ pulumi import powerscale:index/filepoolPolicy:FilepoolPolicy example_filepool_policy filePoolPolicySample\n```\n\nExample2, for default policy, policyID should be \"is_default_policy=true\":\n\n```sh\n$ pulumi import powerscale:index/filepoolPolicy:FilepoolPolicy example_filepool_policy is_default_policy=true\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "actions": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FFilepoolPolicyAction:FilepoolPolicyAction"
          },
          "description": "A list of actions to be taken for matching files.\n"
        },
        "applyOrder": {
          "type": "number",
          "description": "The order in which this policy should be applied (relative to other policies).\n"
        },
        "birthClusterId": {
          "type": "string",
          "description": "The guid assigned to the cluster on which the policy was created.\n"
        },
        "description": {
          "type": "string",
          "description": "A description for this File Pool Policy.\n"
        },
        "fileMatchingPattern": {
          "$ref": "#/types/powerscale:index%2FFilepoolPolicyFileMatchingPattern:FilepoolPolicyFileMatchingPattern",
          "description": "Specifies the file matching rules for determining which files will be managed by this policy.\n"
        },
        "isDefaultPolicy": {
          "type": "boolean",
          "description": "Specifies if the policy is default policy. Default policy applies to all files not selected by higher-priority policies. Cannot be updated.\n"
        },
        "name": {
          "type": "string",
          "description": "A unique name for this policy. If the policy is default policy, its name should be \"Default policy\".\n"
        },
        "state": {
          "type": "string",
          "description": "Indicates whether this policy is in a good state (\"OK\") or disabled (\"disabled\").\n"
        },
        "stateDetails": {
          "type": "string",
          "description": "Gives further information to describe the state of this policy.\n"
        }
      },
      "type": "object",
      "required": [
        "applyOrder",
        "birthClusterId",
        "description",
        "name",
        "state",
        "stateDetails"
      ],
      "inputProperties": {
        "actions": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FFilepoolPolicyAction:FilepoolPolicyAction"
          },
          "description": "A list of actions to be taken for matching files.\n"
        },
        "applyOrder": {
          "type": "number",
          "description": "The order in which this policy should be applied (relative to other policies).\n"
        },
        "description": {
          "type": "string",
          "description": "A description for this File Pool Policy.\n"
        },
        "fileMatchingPattern": {
          "$ref": "#/types/powerscale:index%2FFilepoolPolicyFileMatchingPattern:FilepoolPolicyFileMatchingPattern",
          "description": "Specifies the file matching rules for determining which files will be managed by this policy.\n"
        },
        "isDefaultPolicy": {
          "type": "boolean",
          "description": "Specifies if the policy is default policy. Default policy applies to all files not selected by higher-priority policies. Cannot be updated.\n"
        },
        "name": {
          "type": "string",
          "description": "A unique name for this policy. If the policy is default policy, its name should be \"Default policy\".\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering FilepoolPolicy resources.\n",
        "properties": {
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/types/powerscale:index%2FFilepoolPolicyAction:FilepoolPolicyAction"
            },
            "description": "A list of actions to be taken for matching files.\n"
          },
          "applyOrder": {
            "type": "number",
            "description": "The order in which this policy should be applied (relative to other policies).\n"
          },
          "birthClusterId": {
            "type": "string",
            "description": "The guid assigned to the cluster on which the policy was created.\n"
          },
          "description": {
            "type": "string",
            "description": "A description for this File Pool Policy.\n"
          },
          "fileMatchingPattern": {
            "$ref": "#/types/powerscale:index%2FFilepoolPolicyFileMatchingPattern:FilepoolPolicyFileMatchingPattern",
            "description": "Specifies the file matching rules for determining which files will be managed by this policy.\n"
          },
          "isDefaultPolicy": {
            "type": "boolean",
            "description": "Specifies if the policy is default policy. Default policy applies to all files not selected by higher-priority policies. Cannot be updated.\n"
          },
          "name": {
            "type": "string",
            "description": "A unique name for this policy. If the policy is default policy, its name should be \"Default policy\".\n"
          },
          "state": {
            "type": "string",
            "description": "Indicates whether this policy is in a good state (\"OK\") or disabled (\"disabled\").\n"
          },
          "stateDetails": {
            "type": "string",
            "description": "Gives further information to describe the state of this policy.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/filesystem:Filesystem": {
      "description": "This resource is used to manage the FileSystem (Namespace directory) entity of PowerScale Array. We can Create, Update and Delete the FileSystem using this resource. We can also import an existing FileSystem from PowerScale array.\n\n\n## Import\n\nCopyright (c) 2023-2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/filesystem:Filesystem file_system_test <name>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/filesystem:Filesystem file_system_test ifs/DirTf\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "accessControl": {
          "type": "string",
          "description": "The ACL value for the directory. Users can either provide access rights input such as 'private*read' , 'private' ,\n\t\t\t'public*read', 'public*read*write', 'public' or permissions in POSIX format as '0550', '0770', '0775','0777' or 0700. The Default value is (0700).\n\t\t\t(Update Supported but Modification of ACL is only supported from POSIX to POSIX mode)\n"
        },
        "authoritative": {
          "type": "string",
          "description": "If the directory has access rights set, then this field returns acl. Otherwise it returns mode.\n"
        },
        "creationTime": {
          "type": "string",
          "description": "File System Resource Creation time\n"
        },
        "directoryPath": {
          "type": "string",
          "description": "FileSystem directory path.This specifies the path to the FileSystem(Namespace directory) which we are trying to manage. If no directory path is specified, [/ifs] would be taken by default.\n"
        },
        "filesystemId": {
          "type": "string",
          "description": "FileSystem identifier. Unique identifier for the FileSystem(Namespace directory)\n"
        },
        "fullPath": {
          "type": "string",
          "description": "The full path of the FileSystem\n"
        },
        "group": {
          "$ref": "#/types/powerscale:index%2FFilesystemGroup:FilesystemGroup",
          "description": "The group of the Filesystem.(Update Supported)\n"
        },
        "mode": {
          "type": "string",
          "description": "Acl mode\n"
        },
        "name": {
          "type": "string",
          "description": "FileSystem directory name\n"
        },
        "overwrite": {
          "type": "boolean",
          "description": "Deletes and replaces the existing user attributes and ACLs of the directory with user-specified attributes if set to true.\n"
        },
        "owner": {
          "$ref": "#/types/powerscale:index%2FFilesystemOwner:FilesystemOwner",
          "description": "The owner of the Filesystem.(Update Supported)\n"
        },
        "queryZone": {
          "type": "string",
          "description": "Specifies the zone that the object belongs to. Optional and will default to the default access zone if one is not set.\n"
        },
        "recursive": {
          "type": "boolean",
          "description": "Creates intermediate folders recursively when set to true.\n"
        },
        "type": {
          "type": "string",
          "description": "File System Resource type\n"
        }
      },
      "type": "object",
      "required": [
        "authoritative",
        "creationTime",
        "directoryPath",
        "filesystemId",
        "fullPath",
        "group",
        "mode",
        "name",
        "overwrite",
        "owner",
        "recursive",
        "type"
      ],
      "inputProperties": {
        "accessControl": {
          "type": "string",
          "description": "The ACL value for the directory. Users can either provide access rights input such as 'private*read' , 'private' ,\n\t\t\t'public*read', 'public*read*write', 'public' or permissions in POSIX format as '0550', '0770', '0775','0777' or 0700. The Default value is (0700).\n\t\t\t(Update Supported but Modification of ACL is only supported from POSIX to POSIX mode)\n"
        },
        "directoryPath": {
          "type": "string",
          "description": "FileSystem directory path.This specifies the path to the FileSystem(Namespace directory) which we are trying to manage. If no directory path is specified, [/ifs] would be taken by default.\n"
        },
        "filesystemId": {
          "type": "string",
          "description": "FileSystem identifier. Unique identifier for the FileSystem(Namespace directory)\n"
        },
        "fullPath": {
          "type": "string",
          "description": "The full path of the FileSystem\n"
        },
        "group": {
          "$ref": "#/types/powerscale:index%2FFilesystemGroup:FilesystemGroup",
          "description": "The group of the Filesystem.(Update Supported)\n"
        },
        "name": {
          "type": "string",
          "description": "FileSystem directory name\n"
        },
        "overwrite": {
          "type": "boolean",
          "description": "Deletes and replaces the existing user attributes and ACLs of the directory with user-specified attributes if set to true.\n"
        },
        "owner": {
          "$ref": "#/types/powerscale:index%2FFilesystemOwner:FilesystemOwner",
          "description": "The owner of the Filesystem.(Update Supported)\n"
        },
        "queryZone": {
          "type": "string",
          "description": "Specifies the zone that the object belongs to. Optional and will default to the default access zone if one is not set.\n"
        },
        "recursive": {
          "type": "boolean",
          "description": "Creates intermediate folders recursively when set to true.\n"
        }
      },
      "requiredInputs": [
        "group",
        "owner"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Filesystem resources.\n",
        "properties": {
          "accessControl": {
            "type": "string",
            "description": "The ACL value for the directory. Users can either provide access rights input such as 'private*read' , 'private' ,\n\t\t\t'public*read', 'public*read*write', 'public' or permissions in POSIX format as '0550', '0770', '0775','0777' or 0700. The Default value is (0700).\n\t\t\t(Update Supported but Modification of ACL is only supported from POSIX to POSIX mode)\n"
          },
          "authoritative": {
            "type": "string",
            "description": "If the directory has access rights set, then this field returns acl. Otherwise it returns mode.\n"
          },
          "creationTime": {
            "type": "string",
            "description": "File System Resource Creation time\n"
          },
          "directoryPath": {
            "type": "string",
            "description": "FileSystem directory path.This specifies the path to the FileSystem(Namespace directory) which we are trying to manage. If no directory path is specified, [/ifs] would be taken by default.\n"
          },
          "filesystemId": {
            "type": "string",
            "description": "FileSystem identifier. Unique identifier for the FileSystem(Namespace directory)\n"
          },
          "fullPath": {
            "type": "string",
            "description": "The full path of the FileSystem\n"
          },
          "group": {
            "$ref": "#/types/powerscale:index%2FFilesystemGroup:FilesystemGroup",
            "description": "The group of the Filesystem.(Update Supported)\n"
          },
          "mode": {
            "type": "string",
            "description": "Acl mode\n"
          },
          "name": {
            "type": "string",
            "description": "FileSystem directory name\n"
          },
          "overwrite": {
            "type": "boolean",
            "description": "Deletes and replaces the existing user attributes and ACLs of the directory with user-specified attributes if set to true.\n"
          },
          "owner": {
            "$ref": "#/types/powerscale:index%2FFilesystemOwner:FilesystemOwner",
            "description": "The owner of the Filesystem.(Update Supported)\n"
          },
          "queryZone": {
            "type": "string",
            "description": "Specifies the zone that the object belongs to. Optional and will default to the default access zone if one is not set.\n"
          },
          "recursive": {
            "type": "boolean",
            "description": "Creates intermediate folders recursively when set to true.\n"
          },
          "type": {
            "type": "string",
            "description": "File System Resource type\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/groupnet:Groupnet": {
      "description": "This resource is used to manage the Groupnet entity of PowerScale Array. We can Create, Update and Delete the Groupnet using this resource. We can also import an existing Groupnet from PowerScale array. PowerScale Groupnet sits above subnets and pools and allows separate Access Zones to contain distinct DNS settings.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale Groupnet sits above subnets and pools and allows separate Access Zones to contain distinct DNS settings.\nconst exampleGroupnet = new powerscale.Groupnet(\"exampleGroupnet\", {});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale Groupnet sits above subnets and pools and allows separate Access Zones to contain distinct DNS settings.\nexample_groupnet = powerscale.Groupnet(\"exampleGroupnet\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale Groupnet sits above subnets and pools and allows separate Access Zones to contain distinct DNS settings.\n    var exampleGroupnet = new Powerscale.Groupnet(\"exampleGroupnet\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale Groupnet sits above subnets and pools and allows separate Access Zones to contain distinct DNS settings.\n\t\t_, err := powerscale.NewGroupnet(ctx, \"exampleGroupnet\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.Groupnet;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale Groupnet sits above subnets and pools and allows separate Access Zones to contain distinct DNS settings.\n        var exampleGroupnet = new Groupnet(\"exampleGroupnet\");\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale Groupnet sits above subnets and pools and allows separate Access Zones to contain distinct DNS settings.\n  exampleGroupnet:\n    type: powerscale:Groupnet\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2023-2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/groupnet:Groupnet example_groupnet <groupnetName>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/groupnet:Groupnet example_groupnet groupnetName\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "allowWildcardSubdomains": {
          "type": "boolean",
          "description": "If enabled, SmartConnect treats subdomains of known dns zones as the known dns zone. This is required for S3 Virtual Host domains. Defaults to True.\n"
        },
        "description": {
          "type": "string",
          "description": "A description of the groupnet.\n"
        },
        "dnsCacheEnabled": {
          "type": "boolean",
          "description": "DNS caching is enabled or disabled. Defaults to True.\n"
        },
        "dnsResolverRotate": {
          "type": "boolean",
          "description": "Enable or disable DNS resolver rotate. Defaults to False.\n"
        },
        "dnsSearches": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of DNS search suffixes.\n"
        },
        "dnsServers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of Domain Name Server IP addresses.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the groupnet.\n"
        },
        "serverSideDnsSearch": {
          "type": "boolean",
          "description": "Enable or disable appending nodes DNS search list to client DNS inquiries directed at SmartConnect service IP. Defaults to True.\n"
        },
        "subnets": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name of the subnets in the groupnet.\n"
        }
      },
      "type": "object",
      "required": [
        "allowWildcardSubdomains",
        "dnsCacheEnabled",
        "dnsResolverRotate",
        "name",
        "serverSideDnsSearch",
        "subnets"
      ],
      "inputProperties": {
        "allowWildcardSubdomains": {
          "type": "boolean",
          "description": "If enabled, SmartConnect treats subdomains of known dns zones as the known dns zone. This is required for S3 Virtual Host domains. Defaults to True.\n"
        },
        "description": {
          "type": "string",
          "description": "A description of the groupnet.\n"
        },
        "dnsCacheEnabled": {
          "type": "boolean",
          "description": "DNS caching is enabled or disabled. Defaults to True.\n"
        },
        "dnsResolverRotate": {
          "type": "boolean",
          "description": "Enable or disable DNS resolver rotate. Defaults to False.\n"
        },
        "dnsSearches": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of DNS search suffixes.\n"
        },
        "dnsServers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of Domain Name Server IP addresses.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the groupnet.\n"
        },
        "serverSideDnsSearch": {
          "type": "boolean",
          "description": "Enable or disable appending nodes DNS search list to client DNS inquiries directed at SmartConnect service IP. Defaults to True.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Groupnet resources.\n",
        "properties": {
          "allowWildcardSubdomains": {
            "type": "boolean",
            "description": "If enabled, SmartConnect treats subdomains of known dns zones as the known dns zone. This is required for S3 Virtual Host domains. Defaults to True.\n"
          },
          "description": {
            "type": "string",
            "description": "A description of the groupnet.\n"
          },
          "dnsCacheEnabled": {
            "type": "boolean",
            "description": "DNS caching is enabled or disabled. Defaults to True.\n"
          },
          "dnsResolverRotate": {
            "type": "boolean",
            "description": "Enable or disable DNS resolver rotate. Defaults to False.\n"
          },
          "dnsSearches": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of DNS search suffixes.\n"
          },
          "dnsServers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of Domain Name Server IP addresses.\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the groupnet.\n"
          },
          "serverSideDnsSearch": {
            "type": "boolean",
            "description": "Enable or disable appending nodes DNS search list to client DNS inquiries directed at SmartConnect service IP. Defaults to True.\n"
          },
          "subnets": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Name of the subnets in the groupnet.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/ldapProvider:LdapProvider": {
      "description": "This resource is used to manage the LDAP provider entity of PowerScale Array. We can Create, Update and Delete the LDAP provider using this resource. We can also import an existing LDAP provider from PowerScale array. PowerScale LDAP provider enables you to define, query, and modify directory services and resources.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale LDAP provider enables you to define, query, and modify directory services and resources.\nconst exampleLdapProvider = new powerscale.LdapProvider(\"exampleLdapProvider\", {\n    alternateSecurityIdentitiesAttribute: \"altSecurityIdentities\",\n    authentication: true,\n    balanceServers: true,\n    baseDn: \"dc=tthe,dc=testLdap,dc=com\",\n    bindDn: \"\",\n    bindMechanism: \"simple\",\n    bindTimeout: 10,\n    certificateAuthorityFile: \"\",\n    checkOnlineInterval: 100,\n    cnAttribute: \"cn\",\n    createHomeDirectory: false,\n    cryptPasswordAttribute: \"\",\n    emailAttribute: \"mail\",\n    enabled: true,\n    enumerateGroups: true,\n    enumerateUsers: true,\n    findableGroups: [],\n    findableUsers: [],\n    gecosAttribute: \"gecos\",\n    gidAttribute: \"gidNumber\",\n    groupBaseDn: \"\",\n    groupDomain: \"LDAP_GROUPS\",\n    groupFilter: \"(objectClass=posixGroup)\",\n    groupMembersAttribute: \"memberUid\",\n    groupSearchScope: \"default\",\n    groupnet: \"groupnet0\",\n    homeDirectoryTemplate: \"\",\n    homedirAttribute: \"homeDirectory\",\n    ignoreTlsErrors: false,\n    ignoreUnresolvableServerUrls: false,\n    listableGroups: [],\n    listableUsers: [],\n    loginShell: \"/bin/bash\",\n    memberLookupMethod: \"default\",\n    memberOfAttribute: \"\",\n    nameAttribute: \"uid\",\n    netgroupBaseDn: \"\",\n    netgroupFilter: \"(objectClass=nisNetgroup)\",\n    netgroupMembersAttribute: \"memberNisNetgroup\",\n    netgroupSearchScope: \"default\",\n    netgroupTripleAttribute: \"nisNetgroupTriple\",\n    normalizeGroups: false,\n    normalizeUsers: false,\n    ntPasswordAttribute: \"\",\n    ntlmSupport: \"all\",\n    providerDomain: \"\",\n    requireSecureConnection: false,\n    restrictFindable: true,\n    restrictListable: false,\n    searchScope: \"subtree\",\n    searchTimeout: 100,\n    serverUris: [\"ldap://10.225.108.54\"],\n    shadowExpireAttribute: \"shadowExpire\",\n    shadowFlagAttribute: \"shadowFlag\",\n    shadowInactiveAttribute: \"shadowInactive\",\n    shadowLastChangeAttribute: \"shadowLastChange\",\n    shadowMaxAttribute: \"shadowMax\",\n    shadowMinAttribute: \"shadowMin\",\n    shadowUserFilter: \"(objectClass=shadowAccount)\",\n    shadowWarningAttribute: \"shadowWarning\",\n    shellAttribute: \"loginShell\",\n    sshPublicKeyAttribute: \"sshPublicKey\",\n    status: \"online\",\n    system: false,\n    tlsProtocolMin: \"1.2\",\n    uidAttribute: \"uidNumber\",\n    unfindableGroups: [\n        \"wheel\",\n        \"0\",\n        \"insightiq\",\n        \"15\",\n        \"isdmgmt\",\n        \"16\",\n    ],\n    unfindableUsers: [\n        \"root\",\n        \"0\",\n        \"insightiq\",\n        \"15\",\n        \"isdmgmt\",\n        \"16\",\n    ],\n    uniqueGroupMembersAttribute: \"\",\n    unlistableGroups: [],\n    unlistableUsers: [],\n    userBaseDn: \"\",\n    userDomain: \"LDAP_USERS\",\n    userFilter: \"(objectClass=posixAccount)\",\n    userSearchScope: \"default\",\n});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale LDAP provider enables you to define, query, and modify directory services and resources.\nexample_ldap_provider = powerscale.LdapProvider(\"exampleLdapProvider\",\n    alternate_security_identities_attribute=\"altSecurityIdentities\",\n    authentication=True,\n    balance_servers=True,\n    base_dn=\"dc=tthe,dc=testLdap,dc=com\",\n    bind_dn=\"\",\n    bind_mechanism=\"simple\",\n    bind_timeout=10,\n    certificate_authority_file=\"\",\n    check_online_interval=100,\n    cn_attribute=\"cn\",\n    create_home_directory=False,\n    crypt_password_attribute=\"\",\n    email_attribute=\"mail\",\n    enabled=True,\n    enumerate_groups=True,\n    enumerate_users=True,\n    findable_groups=[],\n    findable_users=[],\n    gecos_attribute=\"gecos\",\n    gid_attribute=\"gidNumber\",\n    group_base_dn=\"\",\n    group_domain=\"LDAP_GROUPS\",\n    group_filter=\"(objectClass=posixGroup)\",\n    group_members_attribute=\"memberUid\",\n    group_search_scope=\"default\",\n    groupnet=\"groupnet0\",\n    home_directory_template=\"\",\n    homedir_attribute=\"homeDirectory\",\n    ignore_tls_errors=False,\n    ignore_unresolvable_server_urls=False,\n    listable_groups=[],\n    listable_users=[],\n    login_shell=\"/bin/bash\",\n    member_lookup_method=\"default\",\n    member_of_attribute=\"\",\n    name_attribute=\"uid\",\n    netgroup_base_dn=\"\",\n    netgroup_filter=\"(objectClass=nisNetgroup)\",\n    netgroup_members_attribute=\"memberNisNetgroup\",\n    netgroup_search_scope=\"default\",\n    netgroup_triple_attribute=\"nisNetgroupTriple\",\n    normalize_groups=False,\n    normalize_users=False,\n    nt_password_attribute=\"\",\n    ntlm_support=\"all\",\n    provider_domain=\"\",\n    require_secure_connection=False,\n    restrict_findable=True,\n    restrict_listable=False,\n    search_scope=\"subtree\",\n    search_timeout=100,\n    server_uris=[\"ldap://10.225.108.54\"],\n    shadow_expire_attribute=\"shadowExpire\",\n    shadow_flag_attribute=\"shadowFlag\",\n    shadow_inactive_attribute=\"shadowInactive\",\n    shadow_last_change_attribute=\"shadowLastChange\",\n    shadow_max_attribute=\"shadowMax\",\n    shadow_min_attribute=\"shadowMin\",\n    shadow_user_filter=\"(objectClass=shadowAccount)\",\n    shadow_warning_attribute=\"shadowWarning\",\n    shell_attribute=\"loginShell\",\n    ssh_public_key_attribute=\"sshPublicKey\",\n    status=\"online\",\n    system=False,\n    tls_protocol_min=\"1.2\",\n    uid_attribute=\"uidNumber\",\n    unfindable_groups=[\n        \"wheel\",\n        \"0\",\n        \"insightiq\",\n        \"15\",\n        \"isdmgmt\",\n        \"16\",\n    ],\n    unfindable_users=[\n        \"root\",\n        \"0\",\n        \"insightiq\",\n        \"15\",\n        \"isdmgmt\",\n        \"16\",\n    ],\n    unique_group_members_attribute=\"\",\n    unlistable_groups=[],\n    unlistable_users=[],\n    user_base_dn=\"\",\n    user_domain=\"LDAP_USERS\",\n    user_filter=\"(objectClass=posixAccount)\",\n    user_search_scope=\"default\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale LDAP provider enables you to define, query, and modify directory services and resources.\n    var exampleLdapProvider = new Powerscale.LdapProvider(\"exampleLdapProvider\", new()\n    {\n        AlternateSecurityIdentitiesAttribute = \"altSecurityIdentities\",\n        Authentication = true,\n        BalanceServers = true,\n        BaseDn = \"dc=tthe,dc=testLdap,dc=com\",\n        BindDn = \"\",\n        BindMechanism = \"simple\",\n        BindTimeout = 10,\n        CertificateAuthorityFile = \"\",\n        CheckOnlineInterval = 100,\n        CnAttribute = \"cn\",\n        CreateHomeDirectory = false,\n        CryptPasswordAttribute = \"\",\n        EmailAttribute = \"mail\",\n        Enabled = true,\n        EnumerateGroups = true,\n        EnumerateUsers = true,\n        FindableGroups = new[] {},\n        FindableUsers = new[] {},\n        GecosAttribute = \"gecos\",\n        GidAttribute = \"gidNumber\",\n        GroupBaseDn = \"\",\n        GroupDomain = \"LDAP_GROUPS\",\n        GroupFilter = \"(objectClass=posixGroup)\",\n        GroupMembersAttribute = \"memberUid\",\n        GroupSearchScope = \"default\",\n        Groupnet = \"groupnet0\",\n        HomeDirectoryTemplate = \"\",\n        HomedirAttribute = \"homeDirectory\",\n        IgnoreTlsErrors = false,\n        IgnoreUnresolvableServerUrls = false,\n        ListableGroups = new[] {},\n        ListableUsers = new[] {},\n        LoginShell = \"/bin/bash\",\n        MemberLookupMethod = \"default\",\n        MemberOfAttribute = \"\",\n        NameAttribute = \"uid\",\n        NetgroupBaseDn = \"\",\n        NetgroupFilter = \"(objectClass=nisNetgroup)\",\n        NetgroupMembersAttribute = \"memberNisNetgroup\",\n        NetgroupSearchScope = \"default\",\n        NetgroupTripleAttribute = \"nisNetgroupTriple\",\n        NormalizeGroups = false,\n        NormalizeUsers = false,\n        NtPasswordAttribute = \"\",\n        NtlmSupport = \"all\",\n        ProviderDomain = \"\",\n        RequireSecureConnection = false,\n        RestrictFindable = true,\n        RestrictListable = false,\n        SearchScope = \"subtree\",\n        SearchTimeout = 100,\n        ServerUris = new[]\n        {\n            \"ldap://10.225.108.54\",\n        },\n        ShadowExpireAttribute = \"shadowExpire\",\n        ShadowFlagAttribute = \"shadowFlag\",\n        ShadowInactiveAttribute = \"shadowInactive\",\n        ShadowLastChangeAttribute = \"shadowLastChange\",\n        ShadowMaxAttribute = \"shadowMax\",\n        ShadowMinAttribute = \"shadowMin\",\n        ShadowUserFilter = \"(objectClass=shadowAccount)\",\n        ShadowWarningAttribute = \"shadowWarning\",\n        ShellAttribute = \"loginShell\",\n        SshPublicKeyAttribute = \"sshPublicKey\",\n        Status = \"online\",\n        System = false,\n        TlsProtocolMin = \"1.2\",\n        UidAttribute = \"uidNumber\",\n        UnfindableGroups = new[]\n        {\n            \"wheel\",\n            \"0\",\n            \"insightiq\",\n            \"15\",\n            \"isdmgmt\",\n            \"16\",\n        },\n        UnfindableUsers = new[]\n        {\n            \"root\",\n            \"0\",\n            \"insightiq\",\n            \"15\",\n            \"isdmgmt\",\n            \"16\",\n        },\n        UniqueGroupMembersAttribute = \"\",\n        UnlistableGroups = new[] {},\n        UnlistableUsers = new[] {},\n        UserBaseDn = \"\",\n        UserDomain = \"LDAP_USERS\",\n        UserFilter = \"(objectClass=posixAccount)\",\n        UserSearchScope = \"default\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale LDAP provider enables you to define, query, and modify directory services and resources.\n\t\t_, err := powerscale.NewLdapProvider(ctx, \"exampleLdapProvider\", &powerscale.LdapProviderArgs{\n\t\t\tAlternateSecurityIdentitiesAttribute: pulumi.String(\"altSecurityIdentities\"),\n\t\t\tAuthentication:                       pulumi.Bool(true),\n\t\t\tBalanceServers:                       pulumi.Bool(true),\n\t\t\tBaseDn:                               pulumi.String(\"dc=tthe,dc=testLdap,dc=com\"),\n\t\t\tBindDn:                               pulumi.String(\"\"),\n\t\t\tBindMechanism:                        pulumi.String(\"simple\"),\n\t\t\tBindTimeout:                          pulumi.Float64(10),\n\t\t\tCertificateAuthorityFile:             pulumi.String(\"\"),\n\t\t\tCheckOnlineInterval:                  pulumi.Float64(100),\n\t\t\tCnAttribute:                          pulumi.String(\"cn\"),\n\t\t\tCreateHomeDirectory:                  pulumi.Bool(false),\n\t\t\tCryptPasswordAttribute:               pulumi.String(\"\"),\n\t\t\tEmailAttribute:                       pulumi.String(\"mail\"),\n\t\t\tEnabled:                              pulumi.Bool(true),\n\t\t\tEnumerateGroups:                      pulumi.Bool(true),\n\t\t\tEnumerateUsers:                       pulumi.Bool(true),\n\t\t\tFindableGroups:                       pulumi.StringArray{},\n\t\t\tFindableUsers:                        pulumi.StringArray{},\n\t\t\tGecosAttribute:                       pulumi.String(\"gecos\"),\n\t\t\tGidAttribute:                         pulumi.String(\"gidNumber\"),\n\t\t\tGroupBaseDn:                          pulumi.String(\"\"),\n\t\t\tGroupDomain:                          pulumi.String(\"LDAP_GROUPS\"),\n\t\t\tGroupFilter:                          pulumi.String(\"(objectClass=posixGroup)\"),\n\t\t\tGroupMembersAttribute:                pulumi.String(\"memberUid\"),\n\t\t\tGroupSearchScope:                     pulumi.String(\"default\"),\n\t\t\tGroupnet:                             pulumi.String(\"groupnet0\"),\n\t\t\tHomeDirectoryTemplate:                pulumi.String(\"\"),\n\t\t\tHomedirAttribute:                     pulumi.String(\"homeDirectory\"),\n\t\t\tIgnoreTlsErrors:                      pulumi.Bool(false),\n\t\t\tIgnoreUnresolvableServerUrls:         pulumi.Bool(false),\n\t\t\tListableGroups:                       pulumi.StringArray{},\n\t\t\tListableUsers:                        pulumi.StringArray{},\n\t\t\tLoginShell:                           pulumi.String(\"/bin/bash\"),\n\t\t\tMemberLookupMethod:                   pulumi.String(\"default\"),\n\t\t\tMemberOfAttribute:                    pulumi.String(\"\"),\n\t\t\tNameAttribute:                        pulumi.String(\"uid\"),\n\t\t\tNetgroupBaseDn:                       pulumi.String(\"\"),\n\t\t\tNetgroupFilter:                       pulumi.String(\"(objectClass=nisNetgroup)\"),\n\t\t\tNetgroupMembersAttribute:             pulumi.String(\"memberNisNetgroup\"),\n\t\t\tNetgroupSearchScope:                  pulumi.String(\"default\"),\n\t\t\tNetgroupTripleAttribute:              pulumi.String(\"nisNetgroupTriple\"),\n\t\t\tNormalizeGroups:                      pulumi.Bool(false),\n\t\t\tNormalizeUsers:                       pulumi.Bool(false),\n\t\t\tNtPasswordAttribute:                  pulumi.String(\"\"),\n\t\t\tNtlmSupport:                          pulumi.String(\"all\"),\n\t\t\tProviderDomain:                       pulumi.String(\"\"),\n\t\t\tRequireSecureConnection:              pulumi.Bool(false),\n\t\t\tRestrictFindable:                     pulumi.Bool(true),\n\t\t\tRestrictListable:                     pulumi.Bool(false),\n\t\t\tSearchScope:                          pulumi.String(\"subtree\"),\n\t\t\tSearchTimeout:                        pulumi.Float64(100),\n\t\t\tServerUris: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"ldap://10.225.108.54\"),\n\t\t\t},\n\t\t\tShadowExpireAttribute:     pulumi.String(\"shadowExpire\"),\n\t\t\tShadowFlagAttribute:       pulumi.String(\"shadowFlag\"),\n\t\t\tShadowInactiveAttribute:   pulumi.String(\"shadowInactive\"),\n\t\t\tShadowLastChangeAttribute: pulumi.String(\"shadowLastChange\"),\n\t\t\tShadowMaxAttribute:        pulumi.String(\"shadowMax\"),\n\t\t\tShadowMinAttribute:        pulumi.String(\"shadowMin\"),\n\t\t\tShadowUserFilter:          pulumi.String(\"(objectClass=shadowAccount)\"),\n\t\t\tShadowWarningAttribute:    pulumi.String(\"shadowWarning\"),\n\t\t\tShellAttribute:            pulumi.String(\"loginShell\"),\n\t\t\tSshPublicKeyAttribute:     pulumi.String(\"sshPublicKey\"),\n\t\t\tStatus:                    pulumi.String(\"online\"),\n\t\t\tSystem:                    pulumi.Bool(false),\n\t\t\tTlsProtocolMin:            pulumi.String(\"1.2\"),\n\t\t\tUidAttribute:              pulumi.String(\"uidNumber\"),\n\t\t\tUnfindableGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"wheel\"),\n\t\t\t\tpulumi.String(\"0\"),\n\t\t\t\tpulumi.String(\"insightiq\"),\n\t\t\t\tpulumi.String(\"15\"),\n\t\t\t\tpulumi.String(\"isdmgmt\"),\n\t\t\t\tpulumi.String(\"16\"),\n\t\t\t},\n\t\t\tUnfindableUsers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"root\"),\n\t\t\t\tpulumi.String(\"0\"),\n\t\t\t\tpulumi.String(\"insightiq\"),\n\t\t\t\tpulumi.String(\"15\"),\n\t\t\t\tpulumi.String(\"isdmgmt\"),\n\t\t\t\tpulumi.String(\"16\"),\n\t\t\t},\n\t\t\tUniqueGroupMembersAttribute: pulumi.String(\"\"),\n\t\t\tUnlistableGroups:            pulumi.StringArray{},\n\t\t\tUnlistableUsers:             pulumi.StringArray{},\n\t\t\tUserBaseDn:                  pulumi.String(\"\"),\n\t\t\tUserDomain:                  pulumi.String(\"LDAP_USERS\"),\n\t\t\tUserFilter:                  pulumi.String(\"(objectClass=posixAccount)\"),\n\t\t\tUserSearchScope:             pulumi.String(\"default\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.LdapProvider;\nimport com.pulumi.powerscale.LdapProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale LDAP provider enables you to define, query, and modify directory services and resources.\n        var exampleLdapProvider = new LdapProvider(\"exampleLdapProvider\", LdapProviderArgs.builder()\n            .alternateSecurityIdentitiesAttribute(\"altSecurityIdentities\")\n            .authentication(true)\n            .balanceServers(true)\n            .baseDn(\"dc=tthe,dc=testLdap,dc=com\")\n            .bindDn(\"\")\n            .bindMechanism(\"simple\")\n            .bindTimeout(10)\n            .certificateAuthorityFile(\"\")\n            .checkOnlineInterval(100)\n            .cnAttribute(\"cn\")\n            .createHomeDirectory(false)\n            .cryptPasswordAttribute(\"\")\n            .emailAttribute(\"mail\")\n            .enabled(true)\n            .enumerateGroups(true)\n            .enumerateUsers(true)\n            .findableGroups()\n            .findableUsers()\n            .gecosAttribute(\"gecos\")\n            .gidAttribute(\"gidNumber\")\n            .groupBaseDn(\"\")\n            .groupDomain(\"LDAP_GROUPS\")\n            .groupFilter(\"(objectClass=posixGroup)\")\n            .groupMembersAttribute(\"memberUid\")\n            .groupSearchScope(\"default\")\n            .groupnet(\"groupnet0\")\n            .homeDirectoryTemplate(\"\")\n            .homedirAttribute(\"homeDirectory\")\n            .ignoreTlsErrors(false)\n            .ignoreUnresolvableServerUrls(false)\n            .listableGroups()\n            .listableUsers()\n            .loginShell(\"/bin/bash\")\n            .memberLookupMethod(\"default\")\n            .memberOfAttribute(\"\")\n            .nameAttribute(\"uid\")\n            .netgroupBaseDn(\"\")\n            .netgroupFilter(\"(objectClass=nisNetgroup)\")\n            .netgroupMembersAttribute(\"memberNisNetgroup\")\n            .netgroupSearchScope(\"default\")\n            .netgroupTripleAttribute(\"nisNetgroupTriple\")\n            .normalizeGroups(false)\n            .normalizeUsers(false)\n            .ntPasswordAttribute(\"\")\n            .ntlmSupport(\"all\")\n            .providerDomain(\"\")\n            .requireSecureConnection(false)\n            .restrictFindable(true)\n            .restrictListable(false)\n            .searchScope(\"subtree\")\n            .searchTimeout(100)\n            .serverUris(\"ldap://10.225.108.54\")\n            .shadowExpireAttribute(\"shadowExpire\")\n            .shadowFlagAttribute(\"shadowFlag\")\n            .shadowInactiveAttribute(\"shadowInactive\")\n            .shadowLastChangeAttribute(\"shadowLastChange\")\n            .shadowMaxAttribute(\"shadowMax\")\n            .shadowMinAttribute(\"shadowMin\")\n            .shadowUserFilter(\"(objectClass=shadowAccount)\")\n            .shadowWarningAttribute(\"shadowWarning\")\n            .shellAttribute(\"loginShell\")\n            .sshPublicKeyAttribute(\"sshPublicKey\")\n            .status(\"online\")\n            .system(false)\n            .tlsProtocolMin(\"1.2\")\n            .uidAttribute(\"uidNumber\")\n            .unfindableGroups(            \n                \"wheel\",\n                \"0\",\n                \"insightiq\",\n                \"15\",\n                \"isdmgmt\",\n                \"16\")\n            .unfindableUsers(            \n                \"root\",\n                \"0\",\n                \"insightiq\",\n                \"15\",\n                \"isdmgmt\",\n                \"16\")\n            .uniqueGroupMembersAttribute(\"\")\n            .unlistableGroups()\n            .unlistableUsers()\n            .userBaseDn(\"\")\n            .userDomain(\"LDAP_USERS\")\n            .userFilter(\"(objectClass=posixAccount)\")\n            .userSearchScope(\"default\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale LDAP provider enables you to define, query, and modify directory services and resources.\n  exampleLdapProvider:\n    type: powerscale:LdapProvider\n    properties:\n      # Optional params for creating and updating.\n      #     // Specifies the attribute name used when searching for alternate security identities.\n      alternateSecurityIdentitiesAttribute: altSecurityIdentities\n      # If true, enables authentication and identity management through the authentication provider.\n      authentication: true\n      # If true, connects the provider to a random server.\n      balanceServers: true\n      # Specifies the root of the tree in which to search identities.\n      baseDn: dc=tthe,dc=testLdap,dc=com\n      # Specifies the distinguished name for binding to the LDAP server.\n      bindDn: \"\"\n      # Specifies which bind mechanism to use when connecting to an LDAP server. The only supported option is the 'simple' value.\n      bindMechanism: simple\n      # Specifies the timeout in seconds when binding to an LDAP server. Value should between 1 - 3600.\n      bindTimeout: 10\n      # Specifies the path to the root certificates file.\n      certificateAuthorityFile: \"\"\n      # Specifies the time in seconds between provider online checks. Value should between 0 - 3600.\n      checkOnlineInterval: 100\n      # Specifies the canonical name.\n      cnAttribute: cn\n      # Automatically create the home directory on the first login.\n      createHomeDirectory: false\n      # Specifies the hashed password value.\n      cryptPasswordAttribute: \"\"\n      # Specifies the LDAP Email attribute.\n      emailAttribute: mail\n      # If true, enables the LDAP provider.\n      enabled: true\n      # If true, allows the provider to enumerate groups.\n      enumerateGroups: true\n      # If true, allows the provider to enumerate users.\n      enumerateUsers: true\n      # Specifies the list of groups that can be resolved.\n      findableGroups: []\n      # Specifies the list of users that can be resolved.\n      findableUsers: []\n      # Specifies the LDAP GECOS attribute.\n      gecosAttribute: gecos\n      # Specifies the LDAP GID attribute.\n      gidAttribute: gidNumber\n      # Specifies the distinguished name of the entry where LDAP searches for groups are started.\n      groupBaseDn: \"\"\n      # Specifies the domain for this provider through which groups are qualified.\n      groupDomain: LDAP_GROUPS\n      # Specifies the LDAP filter for group objects.\n      groupFilter: (objectClass=posixGroup)\n      # Specifies the LDAP Group Members attribute.\n      groupMembersAttribute: memberUid\n      # Specifies the depth from the base DN to perform LDAP searches. \n      #     // Acceptable values: default, base, onelevel, subtree, children.\n      groupSearchScope: default\n      # Optional groupnet for creating. Specifies the groupnet identifier.\n      groupnet: groupnet0\n      # Specifies the path to the home directory template.\n      homeDirectoryTemplate: \"\"\n      # Specifies the LDAP Homedir attribute.\n      homedirAttribute: homeDirectory\n      # If true, continues over secure connections even if identity checks fail.\n      ignoreTlsErrors: false\n      # Optional ignore_unresolvable_server_urls for creating and updating. If true, ignore unresolvable server URIs.\n      ignoreUnresolvableServerUrls: false\n      # Specifies the groups that can be viewed in the provider.\n      listableGroups: []\n      # Specifies the users that can be viewed in the provider.\n      listableUsers: []\n      # Specifies the login shell path.\n      loginShell: /bin/bash\n      # Sets the method by which group member lookups are performed. Use caution when changing this option directly.\n      #     // Acceptable values: default, rfc2307bis.\n      memberLookupMethod: default\n      # Specifies the LDAP Query Member Of attribute, which performs reverse membership queries.\n      memberOfAttribute: \"\"\n      # Specifies the LDAP UID attribute, which is used as the login name.\n      nameAttribute: uid\n      # Specifies the distinguished name of the entry where LDAP searches for netgroups are started.\n      netgroupBaseDn: \"\"\n      # Specifies the LDAP filter for netgroup objects.\n      netgroupFilter: (objectClass=nisNetgroup)\n      # Specifies the LDAP Netgroup Members attribute.\n      netgroupMembersAttribute: memberNisNetgroup\n      # Specifies the depth from the base DN to perform LDAP searches.\n      #     // Acceptable values: default, base, onelevel, subtree, children.\n      netgroupSearchScope: default\n      # Specifies the LDAP Netgroup Triple attribute.\n      netgroupTripleAttribute: nisNetgroupTriple\n      # Normalizes group names to lowercase before look up.\n      normalizeGroups: false\n      # Normalizes user names to lowercase before look up.\n      normalizeUsers: false\n      # Specifies the LDAP NT Password attribute.\n      ntPasswordAttribute: \"\"\n      # Specifies which NTLM versions to support for users with NTLM-compatible credentials.\n      #     // Acceptable values: all, v2only, none.\n      ntlmSupport: all\n      # Specifies the provider domain.\n      providerDomain: \"\"\n      # Determines whether to continue over a non-TLS connection.\n      requireSecureConnection: false\n      # If true, checks the provider for filtered lists of findable and unfindable users and groups.\n      restrictFindable: true\n      # If true, checks the provider for filtered lists of listable and unlistable users and groups.\n      restrictListable: false\n      # Specifies the default depth from the base DN to perform LDAP searches.\n      #     // Acceptable values: base, onelevel, subtree, children.\n      searchScope: subtree\n      # Specifies the search timeout period in seconds. Value should between 10 - 3600.\n      searchTimeout: 100\n      # Specifies the server URIs. Begin URIs with ldap:// or ldaps://\n      serverUris:\n        - ldap://10.225.108.54\n      # Sets the attribute name that indicates the absolute date to expire the account.\n      shadowExpireAttribute: shadowExpire\n      # Sets the attribute name that indicates the section of the shadow map that is used to store the flag value.\n      shadowFlagAttribute: shadowFlag\n      # Sets the attribute name that indicates the number of days of inactivity that is allowed for the user.\n      shadowInactiveAttribute: shadowInactive\n      # Sets the attribute name that indicates the last change of the shadow information.\n      shadowLastChangeAttribute: shadowLastChange\n      # Sets the attribute name that indicates the maximum number of days a password can be valid.\n      shadowMaxAttribute: shadowMax\n      # Sets the attribute name that indicates the minimum number of days between shadow changes.\n      shadowMinAttribute: shadowMin\n      # Sets LDAP filter for shadow user objects.\n      shadowUserFilter: (objectClass=shadowAccount)\n      # Sets the attribute name that indicates the number of days before the password expires to warn the user.\n      shadowWarningAttribute: shadowWarning\n      # Specifies the LDAP Shell attribute.\n      shellAttribute: loginShell\n      # Sets the attribute name that indicates the SSH Public Key for the user.\n      sshPublicKeyAttribute: sshPublicKey\n      # Specifies the status of the provider.\n      status: online\n      # If true, indicates that this provider instance was created by OneFS and cannot be removed.\n      system: false\n      # Specifies the minimum TLS protocol version.\n      tlsProtocolMin: '1.2'\n      # Specifies the LDAP UID Number attribute.\n      uidAttribute: uidNumber\n      # Specifies the groups that cannot be resolved by the provider.\n      unfindableGroups:\n        - wheel\n        - '0'\n        - insightiq\n        - '15'\n        - isdmgmt\n        - '16'\n      # Specifies users that cannot be resolved by the provider.\n      unfindableUsers:\n        - root\n        - '0'\n        - insightiq\n        - '15'\n        - isdmgmt\n        - '16'\n      # Sets the LDAP Unique Group Members attribute.\n      uniqueGroupMembersAttribute: \"\"\n      # Specifies a group that cannot be listed by the provider.\n      unlistableGroups: []\n      # Specifies a user that cannot be listed by the provider.\n      unlistableUsers: []\n      # Specifies the distinguished name of the entry at which to start LDAP searches for users.\n      userBaseDn: \"\"\n      # Specifies the domain for this provider through which users are qualified.\n      userDomain: LDAP_USERS\n      # Specifies the LDAP filter for user objects.\n      userFilter: (objectClass=posixAccount)\n      # Specifies the depth from the base DN to perform LDAP searches.\n      #     // Acceptable values: default, base, onelevel, subtree, children.\n      userSearchScope: default\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2023-2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/ldapProvider:LdapProvider example_ldap_provider <ldapProviderName>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/ldapProvider:LdapProvider example_ldap_provider ldapProviderName\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "alternateSecurityIdentitiesAttribute": {
          "type": "string",
          "description": "Specifies the attribute name used when searching for alternate security identities.\n"
        },
        "authentication": {
          "type": "boolean",
          "description": "If true, enables authentication and identity management through the authentication provider.\n"
        },
        "balanceServers": {
          "type": "boolean",
          "description": "If true, connects the provider to a random server.\n"
        },
        "baseDn": {
          "type": "string",
          "description": "Specifies the root of the tree in which to search identities.\n"
        },
        "bindDn": {
          "type": "string",
          "description": "Specifies the distinguished name for binding to the LDAP server.\n"
        },
        "bindMechanism": {
          "type": "string",
          "description": "Specifies which bind mechanism to use when connecting to an LDAP server. The only supported option is the 'simple' value.\n"
        },
        "bindTimeout": {
          "type": "number",
          "description": "Specifies the timeout in seconds when binding to an LDAP server.\n"
        },
        "certificateAuthorityFile": {
          "type": "string",
          "description": "Specifies the path to the root certificates file.\n"
        },
        "checkOnlineInterval": {
          "type": "number",
          "description": "Specifies the time in seconds between provider online checks.\n"
        },
        "cnAttribute": {
          "type": "string",
          "description": "Specifies the canonical name.\n"
        },
        "createHomeDirectory": {
          "type": "boolean",
          "description": "Automatically create the home directory on the first login.\n"
        },
        "cryptPasswordAttribute": {
          "type": "string",
          "description": "Specifies the hashed password value.\n"
        },
        "emailAttribute": {
          "type": "string",
          "description": "Specifies the LDAP Email attribute.\n"
        },
        "enabled": {
          "type": "boolean",
          "description": "If true, enables the LDAP provider.\n"
        },
        "enumerateGroups": {
          "type": "boolean",
          "description": "If true, allows the provider to enumerate groups.\n"
        },
        "enumerateUsers": {
          "type": "boolean",
          "description": "If true, allows the provider to enumerate users.\n"
        },
        "findableGroups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the list of groups that can be resolved.\n"
        },
        "findableUsers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the list of users that can be resolved.\n"
        },
        "gecosAttribute": {
          "type": "string",
          "description": "Specifies the LDAP GECOS attribute.\n"
        },
        "gidAttribute": {
          "type": "string",
          "description": "Specifies the LDAP GID attribute.\n"
        },
        "groupBaseDn": {
          "type": "string",
          "description": "Specifies the distinguished name of the entry where LDAP searches for groups are started.\n"
        },
        "groupDomain": {
          "type": "string",
          "description": "Specifies the domain for this provider through which groups are qualified.\n"
        },
        "groupFilter": {
          "type": "string",
          "description": "Specifies the LDAP filter for group objects.\n"
        },
        "groupMembersAttribute": {
          "type": "string",
          "description": "Specifies the LDAP Group Members attribute.\n"
        },
        "groupSearchScope": {
          "type": "string",
          "description": "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\".\n"
        },
        "groupnet": {
          "type": "string",
          "description": "Groupnet identifier. Cannot be updated.\n"
        },
        "homeDirectoryTemplate": {
          "type": "string",
          "description": "Specifies the path to the home directory template.\n"
        },
        "homedirAttribute": {
          "type": "string",
          "description": "Specifies the LDAP Homedir attribute.\n"
        },
        "ignoreTlsErrors": {
          "type": "boolean",
          "description": "If true, continues over secure connections even if identity checks fail.\n"
        },
        "ignoreUnresolvableServerUrls": {
          "type": "boolean",
          "description": "Ignore unresolvable server URIs when creating and updating.\n"
        },
        "listableGroups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the groups that can be viewed in the provider.\n"
        },
        "listableUsers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the users that can be viewed in the provider.\n"
        },
        "loginShell": {
          "type": "string",
          "description": "Specifies the login shell path.\n"
        },
        "memberLookupMethod": {
          "type": "string",
          "description": "Sets the method by which group member lookups are performed. Use caution when changing this option directly. Acceptable values: \"default\", \"rfc2307bis\".\n"
        },
        "memberOfAttribute": {
          "type": "string",
          "description": "Specifies the LDAP Query Member Of attribute, which performs reverse membership queries.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the name of the LDAP provider.\n"
        },
        "nameAttribute": {
          "type": "string",
          "description": "Specifies the LDAP UID attribute, which is used as the login name.\n"
        },
        "netgroupBaseDn": {
          "type": "string",
          "description": "Specifies the distinguished name of the entry where LDAP searches for netgroups are started.\n"
        },
        "netgroupFilter": {
          "type": "string",
          "description": "Specifies the LDAP filter for netgroup objects.\n"
        },
        "netgroupMembersAttribute": {
          "type": "string",
          "description": "Specifies the LDAP Netgroup Members attribute.\n"
        },
        "netgroupSearchScope": {
          "type": "string",
          "description": "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\".\n"
        },
        "netgroupTripleAttribute": {
          "type": "string",
          "description": "Specifies the LDAP Netgroup Triple attribute.\n"
        },
        "normalizeGroups": {
          "type": "boolean",
          "description": "Normalizes group names to lowercase before look up.\n"
        },
        "normalizeUsers": {
          "type": "boolean",
          "description": "Normalizes user names to lowercase before look up.\n"
        },
        "ntPasswordAttribute": {
          "type": "string",
          "description": "Specifies the LDAP NT Password attribute.\n"
        },
        "ntlmSupport": {
          "type": "string",
          "description": "Specifies which NTLM versions to support for users with NTLM-compatible credentials. Acceptable values: \"all\", \"v2only\", \"none\".\n"
        },
        "ocspServerUris": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the OCSP server URIs. Only available for PowerScale 9.5 and above.\n"
        },
        "providerDomain": {
          "type": "string",
          "description": "Specifies the provider domain.\n"
        },
        "requireSecureConnection": {
          "type": "boolean",
          "description": "Determines whether to continue over a non-TLS connection.\n"
        },
        "restrictFindable": {
          "type": "boolean",
          "description": "If true, checks the provider for filtered lists of findable and unfindable users and groups.\n"
        },
        "restrictListable": {
          "type": "boolean",
          "description": "If true, checks the provider for filtered lists of listable and unlistable users and groups.\n"
        },
        "searchScope": {
          "type": "string",
          "description": "Specifies the default depth from the base DN to perform LDAP searches. Acceptable values: \"base\", \"onelevel\", \"subtree\", \"children\".\n"
        },
        "searchTimeout": {
          "type": "number",
          "description": "Specifies the search timeout period in seconds.\n"
        },
        "serverUris": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the server URIs.\n"
        },
        "shadowExpireAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the absolute date to expire the account.\n"
        },
        "shadowFlagAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the section of the shadow map that is used to store the flag value.\n"
        },
        "shadowInactiveAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the number of days of inactivity that is allowed for the user.\n"
        },
        "shadowLastChangeAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the last change of the shadow information.\n"
        },
        "shadowMaxAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the maximum number of days a password can be valid.\n"
        },
        "shadowMinAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the minimum number of days between shadow changes.\n"
        },
        "shadowUserFilter": {
          "type": "string",
          "description": "Sets LDAP filter for shadow user objects.\n"
        },
        "shadowWarningAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the number of days before the password expires to warn the user.\n"
        },
        "shellAttribute": {
          "type": "string",
          "description": "Specifies the LDAP Shell attribute.\n"
        },
        "sshPublicKeyAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the SSH Public Key for the user.\n"
        },
        "status": {
          "type": "string",
          "description": "Specifies the status of the provider.\n"
        },
        "system": {
          "type": "boolean",
          "description": "If true, indicates that this provider instance was created by OneFS and cannot be removed.\n"
        },
        "tlsProtocolMin": {
          "type": "string",
          "description": "Specifies the minimum TLS protocol version.\n"
        },
        "tlsRevocationCheckLevel": {
          "type": "string",
          "description": "This setting controls the behavior of the certificate revocation checking algorithm when the LDAP provider is presented with a digital certificate by an LDAP server. Acceptable values: \"none\", \"allowNoData\", \"allowNoSrc\", \"strict\". Only available for PowerScale 9.5 and above.\n"
        },
        "uidAttribute": {
          "type": "string",
          "description": "Specifies the LDAP UID Number attribute.\n"
        },
        "unfindableGroups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the groups that cannot be resolved by the provider.\n"
        },
        "unfindableUsers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies users that cannot be resolved by the provider.\n"
        },
        "uniqueGroupMembersAttribute": {
          "type": "string",
          "description": "Sets the LDAP Unique Group Members attribute.\n"
        },
        "unlistableGroups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies a group that cannot be listed by the provider.\n"
        },
        "unlistableUsers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies a user that cannot be listed by the provider.\n"
        },
        "userBaseDn": {
          "type": "string",
          "description": "Specifies the distinguished name of the entry at which to start LDAP searches for users.\n"
        },
        "userDomain": {
          "type": "string",
          "description": "Specifies the domain for this provider through which users are qualified.\n"
        },
        "userFilter": {
          "type": "string",
          "description": "Specifies the LDAP filter for user objects.\n"
        },
        "userSearchScope": {
          "type": "string",
          "description": "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\".\n"
        },
        "zoneName": {
          "type": "string",
          "description": "Specifies the name of the access zone in which this provider was created.\n"
        }
      },
      "type": "object",
      "required": [
        "alternateSecurityIdentitiesAttribute",
        "authentication",
        "balanceServers",
        "baseDn",
        "bindDn",
        "bindMechanism",
        "bindTimeout",
        "certificateAuthorityFile",
        "checkOnlineInterval",
        "cnAttribute",
        "createHomeDirectory",
        "cryptPasswordAttribute",
        "emailAttribute",
        "enabled",
        "enumerateGroups",
        "enumerateUsers",
        "findableGroups",
        "findableUsers",
        "gecosAttribute",
        "gidAttribute",
        "groupBaseDn",
        "groupDomain",
        "groupFilter",
        "groupMembersAttribute",
        "groupSearchScope",
        "groupnet",
        "homeDirectoryTemplate",
        "homedirAttribute",
        "ignoreTlsErrors",
        "listableGroups",
        "listableUsers",
        "loginShell",
        "memberLookupMethod",
        "memberOfAttribute",
        "name",
        "nameAttribute",
        "netgroupBaseDn",
        "netgroupFilter",
        "netgroupMembersAttribute",
        "netgroupSearchScope",
        "netgroupTripleAttribute",
        "normalizeGroups",
        "normalizeUsers",
        "ntPasswordAttribute",
        "ntlmSupport",
        "ocspServerUris",
        "providerDomain",
        "requireSecureConnection",
        "restrictFindable",
        "restrictListable",
        "searchScope",
        "searchTimeout",
        "serverUris",
        "shadowExpireAttribute",
        "shadowFlagAttribute",
        "shadowInactiveAttribute",
        "shadowLastChangeAttribute",
        "shadowMaxAttribute",
        "shadowMinAttribute",
        "shadowUserFilter",
        "shadowWarningAttribute",
        "shellAttribute",
        "sshPublicKeyAttribute",
        "status",
        "system",
        "tlsProtocolMin",
        "tlsRevocationCheckLevel",
        "uidAttribute",
        "unfindableGroups",
        "unfindableUsers",
        "uniqueGroupMembersAttribute",
        "unlistableGroups",
        "unlistableUsers",
        "userBaseDn",
        "userDomain",
        "userFilter",
        "userSearchScope",
        "zoneName"
      ],
      "inputProperties": {
        "alternateSecurityIdentitiesAttribute": {
          "type": "string",
          "description": "Specifies the attribute name used when searching for alternate security identities.\n"
        },
        "authentication": {
          "type": "boolean",
          "description": "If true, enables authentication and identity management through the authentication provider.\n"
        },
        "balanceServers": {
          "type": "boolean",
          "description": "If true, connects the provider to a random server.\n"
        },
        "baseDn": {
          "type": "string",
          "description": "Specifies the root of the tree in which to search identities.\n"
        },
        "bindDn": {
          "type": "string",
          "description": "Specifies the distinguished name for binding to the LDAP server.\n"
        },
        "bindMechanism": {
          "type": "string",
          "description": "Specifies which bind mechanism to use when connecting to an LDAP server. The only supported option is the 'simple' value.\n"
        },
        "bindTimeout": {
          "type": "number",
          "description": "Specifies the timeout in seconds when binding to an LDAP server.\n"
        },
        "certificateAuthorityFile": {
          "type": "string",
          "description": "Specifies the path to the root certificates file.\n"
        },
        "checkOnlineInterval": {
          "type": "number",
          "description": "Specifies the time in seconds between provider online checks.\n"
        },
        "cnAttribute": {
          "type": "string",
          "description": "Specifies the canonical name.\n"
        },
        "createHomeDirectory": {
          "type": "boolean",
          "description": "Automatically create the home directory on the first login.\n"
        },
        "cryptPasswordAttribute": {
          "type": "string",
          "description": "Specifies the hashed password value.\n"
        },
        "emailAttribute": {
          "type": "string",
          "description": "Specifies the LDAP Email attribute.\n"
        },
        "enabled": {
          "type": "boolean",
          "description": "If true, enables the LDAP provider.\n"
        },
        "enumerateGroups": {
          "type": "boolean",
          "description": "If true, allows the provider to enumerate groups.\n"
        },
        "enumerateUsers": {
          "type": "boolean",
          "description": "If true, allows the provider to enumerate users.\n"
        },
        "findableGroups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the list of groups that can be resolved.\n"
        },
        "findableUsers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the list of users that can be resolved.\n"
        },
        "gecosAttribute": {
          "type": "string",
          "description": "Specifies the LDAP GECOS attribute.\n"
        },
        "gidAttribute": {
          "type": "string",
          "description": "Specifies the LDAP GID attribute.\n"
        },
        "groupBaseDn": {
          "type": "string",
          "description": "Specifies the distinguished name of the entry where LDAP searches for groups are started.\n"
        },
        "groupDomain": {
          "type": "string",
          "description": "Specifies the domain for this provider through which groups are qualified.\n"
        },
        "groupFilter": {
          "type": "string",
          "description": "Specifies the LDAP filter for group objects.\n"
        },
        "groupMembersAttribute": {
          "type": "string",
          "description": "Specifies the LDAP Group Members attribute.\n"
        },
        "groupSearchScope": {
          "type": "string",
          "description": "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\".\n"
        },
        "groupnet": {
          "type": "string",
          "description": "Groupnet identifier. Cannot be updated.\n"
        },
        "homeDirectoryTemplate": {
          "type": "string",
          "description": "Specifies the path to the home directory template.\n"
        },
        "homedirAttribute": {
          "type": "string",
          "description": "Specifies the LDAP Homedir attribute.\n"
        },
        "ignoreTlsErrors": {
          "type": "boolean",
          "description": "If true, continues over secure connections even if identity checks fail.\n"
        },
        "ignoreUnresolvableServerUrls": {
          "type": "boolean",
          "description": "Ignore unresolvable server URIs when creating and updating.\n"
        },
        "listableGroups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the groups that can be viewed in the provider.\n"
        },
        "listableUsers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the users that can be viewed in the provider.\n"
        },
        "loginShell": {
          "type": "string",
          "description": "Specifies the login shell path.\n"
        },
        "memberLookupMethod": {
          "type": "string",
          "description": "Sets the method by which group member lookups are performed. Use caution when changing this option directly. Acceptable values: \"default\", \"rfc2307bis\".\n"
        },
        "memberOfAttribute": {
          "type": "string",
          "description": "Specifies the LDAP Query Member Of attribute, which performs reverse membership queries.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the name of the LDAP provider.\n"
        },
        "nameAttribute": {
          "type": "string",
          "description": "Specifies the LDAP UID attribute, which is used as the login name.\n"
        },
        "netgroupBaseDn": {
          "type": "string",
          "description": "Specifies the distinguished name of the entry where LDAP searches for netgroups are started.\n"
        },
        "netgroupFilter": {
          "type": "string",
          "description": "Specifies the LDAP filter for netgroup objects.\n"
        },
        "netgroupMembersAttribute": {
          "type": "string",
          "description": "Specifies the LDAP Netgroup Members attribute.\n"
        },
        "netgroupSearchScope": {
          "type": "string",
          "description": "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\".\n"
        },
        "netgroupTripleAttribute": {
          "type": "string",
          "description": "Specifies the LDAP Netgroup Triple attribute.\n"
        },
        "normalizeGroups": {
          "type": "boolean",
          "description": "Normalizes group names to lowercase before look up.\n"
        },
        "normalizeUsers": {
          "type": "boolean",
          "description": "Normalizes user names to lowercase before look up.\n"
        },
        "ntPasswordAttribute": {
          "type": "string",
          "description": "Specifies the LDAP NT Password attribute.\n"
        },
        "ntlmSupport": {
          "type": "string",
          "description": "Specifies which NTLM versions to support for users with NTLM-compatible credentials. Acceptable values: \"all\", \"v2only\", \"none\".\n"
        },
        "ocspServerUris": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the OCSP server URIs. Only available for PowerScale 9.5 and above.\n"
        },
        "providerDomain": {
          "type": "string",
          "description": "Specifies the provider domain.\n"
        },
        "requireSecureConnection": {
          "type": "boolean",
          "description": "Determines whether to continue over a non-TLS connection.\n"
        },
        "restrictFindable": {
          "type": "boolean",
          "description": "If true, checks the provider for filtered lists of findable and unfindable users and groups.\n"
        },
        "restrictListable": {
          "type": "boolean",
          "description": "If true, checks the provider for filtered lists of listable and unlistable users and groups.\n"
        },
        "searchScope": {
          "type": "string",
          "description": "Specifies the default depth from the base DN to perform LDAP searches. Acceptable values: \"base\", \"onelevel\", \"subtree\", \"children\".\n"
        },
        "searchTimeout": {
          "type": "number",
          "description": "Specifies the search timeout period in seconds.\n"
        },
        "serverUris": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the server URIs.\n"
        },
        "shadowExpireAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the absolute date to expire the account.\n"
        },
        "shadowFlagAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the section of the shadow map that is used to store the flag value.\n"
        },
        "shadowInactiveAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the number of days of inactivity that is allowed for the user.\n"
        },
        "shadowLastChangeAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the last change of the shadow information.\n"
        },
        "shadowMaxAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the maximum number of days a password can be valid.\n"
        },
        "shadowMinAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the minimum number of days between shadow changes.\n"
        },
        "shadowUserFilter": {
          "type": "string",
          "description": "Sets LDAP filter for shadow user objects.\n"
        },
        "shadowWarningAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the number of days before the password expires to warn the user.\n"
        },
        "shellAttribute": {
          "type": "string",
          "description": "Specifies the LDAP Shell attribute.\n"
        },
        "sshPublicKeyAttribute": {
          "type": "string",
          "description": "Sets the attribute name that indicates the SSH Public Key for the user.\n"
        },
        "status": {
          "type": "string",
          "description": "Specifies the status of the provider.\n"
        },
        "system": {
          "type": "boolean",
          "description": "If true, indicates that this provider instance was created by OneFS and cannot be removed.\n"
        },
        "tlsProtocolMin": {
          "type": "string",
          "description": "Specifies the minimum TLS protocol version.\n"
        },
        "tlsRevocationCheckLevel": {
          "type": "string",
          "description": "This setting controls the behavior of the certificate revocation checking algorithm when the LDAP provider is presented with a digital certificate by an LDAP server. Acceptable values: \"none\", \"allowNoData\", \"allowNoSrc\", \"strict\". Only available for PowerScale 9.5 and above.\n"
        },
        "uidAttribute": {
          "type": "string",
          "description": "Specifies the LDAP UID Number attribute.\n"
        },
        "unfindableGroups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the groups that cannot be resolved by the provider.\n"
        },
        "unfindableUsers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies users that cannot be resolved by the provider.\n"
        },
        "uniqueGroupMembersAttribute": {
          "type": "string",
          "description": "Sets the LDAP Unique Group Members attribute.\n"
        },
        "unlistableGroups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies a group that cannot be listed by the provider.\n"
        },
        "unlistableUsers": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies a user that cannot be listed by the provider.\n"
        },
        "userBaseDn": {
          "type": "string",
          "description": "Specifies the distinguished name of the entry at which to start LDAP searches for users.\n"
        },
        "userDomain": {
          "type": "string",
          "description": "Specifies the domain for this provider through which users are qualified.\n"
        },
        "userFilter": {
          "type": "string",
          "description": "Specifies the LDAP filter for user objects.\n"
        },
        "userSearchScope": {
          "type": "string",
          "description": "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\".\n"
        }
      },
      "requiredInputs": [
        "baseDn",
        "serverUris"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering LdapProvider resources.\n",
        "properties": {
          "alternateSecurityIdentitiesAttribute": {
            "type": "string",
            "description": "Specifies the attribute name used when searching for alternate security identities.\n"
          },
          "authentication": {
            "type": "boolean",
            "description": "If true, enables authentication and identity management through the authentication provider.\n"
          },
          "balanceServers": {
            "type": "boolean",
            "description": "If true, connects the provider to a random server.\n"
          },
          "baseDn": {
            "type": "string",
            "description": "Specifies the root of the tree in which to search identities.\n"
          },
          "bindDn": {
            "type": "string",
            "description": "Specifies the distinguished name for binding to the LDAP server.\n"
          },
          "bindMechanism": {
            "type": "string",
            "description": "Specifies which bind mechanism to use when connecting to an LDAP server. The only supported option is the 'simple' value.\n"
          },
          "bindTimeout": {
            "type": "number",
            "description": "Specifies the timeout in seconds when binding to an LDAP server.\n"
          },
          "certificateAuthorityFile": {
            "type": "string",
            "description": "Specifies the path to the root certificates file.\n"
          },
          "checkOnlineInterval": {
            "type": "number",
            "description": "Specifies the time in seconds between provider online checks.\n"
          },
          "cnAttribute": {
            "type": "string",
            "description": "Specifies the canonical name.\n"
          },
          "createHomeDirectory": {
            "type": "boolean",
            "description": "Automatically create the home directory on the first login.\n"
          },
          "cryptPasswordAttribute": {
            "type": "string",
            "description": "Specifies the hashed password value.\n"
          },
          "emailAttribute": {
            "type": "string",
            "description": "Specifies the LDAP Email attribute.\n"
          },
          "enabled": {
            "type": "boolean",
            "description": "If true, enables the LDAP provider.\n"
          },
          "enumerateGroups": {
            "type": "boolean",
            "description": "If true, allows the provider to enumerate groups.\n"
          },
          "enumerateUsers": {
            "type": "boolean",
            "description": "If true, allows the provider to enumerate users.\n"
          },
          "findableGroups": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies the list of groups that can be resolved.\n"
          },
          "findableUsers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies the list of users that can be resolved.\n"
          },
          "gecosAttribute": {
            "type": "string",
            "description": "Specifies the LDAP GECOS attribute.\n"
          },
          "gidAttribute": {
            "type": "string",
            "description": "Specifies the LDAP GID attribute.\n"
          },
          "groupBaseDn": {
            "type": "string",
            "description": "Specifies the distinguished name of the entry where LDAP searches for groups are started.\n"
          },
          "groupDomain": {
            "type": "string",
            "description": "Specifies the domain for this provider through which groups are qualified.\n"
          },
          "groupFilter": {
            "type": "string",
            "description": "Specifies the LDAP filter for group objects.\n"
          },
          "groupMembersAttribute": {
            "type": "string",
            "description": "Specifies the LDAP Group Members attribute.\n"
          },
          "groupSearchScope": {
            "type": "string",
            "description": "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\".\n"
          },
          "groupnet": {
            "type": "string",
            "description": "Groupnet identifier. Cannot be updated.\n"
          },
          "homeDirectoryTemplate": {
            "type": "string",
            "description": "Specifies the path to the home directory template.\n"
          },
          "homedirAttribute": {
            "type": "string",
            "description": "Specifies the LDAP Homedir attribute.\n"
          },
          "ignoreTlsErrors": {
            "type": "boolean",
            "description": "If true, continues over secure connections even if identity checks fail.\n"
          },
          "ignoreUnresolvableServerUrls": {
            "type": "boolean",
            "description": "Ignore unresolvable server URIs when creating and updating.\n"
          },
          "listableGroups": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies the groups that can be viewed in the provider.\n"
          },
          "listableUsers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies the users that can be viewed in the provider.\n"
          },
          "loginShell": {
            "type": "string",
            "description": "Specifies the login shell path.\n"
          },
          "memberLookupMethod": {
            "type": "string",
            "description": "Sets the method by which group member lookups are performed. Use caution when changing this option directly. Acceptable values: \"default\", \"rfc2307bis\".\n"
          },
          "memberOfAttribute": {
            "type": "string",
            "description": "Specifies the LDAP Query Member Of attribute, which performs reverse membership queries.\n"
          },
          "name": {
            "type": "string",
            "description": "Specifies the name of the LDAP provider.\n"
          },
          "nameAttribute": {
            "type": "string",
            "description": "Specifies the LDAP UID attribute, which is used as the login name.\n"
          },
          "netgroupBaseDn": {
            "type": "string",
            "description": "Specifies the distinguished name of the entry where LDAP searches for netgroups are started.\n"
          },
          "netgroupFilter": {
            "type": "string",
            "description": "Specifies the LDAP filter for netgroup objects.\n"
          },
          "netgroupMembersAttribute": {
            "type": "string",
            "description": "Specifies the LDAP Netgroup Members attribute.\n"
          },
          "netgroupSearchScope": {
            "type": "string",
            "description": "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\".\n"
          },
          "netgroupTripleAttribute": {
            "type": "string",
            "description": "Specifies the LDAP Netgroup Triple attribute.\n"
          },
          "normalizeGroups": {
            "type": "boolean",
            "description": "Normalizes group names to lowercase before look up.\n"
          },
          "normalizeUsers": {
            "type": "boolean",
            "description": "Normalizes user names to lowercase before look up.\n"
          },
          "ntPasswordAttribute": {
            "type": "string",
            "description": "Specifies the LDAP NT Password attribute.\n"
          },
          "ntlmSupport": {
            "type": "string",
            "description": "Specifies which NTLM versions to support for users with NTLM-compatible credentials. Acceptable values: \"all\", \"v2only\", \"none\".\n"
          },
          "ocspServerUris": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies the OCSP server URIs. Only available for PowerScale 9.5 and above.\n"
          },
          "providerDomain": {
            "type": "string",
            "description": "Specifies the provider domain.\n"
          },
          "requireSecureConnection": {
            "type": "boolean",
            "description": "Determines whether to continue over a non-TLS connection.\n"
          },
          "restrictFindable": {
            "type": "boolean",
            "description": "If true, checks the provider for filtered lists of findable and unfindable users and groups.\n"
          },
          "restrictListable": {
            "type": "boolean",
            "description": "If true, checks the provider for filtered lists of listable and unlistable users and groups.\n"
          },
          "searchScope": {
            "type": "string",
            "description": "Specifies the default depth from the base DN to perform LDAP searches. Acceptable values: \"base\", \"onelevel\", \"subtree\", \"children\".\n"
          },
          "searchTimeout": {
            "type": "number",
            "description": "Specifies the search timeout period in seconds.\n"
          },
          "serverUris": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies the server URIs.\n"
          },
          "shadowExpireAttribute": {
            "type": "string",
            "description": "Sets the attribute name that indicates the absolute date to expire the account.\n"
          },
          "shadowFlagAttribute": {
            "type": "string",
            "description": "Sets the attribute name that indicates the section of the shadow map that is used to store the flag value.\n"
          },
          "shadowInactiveAttribute": {
            "type": "string",
            "description": "Sets the attribute name that indicates the number of days of inactivity that is allowed for the user.\n"
          },
          "shadowLastChangeAttribute": {
            "type": "string",
            "description": "Sets the attribute name that indicates the last change of the shadow information.\n"
          },
          "shadowMaxAttribute": {
            "type": "string",
            "description": "Sets the attribute name that indicates the maximum number of days a password can be valid.\n"
          },
          "shadowMinAttribute": {
            "type": "string",
            "description": "Sets the attribute name that indicates the minimum number of days between shadow changes.\n"
          },
          "shadowUserFilter": {
            "type": "string",
            "description": "Sets LDAP filter for shadow user objects.\n"
          },
          "shadowWarningAttribute": {
            "type": "string",
            "description": "Sets the attribute name that indicates the number of days before the password expires to warn the user.\n"
          },
          "shellAttribute": {
            "type": "string",
            "description": "Specifies the LDAP Shell attribute.\n"
          },
          "sshPublicKeyAttribute": {
            "type": "string",
            "description": "Sets the attribute name that indicates the SSH Public Key for the user.\n"
          },
          "status": {
            "type": "string",
            "description": "Specifies the status of the provider.\n"
          },
          "system": {
            "type": "boolean",
            "description": "If true, indicates that this provider instance was created by OneFS and cannot be removed.\n"
          },
          "tlsProtocolMin": {
            "type": "string",
            "description": "Specifies the minimum TLS protocol version.\n"
          },
          "tlsRevocationCheckLevel": {
            "type": "string",
            "description": "This setting controls the behavior of the certificate revocation checking algorithm when the LDAP provider is presented with a digital certificate by an LDAP server. Acceptable values: \"none\", \"allowNoData\", \"allowNoSrc\", \"strict\". Only available for PowerScale 9.5 and above.\n"
          },
          "uidAttribute": {
            "type": "string",
            "description": "Specifies the LDAP UID Number attribute.\n"
          },
          "unfindableGroups": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies the groups that cannot be resolved by the provider.\n"
          },
          "unfindableUsers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies users that cannot be resolved by the provider.\n"
          },
          "uniqueGroupMembersAttribute": {
            "type": "string",
            "description": "Sets the LDAP Unique Group Members attribute.\n"
          },
          "unlistableGroups": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies a group that cannot be listed by the provider.\n"
          },
          "unlistableUsers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies a user that cannot be listed by the provider.\n"
          },
          "userBaseDn": {
            "type": "string",
            "description": "Specifies the distinguished name of the entry at which to start LDAP searches for users.\n"
          },
          "userDomain": {
            "type": "string",
            "description": "Specifies the domain for this provider through which users are qualified.\n"
          },
          "userFilter": {
            "type": "string",
            "description": "Specifies the LDAP filter for user objects.\n"
          },
          "userSearchScope": {
            "type": "string",
            "description": "Specifies the depth from the base DN to perform LDAP searches. Acceptable values: \"default\", \"base\", \"onelevel\", \"subtree\", \"children\".\n"
          },
          "zoneName": {
            "type": "string",
            "description": "Specifies the name of the access zone in which this provider was created.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/namespaceAcl:NamespaceAcl": {
      "description": "This resource is used to manage the Namespace ACL on PowerScale Array. We can Create, Update and Delete the Namespace ACL using this resource. We can also import the existing Namespace ACL from PowerScale array. Note that, when creating the resource, we actually load Namespace ACL from PowerScale to the resource state.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale Namespace ACL allow you to manage the access control list for a namespace.\nconst exampleNamespaceAcl = new powerscale.NamespaceAcl(\"exampleNamespaceAcl\", {namespace: \"ifs/example\"});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale Namespace ACL allow you to manage the access control list for a namespace.\nexample_namespace_acl = powerscale.NamespaceAcl(\"exampleNamespaceAcl\", namespace=\"ifs/example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale Namespace ACL allow you to manage the access control list for a namespace.\n    var exampleNamespaceAcl = new Powerscale.NamespaceAcl(\"exampleNamespaceAcl\", new()\n    {\n        Namespace = \"ifs/example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale Namespace ACL allow you to manage the access control list for a namespace.\n\t\t_, err := powerscale.NewNamespaceAcl(ctx, \"exampleNamespaceAcl\", &powerscale.NamespaceAclArgs{\n\t\t\tNamespace: pulumi.String(\"ifs/example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.NamespaceAcl;\nimport com.pulumi.powerscale.NamespaceAclArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale Namespace ACL allow you to manage the access control list for a namespace.\n        var exampleNamespaceAcl = new NamespaceAcl(\"exampleNamespaceAcl\", NamespaceAclArgs.builder()\n            .namespace(\"ifs/example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale Namespace ACL allow you to manage the access control list for a namespace.\n  exampleNamespaceAcl:\n    type: powerscale:NamespaceAcl\n    properties:\n      # Required and immutable once set\n      namespace: ifs/example\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/namespaceAcl:NamespaceAcl namespace_acl_test <namespace_path>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/namespaceAcl:NamespaceAcl namespace_acl_test namespace_path\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "aclCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FNamespaceAclAclCustom:NamespaceAclAclCustom"
          },
          "description": "Customer's raw configuration of the JSON array of access rights.\n"
        },
        "acls": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FNamespaceAclAcl:NamespaceAclAcl"
          },
          "description": "Array effective configuration of the JSON array of access rights.\n"
        },
        "authoritative": {
          "type": "string",
          "description": "If the directory has access rights set, then this field is returned as acl. If the directory has POSIX permissions set, then this field is returned as mode.\n"
        },
        "group": {
          "$ref": "#/types/powerscale:index%2FNamespaceAclGroup:NamespaceAclGroup",
          "description": "Provides the JSON object for the group persona of the owner.\n"
        },
        "mode": {
          "type": "string",
          "description": "Provides the POSIX mode.\n"
        },
        "namespace": {
          "type": "string",
          "description": "Indicate the namespace to set/get acl.\n"
        },
        "nsaccess": {
          "type": "boolean",
          "description": "Indicates that the operation is on the access point instead of the store path.\n"
        },
        "owner": {
          "$ref": "#/types/powerscale:index%2FNamespaceAclOwner:NamespaceAclOwner",
          "description": "Provides the JSON object for the group persona of the owner.\n"
        },
        "zone": {
          "type": "string",
          "description": "Indicates the zone of the namespace.\n"
        }
      },
      "type": "object",
      "required": [
        "acls",
        "authoritative",
        "group",
        "mode",
        "namespace",
        "owner"
      ],
      "inputProperties": {
        "aclCustoms": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FNamespaceAclAclCustom:NamespaceAclAclCustom"
          },
          "description": "Customer's raw configuration of the JSON array of access rights.\n"
        },
        "group": {
          "$ref": "#/types/powerscale:index%2FNamespaceAclGroup:NamespaceAclGroup",
          "description": "Provides the JSON object for the group persona of the owner.\n"
        },
        "namespace": {
          "type": "string",
          "description": "Indicate the namespace to set/get acl.\n"
        },
        "nsaccess": {
          "type": "boolean",
          "description": "Indicates that the operation is on the access point instead of the store path.\n"
        },
        "owner": {
          "$ref": "#/types/powerscale:index%2FNamespaceAclOwner:NamespaceAclOwner",
          "description": "Provides the JSON object for the group persona of the owner.\n"
        },
        "zone": {
          "type": "string",
          "description": "Indicates the zone of the namespace.\n"
        }
      },
      "requiredInputs": [
        "namespace"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering NamespaceAcl resources.\n",
        "properties": {
          "aclCustoms": {
            "type": "array",
            "items": {
              "$ref": "#/types/powerscale:index%2FNamespaceAclAclCustom:NamespaceAclAclCustom"
            },
            "description": "Customer's raw configuration of the JSON array of access rights.\n"
          },
          "acls": {
            "type": "array",
            "items": {
              "$ref": "#/types/powerscale:index%2FNamespaceAclAcl:NamespaceAclAcl"
            },
            "description": "Array effective configuration of the JSON array of access rights.\n"
          },
          "authoritative": {
            "type": "string",
            "description": "If the directory has access rights set, then this field is returned as acl. If the directory has POSIX permissions set, then this field is returned as mode.\n"
          },
          "group": {
            "$ref": "#/types/powerscale:index%2FNamespaceAclGroup:NamespaceAclGroup",
            "description": "Provides the JSON object for the group persona of the owner.\n"
          },
          "mode": {
            "type": "string",
            "description": "Provides the POSIX mode.\n"
          },
          "namespace": {
            "type": "string",
            "description": "Indicate the namespace to set/get acl.\n"
          },
          "nsaccess": {
            "type": "boolean",
            "description": "Indicates that the operation is on the access point instead of the store path.\n"
          },
          "owner": {
            "$ref": "#/types/powerscale:index%2FNamespaceAclOwner:NamespaceAclOwner",
            "description": "Provides the JSON object for the group persona of the owner.\n"
          },
          "zone": {
            "type": "string",
            "description": "Indicates the zone of the namespace.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/networkRule:NetworkRule": {
      "description": "This resource is used to manage the Network Rule entity on PowerScale array. We can Create, Update and Delete the Network Rule using this resource. We can also import an existing Network Rule from PowerScale array.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale network rule allows you to manage the network rule on the Powerscale array\nconst rule = new powerscale.NetworkRule(\"rule\", {\n    description: \"tfacc_rule\",\n    groupnet: \"groupnet0\",\n    iface: \"ext-2\",\n    nodeType: \"any\",\n    pool: \"pool0\",\n    subnet: \"subnet0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale network rule allows you to manage the network rule on the Powerscale array\nrule = powerscale.NetworkRule(\"rule\",\n    description=\"tfacc_rule\",\n    groupnet=\"groupnet0\",\n    iface=\"ext-2\",\n    node_type=\"any\",\n    pool=\"pool0\",\n    subnet=\"subnet0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale network rule allows you to manage the network rule on the Powerscale array\n    var rule = new Powerscale.NetworkRule(\"rule\", new()\n    {\n        Description = \"tfacc_rule\",\n        Groupnet = \"groupnet0\",\n        Iface = \"ext-2\",\n        NodeType = \"any\",\n        Pool = \"pool0\",\n        Subnet = \"subnet0\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale network rule allows you to manage the network rule on the Powerscale array\n\t\t_, err := powerscale.NewNetworkRule(ctx, \"rule\", &powerscale.NetworkRuleArgs{\n\t\t\tDescription: pulumi.String(\"tfacc_rule\"),\n\t\t\tGroupnet:    pulumi.String(\"groupnet0\"),\n\t\t\tIface:       pulumi.String(\"ext-2\"),\n\t\t\tNodeType:    pulumi.String(\"any\"),\n\t\t\tPool:        pulumi.String(\"pool0\"),\n\t\t\tSubnet:      pulumi.String(\"subnet0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.NetworkRule;\nimport com.pulumi.powerscale.NetworkRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale network rule allows you to manage the network rule on the Powerscale array\n        var rule = new NetworkRule(\"rule\", NetworkRuleArgs.builder()\n            .description(\"tfacc_rule\")\n            .groupnet(\"groupnet0\")\n            .iface(\"ext-2\")\n            .nodeType(\"any\")\n            .pool(\"pool0\")\n            .subnet(\"subnet0\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale network rule allows you to manage the network rule on the Powerscale array\n  rule:\n    type: powerscale:NetworkRule\n    properties:\n      # Optional. Description for the provisioning rule.\n      description: tfacc_rule\n      # Required.\n      groupnet: groupnet0\n      # Required. Interface name the provisioning rule applies to.\n      iface: ext-2\n      # Optional. Node type the provisioning rule applies to.\n      nodeType: any\n      # Required.\n      pool: pool0\n      # Required.\n      subnet: subnet0\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2023-2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/networkRule:NetworkRule rule groupnet_name.subnet_name.pool_name.rule_name\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/networkRule:NetworkRule rule groupnet0.subnet0.pool0.rule_name\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "description": {
          "type": "string",
          "description": "Description for the provisioning rule.\n"
        },
        "groupnet": {
          "type": "string",
          "description": "Name of the groupnet this rule belongs to\n"
        },
        "iface": {
          "type": "string",
          "description": "Interface name the provisioning rule applies to.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the provisioning rule.\n"
        },
        "nodeType": {
          "type": "string",
          "description": "Node type the provisioning rule applies to.\n"
        },
        "pool": {
          "type": "string",
          "description": "Name of the pool this rule belongs to.\n"
        },
        "subnet": {
          "type": "string",
          "description": "Name of the subnet this rule belongs to.\n"
        }
      },
      "type": "object",
      "required": [
        "description",
        "groupnet",
        "iface",
        "name",
        "nodeType",
        "pool",
        "subnet"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "Description for the provisioning rule.\n"
        },
        "groupnet": {
          "type": "string",
          "description": "Name of the groupnet this rule belongs to\n"
        },
        "iface": {
          "type": "string",
          "description": "Interface name the provisioning rule applies to.\n"
        },
        "name": {
          "type": "string",
          "description": "Name of the provisioning rule.\n"
        },
        "nodeType": {
          "type": "string",
          "description": "Node type the provisioning rule applies to.\n"
        },
        "pool": {
          "type": "string",
          "description": "Name of the pool this rule belongs to.\n"
        },
        "subnet": {
          "type": "string",
          "description": "Name of the subnet this rule belongs to.\n"
        }
      },
      "requiredInputs": [
        "groupnet",
        "iface",
        "pool",
        "subnet"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering NetworkRule resources.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description for the provisioning rule.\n"
          },
          "groupnet": {
            "type": "string",
            "description": "Name of the groupnet this rule belongs to\n"
          },
          "iface": {
            "type": "string",
            "description": "Interface name the provisioning rule applies to.\n"
          },
          "name": {
            "type": "string",
            "description": "Name of the provisioning rule.\n"
          },
          "nodeType": {
            "type": "string",
            "description": "Node type the provisioning rule applies to.\n"
          },
          "pool": {
            "type": "string",
            "description": "Name of the pool this rule belongs to.\n"
          },
          "subnet": {
            "type": "string",
            "description": "Name of the subnet this rule belongs to.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/networkSettings:NetworkSettings": {
      "description": "This resource is used to manage the Network Settings entity of PowerScale Array. PowerScale Network Settings provide the ability to configure external network configuration on the cluster.We can Create, Update and Delete the Network Settings using this resource. We can also import an existing Network Settings from PowerScale array. Note that, Network Settings is the native functionality of PowerScale. When creating the resource, we actually load Network Settings from PowerScale to the resource state.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale Network Settings provide the ability to configure external network configuration on the cluster.\nconst exampleNetworkSettings = new powerscale.NetworkSettings(\"exampleNetworkSettings\", {});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale Network Settings provide the ability to configure external network configuration on the cluster.\nexample_network_settings = powerscale.NetworkSettings(\"exampleNetworkSettings\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale Network Settings provide the ability to configure external network configuration on the cluster.\n    var exampleNetworkSettings = new Powerscale.NetworkSettings(\"exampleNetworkSettings\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale Network Settings provide the ability to configure external network configuration on the cluster.\n\t\t_, err := powerscale.NewNetworkSettings(ctx, \"exampleNetworkSettings\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.NetworkSettings;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale Network Settings provide the ability to configure external network configuration on the cluster.\n        var exampleNetworkSettings = new NetworkSettings(\"exampleNetworkSettings\");\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale Network Settings provide the ability to configure external network configuration on the cluster.\n  exampleNetworkSettings:\n    type: powerscale:NetworkSettings\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2023-2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/networkSettings:NetworkSettings example_network_settings <anyString>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/networkSettings:NetworkSettings example_network_settings anyString\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "defaultGroupnet": {
          "type": "string",
          "description": "Default client-side DNS settings for non-multitenancy aware programs.\n"
        },
        "scRebalanceDelay": {
          "type": "number",
          "description": "Delay in seconds for IP rebalance.\n"
        },
        "sourceBasedRoutingEnabled": {
          "type": "boolean",
          "description": "Enable or disable Source Based Routing.\n"
        },
        "tcpPorts": {
          "type": "array",
          "items": {
            "type": "number"
          },
          "description": "List of client TCP ports.\n"
        }
      },
      "type": "object",
      "required": [
        "defaultGroupnet",
        "scRebalanceDelay",
        "sourceBasedRoutingEnabled",
        "tcpPorts"
      ],
      "inputProperties": {
        "scRebalanceDelay": {
          "type": "number",
          "description": "Delay in seconds for IP rebalance.\n"
        },
        "sourceBasedRoutingEnabled": {
          "type": "boolean",
          "description": "Enable or disable Source Based Routing.\n"
        },
        "tcpPorts": {
          "type": "array",
          "items": {
            "type": "number"
          },
          "description": "List of client TCP ports.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering NetworkSettings resources.\n",
        "properties": {
          "defaultGroupnet": {
            "type": "string",
            "description": "Default client-side DNS settings for non-multitenancy aware programs.\n"
          },
          "scRebalanceDelay": {
            "type": "number",
            "description": "Delay in seconds for IP rebalance.\n"
          },
          "sourceBasedRoutingEnabled": {
            "type": "boolean",
            "description": "Enable or disable Source Based Routing.\n"
          },
          "tcpPorts": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "List of client TCP ports.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/networkpool:Networkpool": {
      "description": "This resource is used to manage the network pool entity of PowerScale Array. We can Create, Update and Delete the network pool using this resource. We can also import an existing network pool from PowerScale array.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale network pool allows you to add network interfaces to network pools to associate address ranges with a node or a group of nodes.\nconst poolTest = new powerscale.Networkpool(\"poolTest\", {\n    groupnet: \"groupnet0\",\n    subnet: \"subnet0\",\n});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale network pool allows you to add network interfaces to network pools to associate address ranges with a node or a group of nodes.\npool_test = powerscale.Networkpool(\"poolTest\",\n    groupnet=\"groupnet0\",\n    subnet=\"subnet0\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale network pool allows you to add network interfaces to network pools to associate address ranges with a node or a group of nodes.\n    var poolTest = new Powerscale.Networkpool(\"poolTest\", new()\n    {\n        Groupnet = \"groupnet0\",\n        Subnet = \"subnet0\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale network pool allows you to add network interfaces to network pools to associate address ranges with a node or a group of nodes.\n\t\t_, err := powerscale.NewNetworkpool(ctx, \"poolTest\", &powerscale.NetworkpoolArgs{\n\t\t\tGroupnet: pulumi.String(\"groupnet0\"),\n\t\t\tSubnet:   pulumi.String(\"subnet0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.Networkpool;\nimport com.pulumi.powerscale.NetworkpoolArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale network pool allows you to add network interfaces to network pools to associate address ranges with a node or a group of nodes.\n        var poolTest = new Networkpool(\"poolTest\", NetworkpoolArgs.builder()\n            .groupnet(\"groupnet0\")\n            .subnet(\"subnet0\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale network pool allows you to add network interfaces to network pools to associate address ranges with a node or a group of nodes.\n  poolTest:\n    type: powerscale:Networkpool\n    properties:\n      groupnet: groupnet0\n      subnet: subnet0\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2023-2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/networkpool:Networkpool pool_test groupnet_name.subnet_name.pool_name\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/networkpool:Networkpool pool_test groupnet0.subnet0.pool_test\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "accessZone": {
          "type": "string",
          "description": "Name of a valid access zone to map IP address pool to the zone.\n"
        },
        "addrFamily": {
          "type": "string",
          "description": "IP address format.\n"
        },
        "aggregationMode": {
          "type": "string",
          "description": "OneFS supports the following NIC aggregation modes.\n"
        },
        "allocMethod": {
          "type": "string",
          "description": "Specifies how IP address allocation is done among pool members.\n"
        },
        "description": {
          "type": "string",
          "description": "A description of the pool.\n"
        },
        "groupnet": {
          "type": "string",
          "description": "Name of the groupnet this pool belongs to. Cannot be modified once designated\n"
        },
        "ifaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FNetworkpoolIface:NetworkpoolIface"
          },
          "description": "List of interface members in this pool.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the pool. It must be unique throughout the given subnet.It's a required field with POST method.\n"
        },
        "nfsv3RroceOnly": {
          "type": "boolean",
          "description": "Indicates that pool contains only RDMA RRoCE capable interfaces.\n"
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FNetworkpoolRange:NetworkpoolRange"
          },
          "description": "List of IP address ranges in this pool.\n"
        },
        "rebalancePolicy": {
          "type": "string",
          "description": "Rebalance policy..\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Names of the rules in this pool.\n"
        },
        "scAutoUnsuspendDelay": {
          "type": "number",
          "description": "Time delay in seconds before a node which has been automatically unsuspended becomes usable in SmartConnect responses for pool zones.\n"
        },
        "scConnectPolicy": {
          "type": "string",
          "description": "SmartConnect client connection balancing policy.\n"
        },
        "scDnsZone": {
          "type": "string",
          "description": "SmartConnect zone name for the pool.\n"
        },
        "scDnsZoneAliases": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of SmartConnect zone aliases (DNS names) to the pool.\n"
        },
        "scFailoverPolicy": {
          "type": "string",
          "description": "SmartConnect IP failover policy.\n"
        },
        "scSubnet": {
          "type": "string",
          "description": "Name of SmartConnect service subnet for this pool.\n"
        },
        "scSuspendedNodes": {
          "type": "array",
          "items": {
            "type": "number"
          },
          "description": "List of LNNs showing currently suspended nodes in SmartConnect.\n"
        },
        "scTtl": {
          "type": "number",
          "description": "Time to live value for SmartConnect DNS query responses in seconds.\n"
        },
        "staticRoutes": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FNetworkpoolStaticRoute:NetworkpoolStaticRoute"
          },
          "description": "List of interface members in this pool.\n"
        },
        "subnet": {
          "type": "string",
          "description": "The name of the subnet. Cannot be modified once designated\n"
        }
      },
      "type": "object",
      "required": [
        "accessZone",
        "addrFamily",
        "aggregationMode",
        "allocMethod",
        "description",
        "groupnet",
        "ifaces",
        "name",
        "nfsv3RroceOnly",
        "ranges",
        "rebalancePolicy",
        "rules",
        "scAutoUnsuspendDelay",
        "scConnectPolicy",
        "scDnsZone",
        "scDnsZoneAliases",
        "scFailoverPolicy",
        "scSubnet",
        "scSuspendedNodes",
        "scTtl",
        "staticRoutes",
        "subnet"
      ],
      "inputProperties": {
        "accessZone": {
          "type": "string",
          "description": "Name of a valid access zone to map IP address pool to the zone.\n"
        },
        "aggregationMode": {
          "type": "string",
          "description": "OneFS supports the following NIC aggregation modes.\n"
        },
        "allocMethod": {
          "type": "string",
          "description": "Specifies how IP address allocation is done among pool members.\n"
        },
        "description": {
          "type": "string",
          "description": "A description of the pool.\n"
        },
        "groupnet": {
          "type": "string",
          "description": "Name of the groupnet this pool belongs to. Cannot be modified once designated\n"
        },
        "ifaces": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FNetworkpoolIface:NetworkpoolIface"
          },
          "description": "List of interface members in this pool.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the pool. It must be unique throughout the given subnet.It's a required field with POST method.\n"
        },
        "nfsv3RroceOnly": {
          "type": "boolean",
          "description": "Indicates that pool contains only RDMA RRoCE capable interfaces.\n"
        },
        "ranges": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FNetworkpoolRange:NetworkpoolRange"
          },
          "description": "List of IP address ranges in this pool.\n"
        },
        "rebalancePolicy": {
          "type": "string",
          "description": "Rebalance policy..\n"
        },
        "scAutoUnsuspendDelay": {
          "type": "number",
          "description": "Time delay in seconds before a node which has been automatically unsuspended becomes usable in SmartConnect responses for pool zones.\n"
        },
        "scConnectPolicy": {
          "type": "string",
          "description": "SmartConnect client connection balancing policy.\n"
        },
        "scDnsZone": {
          "type": "string",
          "description": "SmartConnect zone name for the pool.\n"
        },
        "scDnsZoneAliases": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of SmartConnect zone aliases (DNS names) to the pool.\n"
        },
        "scFailoverPolicy": {
          "type": "string",
          "description": "SmartConnect IP failover policy.\n"
        },
        "scSubnet": {
          "type": "string",
          "description": "Name of SmartConnect service subnet for this pool.\n"
        },
        "scTtl": {
          "type": "number",
          "description": "Time to live value for SmartConnect DNS query responses in seconds.\n"
        },
        "staticRoutes": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FNetworkpoolStaticRoute:NetworkpoolStaticRoute"
          },
          "description": "List of interface members in this pool.\n"
        },
        "subnet": {
          "type": "string",
          "description": "The name of the subnet. Cannot be modified once designated\n"
        }
      },
      "requiredInputs": [
        "groupnet",
        "subnet"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Networkpool resources.\n",
        "properties": {
          "accessZone": {
            "type": "string",
            "description": "Name of a valid access zone to map IP address pool to the zone.\n"
          },
          "addrFamily": {
            "type": "string",
            "description": "IP address format.\n"
          },
          "aggregationMode": {
            "type": "string",
            "description": "OneFS supports the following NIC aggregation modes.\n"
          },
          "allocMethod": {
            "type": "string",
            "description": "Specifies how IP address allocation is done among pool members.\n"
          },
          "description": {
            "type": "string",
            "description": "A description of the pool.\n"
          },
          "groupnet": {
            "type": "string",
            "description": "Name of the groupnet this pool belongs to. Cannot be modified once designated\n"
          },
          "ifaces": {
            "type": "array",
            "items": {
              "$ref": "#/types/powerscale:index%2FNetworkpoolIface:NetworkpoolIface"
            },
            "description": "List of interface members in this pool.\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the pool. It must be unique throughout the given subnet.It's a required field with POST method.\n"
          },
          "nfsv3RroceOnly": {
            "type": "boolean",
            "description": "Indicates that pool contains only RDMA RRoCE capable interfaces.\n"
          },
          "ranges": {
            "type": "array",
            "items": {
              "$ref": "#/types/powerscale:index%2FNetworkpoolRange:NetworkpoolRange"
            },
            "description": "List of IP address ranges in this pool.\n"
          },
          "rebalancePolicy": {
            "type": "string",
            "description": "Rebalance policy..\n"
          },
          "rules": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Names of the rules in this pool.\n"
          },
          "scAutoUnsuspendDelay": {
            "type": "number",
            "description": "Time delay in seconds before a node which has been automatically unsuspended becomes usable in SmartConnect responses for pool zones.\n"
          },
          "scConnectPolicy": {
            "type": "string",
            "description": "SmartConnect client connection balancing policy.\n"
          },
          "scDnsZone": {
            "type": "string",
            "description": "SmartConnect zone name for the pool.\n"
          },
          "scDnsZoneAliases": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of SmartConnect zone aliases (DNS names) to the pool.\n"
          },
          "scFailoverPolicy": {
            "type": "string",
            "description": "SmartConnect IP failover policy.\n"
          },
          "scSubnet": {
            "type": "string",
            "description": "Name of SmartConnect service subnet for this pool.\n"
          },
          "scSuspendedNodes": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "List of LNNs showing currently suspended nodes in SmartConnect.\n"
          },
          "scTtl": {
            "type": "number",
            "description": "Time to live value for SmartConnect DNS query responses in seconds.\n"
          },
          "staticRoutes": {
            "type": "array",
            "items": {
              "$ref": "#/types/powerscale:index%2FNetworkpoolStaticRoute:NetworkpoolStaticRoute"
            },
            "description": "List of interface members in this pool.\n"
          },
          "subnet": {
            "type": "string",
            "description": "The name of the subnet. Cannot be modified once designated\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/nfsAlias:NfsAlias": {
      "description": "This resource is used to manage the NFS Alias entity of PowerScale Array. We can Create, Update and Delete the NFS Aliases using this resource. We can also import an existing NFS Alias from PowerScale array.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\nconst example = new powerscale.NfsAlias(\"example\", {\n    path: \"/ifs\",\n    zone: \"System\",\n});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\nexample = powerscale.NfsAlias(\"example\",\n    path=\"/ifs\",\n    zone=\"System\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Powerscale.NfsAlias(\"example\", new()\n    {\n        Path = \"/ifs\",\n        Zone = \"System\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := powerscale.NewNfsAlias(ctx, \"example\", &powerscale.NfsAliasArgs{\n\t\t\tPath: pulumi.String(\"/ifs\"),\n\t\t\tZone: pulumi.String(\"System\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.NfsAlias;\nimport com.pulumi.powerscale.NfsAliasArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new NfsAlias(\"example\", NfsAliasArgs.builder()\n            .path(\"/ifs\")\n            .zone(\"System\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: powerscale:NfsAlias\n    properties:\n      path: /ifs\n      # Optional attribute for creating and updating\n      zone: System\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/nfsAlias:NfsAlias example global_setting name_of_nfs_alias\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/nfsAlias:NfsAlias example global_setting \"alias\"\n```\n\nafter running this command, populate parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource.\n\n",
      "properties": {
        "health": {
          "type": "string",
          "description": "Specifies whether the alias is usable.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the name by which the alias can be referenced.\n"
        },
        "path": {
          "type": "string",
          "description": "Specifies the path to which the alias points.\n"
        },
        "zone": {
          "type": "string",
          "description": "Specifies the zone in which the alias is valid.\n"
        }
      },
      "type": "object",
      "required": [
        "health",
        "name",
        "path",
        "zone"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "Specifies the name by which the alias can be referenced.\n"
        },
        "path": {
          "type": "string",
          "description": "Specifies the path to which the alias points.\n"
        },
        "zone": {
          "type": "string",
          "description": "Specifies the zone in which the alias is valid.\n"
        }
      },
      "requiredInputs": [
        "path"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering NfsAlias resources.\n",
        "properties": {
          "health": {
            "type": "string",
            "description": "Specifies whether the alias is usable.\n"
          },
          "name": {
            "type": "string",
            "description": "Specifies the name by which the alias can be referenced.\n"
          },
          "path": {
            "type": "string",
            "description": "Specifies the path to which the alias points.\n"
          },
          "zone": {
            "type": "string",
            "description": "Specifies the zone in which the alias is valid.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/nfsExport:NfsExport": {
      "description": "This resource is used to manage the NFS export entity of PowerScale Array. PowerScale provides an NFS server so you can share files on your cluster. We can Create, Update and Delete the NFS export using this resource. We can also import an existing NFS export from PowerScale array.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale provides an NFS server so you can share files on your cluster\nconst exampleExport = new powerscale.NfsExport(\"exampleExport\", {paths: [\"/ifs/example_export\"]});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale provides an NFS server so you can share files on your cluster\nexample_export = powerscale.NfsExport(\"exampleExport\", paths=[\"/ifs/example_export\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale provides an NFS server so you can share files on your cluster\n    var exampleExport = new Powerscale.NfsExport(\"exampleExport\", new()\n    {\n        Paths = new[]\n        {\n            \"/ifs/example_export\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale provides an NFS server so you can share files on your cluster\n\t\t_, err := powerscale.NewNfsExport(ctx, \"exampleExport\", &powerscale.NfsExportArgs{\n\t\t\tPaths: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"/ifs/example_export\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.NfsExport;\nimport com.pulumi.powerscale.NfsExportArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale provides an NFS server so you can share files on your cluster\n        var exampleExport = new NfsExport(\"exampleExport\", NfsExportArgs.builder()\n            .paths(\"/ifs/example_export\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale provides an NFS server so you can share files on your cluster\n  exampleExport:\n    type: powerscale:NfsExport\n    properties:\n      # Required path for creating\n      paths:\n        - /ifs/example_export\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2023-2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/nfsExport:NfsExport example_export [<zoneID>]:<name>\n```\n\nExample 1:  <zoneID> is Optional, defaults to System:\n\n```sh\n$ pulumi import powerscale:index/nfsExport:NfsExport example_export example_export\n```\n\nExample 2:\n\n```sh\n$ pulumi import powerscale:index/nfsExport:NfsExport example_export zone_id:example_export\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "allDirs": {
          "type": "boolean",
          "description": "True if all directories under the specified paths are mountable.\n"
        },
        "blockSize": {
          "type": "number",
          "description": "Specifies the block size returned by the NFS statfs procedure.\n"
        },
        "canSetTime": {
          "type": "boolean",
          "description": "True if the client can set file times through the NFS set attribute request. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "caseInsensitive": {
          "type": "boolean",
          "description": "True if the case is ignored for file names. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "casePreserving": {
          "type": "boolean",
          "description": "True if the case is preserved for file names. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "chownRestricted": {
          "type": "boolean",
          "description": "True if the superuser can change file ownership. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "clients": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the clients with root access to the export.\n"
        },
        "commitAsynchronous": {
          "type": "boolean",
          "description": "True if NFS  commit  requests execute asynchronously.\n"
        },
        "conflictingPaths": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Reports the paths that conflict with another export.\n"
        },
        "description": {
          "type": "string",
          "description": "Specifies the user-defined string that is used to identify the export.\n"
        },
        "directoryTransferSize": {
          "type": "number",
          "description": "Specifies the preferred size for directory read operations. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "encoding": {
          "type": "string",
          "description": "Specifies the default character set encoding of the clients connecting to the export, unless otherwise specified.\n"
        },
        "force": {
          "type": "boolean",
          "description": "If true, the export will be created even if it conflicts with another export.\n"
        },
        "ignoreBadAuth": {
          "type": "boolean",
          "description": "Ignore invalid users.\n"
        },
        "ignoreBadPaths": {
          "type": "boolean",
          "description": "Ignore nonexistent or otherwise bad paths.\n"
        },
        "ignoreConflicts": {
          "type": "boolean",
          "description": "Ignore conflicts with existing exports.\n"
        },
        "ignoreUnresolvableHosts": {
          "type": "boolean",
          "description": "Ignore unresolvable hosts.\n"
        },
        "linkMax": {
          "type": "number",
          "description": "Specifies the reported maximum number of links to a file. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "mapAll": {
          "$ref": "#/types/powerscale:index%2FNfsExportMapAll:NfsExportMapAll",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "mapFailure": {
          "$ref": "#/types/powerscale:index%2FNfsExportMapFailure:NfsExportMapFailure",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "mapFull": {
          "type": "boolean",
          "description": "True if user mappings query the OneFS user database. When set to false, user mappings only query local authentication.\n"
        },
        "mapLookupUid": {
          "type": "boolean",
          "description": "True if incoming user IDs (UIDs) are mapped to users in the OneFS user database. When set to false, incoming UIDs are applied directly to file operations.\n"
        },
        "mapNonRoot": {
          "$ref": "#/types/powerscale:index%2FNfsExportMapNonRoot:NfsExportMapNonRoot",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "mapRetry": {
          "type": "boolean",
          "description": "Determines whether searches for users specified in 'map*all', 'map*root' or 'map_nonroot' are retried if the search fails.\n"
        },
        "mapRoot": {
          "$ref": "#/types/powerscale:index%2FNfsExportMapRoot:NfsExportMapRoot",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "maxFileSize": {
          "type": "number",
          "description": "Specifies the maximum file size for any file accessed from the export. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "nameMaxSize": {
          "type": "number",
          "description": "Specifies the reported maximum length of a file name. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "nfsExportId": {
          "type": "number",
          "description": "Specifies the system-assigned ID for the export. This ID is returned when an export is created through the POST method.\n"
        },
        "noTruncate": {
          "type": "boolean",
          "description": "True if long file names result in an error. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "paths": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the paths under /ifs that are exported.\n"
        },
        "readOnly": {
          "type": "boolean",
          "description": "True if the export is set to read-only.\n"
        },
        "readOnlyClients": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the clients with read-only access to the export.\n"
        },
        "readTransferMaxSize": {
          "type": "number",
          "description": "Specifies the maximum buffer size that clients should use on NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "readTransferMultiple": {
          "type": "number",
          "description": "Specifies the preferred multiple size for NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "readTransferSize": {
          "type": "number",
          "description": "Specifies the preferred size for NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "readWriteClients": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the clients with both read and write access to the export, even when the export is set to read-only.\n"
        },
        "readdirplus": {
          "type": "boolean",
          "description": "True if 'readdirplus' requests are enabled. Enabling this property might improve network performance and is only available for NFSv3.\n"
        },
        "readdirplusPrefetch": {
          "type": "number",
          "description": "Sets the number of directory entries that are prefetched when a 'readdirplus' request is processed. (Deprecated.)\n"
        },
        "return32bitFileIds": {
          "type": "boolean",
          "description": "Limits the size of file identifiers returned by NFSv3+ to 32-bit values (may require remount).\n"
        },
        "rootClients": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Clients that have root access to the export.\n"
        },
        "scope": {
          "type": "string",
          "description": "When specified as 'effective', or not specified, all fields are returned. When specified as 'user', only fields with non-default values are shown. When specified as 'default', the original values are returned.\n"
        },
        "securityFlavors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the authentication types that are supported for this export.\n"
        },
        "setattrAsynchronous": {
          "type": "boolean",
          "description": "True if set attribute operations execute asynchronously.\n"
        },
        "snapshot": {
          "type": "string",
          "description": "Specifies the snapshot for all mounts.\n"
        },
        "symlinks": {
          "type": "boolean",
          "description": "True if symlinks are supported. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "timeDelta": {
          "type": "number",
          "description": "Specifies the resolution of all time values that are returned to the clients\n"
        },
        "unresolvedClients": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Reports clients that cannot be resolved.\n"
        },
        "writeDatasyncAction": {
          "type": "string",
          "description": "Specifies the action to be taken when an NFSv3+ datasync write is requested.\n"
        },
        "writeDatasyncReply": {
          "type": "string",
          "description": "Specifies the stability disposition returned when an NFSv3+ datasync write is processed.\n"
        },
        "writeFilesyncAction": {
          "type": "string",
          "description": "Specifies the action to be taken when an NFSv3+ filesync write is requested.\n"
        },
        "writeFilesyncReply": {
          "type": "string",
          "description": "Specifies the stability disposition returned when an NFSv3+ filesync write is processed.\n"
        },
        "writeTransferMaxSize": {
          "type": "number",
          "description": "Specifies the maximum buffer size that clients should use on NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "writeTransferMultiple": {
          "type": "number",
          "description": "Specifies the preferred multiple size for NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "writeTransferSize": {
          "type": "number",
          "description": "Specifies the preferred multiple size for NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "writeUnstableAction": {
          "type": "string",
          "description": "Specifies the action to be taken when an NFSv3+ unstable write is requested.\n"
        },
        "writeUnstableReply": {
          "type": "string",
          "description": "Specifies the stability disposition returned when an NFSv3+ unstable write is processed.\n"
        },
        "zone": {
          "type": "string",
          "description": "Specifies the zone in which the export is valid. Cannot be changed once set\n"
        }
      },
      "type": "object",
      "required": [
        "allDirs",
        "blockSize",
        "canSetTime",
        "caseInsensitive",
        "casePreserving",
        "chownRestricted",
        "clients",
        "commitAsynchronous",
        "conflictingPaths",
        "description",
        "directoryTransferSize",
        "encoding",
        "linkMax",
        "mapFailure",
        "mapFull",
        "mapLookupUid",
        "mapNonRoot",
        "mapRetry",
        "mapRoot",
        "maxFileSize",
        "nameMaxSize",
        "nfsExportId",
        "noTruncate",
        "paths",
        "readOnly",
        "readOnlyClients",
        "readTransferMaxSize",
        "readTransferMultiple",
        "readTransferSize",
        "readWriteClients",
        "readdirplus",
        "readdirplusPrefetch",
        "return32bitFileIds",
        "rootClients",
        "securityFlavors",
        "setattrAsynchronous",
        "snapshot",
        "symlinks",
        "timeDelta",
        "unresolvedClients",
        "writeDatasyncAction",
        "writeDatasyncReply",
        "writeFilesyncAction",
        "writeFilesyncReply",
        "writeTransferMaxSize",
        "writeTransferMultiple",
        "writeTransferSize",
        "writeUnstableAction",
        "writeUnstableReply",
        "zone"
      ],
      "inputProperties": {
        "allDirs": {
          "type": "boolean",
          "description": "True if all directories under the specified paths are mountable.\n"
        },
        "blockSize": {
          "type": "number",
          "description": "Specifies the block size returned by the NFS statfs procedure.\n"
        },
        "canSetTime": {
          "type": "boolean",
          "description": "True if the client can set file times through the NFS set attribute request. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "caseInsensitive": {
          "type": "boolean",
          "description": "True if the case is ignored for file names. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "casePreserving": {
          "type": "boolean",
          "description": "True if the case is preserved for file names. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "chownRestricted": {
          "type": "boolean",
          "description": "True if the superuser can change file ownership. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "clients": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the clients with root access to the export.\n"
        },
        "commitAsynchronous": {
          "type": "boolean",
          "description": "True if NFS  commit  requests execute asynchronously.\n"
        },
        "conflictingPaths": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Reports the paths that conflict with another export.\n"
        },
        "description": {
          "type": "string",
          "description": "Specifies the user-defined string that is used to identify the export.\n"
        },
        "directoryTransferSize": {
          "type": "number",
          "description": "Specifies the preferred size for directory read operations. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "encoding": {
          "type": "string",
          "description": "Specifies the default character set encoding of the clients connecting to the export, unless otherwise specified.\n"
        },
        "force": {
          "type": "boolean",
          "description": "If true, the export will be created even if it conflicts with another export.\n"
        },
        "ignoreBadAuth": {
          "type": "boolean",
          "description": "Ignore invalid users.\n"
        },
        "ignoreBadPaths": {
          "type": "boolean",
          "description": "Ignore nonexistent or otherwise bad paths.\n"
        },
        "ignoreConflicts": {
          "type": "boolean",
          "description": "Ignore conflicts with existing exports.\n"
        },
        "ignoreUnresolvableHosts": {
          "type": "boolean",
          "description": "Ignore unresolvable hosts.\n"
        },
        "linkMax": {
          "type": "number",
          "description": "Specifies the reported maximum number of links to a file. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "mapAll": {
          "$ref": "#/types/powerscale:index%2FNfsExportMapAll:NfsExportMapAll",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "mapFailure": {
          "$ref": "#/types/powerscale:index%2FNfsExportMapFailure:NfsExportMapFailure",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "mapFull": {
          "type": "boolean",
          "description": "True if user mappings query the OneFS user database. When set to false, user mappings only query local authentication.\n"
        },
        "mapLookupUid": {
          "type": "boolean",
          "description": "True if incoming user IDs (UIDs) are mapped to users in the OneFS user database. When set to false, incoming UIDs are applied directly to file operations.\n"
        },
        "mapNonRoot": {
          "$ref": "#/types/powerscale:index%2FNfsExportMapNonRoot:NfsExportMapNonRoot",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "mapRetry": {
          "type": "boolean",
          "description": "Determines whether searches for users specified in 'map*all', 'map*root' or 'map_nonroot' are retried if the search fails.\n"
        },
        "mapRoot": {
          "$ref": "#/types/powerscale:index%2FNfsExportMapRoot:NfsExportMapRoot",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "maxFileSize": {
          "type": "number",
          "description": "Specifies the maximum file size for any file accessed from the export. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "nameMaxSize": {
          "type": "number",
          "description": "Specifies the reported maximum length of a file name. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "noTruncate": {
          "type": "boolean",
          "description": "True if long file names result in an error. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "paths": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the paths under /ifs that are exported.\n"
        },
        "readOnly": {
          "type": "boolean",
          "description": "True if the export is set to read-only.\n"
        },
        "readOnlyClients": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the clients with read-only access to the export.\n"
        },
        "readTransferMaxSize": {
          "type": "number",
          "description": "Specifies the maximum buffer size that clients should use on NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "readTransferMultiple": {
          "type": "number",
          "description": "Specifies the preferred multiple size for NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "readTransferSize": {
          "type": "number",
          "description": "Specifies the preferred size for NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "readWriteClients": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the clients with both read and write access to the export, even when the export is set to read-only.\n"
        },
        "readdirplus": {
          "type": "boolean",
          "description": "True if 'readdirplus' requests are enabled. Enabling this property might improve network performance and is only available for NFSv3.\n"
        },
        "readdirplusPrefetch": {
          "type": "number",
          "description": "Sets the number of directory entries that are prefetched when a 'readdirplus' request is processed. (Deprecated.)\n"
        },
        "return32bitFileIds": {
          "type": "boolean",
          "description": "Limits the size of file identifiers returned by NFSv3+ to 32-bit values (may require remount).\n"
        },
        "rootClients": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Clients that have root access to the export.\n"
        },
        "scope": {
          "type": "string",
          "description": "When specified as 'effective', or not specified, all fields are returned. When specified as 'user', only fields with non-default values are shown. When specified as 'default', the original values are returned.\n"
        },
        "securityFlavors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the authentication types that are supported for this export.\n"
        },
        "setattrAsynchronous": {
          "type": "boolean",
          "description": "True if set attribute operations execute asynchronously.\n"
        },
        "snapshot": {
          "type": "string",
          "description": "Specifies the snapshot for all mounts.\n"
        },
        "symlinks": {
          "type": "boolean",
          "description": "True if symlinks are supported. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "timeDelta": {
          "type": "number",
          "description": "Specifies the resolution of all time values that are returned to the clients\n"
        },
        "writeDatasyncAction": {
          "type": "string",
          "description": "Specifies the action to be taken when an NFSv3+ datasync write is requested.\n"
        },
        "writeDatasyncReply": {
          "type": "string",
          "description": "Specifies the stability disposition returned when an NFSv3+ datasync write is processed.\n"
        },
        "writeFilesyncAction": {
          "type": "string",
          "description": "Specifies the action to be taken when an NFSv3+ filesync write is requested.\n"
        },
        "writeFilesyncReply": {
          "type": "string",
          "description": "Specifies the stability disposition returned when an NFSv3+ filesync write is processed.\n"
        },
        "writeTransferMaxSize": {
          "type": "number",
          "description": "Specifies the maximum buffer size that clients should use on NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "writeTransferMultiple": {
          "type": "number",
          "description": "Specifies the preferred multiple size for NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "writeTransferSize": {
          "type": "number",
          "description": "Specifies the preferred multiple size for NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "writeUnstableAction": {
          "type": "string",
          "description": "Specifies the action to be taken when an NFSv3+ unstable write is requested.\n"
        },
        "writeUnstableReply": {
          "type": "string",
          "description": "Specifies the stability disposition returned when an NFSv3+ unstable write is processed.\n"
        },
        "zone": {
          "type": "string",
          "description": "Specifies the zone in which the export is valid. Cannot be changed once set\n"
        }
      },
      "requiredInputs": [
        "paths"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering NfsExport resources.\n",
        "properties": {
          "allDirs": {
            "type": "boolean",
            "description": "True if all directories under the specified paths are mountable.\n"
          },
          "blockSize": {
            "type": "number",
            "description": "Specifies the block size returned by the NFS statfs procedure.\n"
          },
          "canSetTime": {
            "type": "boolean",
            "description": "True if the client can set file times through the NFS set attribute request. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
          },
          "caseInsensitive": {
            "type": "boolean",
            "description": "True if the case is ignored for file names. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
          },
          "casePreserving": {
            "type": "boolean",
            "description": "True if the case is preserved for file names. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
          },
          "chownRestricted": {
            "type": "boolean",
            "description": "True if the superuser can change file ownership. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
          },
          "clients": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies the clients with root access to the export.\n"
          },
          "commitAsynchronous": {
            "type": "boolean",
            "description": "True if NFS  commit  requests execute asynchronously.\n"
          },
          "conflictingPaths": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Reports the paths that conflict with another export.\n"
          },
          "description": {
            "type": "string",
            "description": "Specifies the user-defined string that is used to identify the export.\n"
          },
          "directoryTransferSize": {
            "type": "number",
            "description": "Specifies the preferred size for directory read operations. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
          },
          "encoding": {
            "type": "string",
            "description": "Specifies the default character set encoding of the clients connecting to the export, unless otherwise specified.\n"
          },
          "force": {
            "type": "boolean",
            "description": "If true, the export will be created even if it conflicts with another export.\n"
          },
          "ignoreBadAuth": {
            "type": "boolean",
            "description": "Ignore invalid users.\n"
          },
          "ignoreBadPaths": {
            "type": "boolean",
            "description": "Ignore nonexistent or otherwise bad paths.\n"
          },
          "ignoreConflicts": {
            "type": "boolean",
            "description": "Ignore conflicts with existing exports.\n"
          },
          "ignoreUnresolvableHosts": {
            "type": "boolean",
            "description": "Ignore unresolvable hosts.\n"
          },
          "linkMax": {
            "type": "number",
            "description": "Specifies the reported maximum number of links to a file. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
          },
          "mapAll": {
            "$ref": "#/types/powerscale:index%2FNfsExportMapAll:NfsExportMapAll",
            "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
          },
          "mapFailure": {
            "$ref": "#/types/powerscale:index%2FNfsExportMapFailure:NfsExportMapFailure",
            "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
          },
          "mapFull": {
            "type": "boolean",
            "description": "True if user mappings query the OneFS user database. When set to false, user mappings only query local authentication.\n"
          },
          "mapLookupUid": {
            "type": "boolean",
            "description": "True if incoming user IDs (UIDs) are mapped to users in the OneFS user database. When set to false, incoming UIDs are applied directly to file operations.\n"
          },
          "mapNonRoot": {
            "$ref": "#/types/powerscale:index%2FNfsExportMapNonRoot:NfsExportMapNonRoot",
            "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
          },
          "mapRetry": {
            "type": "boolean",
            "description": "Determines whether searches for users specified in 'map*all', 'map*root' or 'map_nonroot' are retried if the search fails.\n"
          },
          "mapRoot": {
            "$ref": "#/types/powerscale:index%2FNfsExportMapRoot:NfsExportMapRoot",
            "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
          },
          "maxFileSize": {
            "type": "number",
            "description": "Specifies the maximum file size for any file accessed from the export. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
          },
          "nameMaxSize": {
            "type": "number",
            "description": "Specifies the reported maximum length of a file name. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
          },
          "nfsExportId": {
            "type": "number",
            "description": "Specifies the system-assigned ID for the export. This ID is returned when an export is created through the POST method.\n"
          },
          "noTruncate": {
            "type": "boolean",
            "description": "True if long file names result in an error. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
          },
          "paths": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies the paths under /ifs that are exported.\n"
          },
          "readOnly": {
            "type": "boolean",
            "description": "True if the export is set to read-only.\n"
          },
          "readOnlyClients": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies the clients with read-only access to the export.\n"
          },
          "readTransferMaxSize": {
            "type": "number",
            "description": "Specifies the maximum buffer size that clients should use on NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
          },
          "readTransferMultiple": {
            "type": "number",
            "description": "Specifies the preferred multiple size for NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
          },
          "readTransferSize": {
            "type": "number",
            "description": "Specifies the preferred size for NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
          },
          "readWriteClients": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies the clients with both read and write access to the export, even when the export is set to read-only.\n"
          },
          "readdirplus": {
            "type": "boolean",
            "description": "True if 'readdirplus' requests are enabled. Enabling this property might improve network performance and is only available for NFSv3.\n"
          },
          "readdirplusPrefetch": {
            "type": "number",
            "description": "Sets the number of directory entries that are prefetched when a 'readdirplus' request is processed. (Deprecated.)\n"
          },
          "return32bitFileIds": {
            "type": "boolean",
            "description": "Limits the size of file identifiers returned by NFSv3+ to 32-bit values (may require remount).\n"
          },
          "rootClients": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Clients that have root access to the export.\n"
          },
          "scope": {
            "type": "string",
            "description": "When specified as 'effective', or not specified, all fields are returned. When specified as 'user', only fields with non-default values are shown. When specified as 'default', the original values are returned.\n"
          },
          "securityFlavors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies the authentication types that are supported for this export.\n"
          },
          "setattrAsynchronous": {
            "type": "boolean",
            "description": "True if set attribute operations execute asynchronously.\n"
          },
          "snapshot": {
            "type": "string",
            "description": "Specifies the snapshot for all mounts.\n"
          },
          "symlinks": {
            "type": "boolean",
            "description": "True if symlinks are supported. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
          },
          "timeDelta": {
            "type": "number",
            "description": "Specifies the resolution of all time values that are returned to the clients\n"
          },
          "unresolvedClients": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Reports clients that cannot be resolved.\n"
          },
          "writeDatasyncAction": {
            "type": "string",
            "description": "Specifies the action to be taken when an NFSv3+ datasync write is requested.\n"
          },
          "writeDatasyncReply": {
            "type": "string",
            "description": "Specifies the stability disposition returned when an NFSv3+ datasync write is processed.\n"
          },
          "writeFilesyncAction": {
            "type": "string",
            "description": "Specifies the action to be taken when an NFSv3+ filesync write is requested.\n"
          },
          "writeFilesyncReply": {
            "type": "string",
            "description": "Specifies the stability disposition returned when an NFSv3+ filesync write is processed.\n"
          },
          "writeTransferMaxSize": {
            "type": "number",
            "description": "Specifies the maximum buffer size that clients should use on NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
          },
          "writeTransferMultiple": {
            "type": "number",
            "description": "Specifies the preferred multiple size for NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
          },
          "writeTransferSize": {
            "type": "number",
            "description": "Specifies the preferred multiple size for NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
          },
          "writeUnstableAction": {
            "type": "string",
            "description": "Specifies the action to be taken when an NFSv3+ unstable write is requested.\n"
          },
          "writeUnstableReply": {
            "type": "string",
            "description": "Specifies the stability disposition returned when an NFSv3+ unstable write is processed.\n"
          },
          "zone": {
            "type": "string",
            "description": "Specifies the zone in which the export is valid. Cannot be changed once set\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/nfsExportSettings:NfsExportSettings": {
      "description": "This resource is used to manage the NFS Export Settings of PowerScale Array. We can Create, Update and Delete the NFS Export Settings using this resource.  \nNote that, NFS Export Settings is the native functionality of PowerScale. When creating the resource, we actually load NFS Export Settings from PowerScale to the resource.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale NFS Export Settings allow you to configure NFS export settings on PowerScale.\nconst example = new powerscale.NfsExportSettings(\"example\", {});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale NFS Export Settings allow you to configure NFS export settings on PowerScale.\nexample = powerscale.NfsExportSettings(\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale NFS Export Settings allow you to configure NFS export settings on PowerScale.\n    var example = new Powerscale.NfsExportSettings(\"example\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale NFS Export Settings allow you to configure NFS export settings on PowerScale.\n\t\t_, err := powerscale.NewNfsExportSettings(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.NfsExportSettings;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale NFS Export Settings allow you to configure NFS export settings on PowerScale.\n        var example = new NfsExportSettings(\"example\");\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale NFS Export Settings allow you to configure NFS export settings on PowerScale.\n  example:\n    type: powerscale:NfsExportSettings\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/nfsExportSettings:NfsExportSettings example <zoneName>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/nfsExportSettings:NfsExportSettings example zoneName\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "allDirs": {
          "type": "boolean",
          "description": "True if all directories under the specified paths are mountable.\n"
        },
        "blockSize": {
          "type": "number",
          "description": "Specifies the block size returned by the NFS statfs procedure.\n"
        },
        "canSetTime": {
          "type": "boolean",
          "description": "True if the client can set file times through the NFS set attribute request. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "caseInsensitive": {
          "type": "boolean",
          "description": "True if the case is ignored for file names. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "casePreserving": {
          "type": "boolean",
          "description": "True if the case is preserved for file names. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "chownRestricted": {
          "type": "boolean",
          "description": "True if the superuser can change file ownership. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "commitAsynchronous": {
          "type": "boolean",
          "description": "True if NFS  commit  requests execute asynchronously.\n"
        },
        "directoryTransferSize": {
          "type": "number",
          "description": "Specifies the preferred size for directory read operations. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "encoding": {
          "type": "string",
          "description": "Specifies the default character set encoding of the clients connecting to the export, unless otherwise specified.\n"
        },
        "linkMax": {
          "type": "number",
          "description": "Specifies the reported maximum number of links to a file. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "mapAll": {
          "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapAll:NfsExportSettingsMapAll",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "mapFailure": {
          "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapFailure:NfsExportSettingsMapFailure",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "mapFull": {
          "type": "boolean",
          "description": "True if user mappings query the OneFS user database. When set to false, user mappings only query local authentication.\n"
        },
        "mapLookupUid": {
          "type": "boolean",
          "description": "True if incoming user IDs (UIDs) are mapped to users in the OneFS user database. When set to false, incoming UIDs are applied directly to file operations.\n"
        },
        "mapNonRoot": {
          "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapNonRoot:NfsExportSettingsMapNonRoot",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "mapRetry": {
          "type": "boolean",
          "description": "Determines whether searches for users specified in 'map*all', 'map*root' or 'map_nonroot' are retried if the search fails.\n"
        },
        "mapRoot": {
          "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapRoot:NfsExportSettingsMapRoot",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "maxFileSize": {
          "type": "number",
          "description": "Specifies the maximum file size for any file accessed from the export. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "nameMaxSize": {
          "type": "number",
          "description": "Specifies the reported maximum length of a file name. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "noTruncate": {
          "type": "boolean",
          "description": "True if long file names result in an error. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "readOnly": {
          "type": "boolean",
          "description": "True if the export is set to read-only.\n"
        },
        "readTransferMaxSize": {
          "type": "number",
          "description": "Specifies the maximum buffer size that clients should use on NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "readTransferMultiple": {
          "type": "number",
          "description": "Specifies the preferred multiple size for NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "readTransferSize": {
          "type": "number",
          "description": "Specifies the preferred size for NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "readdirplus": {
          "type": "boolean",
          "description": "True if 'readdirplus' requests are enabled. Enabling this property might improve network performance and is only available for NFSv3.\n"
        },
        "readdirplusPrefetch": {
          "type": "number",
          "description": "Sets the number of directory entries that are prefetched when a 'readdirplus' request is processed. (Deprecated.)\n"
        },
        "return32bitFileIds": {
          "type": "boolean",
          "description": "Limits the size of file identifiers returned by NFSv3+ to 32-bit values (may require remount).\n"
        },
        "securityFlavors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the authentication types that are supported for this export.\n"
        },
        "setattrAsynchronous": {
          "type": "boolean",
          "description": "True if set attribute operations execute asynchronously.\n"
        },
        "snapshot": {
          "type": "string",
          "description": "Specifies the snapshot for all mounts. Use \"-\" to set to default value.\n"
        },
        "symlinks": {
          "type": "boolean",
          "description": "True if symlinks are supported. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "timeDelta": {
          "type": "number",
          "description": "Specifies the resolution of all time values that are returned to the clients\n"
        },
        "writeDatasyncAction": {
          "type": "string",
          "description": "Specifies the action to be taken when an NFSv3+ datasync write is requested.\n"
        },
        "writeDatasyncReply": {
          "type": "string",
          "description": "Specifies the stability disposition returned when an NFSv3+ datasync write is processed.\n"
        },
        "writeFilesyncAction": {
          "type": "string",
          "description": "Specifies the action to be taken when an NFSv3+ filesync write is requested.\n"
        },
        "writeFilesyncReply": {
          "type": "string",
          "description": "Specifies the stability disposition returned when an NFSv3+ filesync write is processed.\n"
        },
        "writeTransferMaxSize": {
          "type": "number",
          "description": "Specifies the maximum buffer size that clients should use on NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "writeTransferMultiple": {
          "type": "number",
          "description": "Specifies the preferred multiple size for NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "writeTransferSize": {
          "type": "number",
          "description": "Specifies the preferred multiple size for NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "writeUnstableAction": {
          "type": "string",
          "description": "Specifies the action to be taken when an NFSv3+ unstable write is requested.\n"
        },
        "writeUnstableReply": {
          "type": "string",
          "description": "Specifies the stability disposition returned when an NFSv3+ unstable write is processed.\n"
        },
        "zone": {
          "type": "string",
          "description": "Specifies the zone in which the export is valid.\n"
        }
      },
      "type": "object",
      "required": [
        "allDirs",
        "blockSize",
        "canSetTime",
        "caseInsensitive",
        "casePreserving",
        "chownRestricted",
        "commitAsynchronous",
        "directoryTransferSize",
        "encoding",
        "linkMax",
        "mapAll",
        "mapFailure",
        "mapFull",
        "mapLookupUid",
        "mapNonRoot",
        "mapRetry",
        "mapRoot",
        "maxFileSize",
        "nameMaxSize",
        "noTruncate",
        "readOnly",
        "readTransferMaxSize",
        "readTransferMultiple",
        "readTransferSize",
        "readdirplus",
        "readdirplusPrefetch",
        "return32bitFileIds",
        "securityFlavors",
        "setattrAsynchronous",
        "snapshot",
        "symlinks",
        "timeDelta",
        "writeDatasyncAction",
        "writeDatasyncReply",
        "writeFilesyncAction",
        "writeFilesyncReply",
        "writeTransferMaxSize",
        "writeTransferMultiple",
        "writeTransferSize",
        "writeUnstableAction",
        "writeUnstableReply",
        "zone"
      ],
      "inputProperties": {
        "allDirs": {
          "type": "boolean",
          "description": "True if all directories under the specified paths are mountable.\n"
        },
        "blockSize": {
          "type": "number",
          "description": "Specifies the block size returned by the NFS statfs procedure.\n"
        },
        "canSetTime": {
          "type": "boolean",
          "description": "True if the client can set file times through the NFS set attribute request. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "caseInsensitive": {
          "type": "boolean",
          "description": "True if the case is ignored for file names. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "casePreserving": {
          "type": "boolean",
          "description": "True if the case is preserved for file names. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "chownRestricted": {
          "type": "boolean",
          "description": "True if the superuser can change file ownership. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "commitAsynchronous": {
          "type": "boolean",
          "description": "True if NFS  commit  requests execute asynchronously.\n"
        },
        "directoryTransferSize": {
          "type": "number",
          "description": "Specifies the preferred size for directory read operations. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "encoding": {
          "type": "string",
          "description": "Specifies the default character set encoding of the clients connecting to the export, unless otherwise specified.\n"
        },
        "linkMax": {
          "type": "number",
          "description": "Specifies the reported maximum number of links to a file. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "mapAll": {
          "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapAll:NfsExportSettingsMapAll",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "mapFailure": {
          "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapFailure:NfsExportSettingsMapFailure",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "mapFull": {
          "type": "boolean",
          "description": "True if user mappings query the OneFS user database. When set to false, user mappings only query local authentication.\n"
        },
        "mapLookupUid": {
          "type": "boolean",
          "description": "True if incoming user IDs (UIDs) are mapped to users in the OneFS user database. When set to false, incoming UIDs are applied directly to file operations.\n"
        },
        "mapNonRoot": {
          "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapNonRoot:NfsExportSettingsMapNonRoot",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "mapRetry": {
          "type": "boolean",
          "description": "Determines whether searches for users specified in 'map*all', 'map*root' or 'map_nonroot' are retried if the search fails.\n"
        },
        "mapRoot": {
          "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapRoot:NfsExportSettingsMapRoot",
          "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
        },
        "maxFileSize": {
          "type": "number",
          "description": "Specifies the maximum file size for any file accessed from the export. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "nameMaxSize": {
          "type": "number",
          "description": "Specifies the reported maximum length of a file name. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "noTruncate": {
          "type": "boolean",
          "description": "True if long file names result in an error. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
        },
        "readOnly": {
          "type": "boolean",
          "description": "True if the export is set to read-only.\n"
        },
        "readTransferMaxSize": {
          "type": "number",
          "description": "Specifies the maximum buffer size that clients should use on NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "readTransferMultiple": {
          "type": "number",
          "description": "Specifies the preferred multiple size for NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "readTransferSize": {
          "type": "number",
          "description": "Specifies the preferred size for NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "readdirplus": {
          "type": "boolean",
          "description": "True if 'readdirplus' requests are enabled. Enabling this property might improve network performance and is only available for NFSv3.\n"
        },
        "readdirplusPrefetch": {
          "type": "number",
          "description": "Sets the number of directory entries that are prefetched when a 'readdirplus' request is processed. (Deprecated.)\n"
        },
        "return32bitFileIds": {
          "type": "boolean",
          "description": "Limits the size of file identifiers returned by NFSv3+ to 32-bit values (may require remount).\n"
        },
        "securityFlavors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the authentication types that are supported for this export.\n"
        },
        "setattrAsynchronous": {
          "type": "boolean",
          "description": "True if set attribute operations execute asynchronously.\n"
        },
        "snapshot": {
          "type": "string",
          "description": "Specifies the snapshot for all mounts. Use \"-\" to set to default value.\n"
        },
        "symlinks": {
          "type": "boolean",
          "description": "True if symlinks are supported. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "timeDelta": {
          "type": "number",
          "description": "Specifies the resolution of all time values that are returned to the clients\n"
        },
        "writeDatasyncAction": {
          "type": "string",
          "description": "Specifies the action to be taken when an NFSv3+ datasync write is requested.\n"
        },
        "writeDatasyncReply": {
          "type": "string",
          "description": "Specifies the stability disposition returned when an NFSv3+ datasync write is processed.\n"
        },
        "writeFilesyncAction": {
          "type": "string",
          "description": "Specifies the action to be taken when an NFSv3+ filesync write is requested.\n"
        },
        "writeFilesyncReply": {
          "type": "string",
          "description": "Specifies the stability disposition returned when an NFSv3+ filesync write is processed.\n"
        },
        "writeTransferMaxSize": {
          "type": "number",
          "description": "Specifies the maximum buffer size that clients should use on NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "writeTransferMultiple": {
          "type": "number",
          "description": "Specifies the preferred multiple size for NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "writeTransferSize": {
          "type": "number",
          "description": "Specifies the preferred multiple size for NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
        },
        "writeUnstableAction": {
          "type": "string",
          "description": "Specifies the action to be taken when an NFSv3+ unstable write is requested.\n"
        },
        "writeUnstableReply": {
          "type": "string",
          "description": "Specifies the stability disposition returned when an NFSv3+ unstable write is processed.\n"
        },
        "zone": {
          "type": "string",
          "description": "Specifies the zone in which the export is valid.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering NfsExportSettings resources.\n",
        "properties": {
          "allDirs": {
            "type": "boolean",
            "description": "True if all directories under the specified paths are mountable.\n"
          },
          "blockSize": {
            "type": "number",
            "description": "Specifies the block size returned by the NFS statfs procedure.\n"
          },
          "canSetTime": {
            "type": "boolean",
            "description": "True if the client can set file times through the NFS set attribute request. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
          },
          "caseInsensitive": {
            "type": "boolean",
            "description": "True if the case is ignored for file names. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
          },
          "casePreserving": {
            "type": "boolean",
            "description": "True if the case is preserved for file names. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
          },
          "chownRestricted": {
            "type": "boolean",
            "description": "True if the superuser can change file ownership. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
          },
          "commitAsynchronous": {
            "type": "boolean",
            "description": "True if NFS  commit  requests execute asynchronously.\n"
          },
          "directoryTransferSize": {
            "type": "number",
            "description": "Specifies the preferred size for directory read operations. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
          },
          "encoding": {
            "type": "string",
            "description": "Specifies the default character set encoding of the clients connecting to the export, unless otherwise specified.\n"
          },
          "linkMax": {
            "type": "number",
            "description": "Specifies the reported maximum number of links to a file. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
          },
          "mapAll": {
            "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapAll:NfsExportSettingsMapAll",
            "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
          },
          "mapFailure": {
            "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapFailure:NfsExportSettingsMapFailure",
            "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
          },
          "mapFull": {
            "type": "boolean",
            "description": "True if user mappings query the OneFS user database. When set to false, user mappings only query local authentication.\n"
          },
          "mapLookupUid": {
            "type": "boolean",
            "description": "True if incoming user IDs (UIDs) are mapped to users in the OneFS user database. When set to false, incoming UIDs are applied directly to file operations.\n"
          },
          "mapNonRoot": {
            "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapNonRoot:NfsExportSettingsMapNonRoot",
            "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
          },
          "mapRetry": {
            "type": "boolean",
            "description": "Determines whether searches for users specified in 'map*all', 'map*root' or 'map_nonroot' are retried if the search fails.\n"
          },
          "mapRoot": {
            "$ref": "#/types/powerscale:index%2FNfsExportSettingsMapRoot:NfsExportSettingsMapRoot",
            "description": "Specifies the users and groups to which non-root and root clients are mapped.\n"
          },
          "maxFileSize": {
            "type": "number",
            "description": "Specifies the maximum file size for any file accessed from the export. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
          },
          "nameMaxSize": {
            "type": "number",
            "description": "Specifies the reported maximum length of a file name. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
          },
          "noTruncate": {
            "type": "boolean",
            "description": "True if long file names result in an error. This parameter does not affect server behavior, but is included to accommodate legacy client requirements.\n"
          },
          "readOnly": {
            "type": "boolean",
            "description": "True if the export is set to read-only.\n"
          },
          "readTransferMaxSize": {
            "type": "number",
            "description": "Specifies the maximum buffer size that clients should use on NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
          },
          "readTransferMultiple": {
            "type": "number",
            "description": "Specifies the preferred multiple size for NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
          },
          "readTransferSize": {
            "type": "number",
            "description": "Specifies the preferred size for NFS read requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
          },
          "readdirplus": {
            "type": "boolean",
            "description": "True if 'readdirplus' requests are enabled. Enabling this property might improve network performance and is only available for NFSv3.\n"
          },
          "readdirplusPrefetch": {
            "type": "number",
            "description": "Sets the number of directory entries that are prefetched when a 'readdirplus' request is processed. (Deprecated.)\n"
          },
          "return32bitFileIds": {
            "type": "boolean",
            "description": "Limits the size of file identifiers returned by NFSv3+ to 32-bit values (may require remount).\n"
          },
          "securityFlavors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies the authentication types that are supported for this export.\n"
          },
          "setattrAsynchronous": {
            "type": "boolean",
            "description": "True if set attribute operations execute asynchronously.\n"
          },
          "snapshot": {
            "type": "string",
            "description": "Specifies the snapshot for all mounts. Use \"-\" to set to default value.\n"
          },
          "symlinks": {
            "type": "boolean",
            "description": "True if symlinks are supported. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
          },
          "timeDelta": {
            "type": "number",
            "description": "Specifies the resolution of all time values that are returned to the clients\n"
          },
          "writeDatasyncAction": {
            "type": "string",
            "description": "Specifies the action to be taken when an NFSv3+ datasync write is requested.\n"
          },
          "writeDatasyncReply": {
            "type": "string",
            "description": "Specifies the stability disposition returned when an NFSv3+ datasync write is processed.\n"
          },
          "writeFilesyncAction": {
            "type": "string",
            "description": "Specifies the action to be taken when an NFSv3+ filesync write is requested.\n"
          },
          "writeFilesyncReply": {
            "type": "string",
            "description": "Specifies the stability disposition returned when an NFSv3+ filesync write is processed.\n"
          },
          "writeTransferMaxSize": {
            "type": "number",
            "description": "Specifies the maximum buffer size that clients should use on NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
          },
          "writeTransferMultiple": {
            "type": "number",
            "description": "Specifies the preferred multiple size for NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
          },
          "writeTransferSize": {
            "type": "number",
            "description": "Specifies the preferred multiple size for NFS write requests. This value is used to advise the client of optimal settings for the server, but is not enforced.\n"
          },
          "writeUnstableAction": {
            "type": "string",
            "description": "Specifies the action to be taken when an NFSv3+ unstable write is requested.\n"
          },
          "writeUnstableReply": {
            "type": "string",
            "description": "Specifies the stability disposition returned when an NFSv3+ unstable write is processed.\n"
          },
          "zone": {
            "type": "string",
            "description": "Specifies the zone in which the export is valid.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/nfsGlobalSettings:NfsGlobalSettings": {
      "description": "This resource is used to manage the NFS Global Settings of PowerScale Array. We can Create, Update and Delete the NFS Global Settings using this resource.  \nNote that, NFS Global Settings is the native functionality of PowerScale. When creating the resource, we actually load NFS Global Settings from PowerScale to the resource.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale NFS Global Settings allow you to configure NFS global settings on PowerScale.\nconst example = new powerscale.NfsGlobalSettings(\"example\", {});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale NFS Global Settings allow you to configure NFS global settings on PowerScale.\nexample = powerscale.NfsGlobalSettings(\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale NFS Global Settings allow you to configure NFS global settings on PowerScale.\n    var example = new Powerscale.NfsGlobalSettings(\"example\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale NFS Global Settings allow you to configure NFS global settings on PowerScale.\n\t\t_, err := powerscale.NewNfsGlobalSettings(ctx, \"example\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.NfsGlobalSettings;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale NFS Global Settings allow you to configure NFS global settings on PowerScale.\n        var example = new NfsGlobalSettings(\"example\");\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale NFS Global Settings allow you to configure NFS global settings on PowerScale.\n  example:\n    type: powerscale:NfsGlobalSettings\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/nfsGlobalSettings:NfsGlobalSettings example <anyString>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/nfsGlobalSettings:NfsGlobalSettings example anyString\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "nfsv3Enabled": {
          "type": "boolean",
          "description": "True if NFSv3 is enabled.\n"
        },
        "nfsv3RdmaEnabled": {
          "type": "boolean",
          "description": "True if the RDMA is enabled for NFSv3.\n"
        },
        "nfsv4Enabled": {
          "type": "boolean",
          "description": "True if NFSv4 is enabled.\n"
        },
        "rpcMaxthreads": {
          "type": "number",
          "description": "Specifies the maximum number of threads in the nfsd thread pool.\n"
        },
        "rpcMinthreads": {
          "type": "number",
          "description": "Specifies the minimum number of threads in the nfsd thread pool.\n"
        },
        "rquotaEnabled": {
          "type": "boolean",
          "description": "True if the rquota protocol is enabled.\n"
        },
        "service": {
          "type": "boolean",
          "description": "True if the NFS service is enabled. When set to false, the NFS service is disabled.\n"
        }
      },
      "type": "object",
      "required": [
        "nfsv3Enabled",
        "nfsv3RdmaEnabled",
        "nfsv4Enabled",
        "rpcMaxthreads",
        "rpcMinthreads",
        "rquotaEnabled",
        "service"
      ],
      "inputProperties": {
        "nfsv3Enabled": {
          "type": "boolean",
          "description": "True if NFSv3 is enabled.\n"
        },
        "nfsv3RdmaEnabled": {
          "type": "boolean",
          "description": "True if the RDMA is enabled for NFSv3.\n"
        },
        "nfsv4Enabled": {
          "type": "boolean",
          "description": "True if NFSv4 is enabled.\n"
        },
        "rpcMaxthreads": {
          "type": "number",
          "description": "Specifies the maximum number of threads in the nfsd thread pool.\n"
        },
        "rpcMinthreads": {
          "type": "number",
          "description": "Specifies the minimum number of threads in the nfsd thread pool.\n"
        },
        "rquotaEnabled": {
          "type": "boolean",
          "description": "True if the rquota protocol is enabled.\n"
        },
        "service": {
          "type": "boolean",
          "description": "True if the NFS service is enabled. When set to false, the NFS service is disabled.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering NfsGlobalSettings resources.\n",
        "properties": {
          "nfsv3Enabled": {
            "type": "boolean",
            "description": "True if NFSv3 is enabled.\n"
          },
          "nfsv3RdmaEnabled": {
            "type": "boolean",
            "description": "True if the RDMA is enabled for NFSv3.\n"
          },
          "nfsv4Enabled": {
            "type": "boolean",
            "description": "True if NFSv4 is enabled.\n"
          },
          "rpcMaxthreads": {
            "type": "number",
            "description": "Specifies the maximum number of threads in the nfsd thread pool.\n"
          },
          "rpcMinthreads": {
            "type": "number",
            "description": "Specifies the minimum number of threads in the nfsd thread pool.\n"
          },
          "rquotaEnabled": {
            "type": "boolean",
            "description": "True if the rquota protocol is enabled.\n"
          },
          "service": {
            "type": "boolean",
            "description": "True if the NFS service is enabled. When set to false, the NFS service is disabled.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/nfsZoneSettings:NfsZoneSettings": {
      "description": "This resource is used to manage the NFS Zone Settings of PowerScale Array. We can Create, Update and Delete the NFS Zone Settings using this resource.  \n\t\tNote that, NFS Zone Settings is the native functionality of PowerScale. When creating the resource, we actually load NFS Zone Settings from PowerScale to the resource.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale NFS zone settings allow you to configure NFS zone settings on PowerScale.\nconst example = new powerscale.NfsZoneSettings(\"example\", {zone: \"tfaccAccessZone\"});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale NFS zone settings allow you to configure NFS zone settings on PowerScale.\nexample = powerscale.NfsZoneSettings(\"example\", zone=\"tfaccAccessZone\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale NFS zone settings allow you to configure NFS zone settings on PowerScale.\n    var example = new Powerscale.NfsZoneSettings(\"example\", new()\n    {\n        Zone = \"tfaccAccessZone\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale NFS zone settings allow you to configure NFS zone settings on PowerScale.\n\t\t_, err := powerscale.NewNfsZoneSettings(ctx, \"example\", &powerscale.NfsZoneSettingsArgs{\n\t\t\tZone: pulumi.String(\"tfaccAccessZone\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.NfsZoneSettings;\nimport com.pulumi.powerscale.NfsZoneSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale NFS zone settings allow you to configure NFS zone settings on PowerScale.\n        var example = new NfsZoneSettings(\"example\", NfsZoneSettingsArgs.builder()\n            .zone(\"tfaccAccessZone\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale NFS zone settings allow you to configure NFS zone settings on PowerScale.\n  example:\n    type: powerscale:NfsZoneSettings\n    properties:\n      # Required field both for creating and updating\n      zone: tfaccAccessZone\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/nfsZoneSettings:NfsZoneSettings example zone\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/nfsZoneSettings:NfsZoneSettings example tfaccAccessZone\n```\n\nafter running this command, populate the zone field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "nfsv4AllowNumericIds": {
          "type": "boolean",
          "description": "If true, sends owners and groups as UIDs and GIDs when look up fails or if the 'nfsv4*no*name' property is set to 1.\n"
        },
        "nfsv4Domain": {
          "type": "string",
          "description": "Specifies the domain or realm through which users and groups are associated.\n"
        },
        "nfsv4NoDomain": {
          "type": "boolean",
          "description": "If true, sends owners and groups without a domain name.\n"
        },
        "nfsv4NoDomainUids": {
          "type": "boolean",
          "description": "If true, sends UIDs and GIDs without a domain name.\n"
        },
        "nfsv4NoNames": {
          "type": "boolean",
          "description": "If true, sends owners and groups as UIDs and GIDs.\n"
        },
        "nfsv4ReplaceDomain": {
          "type": "boolean",
          "description": "If true, replaces the owner or group domain with an NFS domain name.\n"
        },
        "zone": {
          "type": "string",
          "description": "Access zone\n"
        }
      },
      "type": "object",
      "required": [
        "nfsv4AllowNumericIds",
        "nfsv4Domain",
        "nfsv4NoDomain",
        "nfsv4NoDomainUids",
        "nfsv4NoNames",
        "nfsv4ReplaceDomain",
        "zone"
      ],
      "inputProperties": {
        "nfsv4AllowNumericIds": {
          "type": "boolean",
          "description": "If true, sends owners and groups as UIDs and GIDs when look up fails or if the 'nfsv4*no*name' property is set to 1.\n"
        },
        "nfsv4Domain": {
          "type": "string",
          "description": "Specifies the domain or realm through which users and groups are associated.\n"
        },
        "nfsv4NoDomain": {
          "type": "boolean",
          "description": "If true, sends owners and groups without a domain name.\n"
        },
        "nfsv4NoDomainUids": {
          "type": "boolean",
          "description": "If true, sends UIDs and GIDs without a domain name.\n"
        },
        "nfsv4NoNames": {
          "type": "boolean",
          "description": "If true, sends owners and groups as UIDs and GIDs.\n"
        },
        "nfsv4ReplaceDomain": {
          "type": "boolean",
          "description": "If true, replaces the owner or group domain with an NFS domain name.\n"
        },
        "zone": {
          "type": "string",
          "description": "Access zone\n"
        }
      },
      "requiredInputs": [
        "zone"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering NfsZoneSettings resources.\n",
        "properties": {
          "nfsv4AllowNumericIds": {
            "type": "boolean",
            "description": "If true, sends owners and groups as UIDs and GIDs when look up fails or if the 'nfsv4*no*name' property is set to 1.\n"
          },
          "nfsv4Domain": {
            "type": "string",
            "description": "Specifies the domain or realm through which users and groups are associated.\n"
          },
          "nfsv4NoDomain": {
            "type": "boolean",
            "description": "If true, sends owners and groups without a domain name.\n"
          },
          "nfsv4NoDomainUids": {
            "type": "boolean",
            "description": "If true, sends UIDs and GIDs without a domain name.\n"
          },
          "nfsv4NoNames": {
            "type": "boolean",
            "description": "If true, sends owners and groups as UIDs and GIDs.\n"
          },
          "nfsv4ReplaceDomain": {
            "type": "boolean",
            "description": "If true, replaces the owner or group domain with an NFS domain name.\n"
          },
          "zone": {
            "type": "string",
            "description": "Access zone\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/ntpserver:Ntpserver": {
      "description": "This resource is used to manage the NTP Server entity of PowerScale Array. We can Create, Update and Delete the NTP Server using this resource. We can also import an existing NTP Server from PowerScale array.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale NTP Server allows you to synchronize the system time\nconst ntpServerTest = new powerscale.Ntpserver(\"ntpServerTest\", {key: \"ntp_server_key_example\"});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale NTP Server allows you to synchronize the system time\nntp_server_test = powerscale.Ntpserver(\"ntpServerTest\", key=\"ntp_server_key_example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale NTP Server allows you to synchronize the system time\n    var ntpServerTest = new Powerscale.Ntpserver(\"ntpServerTest\", new()\n    {\n        Key = \"ntp_server_key_example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale NTP Server allows you to synchronize the system time\n\t\t_, err := powerscale.NewNtpserver(ctx, \"ntpServerTest\", &powerscale.NtpserverArgs{\n\t\t\tKey: pulumi.String(\"ntp_server_key_example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.Ntpserver;\nimport com.pulumi.powerscale.NtpserverArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale NTP Server allows you to synchronize the system time\n        var ntpServerTest = new Ntpserver(\"ntpServerTest\", NtpserverArgs.builder()\n            .key(\"ntp_server_key_example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale NTP Server allows you to synchronize the system time\n  ntpServerTest:\n    type: powerscale:Ntpserver\n    properties:\n      # Optional parameters for updating\n      key: ntp_server_key_example\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2023-2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/ntpserver:Ntpserver ntp_server_test <name>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/ntpserver:Ntpserver ntp_server_test ntp_server_id\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "key": {
          "type": "string",
          "description": "Key value from key_file that maps to this server.\n"
        },
        "name": {
          "type": "string",
          "description": "NTP server name.\n"
        }
      },
      "type": "object",
      "required": [
        "key",
        "name"
      ],
      "inputProperties": {
        "key": {
          "type": "string",
          "description": "Key value from key_file that maps to this server.\n"
        },
        "name": {
          "type": "string",
          "description": "NTP server name.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ntpserver resources.\n",
        "properties": {
          "key": {
            "type": "string",
            "description": "Key value from key_file that maps to this server.\n"
          },
          "name": {
            "type": "string",
            "description": "NTP server name.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/ntpsettings:Ntpsettings": {
      "description": "This resource is used to manage the NTP Settings entity of PowerScale Array. We can Create, Update and Delete the NTP Settings using this resource. We can also import the existing NTP Settings from PowerScale array. Note that, NTP Settings is the native functionality of PowerScale. When creating the resource, we actually load NTP Settings from PowerScale to the resource state.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale NTP Settings allow you to change the settings of NTP Servers\nconst exampleNtpSettings = new powerscale.Ntpsettings(\"exampleNtpSettings\", {});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale NTP Settings allow you to change the settings of NTP Servers\nexample_ntp_settings = powerscale.Ntpsettings(\"exampleNtpSettings\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale NTP Settings allow you to change the settings of NTP Servers\n    var exampleNtpSettings = new Powerscale.Ntpsettings(\"exampleNtpSettings\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale NTP Settings allow you to change the settings of NTP Servers\n\t\t_, err := powerscale.NewNtpsettings(ctx, \"exampleNtpSettings\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.Ntpsettings;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale NTP Settings allow you to change the settings of NTP Servers\n        var exampleNtpSettings = new Ntpsettings(\"exampleNtpSettings\");\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale NTP Settings allow you to change the settings of NTP Servers\n  exampleNtpSettings:\n    type: powerscale:Ntpsettings\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2023-2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/ntpsettings:Ntpsettings example_ntp_settings <anyString>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/ntpsettings:Ntpsettings example_ntp_settings anyString\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "chimers": {
          "type": "number",
          "description": "Number of nodes that will contact the NTP servers.\n"
        },
        "excludeds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Node number (LNN) for nodes excluded from chimer duty.\n"
        },
        "keyFile": {
          "type": "string",
          "description": "Path to NTP key file within /ifs.\n"
        }
      },
      "type": "object",
      "required": [
        "chimers",
        "excludeds",
        "keyFile"
      ],
      "inputProperties": {
        "chimers": {
          "type": "number",
          "description": "Number of nodes that will contact the NTP servers.\n"
        },
        "excludeds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Node number (LNN) for nodes excluded from chimer duty.\n"
        },
        "keyFile": {
          "type": "string",
          "description": "Path to NTP key file within /ifs.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Ntpsettings resources.\n",
        "properties": {
          "chimers": {
            "type": "number",
            "description": "Number of nodes that will contact the NTP servers.\n"
          },
          "excludeds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Node number (LNN) for nodes excluded from chimer duty.\n"
          },
          "keyFile": {
            "type": "string",
            "description": "Path to NTP key file within /ifs.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/quota:Quota": {
      "description": "This resource is used to manage the Quota entity of PowerScale Array. Quota module monitors and enforces administrator-defined storage limits. We can Create, Update and Delete the Quota using this resource. We can also import an existing Quota from PowerScale array.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\nconst quotaTest = new powerscale.Quota(\"quotaTest\", {\n    includeSnapshots: false,\n    path: \"/ifs/example_quota\",\n    type: \"user\",\n});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\nquota_test = powerscale.Quota(\"quotaTest\",\n    include_snapshots=False,\n    path=\"/ifs/example_quota\",\n    type=\"user\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    var quotaTest = new Powerscale.Quota(\"quotaTest\", new()\n    {\n        IncludeSnapshots = false,\n        Path = \"/ifs/example_quota\",\n        Type = \"user\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := powerscale.NewQuota(ctx, \"quotaTest\", &powerscale.QuotaArgs{\n\t\t\tIncludeSnapshots: pulumi.Bool(false),\n\t\t\tPath:             pulumi.String(\"/ifs/example_quota\"),\n\t\t\tType:             pulumi.String(\"user\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.Quota;\nimport com.pulumi.powerscale.QuotaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var quotaTest = new Quota(\"quotaTest\", QuotaArgs.builder()\n            .includeSnapshots(\"false\")\n            .path(\"/ifs/example_quota\")\n            .type(\"user\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  quotaTest:\n    type: powerscale:Quota\n    properties:\n      includeSnapshots: 'false'\n      # Required and update not supported\n      path: /ifs/example_quota\n      type: user\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2023-2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/quota:Quota quota_example [<zoneID>]:<id>\n```\n\nExample 1: <zoneID> is Optional, defaults to System:\n\n```sh\n$ pulumi import powerscale:index/quota:Quota quota_example example_quota_id\n```\n\nExample 2:\n\n```sh\n$ pulumi import powerscale:index/quota:Quota quota_example zone_id:example_quota_id\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "container": {
          "type": "boolean",
          "description": "If true, quotas using the quota directory see the quota thresholds as share size.\n"
        },
        "efficiencyRatio": {
          "type": "number",
          "description": "Represents the ratio of logical space provided to physical space used. This accounts for protection overhead, metadata, and compression ratios for the data.\n"
        },
        "enforced": {
          "type": "boolean",
          "description": "True if the quota provides enforcement, otherwise an accounting quota.\n"
        },
        "force": {
          "type": "boolean",
          "description": "Force creation of quotas on the root of /ifs or percent based quotas.\n"
        },
        "ignoreLimitChecks": {
          "type": "boolean",
          "description": "If true, skip child quota's threshold comparison with parent quota path.\n"
        },
        "includeSnapshots": {
          "type": "boolean",
          "description": "If true, quota governs snapshot data as well as head data.\n"
        },
        "linked": {
          "type": "boolean",
          "description": "For user, group and directory quotas, true if the quota is linked and controlled by a parent default-* quota. Linked quotas cannot be modified until they are unlinked. Set linked as true or false to link or unlink quota\n"
        },
        "notifications": {
          "type": "string",
          "description": "Summary of notifications: 'custom' indicates one or more notification rules available from the notifications sub-resource; 'default' indicates system default rules are used; 'disabled' indicates that no notifications will be used for this quota.; 'badmap' indicates that notification rule has problem in rule map.\n"
        },
        "path": {
          "type": "string",
          "description": "The ifs path governed.\n"
        },
        "persona": {
          "$ref": "#/types/powerscale:index%2FQuotaPersona:QuotaPersona",
          "description": "Specifies the persona of the file group. persona is required for user and group type.\n"
        },
        "ready": {
          "type": "boolean",
          "description": "True if the default resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
        },
        "reductionRatio": {
          "type": "number",
          "description": "Represents the ratio of logical space provided to physical data space used. This accounts for compression and data deduplication effects.\n"
        },
        "thresholds": {
          "$ref": "#/types/powerscale:index%2FQuotaThresholds:QuotaThresholds",
          "description": "The thresholds of quota\n"
        },
        "thresholdsOn": {
          "type": "string",
          "description": "Thresholds apply on quota accounting metric.\n"
        },
        "type": {
          "type": "string",
          "description": "The type of quota.\n"
        },
        "usage": {
          "$ref": "#/types/powerscale:index%2FQuotaUsage:QuotaUsage",
          "description": "The usage of quota\n"
        },
        "zone": {
          "type": "string",
          "description": "Optional named zone to use for user and group resolution.\n"
        }
      },
      "type": "object",
      "required": [
        "container",
        "efficiencyRatio",
        "enforced",
        "includeSnapshots",
        "linked",
        "notifications",
        "path",
        "ready",
        "reductionRatio",
        "thresholds",
        "thresholdsOn",
        "type",
        "usage"
      ],
      "inputProperties": {
        "container": {
          "type": "boolean",
          "description": "If true, quotas using the quota directory see the quota thresholds as share size.\n"
        },
        "enforced": {
          "type": "boolean",
          "description": "True if the quota provides enforcement, otherwise an accounting quota.\n"
        },
        "force": {
          "type": "boolean",
          "description": "Force creation of quotas on the root of /ifs or percent based quotas.\n"
        },
        "ignoreLimitChecks": {
          "type": "boolean",
          "description": "If true, skip child quota's threshold comparison with parent quota path.\n"
        },
        "includeSnapshots": {
          "type": "boolean",
          "description": "If true, quota governs snapshot data as well as head data.\n"
        },
        "linked": {
          "type": "boolean",
          "description": "For user, group and directory quotas, true if the quota is linked and controlled by a parent default-* quota. Linked quotas cannot be modified until they are unlinked. Set linked as true or false to link or unlink quota\n"
        },
        "path": {
          "type": "string",
          "description": "The ifs path governed.\n"
        },
        "persona": {
          "$ref": "#/types/powerscale:index%2FQuotaPersona:QuotaPersona",
          "description": "Specifies the persona of the file group. persona is required for user and group type.\n"
        },
        "thresholds": {
          "$ref": "#/types/powerscale:index%2FQuotaThresholds:QuotaThresholds",
          "description": "The thresholds of quota\n"
        },
        "thresholdsOn": {
          "type": "string",
          "description": "Thresholds apply on quota accounting metric.\n"
        },
        "type": {
          "type": "string",
          "description": "The type of quota.\n"
        },
        "zone": {
          "type": "string",
          "description": "Optional named zone to use for user and group resolution.\n"
        }
      },
      "requiredInputs": [
        "includeSnapshots",
        "path",
        "type"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Quota resources.\n",
        "properties": {
          "container": {
            "type": "boolean",
            "description": "If true, quotas using the quota directory see the quota thresholds as share size.\n"
          },
          "efficiencyRatio": {
            "type": "number",
            "description": "Represents the ratio of logical space provided to physical space used. This accounts for protection overhead, metadata, and compression ratios for the data.\n"
          },
          "enforced": {
            "type": "boolean",
            "description": "True if the quota provides enforcement, otherwise an accounting quota.\n"
          },
          "force": {
            "type": "boolean",
            "description": "Force creation of quotas on the root of /ifs or percent based quotas.\n"
          },
          "ignoreLimitChecks": {
            "type": "boolean",
            "description": "If true, skip child quota's threshold comparison with parent quota path.\n"
          },
          "includeSnapshots": {
            "type": "boolean",
            "description": "If true, quota governs snapshot data as well as head data.\n"
          },
          "linked": {
            "type": "boolean",
            "description": "For user, group and directory quotas, true if the quota is linked and controlled by a parent default-* quota. Linked quotas cannot be modified until they are unlinked. Set linked as true or false to link or unlink quota\n"
          },
          "notifications": {
            "type": "string",
            "description": "Summary of notifications: 'custom' indicates one or more notification rules available from the notifications sub-resource; 'default' indicates system default rules are used; 'disabled' indicates that no notifications will be used for this quota.; 'badmap' indicates that notification rule has problem in rule map.\n"
          },
          "path": {
            "type": "string",
            "description": "The ifs path governed.\n"
          },
          "persona": {
            "$ref": "#/types/powerscale:index%2FQuotaPersona:QuotaPersona",
            "description": "Specifies the persona of the file group. persona is required for user and group type.\n"
          },
          "ready": {
            "type": "boolean",
            "description": "True if the default resource accounting is accurate on the quota. If false, this quota is waiting on completion of a QuotaScan job.\n"
          },
          "reductionRatio": {
            "type": "number",
            "description": "Represents the ratio of logical space provided to physical data space used. This accounts for compression and data deduplication effects.\n"
          },
          "thresholds": {
            "$ref": "#/types/powerscale:index%2FQuotaThresholds:QuotaThresholds",
            "description": "The thresholds of quota\n"
          },
          "thresholdsOn": {
            "type": "string",
            "description": "Thresholds apply on quota accounting metric.\n"
          },
          "type": {
            "type": "string",
            "description": "The type of quota.\n"
          },
          "usage": {
            "$ref": "#/types/powerscale:index%2FQuotaUsage:QuotaUsage",
            "description": "The usage of quota\n"
          },
          "zone": {
            "type": "string",
            "description": "Optional named zone to use for user and group resolution.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/role:Role": {
      "description": "This resource is used to manage the role entity of PowerScale Array. We can Create, Update and Delete the role using this resource. We can also import an existing role from PowerScale array.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale role allows you to permit and limit access to administrative areas of your cluster on a per-user basis through roles.\nconst roleTest = new powerscale.Role(\"roleTest\", {\n    description: \"role_test_description\",\n    members: [\n        {\n            id: \"UID:10\",\n        },\n        {\n            id: \"UID:0\",\n        },\n        {\n            id: \"GID:31\",\n        },\n    ],\n    privileges: [\n        {\n            id: \"ISI_PRIV_SYS_SUPPORT\",\n            permission: \"r\",\n        },\n        {\n            id: \"ISI_PRIV_SYS_SHUTDOWN\",\n            permission: \"r\",\n        },\n    ],\n    zone: \"System\",\n});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale role allows you to permit and limit access to administrative areas of your cluster on a per-user basis through roles.\nrole_test = powerscale.Role(\"roleTest\",\n    description=\"role_test_description\",\n    members=[\n        {\n            \"id\": \"UID:10\",\n        },\n        {\n            \"id\": \"UID:0\",\n        },\n        {\n            \"id\": \"GID:31\",\n        },\n    ],\n    privileges=[\n        {\n            \"id\": \"ISI_PRIV_SYS_SUPPORT\",\n            \"permission\": \"r\",\n        },\n        {\n            \"id\": \"ISI_PRIV_SYS_SHUTDOWN\",\n            \"permission\": \"r\",\n        },\n    ],\n    zone=\"System\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale role allows you to permit and limit access to administrative areas of your cluster on a per-user basis through roles.\n    var roleTest = new Powerscale.Role(\"roleTest\", new()\n    {\n        Description = \"role_test_description\",\n        Members = new[]\n        {\n            new Powerscale.Inputs.RoleMemberArgs\n            {\n                Id = \"UID:10\",\n            },\n            new Powerscale.Inputs.RoleMemberArgs\n            {\n                Id = \"UID:0\",\n            },\n            new Powerscale.Inputs.RoleMemberArgs\n            {\n                Id = \"GID:31\",\n            },\n        },\n        Privileges = new[]\n        {\n            new Powerscale.Inputs.RolePrivilegeArgs\n            {\n                Id = \"ISI_PRIV_SYS_SUPPORT\",\n                Permission = \"r\",\n            },\n            new Powerscale.Inputs.RolePrivilegeArgs\n            {\n                Id = \"ISI_PRIV_SYS_SHUTDOWN\",\n                Permission = \"r\",\n            },\n        },\n        Zone = \"System\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale role allows you to permit and limit access to administrative areas of your cluster on a per-user basis through roles.\n\t\t_, err := powerscale.NewRole(ctx, \"roleTest\", &powerscale.RoleArgs{\n\t\t\tDescription: pulumi.String(\"role_test_description\"),\n\t\t\tMembers: powerscale.RoleMemberArray{\n\t\t\t\t&powerscale.RoleMemberArgs{\n\t\t\t\t\tId: pulumi.String(\"UID:10\"),\n\t\t\t\t},\n\t\t\t\t&powerscale.RoleMemberArgs{\n\t\t\t\t\tId: pulumi.String(\"UID:0\"),\n\t\t\t\t},\n\t\t\t\t&powerscale.RoleMemberArgs{\n\t\t\t\t\tId: pulumi.String(\"GID:31\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tPrivileges: powerscale.RolePrivilegeArray{\n\t\t\t\t&powerscale.RolePrivilegeArgs{\n\t\t\t\t\tId:         pulumi.String(\"ISI_PRIV_SYS_SUPPORT\"),\n\t\t\t\t\tPermission: pulumi.String(\"r\"),\n\t\t\t\t},\n\t\t\t\t&powerscale.RolePrivilegeArgs{\n\t\t\t\t\tId:         pulumi.String(\"ISI_PRIV_SYS_SHUTDOWN\"),\n\t\t\t\t\tPermission: pulumi.String(\"r\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tZone: pulumi.String(\"System\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.Role;\nimport com.pulumi.powerscale.RoleArgs;\nimport com.pulumi.powerscale.inputs.RoleMemberArgs;\nimport com.pulumi.powerscale.inputs.RolePrivilegeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale role allows you to permit and limit access to administrative areas of your cluster on a per-user basis through roles.\n        var roleTest = new Role(\"roleTest\", RoleArgs.builder()\n            .description(\"role_test_description\")\n            .members(            \n                RoleMemberArgs.builder()\n                    .id(\"UID:10\")\n                    .build(),\n                RoleMemberArgs.builder()\n                    .id(\"UID:0\")\n                    .build(),\n                RoleMemberArgs.builder()\n                    .id(\"GID:31\")\n                    .build())\n            .privileges(            \n                RolePrivilegeArgs.builder()\n                    .id(\"ISI_PRIV_SYS_SUPPORT\")\n                    .permission(\"r\")\n                    .build(),\n                RolePrivilegeArgs.builder()\n                    .id(\"ISI_PRIV_SYS_SHUTDOWN\")\n                    .permission(\"r\")\n                    .build())\n            .zone(\"System\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale role allows you to permit and limit access to administrative areas of your cluster on a per-user basis through roles.\n  roleTest:\n    type: powerscale:Role\n    properties:\n      # Optional fields both for creating and updating\n      description: role_test_description\n      # To add members, the uid/gid is required. Please use user/user_group datasource to look up the uid/gid needed.\n      members:\n        - id: UID:10\n        - id: UID:0\n        - id: GID:31\n      # To add privileges, the id is required. Please use role privilege datasource to look up the role privilege id needed.\n      privileges:\n        - id: ISI_PRIV_SYS_SUPPORT\n          permission: r\n        - id: ISI_PRIV_SYS_SHUTDOWN\n          permission: r\n      # Optional fields only for creating\n      zone: System\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/role:Role role_test [<zone_id>:]<role_id>\n```\n\nExample1, <zone_id> is Optional, defaults to System:\n\n```sh\n$ pulumi import powerscale:index/role:Role role_test role_id\n```\n\nExample2:\n\n```sh\n$ pulumi import powerscale:index/role:Role role_test zone_id:role_id\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "description": {
          "type": "string",
          "description": "Specifies the description of the role.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FRoleMember:RoleMember"
          },
          "description": "Specifies the users or groups that have this role.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the name of the role.\n"
        },
        "privileges": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FRolePrivilege:RolePrivilege"
          },
          "description": "Specifies the privileges granted by this role.\n"
        },
        "zone": {
          "type": "string",
          "description": "Specifies which access zone to use.\n"
        }
      },
      "type": "object",
      "required": [
        "description",
        "members",
        "name",
        "privileges"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "Specifies the description of the role.\n"
        },
        "members": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FRoleMember:RoleMember"
          },
          "description": "Specifies the users or groups that have this role.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the name of the role.\n"
        },
        "privileges": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FRolePrivilege:RolePrivilege"
          },
          "description": "Specifies the privileges granted by this role.\n"
        },
        "zone": {
          "type": "string",
          "description": "Specifies which access zone to use.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Role resources.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "Specifies the description of the role.\n"
          },
          "members": {
            "type": "array",
            "items": {
              "$ref": "#/types/powerscale:index%2FRoleMember:RoleMember"
            },
            "description": "Specifies the users or groups that have this role.\n"
          },
          "name": {
            "type": "string",
            "description": "Specifies the name of the role.\n"
          },
          "privileges": {
            "type": "array",
            "items": {
              "$ref": "#/types/powerscale:index%2FRolePrivilege:RolePrivilege"
            },
            "description": "Specifies the privileges granted by this role.\n"
          },
          "zone": {
            "type": "string",
            "description": "Specifies which access zone to use.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/s3Bucket:S3Bucket": {
      "description": "This resource is used to manage the S3 Bucket entity of PowerScale Array. PowerScale S3 Bucket map to the PowerScale file system as base directory for Objects. We can Create, Update and Delete the S3 Bucket using this resource. We can also import an existing S3 Bucket from PowerScale array.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\nconst s3BucketExample = new powerscale.S3Bucket(\"s3BucketExample\", {path: \"/ifs/s3_bucket_example\"});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\ns3_bucket_example = powerscale.S3Bucket(\"s3BucketExample\", path=\"/ifs/s3_bucket_example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    var s3BucketExample = new Powerscale.S3Bucket(\"s3BucketExample\", new()\n    {\n        Path = \"/ifs/s3_bucket_example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := powerscale.NewS3Bucket(ctx, \"s3BucketExample\", &powerscale.S3BucketArgs{\n\t\t\tPath: pulumi.String(\"/ifs/s3_bucket_example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.S3Bucket;\nimport com.pulumi.powerscale.S3BucketArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var s3BucketExample = new S3Bucket(\"s3BucketExample\", S3BucketArgs.builder()\n            .path(\"/ifs/s3_bucket_example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  s3BucketExample:\n    type: powerscale:S3Bucket\n    properties:\n      path: /ifs/s3_bucket_example\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/s3Bucket:S3Bucket s3_bucket_example [<zoneID>]:<id>\n```\n\nExample 1: <zoneID> is Optional, defaults to System:\n\n```sh\n$ pulumi import powerscale:index/s3Bucket:S3Bucket s3_bucket_example example_s3_bucket_id\n```\n\nExample 2:\n\n```sh\n$ pulumi import powerscale:index/s3Bucket:S3Bucket s3_bucket_example zone_id:example_s3_bucket_id\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "acls": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FS3BucketAcl:S3BucketAcl"
          },
          "description": "Specifies properties for an S3 Access Control Entry.\n"
        },
        "createPath": {
          "type": "boolean",
          "description": "Create path if does not exist.\n"
        },
        "description": {
          "type": "string",
          "description": "Description for this S3 bucket.\n"
        },
        "name": {
          "type": "string",
          "description": "Bucket name.\n"
        },
        "objectAclPolicy": {
          "type": "string",
          "description": "Set behavior of modifying object acls.\n"
        },
        "owner": {
          "type": "string",
          "description": "Specifies the name of the owner.\n"
        },
        "path": {
          "type": "string",
          "description": "Path of bucket within /ifs.\n"
        },
        "zid": {
          "type": "number",
          "description": "Zone ID.\n"
        },
        "zone": {
          "type": "string",
          "description": "Zone Name.\n"
        }
      },
      "type": "object",
      "required": [
        "acls",
        "description",
        "name",
        "objectAclPolicy",
        "owner",
        "path",
        "zid"
      ],
      "inputProperties": {
        "acls": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FS3BucketAcl:S3BucketAcl"
          },
          "description": "Specifies properties for an S3 Access Control Entry.\n"
        },
        "createPath": {
          "type": "boolean",
          "description": "Create path if does not exist.\n"
        },
        "description": {
          "type": "string",
          "description": "Description for this S3 bucket.\n"
        },
        "name": {
          "type": "string",
          "description": "Bucket name.\n"
        },
        "objectAclPolicy": {
          "type": "string",
          "description": "Set behavior of modifying object acls.\n"
        },
        "owner": {
          "type": "string",
          "description": "Specifies the name of the owner.\n"
        },
        "path": {
          "type": "string",
          "description": "Path of bucket within /ifs.\n"
        },
        "zone": {
          "type": "string",
          "description": "Zone Name.\n"
        }
      },
      "requiredInputs": [
        "path"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering S3Bucket resources.\n",
        "properties": {
          "acls": {
            "type": "array",
            "items": {
              "$ref": "#/types/powerscale:index%2FS3BucketAcl:S3BucketAcl"
            },
            "description": "Specifies properties for an S3 Access Control Entry.\n"
          },
          "createPath": {
            "type": "boolean",
            "description": "Create path if does not exist.\n"
          },
          "description": {
            "type": "string",
            "description": "Description for this S3 bucket.\n"
          },
          "name": {
            "type": "string",
            "description": "Bucket name.\n"
          },
          "objectAclPolicy": {
            "type": "string",
            "description": "Set behavior of modifying object acls.\n"
          },
          "owner": {
            "type": "string",
            "description": "Specifies the name of the owner.\n"
          },
          "path": {
            "type": "string",
            "description": "Path of bucket within /ifs.\n"
          },
          "zid": {
            "type": "number",
            "description": "Zone ID.\n"
          },
          "zone": {
            "type": "string",
            "description": "Zone Name.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/s3GlobalSettings:S3GlobalSettings": {
      "description": "This resource is used to manage the S3 Global Setting entity of PowerScale Array. PowerScale S3 Global Setting map to the PowerScale file system as base directory for Objects. We can Create, Update and Delete the S3 Global Setting using this resource. We can also import an existing S3 Global Setting from PowerScale array.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale S3 global settings allows you to configure S3 global settings on PowerScale.\nconst s3GlobalSetting = new powerscale.S3GlobalSettings(\"s3GlobalSetting\", {\n    httpPort: 9097,\n    httpsOnly: false,\n    httpsPort: 9098,\n    service: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale S3 global settings allows you to configure S3 global settings on PowerScale.\ns3_global_setting = powerscale.S3GlobalSettings(\"s3GlobalSetting\",\n    http_port=9097,\n    https_only=False,\n    https_port=9098,\n    service=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale S3 global settings allows you to configure S3 global settings on PowerScale.\n    var s3GlobalSetting = new Powerscale.S3GlobalSettings(\"s3GlobalSetting\", new()\n    {\n        HttpPort = 9097,\n        HttpsOnly = false,\n        HttpsPort = 9098,\n        Service = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale S3 global settings allows you to configure S3 global settings on PowerScale.\n\t\t_, err := powerscale.NewS3GlobalSettings(ctx, \"s3GlobalSetting\", &powerscale.S3GlobalSettingsArgs{\n\t\t\tHttpPort:  pulumi.Float64(9097),\n\t\t\tHttpsOnly: pulumi.Bool(false),\n\t\t\tHttpsPort: pulumi.Float64(9098),\n\t\t\tService:   pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.S3GlobalSettings;\nimport com.pulumi.powerscale.S3GlobalSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale S3 global settings allows you to configure S3 global settings on PowerScale.\n        var s3GlobalSetting = new S3GlobalSettings(\"s3GlobalSetting\", S3GlobalSettingsArgs.builder()\n            .httpPort(9097)\n            .httpsOnly(false)\n            .httpsPort(9098)\n            .service(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale S3 global settings allows you to configure S3 global settings on PowerScale.\n  s3GlobalSetting:\n    type: powerscale:S3GlobalSettings\n    properties:\n      httpPort: 9097\n      httpsOnly: false\n      httpsPort: 9098\n      service: true\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/s3GlobalSettings:S3GlobalSettings s3_global_settings_example <any string>\n```\n\n```sh\n$ pulumi import powerscale:index/s3GlobalSettings:S3GlobalSettings s3_global_settings_example \"\"\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "httpPort": {
          "type": "number",
          "description": "Specifies the HTTP port.\n"
        },
        "httpsOnly": {
          "type": "boolean",
          "description": "Specifies if the service is HTTPS only.\n"
        },
        "httpsPort": {
          "type": "number",
          "description": "Specifies the HTTPS port.\n"
        },
        "service": {
          "type": "boolean",
          "description": "Specifies if the service is enabled.\n"
        }
      },
      "type": "object",
      "required": [
        "httpPort",
        "httpsOnly",
        "httpsPort",
        "service"
      ],
      "inputProperties": {
        "httpPort": {
          "type": "number",
          "description": "Specifies the HTTP port.\n"
        },
        "httpsOnly": {
          "type": "boolean",
          "description": "Specifies if the service is HTTPS only.\n"
        },
        "httpsPort": {
          "type": "number",
          "description": "Specifies the HTTPS port.\n"
        },
        "service": {
          "type": "boolean",
          "description": "Specifies if the service is enabled.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering S3GlobalSettings resources.\n",
        "properties": {
          "httpPort": {
            "type": "number",
            "description": "Specifies the HTTP port.\n"
          },
          "httpsOnly": {
            "type": "boolean",
            "description": "Specifies if the service is HTTPS only.\n"
          },
          "httpsPort": {
            "type": "number",
            "description": "Specifies the HTTPS port.\n"
          },
          "service": {
            "type": "boolean",
            "description": "Specifies if the service is enabled.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/s3Key:S3Key": {
      "description": "This resource is used to manage the S3 Key Entity of PowerScale Array. PowerScale S3 keys are used to sign the requests you send to the S3 protocol. We can Create, Update and Delete the S3 Key using this resource.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n//Copyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n//\n//Licensed under the Mozilla Public License Version 2.0 (the \"License\");\n//you may not use this file except in compliance with the License.\n//You may obtain a copy of the License at\n//\n//    http://mozilla.org/MPL/2.0/\n//\n//\n//Unless required by applicable law or agreed to in writing, software\n//distributed under the License is distributed on an \"AS IS\" BASIS,\n//WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n//See the License for the specific language governing permissions and\n//limitations under the License.\n// Available actions: Create, Update and Delete\n// After `pulumi up` of this example file it will generate the s3 key for the user.\n// For more information, Please check the terraform state file.\n// PowerScale S3 key to generate the keys for users to sign the requests you send to the S3 protocol.\nconst skm = new powerscale.S3Key(\"skm\", {\n    user: \"tf_user\",\n    zone: \"System\",\n    existingKeyExpiryTime: 10,\n});\nexport const key = skm;\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n#Copyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n#\n#Licensed under the Mozilla Public License Version 2.0 (the \"License\");\n#you may not use this file except in compliance with the License.\n#You may obtain a copy of the License at\n#\n#    http://mozilla.org/MPL/2.0/\n#\n#\n#Unless required by applicable law or agreed to in writing, software\n#distributed under the License is distributed on an \"AS IS\" BASIS,\n#WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n#See the License for the specific language governing permissions and\n#limitations under the License.\n# Available actions: Create, Update and Delete\n# After `pulumi up` of this example file it will generate the s3 key for the user.\n# For more information, Please check the terraform state file.\n# PowerScale S3 key to generate the keys for users to sign the requests you send to the S3 protocol.\nskm = powerscale.S3Key(\"skm\",\n    user=\"tf_user\",\n    zone=\"System\",\n    existing_key_expiry_time=10)\npulumi.export(\"key\", skm)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    //Copyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n    //\n    //Licensed under the Mozilla Public License Version 2.0 (the \"License\");\n    //you may not use this file except in compliance with the License.\n    //You may obtain a copy of the License at\n    //\n    //    http://mozilla.org/MPL/2.0/\n    //\n    //\n    //Unless required by applicable law or agreed to in writing, software\n    //distributed under the License is distributed on an \"AS IS\" BASIS,\n    //WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    //See the License for the specific language governing permissions and\n    //limitations under the License.\n    // Available actions: Create, Update and Delete\n    // After `pulumi up` of this example file it will generate the s3 key for the user.\n    // For more information, Please check the terraform state file.\n    // PowerScale S3 key to generate the keys for users to sign the requests you send to the S3 protocol.\n    var skm = new Powerscale.S3Key(\"skm\", new()\n    {\n        User = \"tf_user\",\n        Zone = \"System\",\n        ExistingKeyExpiryTime = 10,\n    });\n\n    return new Dictionary<string, object?>\n    {\n        [\"key\"] = skm,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Copyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\t\t//\n\t\t// Licensed under the Mozilla Public License Version 2.0 (the \"License\");\n\t\t// you may not use this file except in compliance with the License.\n\t\t// You may obtain a copy of the License at\n\t\t//\n\t\t//\thttp://mozilla.org/MPL/2.0/\n\t\t//\n\t\t// Unless required by applicable law or agreed to in writing, software\n\t\t// distributed under the License is distributed on an \"AS IS\" BASIS,\n\t\t// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\t\t// See the License for the specific language governing permissions and\n\t\t// limitations under the License.\n\t\t// Available actions: Create, Update and Delete\n\t\t// After `pulumi up` of this example file it will generate the s3 key for the user.\n\t\t// For more information, Please check the terraform state file.\n\t\t// PowerScale S3 key to generate the keys for users to sign the requests you send to the S3 protocol.\n\t\tskm, err := powerscale.NewS3Key(ctx, \"skm\", &powerscale.S3KeyArgs{\n\t\t\tUser:                  pulumi.String(\"tf_user\"),\n\t\t\tZone:                  pulumi.String(\"System\"),\n\t\t\tExistingKeyExpiryTime: pulumi.Float64(10),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"key\", skm)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.S3Key;\nimport com.pulumi.powerscale.S3KeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        //Copyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n        //\n        //Licensed under the Mozilla Public License Version 2.0 (the \"License\");\n        //you may not use this file except in compliance with the License.\n        //You may obtain a copy of the License at\n        //\n        //    http://mozilla.org/MPL/2.0/\n        //\n        //\n        //Unless required by applicable law or agreed to in writing, software\n        //distributed under the License is distributed on an \"AS IS\" BASIS,\n        //WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n        //See the License for the specific language governing permissions and\n        //limitations under the License.\n        // Available actions: Create, Update and Delete\n        // After `pulumi up` of this example file it will generate the s3 key for the user.\n        // For more information, Please check the terraform state file.\n        // PowerScale S3 key to generate the keys for users to sign the requests you send to the S3 protocol.\n        var skm = new S3Key(\"skm\", S3KeyArgs.builder()\n            .user(\"tf_user\")\n            .zone(\"System\")\n            .existingKeyExpiryTime(10)\n            .build());\n\n        ctx.export(\"key\", skm);\n    }\n}\n```\n```yaml\nresources:\n  # /*\n  # Copyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\n  # Licensed under the Mozilla Public License Version 2.0 (the \"License\");\n  # you may not use this file except in compliance with the License.\n  # You may obtain a copy of the License at\n\n  #     http://mozilla.org/MPL/2.0/\n\n\n  # Unless required by applicable law or agreed to in writing, software\n  # distributed under the License is distributed on an \"AS IS\" BASIS,\n  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n  # See the License for the specific language governing permissions and\n  # limitations under the License.\n  # */\n\n\n\n\n\n  # Available actions: Create, Update and Delete\n  # After `pulumi up` of this example file it will generate the s3 key for the user.\n  # For more information, Please check the terraform state file.\n\n  # PowerScale S3 key to generate the keys for users to sign the requests you send to the S3 protocol.\n  skm:\n    type: powerscale:S3Key\n    properties:\n      user: tf_user\n      zone: System\n      existingKeyExpiryTime: 10\noutputs:\n  key: ${skm}\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "accessId": {
          "type": "string",
          "description": "Unique identifier of the S3 key.\n"
        },
        "existingKeyExpiryTime": {
          "type": "number",
          "description": "The expiry of the old secret key in minutes. Optional. It will be applicable only if old*secret*key is exist.\n"
        },
        "oldKeyExpiry": {
          "type": "number",
          "description": "The expiry of the old key. Computed.\n"
        },
        "oldKeyTimestamp": {
          "type": "number",
          "description": "The timestamp of the old key. Computed.\n"
        },
        "oldSecretKey": {
          "type": "string",
          "description": "The secret key of the old key. Computed.\n"
        },
        "secretKey": {
          "type": "string",
          "description": "The secret key of the key. Computed.\n"
        },
        "secretKeyTimestamp": {
          "type": "number",
          "description": "The timestamp of the secret key. Computed.\n"
        },
        "user": {
          "type": "string",
          "description": "The username to create the S3 key. This resource will be recreated if the value of this field is changed.\n"
        },
        "zone": {
          "type": "string",
          "description": "The zone of the user. This resource will be recreated if the value of this field is changed.\n"
        }
      },
      "type": "object",
      "required": [
        "accessId",
        "oldKeyExpiry",
        "oldKeyTimestamp",
        "oldSecretKey",
        "secretKey",
        "secretKeyTimestamp",
        "user",
        "zone"
      ],
      "inputProperties": {
        "existingKeyExpiryTime": {
          "type": "number",
          "description": "The expiry of the old secret key in minutes. Optional. It will be applicable only if old*secret*key is exist.\n"
        },
        "user": {
          "type": "string",
          "description": "The username to create the S3 key. This resource will be recreated if the value of this field is changed.\n"
        },
        "zone": {
          "type": "string",
          "description": "The zone of the user. This resource will be recreated if the value of this field is changed.\n"
        }
      },
      "requiredInputs": [
        "user",
        "zone"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering S3Key resources.\n",
        "properties": {
          "accessId": {
            "type": "string",
            "description": "Unique identifier of the S3 key.\n"
          },
          "existingKeyExpiryTime": {
            "type": "number",
            "description": "The expiry of the old secret key in minutes. Optional. It will be applicable only if old*secret*key is exist.\n"
          },
          "oldKeyExpiry": {
            "type": "number",
            "description": "The expiry of the old key. Computed.\n"
          },
          "oldKeyTimestamp": {
            "type": "number",
            "description": "The timestamp of the old key. Computed.\n"
          },
          "oldSecretKey": {
            "type": "string",
            "description": "The secret key of the old key. Computed.\n"
          },
          "secretKey": {
            "type": "string",
            "description": "The secret key of the key. Computed.\n"
          },
          "secretKeyTimestamp": {
            "type": "number",
            "description": "The timestamp of the secret key. Computed.\n"
          },
          "user": {
            "type": "string",
            "description": "The username to create the S3 key. This resource will be recreated if the value of this field is changed.\n"
          },
          "zone": {
            "type": "string",
            "description": "The zone of the user. This resource will be recreated if the value of this field is changed.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/s3ZoneSettings:S3ZoneSettings": {
      "description": "This resource is used to manage the S3 Zone Settings entity of the PowerScale Array. PowerScale S3 Zone Setting map to access zone configuration which provide default location for creating s3 buckets. We can Create, Update and Delete the S3 Zone Setting using this resource. We can also import an existing S3 Zone Settings from PowerScale array.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale S3 Zone settings allows you to configure S3 Zone settings on PowerScale.\nconst s3ZoneSetting = new powerscale.S3ZoneSettings(\"s3ZoneSetting\", {\n    baseDomain: \"dell.com\",\n    bucketDirectoryCreateMode: 511,\n    objectAclPolicy: \"deny\",\n    rootPath: \"/ifs/\",\n    zone: \"tfacc-test\",\n});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale S3 Zone settings allows you to configure S3 Zone settings on PowerScale.\ns3_zone_setting = powerscale.S3ZoneSettings(\"s3ZoneSetting\",\n    base_domain=\"dell.com\",\n    bucket_directory_create_mode=511,\n    object_acl_policy=\"deny\",\n    root_path=\"/ifs/\",\n    zone=\"tfacc-test\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale S3 Zone settings allows you to configure S3 Zone settings on PowerScale.\n    var s3ZoneSetting = new Powerscale.S3ZoneSettings(\"s3ZoneSetting\", new()\n    {\n        BaseDomain = \"dell.com\",\n        BucketDirectoryCreateMode = 511,\n        ObjectAclPolicy = \"deny\",\n        RootPath = \"/ifs/\",\n        Zone = \"tfacc-test\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale S3 Zone settings allows you to configure S3 Zone settings on PowerScale.\n\t\t_, err := powerscale.NewS3ZoneSettings(ctx, \"s3ZoneSetting\", &powerscale.S3ZoneSettingsArgs{\n\t\t\tBaseDomain:                pulumi.String(\"dell.com\"),\n\t\t\tBucketDirectoryCreateMode: pulumi.Float64(511),\n\t\t\tObjectAclPolicy:           pulumi.String(\"deny\"),\n\t\t\tRootPath:                  pulumi.String(\"/ifs/\"),\n\t\t\tZone:                      pulumi.String(\"tfacc-test\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.S3ZoneSettings;\nimport com.pulumi.powerscale.S3ZoneSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale S3 Zone settings allows you to configure S3 Zone settings on PowerScale.\n        var s3ZoneSetting = new S3ZoneSettings(\"s3ZoneSetting\", S3ZoneSettingsArgs.builder()\n            .baseDomain(\"dell.com\")\n            .bucketDirectoryCreateMode(511)\n            .objectAclPolicy(\"deny\")\n            .rootPath(\"/ifs/\")\n            .zone(\"tfacc-test\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale S3 Zone settings allows you to configure S3 Zone settings on PowerScale.\n  s3ZoneSetting:\n    type: powerscale:S3ZoneSettings\n    properties:\n      baseDomain: dell.com\n      bucketDirectoryCreateMode: 511\n      objectAclPolicy: deny\n      # replace or deny\n      rootPath: /ifs/\n      zone: tfacc-test\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nS3 Zone Settings can be imported by the name of the S3 Zone\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/s3ZoneSettings:S3ZoneSettings s3_zone_settings_example <S3 zone name>\n```\n\n```sh\n$ pulumi import powerscale:index/s3ZoneSettings:S3ZoneSettings s3_zone_settings_example \"System\"\n```\n\nafter running this command, populate the zone field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "baseDomain": {
          "type": "string",
          "description": "Base Domain for S3 zone\n"
        },
        "bucketDirectoryCreateMode": {
          "type": "number",
          "description": "The permission mode for creating bucket directories.\n"
        },
        "objectAclPolicy": {
          "type": "string",
          "description": "The default policy for object access control lists (ACLs), which can be either `replace` or `deny`.\n"
        },
        "rootPath": {
          "type": "string",
          "description": "The root path for the S3 bucket.\n"
        },
        "zone": {
          "type": "string"
        }
      },
      "type": "object",
      "required": [
        "baseDomain",
        "bucketDirectoryCreateMode",
        "objectAclPolicy",
        "rootPath",
        "zone"
      ],
      "inputProperties": {
        "baseDomain": {
          "type": "string",
          "description": "Base Domain for S3 zone\n"
        },
        "bucketDirectoryCreateMode": {
          "type": "number",
          "description": "The permission mode for creating bucket directories.\n"
        },
        "objectAclPolicy": {
          "type": "string",
          "description": "The default policy for object access control lists (ACLs), which can be either `replace` or `deny`.\n"
        },
        "rootPath": {
          "type": "string",
          "description": "The root path for the S3 bucket.\n"
        },
        "zone": {
          "type": "string"
        }
      },
      "requiredInputs": [
        "zone"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering S3ZoneSettings resources.\n",
        "properties": {
          "baseDomain": {
            "type": "string",
            "description": "Base Domain for S3 zone\n"
          },
          "bucketDirectoryCreateMode": {
            "type": "number",
            "description": "The permission mode for creating bucket directories.\n"
          },
          "objectAclPolicy": {
            "type": "string",
            "description": "The default policy for object access control lists (ACLs), which can be either `replace` or `deny`.\n"
          },
          "rootPath": {
            "type": "string",
            "description": "The root path for the S3 bucket.\n"
          },
          "zone": {
            "type": "string"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/smartpoolSettings:SmartpoolSettings": {
      "description": "This resource is used to manage the SmartPools Settings of PowerScale Array. We can Create, Update and Delete the SmartPools Settings using this resource.  \nNote that, SmartPools Settings is the native functionality of PowerScale. When creating the resource, we actually load SmartPools Settings from PowerScale to the resource.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\nconst settings = new powerscale.SmartpoolSettings(\"settings\", {});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\nsettings = powerscale.SmartpoolSettings(\"settings\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    var settings = new Powerscale.SmartpoolSettings(\"settings\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := powerscale.NewSmartpoolSettings(ctx, \"settings\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.SmartpoolSettings;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var settings = new SmartpoolSettings(\"settings\");\n\n    }\n}\n```\n```yaml\nresources:\n  settings:\n    type: powerscale:SmartpoolSettings\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2023-2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/smartpoolSettings:SmartpoolSettings settings <anystring>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/smartpoolSettings:SmartpoolSettings settings smartpools_settings\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "defaultTransferLimitPct": {
          "type": "number",
          "description": "Applies to all storagepools that fall back on the default transfer limit. Stop moving files to this pool when this limit is met. The value must be between 0 and 100. Only available for PowerScale 9.5 and above.\n"
        },
        "defaultTransferLimitState": {
          "type": "string",
          "description": "How the default transfer limit value is applied. Only available for PowerScale 9.5 and above.\n"
        },
        "globalNamespaceAccelerationEnabled": {
          "type": "boolean",
          "description": "Enable global namespace acceleration.\n"
        },
        "globalNamespaceAccelerationState": {
          "type": "string",
          "description": "Whether or not namespace operation optimizations are currently in effect.\n"
        },
        "manageIoOptimization": {
          "type": "boolean",
          "description": "Manage I/O optimization settings.\n"
        },
        "manageIoOptimizationApplyToFiles": {
          "type": "boolean",
          "description": "Apply to files with manually-managed I/O optimization settings.\n"
        },
        "manageProtection": {
          "type": "boolean",
          "description": "Manage protection settings.\n"
        },
        "manageProtectionApplyToFiles": {
          "type": "boolean",
          "description": "Apply to files with manually-managed protection.\n"
        },
        "protectDirectoriesOneLevelHigher": {
          "type": "boolean",
          "description": "Increase directory protection to a higher requested protection than its contents.\n"
        },
        "spilloverEnabled": {
          "type": "boolean",
          "description": "Enable global spillover.\n"
        },
        "spilloverTarget": {
          "$ref": "#/types/powerscale:index%2FSmartpoolSettingsSpilloverTarget:SmartpoolSettingsSpilloverTarget",
          "description": "Spillover data target.\n"
        },
        "ssdL3CacheDefaultEnabled": {
          "type": "boolean",
          "description": "Use SSDs as L3 cache by default for new node pools.\n"
        },
        "ssdQabMirrors": {
          "type": "string",
          "description": "Controls number of mirrors of QAB blocks to place on SSDs. Acceptable values: one, all\n"
        },
        "ssdSystemBtreeMirrors": {
          "type": "string",
          "description": "Controls number of mirrors of system B-tree blocks to place on SSDs. Acceptable values: one, all\n"
        },
        "ssdSystemDeltaMirrors": {
          "type": "string",
          "description": "Controls number of mirrors of system delta blocks to place on SSDs. Acceptable values: one, all\n"
        },
        "virtualHotSpareDenyWrites": {
          "type": "boolean",
          "description": "Deny data writes to reserved disk space\n"
        },
        "virtualHotSpareHideSpare": {
          "type": "boolean",
          "description": "Subtract the space reserved for the virtual hot spare when calculating available free space\n"
        },
        "virtualHotSpareLimitDrives": {
          "type": "number",
          "description": "The number of drives to reserve for the virtual hot spare, from 0-4.\n"
        },
        "virtualHotSpareLimitPercent": {
          "type": "number",
          "description": "The percent space to reserve for the virtual hot spare, from 0-20.\n"
        }
      },
      "type": "object",
      "required": [
        "defaultTransferLimitPct",
        "defaultTransferLimitState",
        "globalNamespaceAccelerationEnabled",
        "globalNamespaceAccelerationState",
        "manageIoOptimization",
        "manageIoOptimizationApplyToFiles",
        "manageProtection",
        "manageProtectionApplyToFiles",
        "protectDirectoriesOneLevelHigher",
        "spilloverEnabled",
        "spilloverTarget",
        "ssdL3CacheDefaultEnabled",
        "ssdQabMirrors",
        "ssdSystemBtreeMirrors",
        "ssdSystemDeltaMirrors",
        "virtualHotSpareDenyWrites",
        "virtualHotSpareHideSpare",
        "virtualHotSpareLimitDrives",
        "virtualHotSpareLimitPercent"
      ],
      "inputProperties": {
        "defaultTransferLimitPct": {
          "type": "number",
          "description": "Applies to all storagepools that fall back on the default transfer limit. Stop moving files to this pool when this limit is met. The value must be between 0 and 100. Only available for PowerScale 9.5 and above.\n"
        },
        "defaultTransferLimitState": {
          "type": "string",
          "description": "How the default transfer limit value is applied. Only available for PowerScale 9.5 and above.\n"
        },
        "globalNamespaceAccelerationEnabled": {
          "type": "boolean",
          "description": "Enable global namespace acceleration.\n"
        },
        "globalNamespaceAccelerationState": {
          "type": "string",
          "description": "Whether or not namespace operation optimizations are currently in effect.\n"
        },
        "manageIoOptimization": {
          "type": "boolean",
          "description": "Manage I/O optimization settings.\n"
        },
        "manageIoOptimizationApplyToFiles": {
          "type": "boolean",
          "description": "Apply to files with manually-managed I/O optimization settings.\n"
        },
        "manageProtection": {
          "type": "boolean",
          "description": "Manage protection settings.\n"
        },
        "manageProtectionApplyToFiles": {
          "type": "boolean",
          "description": "Apply to files with manually-managed protection.\n"
        },
        "protectDirectoriesOneLevelHigher": {
          "type": "boolean",
          "description": "Increase directory protection to a higher requested protection than its contents.\n"
        },
        "spilloverEnabled": {
          "type": "boolean",
          "description": "Enable global spillover.\n"
        },
        "spilloverTarget": {
          "$ref": "#/types/powerscale:index%2FSmartpoolSettingsSpilloverTarget:SmartpoolSettingsSpilloverTarget",
          "description": "Spillover data target.\n"
        },
        "ssdL3CacheDefaultEnabled": {
          "type": "boolean",
          "description": "Use SSDs as L3 cache by default for new node pools.\n"
        },
        "ssdQabMirrors": {
          "type": "string",
          "description": "Controls number of mirrors of QAB blocks to place on SSDs. Acceptable values: one, all\n"
        },
        "ssdSystemBtreeMirrors": {
          "type": "string",
          "description": "Controls number of mirrors of system B-tree blocks to place on SSDs. Acceptable values: one, all\n"
        },
        "ssdSystemDeltaMirrors": {
          "type": "string",
          "description": "Controls number of mirrors of system delta blocks to place on SSDs. Acceptable values: one, all\n"
        },
        "virtualHotSpareDenyWrites": {
          "type": "boolean",
          "description": "Deny data writes to reserved disk space\n"
        },
        "virtualHotSpareHideSpare": {
          "type": "boolean",
          "description": "Subtract the space reserved for the virtual hot spare when calculating available free space\n"
        },
        "virtualHotSpareLimitDrives": {
          "type": "number",
          "description": "The number of drives to reserve for the virtual hot spare, from 0-4.\n"
        },
        "virtualHotSpareLimitPercent": {
          "type": "number",
          "description": "The percent space to reserve for the virtual hot spare, from 0-20.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SmartpoolSettings resources.\n",
        "properties": {
          "defaultTransferLimitPct": {
            "type": "number",
            "description": "Applies to all storagepools that fall back on the default transfer limit. Stop moving files to this pool when this limit is met. The value must be between 0 and 100. Only available for PowerScale 9.5 and above.\n"
          },
          "defaultTransferLimitState": {
            "type": "string",
            "description": "How the default transfer limit value is applied. Only available for PowerScale 9.5 and above.\n"
          },
          "globalNamespaceAccelerationEnabled": {
            "type": "boolean",
            "description": "Enable global namespace acceleration.\n"
          },
          "globalNamespaceAccelerationState": {
            "type": "string",
            "description": "Whether or not namespace operation optimizations are currently in effect.\n"
          },
          "manageIoOptimization": {
            "type": "boolean",
            "description": "Manage I/O optimization settings.\n"
          },
          "manageIoOptimizationApplyToFiles": {
            "type": "boolean",
            "description": "Apply to files with manually-managed I/O optimization settings.\n"
          },
          "manageProtection": {
            "type": "boolean",
            "description": "Manage protection settings.\n"
          },
          "manageProtectionApplyToFiles": {
            "type": "boolean",
            "description": "Apply to files with manually-managed protection.\n"
          },
          "protectDirectoriesOneLevelHigher": {
            "type": "boolean",
            "description": "Increase directory protection to a higher requested protection than its contents.\n"
          },
          "spilloverEnabled": {
            "type": "boolean",
            "description": "Enable global spillover.\n"
          },
          "spilloverTarget": {
            "$ref": "#/types/powerscale:index%2FSmartpoolSettingsSpilloverTarget:SmartpoolSettingsSpilloverTarget",
            "description": "Spillover data target.\n"
          },
          "ssdL3CacheDefaultEnabled": {
            "type": "boolean",
            "description": "Use SSDs as L3 cache by default for new node pools.\n"
          },
          "ssdQabMirrors": {
            "type": "string",
            "description": "Controls number of mirrors of QAB blocks to place on SSDs. Acceptable values: one, all\n"
          },
          "ssdSystemBtreeMirrors": {
            "type": "string",
            "description": "Controls number of mirrors of system B-tree blocks to place on SSDs. Acceptable values: one, all\n"
          },
          "ssdSystemDeltaMirrors": {
            "type": "string",
            "description": "Controls number of mirrors of system delta blocks to place on SSDs. Acceptable values: one, all\n"
          },
          "virtualHotSpareDenyWrites": {
            "type": "boolean",
            "description": "Deny data writes to reserved disk space\n"
          },
          "virtualHotSpareHideSpare": {
            "type": "boolean",
            "description": "Subtract the space reserved for the virtual hot spare when calculating available free space\n"
          },
          "virtualHotSpareLimitDrives": {
            "type": "number",
            "description": "The number of drives to reserve for the virtual hot spare, from 0-4.\n"
          },
          "virtualHotSpareLimitPercent": {
            "type": "number",
            "description": "The percent space to reserve for the virtual hot spare, from 0-20.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/smbServerSettings:SmbServerSettings": {
      "description": "This resource is used to manage the SMB Server Settings of PowerScale Array. We can Create, Update and Delete the SMB Server Settings using this resource.  \n\t\tNote that, SMB Server Settings is the native functionality of PowerScale. When creating the resource, we actually load SMB Server Settings from PowerScale to the resource.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale SMB server settings allow you to configure SMB server settings on PowerScale.\nconst example = new powerscale.SmbServerSettings(\"example\", {scope: \"effective\"});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale SMB server settings allow you to configure SMB server settings on PowerScale.\nexample = powerscale.SmbServerSettings(\"example\", scope=\"effective\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale SMB server settings allow you to configure SMB server settings on PowerScale.\n    var example = new Powerscale.SmbServerSettings(\"example\", new()\n    {\n        Scope = \"effective\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale SMB server settings allow you to configure SMB server settings on PowerScale.\n\t\t_, err := powerscale.NewSmbServerSettings(ctx, \"example\", &powerscale.SmbServerSettingsArgs{\n\t\t\tScope: pulumi.String(\"effective\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.SmbServerSettings;\nimport com.pulumi.powerscale.SmbServerSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale SMB server settings allow you to configure SMB server settings on PowerScale.\n        var example = new SmbServerSettings(\"example\", SmbServerSettingsArgs.builder()\n            .scope(\"effective\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale SMB server settings allow you to configure SMB server settings on PowerScale.\n  example:\n    type: powerscale:SmbServerSettings\n    properties:\n      # Optional fields both for creating and updating\n      scope: effective\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/smbServerSettings:SmbServerSettings example scope\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/smbServerSettings:SmbServerSettings example effective\n```\n\nafter running this command, populate the scope field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "accessBasedShareEnum": {
          "type": "boolean",
          "description": "Only enumerate files and folders the requesting user has access to.\n"
        },
        "auditFileshare": {
          "type": "string",
          "description": "Specify level of file share audit events to log.\n"
        },
        "auditLogon": {
          "type": "string",
          "description": "Specify the level of logon audit events to log.\n"
        },
        "dotSnapAccessibleChild": {
          "type": "boolean",
          "description": "Allow access to .snapshot directories in share subdirectories.\n"
        },
        "dotSnapAccessibleRoot": {
          "type": "boolean",
          "description": "Allow access to the .snapshot directory in the root of the share.\n"
        },
        "dotSnapVisibleChild": {
          "type": "boolean",
          "description": "Show .snapshot directories in share subdirectories.\n"
        },
        "dotSnapVisibleRoot": {
          "type": "boolean",
          "description": "Show the .snapshot directory in the root of a share.\n"
        },
        "enableSecuritySignatures": {
          "type": "boolean",
          "description": "Indicates whether the server supports signed SMB packets.\n"
        },
        "guestUser": {
          "type": "string",
          "description": "Specifies the fully-qualified user to use for guest access.\n"
        },
        "ignoreEas": {
          "type": "boolean",
          "description": "Specify whether to ignore EAs on files.\n"
        },
        "onefsCpuMultiplier": {
          "type": "number",
          "description": "Specify the number of OneFS driver worker threads per CPU.\n"
        },
        "onefsNumWorkers": {
          "type": "number",
          "description": "Set the maximum number of OneFS driver worker threads.\n"
        },
        "rejectUnencryptedAccess": {
          "type": "boolean",
          "description": "If SMB3 encryption is enabled, reject unencrypted access from clients.\n"
        },
        "requireSecuritySignatures": {
          "type": "boolean",
          "description": "Indicates whether the server requires signed SMB packets.\n"
        },
        "scope": {
          "type": "string",
          "description": "If specified as \"effective\" or not specified, all fields are returned.  If specified as \"user\", only fields with non-default values are shown.  If specified as \"default\", the original values are returned.\n"
        },
        "serverSideCopy": {
          "type": "boolean",
          "description": "Enable Server Side Copy.\n"
        },
        "serverString": {
          "type": "string",
          "description": "Provides a description of the server.\n"
        },
        "service": {
          "type": "boolean",
          "description": "Specify whether service is enabled.\n"
        },
        "srvCpuMultiplier": {
          "type": "number",
          "description": "Specify the number of SRV service worker threads per CPU.\n"
        },
        "srvNumWorkers": {
          "type": "number",
          "description": "Set the maximum number of SRV service worker threads.\n"
        },
        "supportMultichannel": {
          "type": "boolean",
          "description": "Support multichannel.\n"
        },
        "supportNetbios": {
          "type": "boolean",
          "description": "Support NetBIOS.\n"
        },
        "supportSmb2": {
          "type": "boolean",
          "description": "Support the SMB2 protocol on the server.\n"
        },
        "supportSmb3Encryption": {
          "type": "boolean",
          "description": "Support the SMB3 encryption on the server.\n"
        }
      },
      "type": "object",
      "required": [
        "accessBasedShareEnum",
        "auditFileshare",
        "auditLogon",
        "dotSnapAccessibleChild",
        "dotSnapAccessibleRoot",
        "dotSnapVisibleChild",
        "dotSnapVisibleRoot",
        "enableSecuritySignatures",
        "guestUser",
        "ignoreEas",
        "onefsCpuMultiplier",
        "onefsNumWorkers",
        "rejectUnencryptedAccess",
        "requireSecuritySignatures",
        "scope",
        "serverSideCopy",
        "serverString",
        "service",
        "srvCpuMultiplier",
        "srvNumWorkers",
        "supportMultichannel",
        "supportNetbios",
        "supportSmb2",
        "supportSmb3Encryption"
      ],
      "inputProperties": {
        "accessBasedShareEnum": {
          "type": "boolean",
          "description": "Only enumerate files and folders the requesting user has access to.\n"
        },
        "auditFileshare": {
          "type": "string",
          "description": "Specify level of file share audit events to log.\n"
        },
        "auditLogon": {
          "type": "string",
          "description": "Specify the level of logon audit events to log.\n"
        },
        "dotSnapAccessibleChild": {
          "type": "boolean",
          "description": "Allow access to .snapshot directories in share subdirectories.\n"
        },
        "dotSnapAccessibleRoot": {
          "type": "boolean",
          "description": "Allow access to the .snapshot directory in the root of the share.\n"
        },
        "dotSnapVisibleChild": {
          "type": "boolean",
          "description": "Show .snapshot directories in share subdirectories.\n"
        },
        "dotSnapVisibleRoot": {
          "type": "boolean",
          "description": "Show the .snapshot directory in the root of a share.\n"
        },
        "enableSecuritySignatures": {
          "type": "boolean",
          "description": "Indicates whether the server supports signed SMB packets.\n"
        },
        "guestUser": {
          "type": "string",
          "description": "Specifies the fully-qualified user to use for guest access.\n"
        },
        "ignoreEas": {
          "type": "boolean",
          "description": "Specify whether to ignore EAs on files.\n"
        },
        "onefsCpuMultiplier": {
          "type": "number",
          "description": "Specify the number of OneFS driver worker threads per CPU.\n"
        },
        "onefsNumWorkers": {
          "type": "number",
          "description": "Set the maximum number of OneFS driver worker threads.\n"
        },
        "rejectUnencryptedAccess": {
          "type": "boolean",
          "description": "If SMB3 encryption is enabled, reject unencrypted access from clients.\n"
        },
        "requireSecuritySignatures": {
          "type": "boolean",
          "description": "Indicates whether the server requires signed SMB packets.\n"
        },
        "scope": {
          "type": "string",
          "description": "If specified as \"effective\" or not specified, all fields are returned.  If specified as \"user\", only fields with non-default values are shown.  If specified as \"default\", the original values are returned.\n"
        },
        "serverSideCopy": {
          "type": "boolean",
          "description": "Enable Server Side Copy.\n"
        },
        "serverString": {
          "type": "string",
          "description": "Provides a description of the server.\n"
        },
        "service": {
          "type": "boolean",
          "description": "Specify whether service is enabled.\n"
        },
        "srvCpuMultiplier": {
          "type": "number",
          "description": "Specify the number of SRV service worker threads per CPU.\n"
        },
        "srvNumWorkers": {
          "type": "number",
          "description": "Set the maximum number of SRV service worker threads.\n"
        },
        "supportMultichannel": {
          "type": "boolean",
          "description": "Support multichannel.\n"
        },
        "supportNetbios": {
          "type": "boolean",
          "description": "Support NetBIOS.\n"
        },
        "supportSmb2": {
          "type": "boolean",
          "description": "Support the SMB2 protocol on the server.\n"
        },
        "supportSmb3Encryption": {
          "type": "boolean",
          "description": "Support the SMB3 encryption on the server.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SmbServerSettings resources.\n",
        "properties": {
          "accessBasedShareEnum": {
            "type": "boolean",
            "description": "Only enumerate files and folders the requesting user has access to.\n"
          },
          "auditFileshare": {
            "type": "string",
            "description": "Specify level of file share audit events to log.\n"
          },
          "auditLogon": {
            "type": "string",
            "description": "Specify the level of logon audit events to log.\n"
          },
          "dotSnapAccessibleChild": {
            "type": "boolean",
            "description": "Allow access to .snapshot directories in share subdirectories.\n"
          },
          "dotSnapAccessibleRoot": {
            "type": "boolean",
            "description": "Allow access to the .snapshot directory in the root of the share.\n"
          },
          "dotSnapVisibleChild": {
            "type": "boolean",
            "description": "Show .snapshot directories in share subdirectories.\n"
          },
          "dotSnapVisibleRoot": {
            "type": "boolean",
            "description": "Show the .snapshot directory in the root of a share.\n"
          },
          "enableSecuritySignatures": {
            "type": "boolean",
            "description": "Indicates whether the server supports signed SMB packets.\n"
          },
          "guestUser": {
            "type": "string",
            "description": "Specifies the fully-qualified user to use for guest access.\n"
          },
          "ignoreEas": {
            "type": "boolean",
            "description": "Specify whether to ignore EAs on files.\n"
          },
          "onefsCpuMultiplier": {
            "type": "number",
            "description": "Specify the number of OneFS driver worker threads per CPU.\n"
          },
          "onefsNumWorkers": {
            "type": "number",
            "description": "Set the maximum number of OneFS driver worker threads.\n"
          },
          "rejectUnencryptedAccess": {
            "type": "boolean",
            "description": "If SMB3 encryption is enabled, reject unencrypted access from clients.\n"
          },
          "requireSecuritySignatures": {
            "type": "boolean",
            "description": "Indicates whether the server requires signed SMB packets.\n"
          },
          "scope": {
            "type": "string",
            "description": "If specified as \"effective\" or not specified, all fields are returned.  If specified as \"user\", only fields with non-default values are shown.  If specified as \"default\", the original values are returned.\n"
          },
          "serverSideCopy": {
            "type": "boolean",
            "description": "Enable Server Side Copy.\n"
          },
          "serverString": {
            "type": "string",
            "description": "Provides a description of the server.\n"
          },
          "service": {
            "type": "boolean",
            "description": "Specify whether service is enabled.\n"
          },
          "srvCpuMultiplier": {
            "type": "number",
            "description": "Specify the number of SRV service worker threads per CPU.\n"
          },
          "srvNumWorkers": {
            "type": "number",
            "description": "Set the maximum number of SRV service worker threads.\n"
          },
          "supportMultichannel": {
            "type": "boolean",
            "description": "Support multichannel.\n"
          },
          "supportNetbios": {
            "type": "boolean",
            "description": "Support NetBIOS.\n"
          },
          "supportSmb2": {
            "type": "boolean",
            "description": "Support the SMB2 protocol on the server.\n"
          },
          "supportSmb3Encryption": {
            "type": "boolean",
            "description": "Support the SMB3 encryption on the server.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/smbShare:SmbShare": {
      "description": "This resource is used to manage the SMB share entity on PowerScale array. PowerScale SMB shares provide clients network access to file system resources on the cluster. We can Create, Update and Delete the SMB share using this resource. We can also import an existing SMB Share from PowerScale array.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale SMB shares provide clients network access to file system resources on the cluster\nconst shareExample = new powerscale.SmbShare(\"shareExample\", {\n    path: \"/ifs/smb_share_example\",\n    permissions: [{\n        permission: \"full\",\n        permissionType: \"allow\",\n        trustee: {\n            id: \"SID:S-1-1-0\",\n            name: \"Everyone\",\n            type: \"wellknown\",\n        },\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale SMB shares provide clients network access to file system resources on the cluster\nshare_example = powerscale.SmbShare(\"shareExample\",\n    path=\"/ifs/smb_share_example\",\n    permissions=[{\n        \"permission\": \"full\",\n        \"permission_type\": \"allow\",\n        \"trustee\": {\n            \"id\": \"SID:S-1-1-0\",\n            \"name\": \"Everyone\",\n            \"type\": \"wellknown\",\n        },\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale SMB shares provide clients network access to file system resources on the cluster\n    var shareExample = new Powerscale.SmbShare(\"shareExample\", new()\n    {\n        Path = \"/ifs/smb_share_example\",\n        Permissions = new[]\n        {\n            new Powerscale.Inputs.SmbSharePermissionArgs\n            {\n                Permission = \"full\",\n                PermissionType = \"allow\",\n                Trustee = new Powerscale.Inputs.SmbSharePermissionTrusteeArgs\n                {\n                    Id = \"SID:S-1-1-0\",\n                    Name = \"Everyone\",\n                    Type = \"wellknown\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale SMB shares provide clients network access to file system resources on the cluster\n\t\t_, err := powerscale.NewSmbShare(ctx, \"shareExample\", &powerscale.SmbShareArgs{\n\t\t\tPath: pulumi.String(\"/ifs/smb_share_example\"),\n\t\t\tPermissions: powerscale.SmbSharePermissionArray{\n\t\t\t\t&powerscale.SmbSharePermissionArgs{\n\t\t\t\t\tPermission:     pulumi.String(\"full\"),\n\t\t\t\t\tPermissionType: pulumi.String(\"allow\"),\n\t\t\t\t\tTrustee: &powerscale.SmbSharePermissionTrusteeArgs{\n\t\t\t\t\t\tId:   pulumi.String(\"SID:S-1-1-0\"),\n\t\t\t\t\t\tName: pulumi.String(\"Everyone\"),\n\t\t\t\t\t\tType: pulumi.String(\"wellknown\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.SmbShare;\nimport com.pulumi.powerscale.SmbShareArgs;\nimport com.pulumi.powerscale.inputs.SmbSharePermissionArgs;\nimport com.pulumi.powerscale.inputs.SmbSharePermissionTrusteeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale SMB shares provide clients network access to file system resources on the cluster\n        var shareExample = new SmbShare(\"shareExample\", SmbShareArgs.builder()\n            .path(\"/ifs/smb_share_example\")\n            .permissions(SmbSharePermissionArgs.builder()\n                .permission(\"full\")\n                .permissionType(\"allow\")\n                .trustee(SmbSharePermissionTrusteeArgs.builder()\n                    .id(\"SID:S-1-1-0\")\n                    .name(\"Everyone\")\n                    .type(\"wellknown\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale SMB shares provide clients network access to file system resources on the cluster\n  shareExample:\n    type: powerscale:SmbShare\n    properties:\n      path: /ifs/smb_share_example\n      permissions:\n        - permission: full\n          permissionType: allow\n          trustee:\n            id: SID:S-1-1-0\n            name: Everyone\n            type: wellknown\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2023-2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/smbShare:SmbShare share_example [<zoneID>]:<name>\n```\n\nExample 1: <zoneID> is Optional, defaults to System:\n\n```sh\n$ pulumi import powerscale:index/smbShare:SmbShare share_example example_share\n```\n\nExample 2:\n\n```sh\n$ pulumi import powerscale:index/smbShare:SmbShare share_example zone_id:example_share\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "accessBasedEnumeration": {
          "type": "boolean",
          "description": "Only enumerate files and folders the requesting user has access to.\n"
        },
        "accessBasedEnumerationRootOnly": {
          "type": "boolean",
          "description": "Access-based enumeration on only the root directory of the share.\n"
        },
        "allowDeleteReadonly": {
          "type": "boolean",
          "description": "Allow deletion of read-only files in the share.\n"
        },
        "allowExecuteAlways": {
          "type": "boolean",
          "description": "Allows users to execute files they have read rights for.\n"
        },
        "allowVariableExpansion": {
          "type": "boolean",
          "description": "Allow automatic expansion of variables for home directories.\n"
        },
        "autoCreateDirectory": {
          "type": "boolean",
          "description": "Automatically create home directories.\n"
        },
        "browsable": {
          "type": "boolean",
          "description": "Share is visible in net view and the browse list.\n"
        },
        "caTimeout": {
          "type": "number",
          "description": "Persistent open timeout for the share.\n"
        },
        "caWriteIntegrity": {
          "type": "string",
          "description": "Specify the level of write-integrity on continuously available shares.\n"
        },
        "changeNotify": {
          "type": "string",
          "description": "Level of change notification alerts on the share.\n"
        },
        "continuouslyAvailable": {
          "type": "boolean",
          "description": "Specify if persistent opens are allowed on the share.\n"
        },
        "createPath": {
          "type": "boolean",
          "description": "Create path if does not exist.\n"
        },
        "createPermissions": {
          "type": "string",
          "description": "Create permissions for new files and directories in share.\n"
        },
        "cscPolicy": {
          "type": "string",
          "description": "Client-side caching policy for the shares.\n"
        },
        "description": {
          "type": "string",
          "description": "Description for this SMB share.\n"
        },
        "directoryCreateMask": {
          "type": "number",
          "description": "Directory create mask bits.\n"
        },
        "directoryCreateMode": {
          "type": "number",
          "description": "Directory create mode bits.\n"
        },
        "fileCreateMask": {
          "type": "number",
          "description": "File create mask bits.\n"
        },
        "fileCreateMode": {
          "type": "number",
          "description": "File create mode bits.\n"
        },
        "fileFilterExtensions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the list of file extensions.\n"
        },
        "fileFilterType": {
          "type": "string",
          "description": "Specifies if filter list is for deny or allow. Default is deny.\n"
        },
        "fileFilteringEnabled": {
          "type": "boolean",
          "description": "Enables file filtering on this zone.\n"
        },
        "hideDotFiles": {
          "type": "boolean",
          "description": "Hide files and directories that begin with a period '.'.\n"
        },
        "hostAcls": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "An ACL expressing which hosts are allowed access. A deny clause must be the final entry.\n"
        },
        "impersonateGuest": {
          "type": "string",
          "description": "Specify the condition in which user access is done as the guest account.\n"
        },
        "impersonateUser": {
          "type": "string",
          "description": "User account to be used as guest account.\n"
        },
        "inheritablePathAcl": {
          "type": "boolean",
          "description": "Set the inheritable ACL on the share path.\n"
        },
        "mangleByteStart": {
          "type": "number",
          "description": "Specifies the wchar_t starting point for automatic byte mangling.\n"
        },
        "mangleMaps": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Character mangle map.\n"
        },
        "name": {
          "type": "string",
          "description": "Share name.\n"
        },
        "ntfsAclSupport": {
          "type": "boolean",
          "description": "Support NTFS ACLs on files and directories.\n"
        },
        "oplocks": {
          "type": "boolean",
          "description": "Support oplocks.\n"
        },
        "path": {
          "type": "string",
          "description": "Path of share within /ifs.\n"
        },
        "permissions": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FSmbSharePermission:SmbSharePermission"
          },
          "description": "Specifies an ordered list of permission modifications.\n"
        },
        "runAsRoots": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FSmbShareRunAsRoot:SmbShareRunAsRoot"
          },
          "description": "Allow account to run as root.\n"
        },
        "smb3EncryptionEnabled": {
          "type": "boolean",
          "description": "Enables SMB3 encryption for the share.\n"
        },
        "sparseFile": {
          "type": "boolean",
          "description": "Enables sparse file.\n"
        },
        "strictCaLockout": {
          "type": "boolean",
          "description": "Specifies if persistent opens would do strict lockout on the share.\n"
        },
        "strictFlush": {
          "type": "boolean",
          "description": "Handle SMB flush operations.\n"
        },
        "strictLocking": {
          "type": "boolean",
          "description": "Specifies whether byte range locks contend against SMB I/O.\n"
        },
        "zid": {
          "type": "number",
          "description": "Numeric ID of the access zone which contains this SMB share.\n"
        },
        "zone": {
          "type": "string",
          "description": "Name of the access zone to which to move this SMB share.\n"
        }
      },
      "type": "object",
      "required": [
        "accessBasedEnumeration",
        "accessBasedEnumerationRootOnly",
        "allowDeleteReadonly",
        "allowExecuteAlways",
        "allowVariableExpansion",
        "autoCreateDirectory",
        "browsable",
        "caTimeout",
        "caWriteIntegrity",
        "changeNotify",
        "continuouslyAvailable",
        "createPermissions",
        "cscPolicy",
        "description",
        "directoryCreateMask",
        "directoryCreateMode",
        "fileCreateMask",
        "fileCreateMode",
        "fileFilterExtensions",
        "fileFilterType",
        "fileFilteringEnabled",
        "hideDotFiles",
        "hostAcls",
        "impersonateGuest",
        "impersonateUser",
        "inheritablePathAcl",
        "mangleByteStart",
        "mangleMaps",
        "name",
        "ntfsAclSupport",
        "oplocks",
        "path",
        "permissions",
        "runAsRoots",
        "smb3EncryptionEnabled",
        "sparseFile",
        "strictCaLockout",
        "strictFlush",
        "strictLocking",
        "zid"
      ],
      "inputProperties": {
        "accessBasedEnumeration": {
          "type": "boolean",
          "description": "Only enumerate files and folders the requesting user has access to.\n"
        },
        "accessBasedEnumerationRootOnly": {
          "type": "boolean",
          "description": "Access-based enumeration on only the root directory of the share.\n"
        },
        "allowDeleteReadonly": {
          "type": "boolean",
          "description": "Allow deletion of read-only files in the share.\n"
        },
        "allowExecuteAlways": {
          "type": "boolean",
          "description": "Allows users to execute files they have read rights for.\n"
        },
        "allowVariableExpansion": {
          "type": "boolean",
          "description": "Allow automatic expansion of variables for home directories.\n"
        },
        "autoCreateDirectory": {
          "type": "boolean",
          "description": "Automatically create home directories.\n"
        },
        "browsable": {
          "type": "boolean",
          "description": "Share is visible in net view and the browse list.\n"
        },
        "caTimeout": {
          "type": "number",
          "description": "Persistent open timeout for the share.\n"
        },
        "caWriteIntegrity": {
          "type": "string",
          "description": "Specify the level of write-integrity on continuously available shares.\n"
        },
        "changeNotify": {
          "type": "string",
          "description": "Level of change notification alerts on the share.\n"
        },
        "createPath": {
          "type": "boolean",
          "description": "Create path if does not exist.\n"
        },
        "createPermissions": {
          "type": "string",
          "description": "Create permissions for new files and directories in share.\n"
        },
        "cscPolicy": {
          "type": "string",
          "description": "Client-side caching policy for the shares.\n"
        },
        "description": {
          "type": "string",
          "description": "Description for this SMB share.\n"
        },
        "directoryCreateMask": {
          "type": "number",
          "description": "Directory create mask bits.\n"
        },
        "directoryCreateMode": {
          "type": "number",
          "description": "Directory create mode bits.\n"
        },
        "fileCreateMask": {
          "type": "number",
          "description": "File create mask bits.\n"
        },
        "fileCreateMode": {
          "type": "number",
          "description": "File create mode bits.\n"
        },
        "fileFilterExtensions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the list of file extensions.\n"
        },
        "fileFilterType": {
          "type": "string",
          "description": "Specifies if filter list is for deny or allow. Default is deny.\n"
        },
        "fileFilteringEnabled": {
          "type": "boolean",
          "description": "Enables file filtering on this zone.\n"
        },
        "hideDotFiles": {
          "type": "boolean",
          "description": "Hide files and directories that begin with a period '.'.\n"
        },
        "hostAcls": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "An ACL expressing which hosts are allowed access. A deny clause must be the final entry.\n"
        },
        "impersonateGuest": {
          "type": "string",
          "description": "Specify the condition in which user access is done as the guest account.\n"
        },
        "impersonateUser": {
          "type": "string",
          "description": "User account to be used as guest account.\n"
        },
        "inheritablePathAcl": {
          "type": "boolean",
          "description": "Set the inheritable ACL on the share path.\n"
        },
        "mangleByteStart": {
          "type": "number",
          "description": "Specifies the wchar_t starting point for automatic byte mangling.\n"
        },
        "mangleMaps": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Character mangle map.\n"
        },
        "name": {
          "type": "string",
          "description": "Share name.\n"
        },
        "ntfsAclSupport": {
          "type": "boolean",
          "description": "Support NTFS ACLs on files and directories.\n"
        },
        "oplocks": {
          "type": "boolean",
          "description": "Support oplocks.\n"
        },
        "path": {
          "type": "string",
          "description": "Path of share within /ifs.\n"
        },
        "permissions": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FSmbSharePermission:SmbSharePermission"
          },
          "description": "Specifies an ordered list of permission modifications.\n"
        },
        "runAsRoots": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FSmbShareRunAsRoot:SmbShareRunAsRoot"
          },
          "description": "Allow account to run as root.\n"
        },
        "smb3EncryptionEnabled": {
          "type": "boolean",
          "description": "Enables SMB3 encryption for the share.\n"
        },
        "sparseFile": {
          "type": "boolean",
          "description": "Enables sparse file.\n"
        },
        "strictCaLockout": {
          "type": "boolean",
          "description": "Specifies if persistent opens would do strict lockout on the share.\n"
        },
        "strictFlush": {
          "type": "boolean",
          "description": "Handle SMB flush operations.\n"
        },
        "strictLocking": {
          "type": "boolean",
          "description": "Specifies whether byte range locks contend against SMB I/O.\n"
        },
        "zone": {
          "type": "string",
          "description": "Name of the access zone to which to move this SMB share.\n"
        }
      },
      "requiredInputs": [
        "path",
        "permissions"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SmbShare resources.\n",
        "properties": {
          "accessBasedEnumeration": {
            "type": "boolean",
            "description": "Only enumerate files and folders the requesting user has access to.\n"
          },
          "accessBasedEnumerationRootOnly": {
            "type": "boolean",
            "description": "Access-based enumeration on only the root directory of the share.\n"
          },
          "allowDeleteReadonly": {
            "type": "boolean",
            "description": "Allow deletion of read-only files in the share.\n"
          },
          "allowExecuteAlways": {
            "type": "boolean",
            "description": "Allows users to execute files they have read rights for.\n"
          },
          "allowVariableExpansion": {
            "type": "boolean",
            "description": "Allow automatic expansion of variables for home directories.\n"
          },
          "autoCreateDirectory": {
            "type": "boolean",
            "description": "Automatically create home directories.\n"
          },
          "browsable": {
            "type": "boolean",
            "description": "Share is visible in net view and the browse list.\n"
          },
          "caTimeout": {
            "type": "number",
            "description": "Persistent open timeout for the share.\n"
          },
          "caWriteIntegrity": {
            "type": "string",
            "description": "Specify the level of write-integrity on continuously available shares.\n"
          },
          "changeNotify": {
            "type": "string",
            "description": "Level of change notification alerts on the share.\n"
          },
          "continuouslyAvailable": {
            "type": "boolean",
            "description": "Specify if persistent opens are allowed on the share.\n"
          },
          "createPath": {
            "type": "boolean",
            "description": "Create path if does not exist.\n"
          },
          "createPermissions": {
            "type": "string",
            "description": "Create permissions for new files and directories in share.\n"
          },
          "cscPolicy": {
            "type": "string",
            "description": "Client-side caching policy for the shares.\n"
          },
          "description": {
            "type": "string",
            "description": "Description for this SMB share.\n"
          },
          "directoryCreateMask": {
            "type": "number",
            "description": "Directory create mask bits.\n"
          },
          "directoryCreateMode": {
            "type": "number",
            "description": "Directory create mode bits.\n"
          },
          "fileCreateMask": {
            "type": "number",
            "description": "File create mask bits.\n"
          },
          "fileCreateMode": {
            "type": "number",
            "description": "File create mode bits.\n"
          },
          "fileFilterExtensions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies the list of file extensions.\n"
          },
          "fileFilterType": {
            "type": "string",
            "description": "Specifies if filter list is for deny or allow. Default is deny.\n"
          },
          "fileFilteringEnabled": {
            "type": "boolean",
            "description": "Enables file filtering on this zone.\n"
          },
          "hideDotFiles": {
            "type": "boolean",
            "description": "Hide files and directories that begin with a period '.'.\n"
          },
          "hostAcls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "An ACL expressing which hosts are allowed access. A deny clause must be the final entry.\n"
          },
          "impersonateGuest": {
            "type": "string",
            "description": "Specify the condition in which user access is done as the guest account.\n"
          },
          "impersonateUser": {
            "type": "string",
            "description": "User account to be used as guest account.\n"
          },
          "inheritablePathAcl": {
            "type": "boolean",
            "description": "Set the inheritable ACL on the share path.\n"
          },
          "mangleByteStart": {
            "type": "number",
            "description": "Specifies the wchar_t starting point for automatic byte mangling.\n"
          },
          "mangleMaps": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Character mangle map.\n"
          },
          "name": {
            "type": "string",
            "description": "Share name.\n"
          },
          "ntfsAclSupport": {
            "type": "boolean",
            "description": "Support NTFS ACLs on files and directories.\n"
          },
          "oplocks": {
            "type": "boolean",
            "description": "Support oplocks.\n"
          },
          "path": {
            "type": "string",
            "description": "Path of share within /ifs.\n"
          },
          "permissions": {
            "type": "array",
            "items": {
              "$ref": "#/types/powerscale:index%2FSmbSharePermission:SmbSharePermission"
            },
            "description": "Specifies an ordered list of permission modifications.\n"
          },
          "runAsRoots": {
            "type": "array",
            "items": {
              "$ref": "#/types/powerscale:index%2FSmbShareRunAsRoot:SmbShareRunAsRoot"
            },
            "description": "Allow account to run as root.\n"
          },
          "smb3EncryptionEnabled": {
            "type": "boolean",
            "description": "Enables SMB3 encryption for the share.\n"
          },
          "sparseFile": {
            "type": "boolean",
            "description": "Enables sparse file.\n"
          },
          "strictCaLockout": {
            "type": "boolean",
            "description": "Specifies if persistent opens would do strict lockout on the share.\n"
          },
          "strictFlush": {
            "type": "boolean",
            "description": "Handle SMB flush operations.\n"
          },
          "strictLocking": {
            "type": "boolean",
            "description": "Specifies whether byte range locks contend against SMB I/O.\n"
          },
          "zid": {
            "type": "number",
            "description": "Numeric ID of the access zone which contains this SMB share.\n"
          },
          "zone": {
            "type": "string",
            "description": "Name of the access zone to which to move this SMB share.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/smbShareSettings:SmbShareSettings": {
      "description": "This resource is used to manage the SMB share Settings entity of PowerScale Array. We can Create, Update and Delete the SMB share Settings using this resource. We can also import the existing SMB share Settings from PowerScale array. Note that, SMB share Settings is the native functionality of PowerScale. When creating the resource, we actually load SMB share Settings from PowerScale to the resource state.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale SMB share settings provide clients network access to file system resources on the cluster\nconst example = new powerscale.SmbShareSettings(\"example\", {zone: \"System\"});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale SMB share settings provide clients network access to file system resources on the cluster\nexample = powerscale.SmbShareSettings(\"example\", zone=\"System\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale SMB share settings provide clients network access to file system resources on the cluster\n    var example = new Powerscale.SmbShareSettings(\"example\", new()\n    {\n        Zone = \"System\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale SMB share settings provide clients network access to file system resources on the cluster\n\t\t_, err := powerscale.NewSmbShareSettings(ctx, \"example\", &powerscale.SmbShareSettingsArgs{\n\t\t\tZone: pulumi.String(\"System\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.SmbShareSettings;\nimport com.pulumi.powerscale.SmbShareSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale SMB share settings provide clients network access to file system resources on the cluster\n        var example = new SmbShareSettings(\"example\", SmbShareSettingsArgs.builder()\n            .zone(\"System\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale SMB share settings provide clients network access to file system resources on the cluster\n  example:\n    type: powerscale:SmbShareSettings\n    properties:\n      # Required field both for creating and updating\n      zone: System\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/smbShareSettings:SmbShareSettings example zone\n```\n\n```sh\n$ pulumi import powerscale:index/smbShareSettings:SmbShareSettings example tfaccAccessZone\n```\n\nafter running this command, populate the zone field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "accessBasedEnumeration": {
          "type": "boolean",
          "description": "Only enumerate files and folders the requesting user has access to.\n"
        },
        "accessBasedEnumerationRootOnly": {
          "type": "boolean",
          "description": "Access-based enumeration on only the root directory of the share.\n"
        },
        "allowDeleteReadonly": {
          "type": "boolean",
          "description": "Allow deletion of read-only files in the share.\n"
        },
        "allowExecuteAlways": {
          "type": "boolean",
          "description": "Allows users to execute files they have read rights for.\n"
        },
        "caTimeout": {
          "type": "number",
          "description": "Persistent open timeout for the share.\n"
        },
        "caWriteIntegrity": {
          "type": "string",
          "description": "Specify the level of write-integrity on continuously available shares. Acceptable values: none, write-read-coherent, full\n"
        },
        "changeNotify": {
          "type": "string",
          "description": "Specify level of change notification alerts on the share. Acceptable values: all, norecurse, none\n"
        },
        "continuouslyAvailable": {
          "type": "boolean",
          "description": "Specify if persistent opens are allowed on the share.\n"
        },
        "createPermissions": {
          "type": "string",
          "description": "Set the create permissions for new files and directories in share. Acceptable values: default acl, inherit mode bits, use create mask and mode\n"
        },
        "cscPolicy": {
          "type": "string",
          "description": "Client-side caching policy for the shares. Acceptable values: manual, documents, programs, none\n"
        },
        "directoryCreateMask": {
          "type": "number",
          "description": "Unix umask or mode bits.\n"
        },
        "directoryCreateMode": {
          "type": "number",
          "description": "Unix umask or mode bits.\n"
        },
        "fileCreateMask": {
          "type": "number",
          "description": "Unix umask or mode bits.\n"
        },
        "fileCreateMode": {
          "type": "number",
          "description": "Unix umask or mode bits.\n"
        },
        "fileFilterExtensions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the list of file extensions.\n"
        },
        "fileFilterType": {
          "type": "string",
          "description": "Specifies if filter list is for deny or allow. Default is deny.\n"
        },
        "fileFilteringEnabled": {
          "type": "boolean",
          "description": "Enables file filtering on the share.\n"
        },
        "hideDotFiles": {
          "type": "boolean",
          "description": "Hide files and directories that begin with a period '.'.\n"
        },
        "hostAcls": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "An ACL expressing which hosts are allowed access. A deny clause must be the final entry.\n"
        },
        "impersonateGuest": {
          "type": "string",
          "description": "Specify the condition in which user access is done as the guest account. Acceptable values: always, bad user, never\n"
        },
        "impersonateUser": {
          "type": "string",
          "description": "User account to be used as guest account.\n"
        },
        "mangleByteStart": {
          "type": "number",
          "description": "Specifies the wchar_t starting point for automatic byte mangling.\n"
        },
        "mangleMaps": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Character mangle map.\n"
        },
        "ntfsAclSupport": {
          "type": "boolean",
          "description": "Support NTFS ACLs on files and directories.\n"
        },
        "oplocks": {
          "type": "boolean",
          "description": "Allow oplock requests.\n"
        },
        "scope": {
          "type": "string",
          "description": "When specified as 'effective', or not specified, all fields are returned. When specified as 'user', only fields with non-default values are shown. When specified as 'default', the original values are returned.\n"
        },
        "smb3EncryptionEnabled": {
          "type": "boolean",
          "description": "Enables SMB3 encryption for the share.\n"
        },
        "sparseFile": {
          "type": "boolean",
          "description": "Enables sparse file.\n"
        },
        "strictCaLockout": {
          "type": "boolean",
          "description": "Specifies if persistent opens would do strict lockout on the share.\n"
        },
        "strictFlush": {
          "type": "boolean",
          "description": "Handle SMB flush operations.\n"
        },
        "strictLocking": {
          "type": "boolean",
          "description": "Specifies whether byte range locks contend against SMB I/O.\n"
        },
        "zone": {
          "type": "string",
          "description": "Name of the access zone in which to update settings\n"
        }
      },
      "type": "object",
      "required": [
        "accessBasedEnumeration",
        "accessBasedEnumerationRootOnly",
        "allowDeleteReadonly",
        "allowExecuteAlways",
        "caTimeout",
        "caWriteIntegrity",
        "changeNotify",
        "continuouslyAvailable",
        "createPermissions",
        "cscPolicy",
        "directoryCreateMask",
        "directoryCreateMode",
        "fileCreateMask",
        "fileCreateMode",
        "fileFilterExtensions",
        "fileFilterType",
        "fileFilteringEnabled",
        "hideDotFiles",
        "hostAcls",
        "impersonateGuest",
        "impersonateUser",
        "mangleByteStart",
        "mangleMaps",
        "ntfsAclSupport",
        "oplocks",
        "smb3EncryptionEnabled",
        "sparseFile",
        "strictCaLockout",
        "strictFlush",
        "strictLocking",
        "zone"
      ],
      "inputProperties": {
        "accessBasedEnumeration": {
          "type": "boolean",
          "description": "Only enumerate files and folders the requesting user has access to.\n"
        },
        "accessBasedEnumerationRootOnly": {
          "type": "boolean",
          "description": "Access-based enumeration on only the root directory of the share.\n"
        },
        "allowDeleteReadonly": {
          "type": "boolean",
          "description": "Allow deletion of read-only files in the share.\n"
        },
        "allowExecuteAlways": {
          "type": "boolean",
          "description": "Allows users to execute files they have read rights for.\n"
        },
        "caTimeout": {
          "type": "number",
          "description": "Persistent open timeout for the share.\n"
        },
        "caWriteIntegrity": {
          "type": "string",
          "description": "Specify the level of write-integrity on continuously available shares. Acceptable values: none, write-read-coherent, full\n"
        },
        "changeNotify": {
          "type": "string",
          "description": "Specify level of change notification alerts on the share. Acceptable values: all, norecurse, none\n"
        },
        "continuouslyAvailable": {
          "type": "boolean",
          "description": "Specify if persistent opens are allowed on the share.\n"
        },
        "createPermissions": {
          "type": "string",
          "description": "Set the create permissions for new files and directories in share. Acceptable values: default acl, inherit mode bits, use create mask and mode\n"
        },
        "cscPolicy": {
          "type": "string",
          "description": "Client-side caching policy for the shares. Acceptable values: manual, documents, programs, none\n"
        },
        "directoryCreateMask": {
          "type": "number",
          "description": "Unix umask or mode bits.\n"
        },
        "directoryCreateMode": {
          "type": "number",
          "description": "Unix umask or mode bits.\n"
        },
        "fileCreateMask": {
          "type": "number",
          "description": "Unix umask or mode bits.\n"
        },
        "fileCreateMode": {
          "type": "number",
          "description": "Unix umask or mode bits.\n"
        },
        "fileFilterExtensions": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies the list of file extensions.\n"
        },
        "fileFilterType": {
          "type": "string",
          "description": "Specifies if filter list is for deny or allow. Default is deny.\n"
        },
        "fileFilteringEnabled": {
          "type": "boolean",
          "description": "Enables file filtering on the share.\n"
        },
        "hideDotFiles": {
          "type": "boolean",
          "description": "Hide files and directories that begin with a period '.'.\n"
        },
        "hostAcls": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "An ACL expressing which hosts are allowed access. A deny clause must be the final entry.\n"
        },
        "impersonateGuest": {
          "type": "string",
          "description": "Specify the condition in which user access is done as the guest account. Acceptable values: always, bad user, never\n"
        },
        "impersonateUser": {
          "type": "string",
          "description": "User account to be used as guest account.\n"
        },
        "mangleByteStart": {
          "type": "number",
          "description": "Specifies the wchar_t starting point for automatic byte mangling.\n"
        },
        "mangleMaps": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Character mangle map.\n"
        },
        "ntfsAclSupport": {
          "type": "boolean",
          "description": "Support NTFS ACLs on files and directories.\n"
        },
        "oplocks": {
          "type": "boolean",
          "description": "Allow oplock requests.\n"
        },
        "scope": {
          "type": "string",
          "description": "When specified as 'effective', or not specified, all fields are returned. When specified as 'user', only fields with non-default values are shown. When specified as 'default', the original values are returned.\n"
        },
        "smb3EncryptionEnabled": {
          "type": "boolean",
          "description": "Enables SMB3 encryption for the share.\n"
        },
        "sparseFile": {
          "type": "boolean",
          "description": "Enables sparse file.\n"
        },
        "strictCaLockout": {
          "type": "boolean",
          "description": "Specifies if persistent opens would do strict lockout on the share.\n"
        },
        "strictFlush": {
          "type": "boolean",
          "description": "Handle SMB flush operations.\n"
        },
        "strictLocking": {
          "type": "boolean",
          "description": "Specifies whether byte range locks contend against SMB I/O.\n"
        },
        "zone": {
          "type": "string",
          "description": "Name of the access zone in which to update settings\n"
        }
      },
      "requiredInputs": [
        "zone"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SmbShareSettings resources.\n",
        "properties": {
          "accessBasedEnumeration": {
            "type": "boolean",
            "description": "Only enumerate files and folders the requesting user has access to.\n"
          },
          "accessBasedEnumerationRootOnly": {
            "type": "boolean",
            "description": "Access-based enumeration on only the root directory of the share.\n"
          },
          "allowDeleteReadonly": {
            "type": "boolean",
            "description": "Allow deletion of read-only files in the share.\n"
          },
          "allowExecuteAlways": {
            "type": "boolean",
            "description": "Allows users to execute files they have read rights for.\n"
          },
          "caTimeout": {
            "type": "number",
            "description": "Persistent open timeout for the share.\n"
          },
          "caWriteIntegrity": {
            "type": "string",
            "description": "Specify the level of write-integrity on continuously available shares. Acceptable values: none, write-read-coherent, full\n"
          },
          "changeNotify": {
            "type": "string",
            "description": "Specify level of change notification alerts on the share. Acceptable values: all, norecurse, none\n"
          },
          "continuouslyAvailable": {
            "type": "boolean",
            "description": "Specify if persistent opens are allowed on the share.\n"
          },
          "createPermissions": {
            "type": "string",
            "description": "Set the create permissions for new files and directories in share. Acceptable values: default acl, inherit mode bits, use create mask and mode\n"
          },
          "cscPolicy": {
            "type": "string",
            "description": "Client-side caching policy for the shares. Acceptable values: manual, documents, programs, none\n"
          },
          "directoryCreateMask": {
            "type": "number",
            "description": "Unix umask or mode bits.\n"
          },
          "directoryCreateMode": {
            "type": "number",
            "description": "Unix umask or mode bits.\n"
          },
          "fileCreateMask": {
            "type": "number",
            "description": "Unix umask or mode bits.\n"
          },
          "fileCreateMode": {
            "type": "number",
            "description": "Unix umask or mode bits.\n"
          },
          "fileFilterExtensions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies the list of file extensions.\n"
          },
          "fileFilterType": {
            "type": "string",
            "description": "Specifies if filter list is for deny or allow. Default is deny.\n"
          },
          "fileFilteringEnabled": {
            "type": "boolean",
            "description": "Enables file filtering on the share.\n"
          },
          "hideDotFiles": {
            "type": "boolean",
            "description": "Hide files and directories that begin with a period '.'.\n"
          },
          "hostAcls": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "An ACL expressing which hosts are allowed access. A deny clause must be the final entry.\n"
          },
          "impersonateGuest": {
            "type": "string",
            "description": "Specify the condition in which user access is done as the guest account. Acceptable values: always, bad user, never\n"
          },
          "impersonateUser": {
            "type": "string",
            "description": "User account to be used as guest account.\n"
          },
          "mangleByteStart": {
            "type": "number",
            "description": "Specifies the wchar_t starting point for automatic byte mangling.\n"
          },
          "mangleMaps": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Character mangle map.\n"
          },
          "ntfsAclSupport": {
            "type": "boolean",
            "description": "Support NTFS ACLs on files and directories.\n"
          },
          "oplocks": {
            "type": "boolean",
            "description": "Allow oplock requests.\n"
          },
          "scope": {
            "type": "string",
            "description": "When specified as 'effective', or not specified, all fields are returned. When specified as 'user', only fields with non-default values are shown. When specified as 'default', the original values are returned.\n"
          },
          "smb3EncryptionEnabled": {
            "type": "boolean",
            "description": "Enables SMB3 encryption for the share.\n"
          },
          "sparseFile": {
            "type": "boolean",
            "description": "Enables sparse file.\n"
          },
          "strictCaLockout": {
            "type": "boolean",
            "description": "Specifies if persistent opens would do strict lockout on the share.\n"
          },
          "strictFlush": {
            "type": "boolean",
            "description": "Handle SMB flush operations.\n"
          },
          "strictLocking": {
            "type": "boolean",
            "description": "Specifies whether byte range locks contend against SMB I/O.\n"
          },
          "zone": {
            "type": "string",
            "description": "Name of the access zone in which to update settings\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/snapshot:Snapshot": {
      "description": "This resource is used to manage the Snapshot entity of PowerScale Array. We can Create, Update and Delete the Snapshot using this resource. We can also import an existing Snapshot from PowerScale array. PowerScale Snapshots is a logical pointer to data that is stored on a cluster at a specific point in time.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale Snapshots is a logical pointer to data that is stored on a cluster at a specific point in time.\nconst snap = new powerscale.Snapshot(\"snap\", {\n    path: \"/ifs/tfacc_file_system_test\",\n    setExpires: \"1 Day\",\n});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale Snapshots is a logical pointer to data that is stored on a cluster at a specific point in time.\nsnap = powerscale.Snapshot(\"snap\",\n    path=\"/ifs/tfacc_file_system_test\",\n    set_expires=\"1 Day\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale Snapshots is a logical pointer to data that is stored on a cluster at a specific point in time.\n    var snap = new Powerscale.Snapshot(\"snap\", new()\n    {\n        Path = \"/ifs/tfacc_file_system_test\",\n        SetExpires = \"1 Day\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale Snapshots is a logical pointer to data that is stored on a cluster at a specific point in time.\n\t\t_, err := powerscale.NewSnapshot(ctx, \"snap\", &powerscale.SnapshotArgs{\n\t\t\tPath:       pulumi.String(\"/ifs/tfacc_file_system_test\"),\n\t\t\tSetExpires: pulumi.String(\"1 Day\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.Snapshot;\nimport com.pulumi.powerscale.SnapshotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale Snapshots is a logical pointer to data that is stored on a cluster at a specific point in time.\n        var snap = new Snapshot(\"snap\", SnapshotArgs.builder()\n            .path(\"/ifs/tfacc_file_system_test\")\n            .setExpires(\"1 Day\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale Snapshots is a logical pointer to data that is stored on a cluster at a specific point in time.\n  snap:\n    type: powerscale:Snapshot\n    properties:\n      # Required path to the filesystem to which the snapshot will be taken of\n      #     // This cannot be changed after create\n      path: /ifs/tfacc_file_system_test\n      # Optional set_expires The amount of time from creation before the snapshot will expire and be eligible for automatic deletion.  (Can be modified)\n      #     // Options: Never(default if unset), 1 Day, 1 Week, 1 Month.\n      setExpires: 1 Day\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2023-2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/snapshot:Snapshot test <id>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/snapshot:Snapshot test id\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "alias": {
          "type": "string",
          "description": "The name of the alias, none for real snapshots.\n"
        },
        "created": {
          "type": "number",
          "description": "The Unix Epoch time the snapshot was created.\n"
        },
        "expires": {
          "type": "number",
          "description": "The Unix Epoch time the snapshot will expire and be eligible for automatic deletion.\n"
        },
        "hasLocks": {
          "type": "boolean",
          "description": "True if the snapshot has one or more locks present see, see the locks subresource of a snapshot for a list of lock.\n"
        },
        "name": {
          "type": "string",
          "description": "The user or system supplied snapshot name. This will be null for snapshots pending delete. Only alphanumeric characters, underscores ( _ ), and hyphens (-) are allowed.\n"
        },
        "path": {
          "type": "string",
          "description": "The /ifs path snapshotted. Cannot be updated.\n"
        },
        "pctFilesystem": {
          "type": "number",
          "description": "Percentage of /ifs used for storing this snapshot.\n"
        },
        "pctReserve": {
          "type": "number",
          "description": "Percentage of configured snapshot reserved used for storing this snapshot.\n"
        },
        "schedule": {
          "type": "string",
          "description": "The name of the schedule used to create this snapshot, if applicable.\n"
        },
        "setExpires": {
          "type": "string",
          "description": "The amount of time from creation before the snapshot will expire and be eligible for automatic deletion. Resets each time this value is updated\n"
        },
        "shadowBytes": {
          "type": "number",
          "description": "The amount of shadow bytes referred to by this snapshot.\n"
        },
        "size": {
          "type": "number",
          "description": "The amount of storage in bytes used to store this snapshot.\n"
        },
        "state": {
          "type": "string",
          "description": "Snapshot state.\n"
        },
        "targetId": {
          "type": "number",
          "description": "The ID of the snapshot pointed to if this is an alias. 18446744073709551615 (max uint64) is returned for an alias to the live filesystem.\n"
        },
        "targetName": {
          "type": "string",
          "description": "The name of the snapshot pointed to if this is an alias.\n"
        }
      },
      "type": "object",
      "required": [
        "alias",
        "created",
        "expires",
        "hasLocks",
        "name",
        "path",
        "pctFilesystem",
        "pctReserve",
        "schedule",
        "setExpires",
        "shadowBytes",
        "size",
        "state",
        "targetId",
        "targetName"
      ],
      "inputProperties": {
        "name": {
          "type": "string",
          "description": "The user or system supplied snapshot name. This will be null for snapshots pending delete. Only alphanumeric characters, underscores ( _ ), and hyphens (-) are allowed.\n"
        },
        "path": {
          "type": "string",
          "description": "The /ifs path snapshotted. Cannot be updated.\n"
        },
        "setExpires": {
          "type": "string",
          "description": "The amount of time from creation before the snapshot will expire and be eligible for automatic deletion. Resets each time this value is updated\n"
        }
      },
      "requiredInputs": [
        "path"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Snapshot resources.\n",
        "properties": {
          "alias": {
            "type": "string",
            "description": "The name of the alias, none for real snapshots.\n"
          },
          "created": {
            "type": "number",
            "description": "The Unix Epoch time the snapshot was created.\n"
          },
          "expires": {
            "type": "number",
            "description": "The Unix Epoch time the snapshot will expire and be eligible for automatic deletion.\n"
          },
          "hasLocks": {
            "type": "boolean",
            "description": "True if the snapshot has one or more locks present see, see the locks subresource of a snapshot for a list of lock.\n"
          },
          "name": {
            "type": "string",
            "description": "The user or system supplied snapshot name. This will be null for snapshots pending delete. Only alphanumeric characters, underscores ( _ ), and hyphens (-) are allowed.\n"
          },
          "path": {
            "type": "string",
            "description": "The /ifs path snapshotted. Cannot be updated.\n"
          },
          "pctFilesystem": {
            "type": "number",
            "description": "Percentage of /ifs used for storing this snapshot.\n"
          },
          "pctReserve": {
            "type": "number",
            "description": "Percentage of configured snapshot reserved used for storing this snapshot.\n"
          },
          "schedule": {
            "type": "string",
            "description": "The name of the schedule used to create this snapshot, if applicable.\n"
          },
          "setExpires": {
            "type": "string",
            "description": "The amount of time from creation before the snapshot will expire and be eligible for automatic deletion. Resets each time this value is updated\n"
          },
          "shadowBytes": {
            "type": "number",
            "description": "The amount of shadow bytes referred to by this snapshot.\n"
          },
          "size": {
            "type": "number",
            "description": "The amount of storage in bytes used to store this snapshot.\n"
          },
          "state": {
            "type": "string",
            "description": "Snapshot state.\n"
          },
          "targetId": {
            "type": "number",
            "description": "The ID of the snapshot pointed to if this is an alias. 18446744073709551615 (max uint64) is returned for an alias to the live filesystem.\n"
          },
          "targetName": {
            "type": "string",
            "description": "The name of the snapshot pointed to if this is an alias.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/snapshotRestore:SnapshotRestore": {
      "description": "This resource is used to restore the data from the snapshot of PowerScale Array. The restore is done using copy/clone/snaprevert job. We can Create, Update and Delete using this resource.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.SnapshotRestore;\nimport com.pulumi.powerscale.SnapshotRestoreArgs;\nimport com.pulumi.powerscale.inputs.SnapshotRestoreCloneParamsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Restore snapshot using clone operation\n        var test = new SnapshotRestore(\"test\", SnapshotRestoreArgs.builder()\n            .cloneParams(SnapshotRestoreCloneParamsArgs.builder()\n                .destination(\"Path of the destination\")\n                .snapshot_id(\"Snapshot ID\")\n                .source(\"Path of the snapshot to copy\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Restore snapshot using clone operation\n  test:\n    type: powerscale:SnapshotRestore\n    properties:\n      cloneParams:\n        destination: Path of the destination\n        snapshot_id: Snapshot ID\n        source: Path of the snapshot to copy\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "cloneParams": {
          "$ref": "#/types/powerscale:index%2FSnapshotRestoreCloneParams:SnapshotRestoreCloneParams",
          "description": "Specifies properties for a clone operation.\n"
        },
        "copyParams": {
          "$ref": "#/types/powerscale:index%2FSnapshotRestoreCopyParams:SnapshotRestoreCopyParams",
          "description": "Specifies properties for a copy operation.\n"
        },
        "snaprevertParams": {
          "$ref": "#/types/powerscale:index%2FSnapshotRestoreSnaprevertParams:SnapshotRestoreSnaprevertParams",
          "description": "Specifies properties for a snapshot revert job.\n"
        }
      },
      "type": "object",
      "inputProperties": {
        "cloneParams": {
          "$ref": "#/types/powerscale:index%2FSnapshotRestoreCloneParams:SnapshotRestoreCloneParams",
          "description": "Specifies properties for a clone operation.\n"
        },
        "copyParams": {
          "$ref": "#/types/powerscale:index%2FSnapshotRestoreCopyParams:SnapshotRestoreCopyParams",
          "description": "Specifies properties for a copy operation.\n"
        },
        "snaprevertParams": {
          "$ref": "#/types/powerscale:index%2FSnapshotRestoreSnaprevertParams:SnapshotRestoreSnaprevertParams",
          "description": "Specifies properties for a snapshot revert job.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SnapshotRestore resources.\n",
        "properties": {
          "cloneParams": {
            "$ref": "#/types/powerscale:index%2FSnapshotRestoreCloneParams:SnapshotRestoreCloneParams",
            "description": "Specifies properties for a clone operation.\n"
          },
          "copyParams": {
            "$ref": "#/types/powerscale:index%2FSnapshotRestoreCopyParams:SnapshotRestoreCopyParams",
            "description": "Specifies properties for a copy operation.\n"
          },
          "snaprevertParams": {
            "$ref": "#/types/powerscale:index%2FSnapshotRestoreSnaprevertParams:SnapshotRestoreSnaprevertParams",
            "description": "Specifies properties for a snapshot revert job.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/snapshotSchedule:SnapshotSchedule": {
      "description": "This resource is used to manage the Snapshot Schedule entity on PowerScale array. We can Create, Update and Delete the Snapshot Schedules using this resource. We can also import an existing Snapshot Schedule from PowerScale array.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale SMB shares provide clients network access to file system resources on the cluster\nconst snapSchedule = new powerscale.SnapshotSchedule(\"snapSchedule\", {});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale SMB shares provide clients network access to file system resources on the cluster\nsnap_schedule = powerscale.SnapshotSchedule(\"snapSchedule\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale SMB shares provide clients network access to file system resources on the cluster\n    var snapSchedule = new Powerscale.SnapshotSchedule(\"snapSchedule\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale SMB shares provide clients network access to file system resources on the cluster\n\t\t_, err := powerscale.NewSnapshotSchedule(ctx, \"snapSchedule\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.SnapshotSchedule;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale SMB shares provide clients network access to file system resources on the cluster\n        var snapSchedule = new SnapshotSchedule(\"snapSchedule\");\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale SMB shares provide clients network access to file system resources on the cluster\n  snapSchedule:\n    type: powerscale:SnapshotSchedule\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2023-2025 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/snapshotSchedule:SnapshotSchedule snap_schedule <id>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/snapshotSchedule:SnapshotSchedule snap_schedule id\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "alias": {
          "type": "string",
          "description": "Alias name to create for each snapshot.\n"
        },
        "name": {
          "type": "string",
          "description": "The schedule name.\n"
        },
        "nextRun": {
          "type": "number",
          "description": "Unix Epoch time of next snapshot to be created.\n"
        },
        "nextSnapshot": {
          "type": "string",
          "description": "Formatted name (see pattern) of next snapshot to be created\n"
        },
        "path": {
          "type": "string",
          "description": "The /ifs path snapshotted.\n"
        },
        "pattern": {
          "type": "string",
          "description": "Pattern expanded with strftime to create snapshot names.Some sample values for pattern are: 'snap-%F' would yield snap-1984-03-20 , 'backup-%FT%T' would yield backup-1984-03-20T22:30:00\n"
        },
        "retentionTime": {
          "type": "string",
          "description": "Time value in String for which snapshots created by this snapshot schedule should be retained.Values supported are of format : Never Expires, x Second(s), x Minute(s), x Hour(s), x Day(s), x Week(s), x Year(s) where x can be any integer value\n"
        },
        "schedule": {
          "type": "string",
          "description": "The isidate-compatible natural language description of the schedule. It specifies the frequency of the schedule. You can specify this as combination of \\n\\n and \\n\\n where each of them can be defined as:\n\t\t\t\\n\\n:\n\t\t\t\t*Every  ( other | \\n\\n )  ] week ] | The last (day | weekday | \\n\\n) of every [ (other | \\n\\n) ] month | The \\n\\n (weekday | \\n\\n) of every [ (other | \\n\\n) ] month | The \\n\\n of every [ (other | \\n\\n) ] month | Yearly on \\n\\n \\n\\n | Yearly on the (last | \\n\\n) [ weekday | \\n\\n ] of \\n\\n\n\t\t\t\\n\\n:\n\t\t\t\t*at \\n\\n[:\\n\\n] [ (AM | PM) ] | every  \\n\\n  [ between \\n\\n[:\\n\\n] [ (AM | PM) ] and \\n\\n[:\\n\\n] [ (AM | PM) ] | every  \\n\\n  [ from \\n\\n[:\\n\\n] [ (AM | PM) ] to \\n\\n[:\\n\\n] [ (AM | PM) ]\n\t\t\tAdditionally:\n\t\t\t\t\\n\\n can include \"st,\" \"th,\" or \"rd,\" e.g., \"Every 1st month.\"\n\t\t\t\t\\n\\n can be a day of the week or a three-letter abbreviation, e.g., \"saturday\" or \"sat.\"\n\t\t\t\t\\n\\n must be the name of the month or its abbreviation, e.g., \"July\" or \"Jul.\"\n\t\t\tSome sample values:  \"Every 2 days.\", \"Every 3rd weekday at 11 PM.\", \"Every month on the 15th at 1:30 AM.\"\n"
        }
      },
      "type": "object",
      "required": [
        "alias",
        "name",
        "nextRun",
        "nextSnapshot",
        "path",
        "pattern",
        "retentionTime",
        "schedule"
      ],
      "inputProperties": {
        "alias": {
          "type": "string",
          "description": "Alias name to create for each snapshot.\n"
        },
        "name": {
          "type": "string",
          "description": "The schedule name.\n"
        },
        "nextRun": {
          "type": "number",
          "description": "Unix Epoch time of next snapshot to be created.\n"
        },
        "nextSnapshot": {
          "type": "string",
          "description": "Formatted name (see pattern) of next snapshot to be created\n"
        },
        "path": {
          "type": "string",
          "description": "The /ifs path snapshotted.\n"
        },
        "pattern": {
          "type": "string",
          "description": "Pattern expanded with strftime to create snapshot names.Some sample values for pattern are: 'snap-%F' would yield snap-1984-03-20 , 'backup-%FT%T' would yield backup-1984-03-20T22:30:00\n"
        },
        "retentionTime": {
          "type": "string",
          "description": "Time value in String for which snapshots created by this snapshot schedule should be retained.Values supported are of format : Never Expires, x Second(s), x Minute(s), x Hour(s), x Day(s), x Week(s), x Year(s) where x can be any integer value\n"
        },
        "schedule": {
          "type": "string",
          "description": "The isidate-compatible natural language description of the schedule. It specifies the frequency of the schedule. You can specify this as combination of \\n\\n and \\n\\n where each of them can be defined as:\n\t\t\t\\n\\n:\n\t\t\t\t*Every  ( other | \\n\\n )  ] week ] | The last (day | weekday | \\n\\n) of every [ (other | \\n\\n) ] month | The \\n\\n (weekday | \\n\\n) of every [ (other | \\n\\n) ] month | The \\n\\n of every [ (other | \\n\\n) ] month | Yearly on \\n\\n \\n\\n | Yearly on the (last | \\n\\n) [ weekday | \\n\\n ] of \\n\\n\n\t\t\t\\n\\n:\n\t\t\t\t*at \\n\\n[:\\n\\n] [ (AM | PM) ] | every  \\n\\n  [ between \\n\\n[:\\n\\n] [ (AM | PM) ] and \\n\\n[:\\n\\n] [ (AM | PM) ] | every  \\n\\n  [ from \\n\\n[:\\n\\n] [ (AM | PM) ] to \\n\\n[:\\n\\n] [ (AM | PM) ]\n\t\t\tAdditionally:\n\t\t\t\t\\n\\n can include \"st,\" \"th,\" or \"rd,\" e.g., \"Every 1st month.\"\n\t\t\t\t\\n\\n can be a day of the week or a three-letter abbreviation, e.g., \"saturday\" or \"sat.\"\n\t\t\t\t\\n\\n must be the name of the month or its abbreviation, e.g., \"July\" or \"Jul.\"\n\t\t\tSome sample values:  \"Every 2 days.\", \"Every 3rd weekday at 11 PM.\", \"Every month on the 15th at 1:30 AM.\"\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SnapshotSchedule resources.\n",
        "properties": {
          "alias": {
            "type": "string",
            "description": "Alias name to create for each snapshot.\n"
          },
          "name": {
            "type": "string",
            "description": "The schedule name.\n"
          },
          "nextRun": {
            "type": "number",
            "description": "Unix Epoch time of next snapshot to be created.\n"
          },
          "nextSnapshot": {
            "type": "string",
            "description": "Formatted name (see pattern) of next snapshot to be created\n"
          },
          "path": {
            "type": "string",
            "description": "The /ifs path snapshotted.\n"
          },
          "pattern": {
            "type": "string",
            "description": "Pattern expanded with strftime to create snapshot names.Some sample values for pattern are: 'snap-%F' would yield snap-1984-03-20 , 'backup-%FT%T' would yield backup-1984-03-20T22:30:00\n"
          },
          "retentionTime": {
            "type": "string",
            "description": "Time value in String for which snapshots created by this snapshot schedule should be retained.Values supported are of format : Never Expires, x Second(s), x Minute(s), x Hour(s), x Day(s), x Week(s), x Year(s) where x can be any integer value\n"
          },
          "schedule": {
            "type": "string",
            "description": "The isidate-compatible natural language description of the schedule. It specifies the frequency of the schedule. You can specify this as combination of \\n\\n and \\n\\n where each of them can be defined as:\n\t\t\t\\n\\n:\n\t\t\t\t*Every  ( other | \\n\\n )  ] week ] | The last (day | weekday | \\n\\n) of every [ (other | \\n\\n) ] month | The \\n\\n (weekday | \\n\\n) of every [ (other | \\n\\n) ] month | The \\n\\n of every [ (other | \\n\\n) ] month | Yearly on \\n\\n \\n\\n | Yearly on the (last | \\n\\n) [ weekday | \\n\\n ] of \\n\\n\n\t\t\t\\n\\n:\n\t\t\t\t*at \\n\\n[:\\n\\n] [ (AM | PM) ] | every  \\n\\n  [ between \\n\\n[:\\n\\n] [ (AM | PM) ] and \\n\\n[:\\n\\n] [ (AM | PM) ] | every  \\n\\n  [ from \\n\\n[:\\n\\n] [ (AM | PM) ] to \\n\\n[:\\n\\n] [ (AM | PM) ]\n\t\t\tAdditionally:\n\t\t\t\t\\n\\n can include \"st,\" \"th,\" or \"rd,\" e.g., \"Every 1st month.\"\n\t\t\t\t\\n\\n can be a day of the week or a three-letter abbreviation, e.g., \"saturday\" or \"sat.\"\n\t\t\t\t\\n\\n must be the name of the month or its abbreviation, e.g., \"July\" or \"Jul.\"\n\t\t\tSome sample values:  \"Every 2 days.\", \"Every 3rd weekday at 11 PM.\", \"Every month on the 15th at 1:30 AM.\"\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/storagepoolTier:StoragepoolTier": {
      "description": "This resource is used to manage the storagepool tier entity of PowerScale Array. We can Create, Update and Delete the storagepool tiers using this resource. We can also import an existing storagepool tier from PowerScale array.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\nconst example = new powerscale.StoragepoolTier(\"example\", {\n    childrens: [\"x410_34tb_1.6tb-ssd_64gb\"],\n    transferLimitPct: 40,\n});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\nexample = powerscale.StoragepoolTier(\"example\",\n    childrens=[\"x410_34tb_1.6tb-ssd_64gb\"],\n    transfer_limit_pct=40)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    var example = new Powerscale.StoragepoolTier(\"example\", new()\n    {\n        Childrens = new[]\n        {\n            \"x410_34tb_1.6tb-ssd_64gb\",\n        },\n        TransferLimitPct = 40,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := powerscale.NewStoragepoolTier(ctx, \"example\", &powerscale.StoragepoolTierArgs{\n\t\t\tChildrens: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"x410_34tb_1.6tb-ssd_64gb\"),\n\t\t\t},\n\t\t\tTransferLimitPct: pulumi.Float64(40),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.StoragepoolTier;\nimport com.pulumi.powerscale.StoragepoolTierArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new StoragepoolTier(\"example\", StoragepoolTierArgs.builder()\n            .childrens(\"x410_34tb_1.6tb-ssd_64gb\")\n            .transferLimitPct(40)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: powerscale:StoragepoolTier\n    properties:\n      # Optional parameters\n      childrens:\n        - x410_34tb_1.6tb-ssd_64gb\n      transferLimitPct: 40\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/storagepoolTier:StoragepoolTier example id_of_storagepool_tier\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/storagepoolTier:StoragepoolTier example \"tier\"\n```\n\nafter running this command, populate parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource.\n\n",
      "properties": {
        "childrens": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "An optional parameter which adds new nodepools to the storagepool tier.\n"
        },
        "lnns": {
          "type": "array",
          "items": {
            "type": "number"
          },
          "description": "The nodes that are part of this tier.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the storagepool tier name.\n"
        },
        "storagepoolTierId": {
          "type": "number",
          "description": "Specifies a string which represents the unique identifier of storagepool tier\n"
        },
        "transferLimitPct": {
          "type": "number",
          "description": "Stop moving files to this tier when this limit is met\n"
        },
        "transferLimitState": {
          "type": "string",
          "description": "How the transfer limit value is being applied\n"
        }
      },
      "type": "object",
      "required": [
        "childrens",
        "lnns",
        "name",
        "storagepoolTierId",
        "transferLimitPct",
        "transferLimitState"
      ],
      "inputProperties": {
        "childrens": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "An optional parameter which adds new nodepools to the storagepool tier.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies the storagepool tier name.\n"
        },
        "transferLimitPct": {
          "type": "number",
          "description": "Stop moving files to this tier when this limit is met\n"
        },
        "transferLimitState": {
          "type": "string",
          "description": "How the transfer limit value is being applied\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering StoragepoolTier resources.\n",
        "properties": {
          "childrens": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "An optional parameter which adds new nodepools to the storagepool tier.\n"
          },
          "lnns": {
            "type": "array",
            "items": {
              "type": "number"
            },
            "description": "The nodes that are part of this tier.\n"
          },
          "name": {
            "type": "string",
            "description": "Specifies the storagepool tier name.\n"
          },
          "storagepoolTierId": {
            "type": "number",
            "description": "Specifies a string which represents the unique identifier of storagepool tier\n"
          },
          "transferLimitPct": {
            "type": "number",
            "description": "Stop moving files to this tier when this limit is met\n"
          },
          "transferLimitState": {
            "type": "string",
            "description": "How the transfer limit value is being applied\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/subnet:Subnet": {
      "description": "This resource is used to manage the Subnet entity on PowerScale array. We can Create, Update and Delete the Subnet using this resource. We can also import an existing Subnet from PowerScale array.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale subnet allows you to manage the subnet on the Powerscale array\nconst subnet = new powerscale.Subnet(\"subnet\", {\n    addrFamily: \"ipv4\",\n    groupnet: \"groupnet0\",\n    prefixlen: 21,\n});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale subnet allows you to manage the subnet on the Powerscale array\nsubnet = powerscale.Subnet(\"subnet\",\n    addr_family=\"ipv4\",\n    groupnet=\"groupnet0\",\n    prefixlen=21)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale subnet allows you to manage the subnet on the Powerscale array\n    var subnet = new Powerscale.Subnet(\"subnet\", new()\n    {\n        AddrFamily = \"ipv4\",\n        Groupnet = \"groupnet0\",\n        Prefixlen = 21,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale subnet allows you to manage the subnet on the Powerscale array\n\t\t_, err := powerscale.NewSubnet(ctx, \"subnet\", &powerscale.SubnetArgs{\n\t\t\tAddrFamily: pulumi.String(\"ipv4\"),\n\t\t\tGroupnet:   pulumi.String(\"groupnet0\"),\n\t\t\tPrefixlen:  pulumi.Float64(21),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.Subnet;\nimport com.pulumi.powerscale.SubnetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale subnet allows you to manage the subnet on the Powerscale array\n        var subnet = new Subnet(\"subnet\", SubnetArgs.builder()\n            .addrFamily(\"ipv4\")\n            .groupnet(\"groupnet0\")\n            .prefixlen(21)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale subnet allows you to manage the subnet on the Powerscale array\n  subnet:\n    type: powerscale:Subnet\n    properties:\n      # Required. IP address format\n      addrFamily: ipv4\n      # Required. Name of the groupnet this subnet belongs to\n      #     // Updating is not allowed\n      #     // when managing resource together with groupnet, recommend:\n      #     // groupnet = powerscale_groupnet.example_groupnet.name\n      groupnet: groupnet0\n      # Required. Subnet Prefix Length\n      prefixlen: 21\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2023-2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/subnet:Subnet subnet <groupnet_id>.<subnet_id>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/subnet:Subnet subnet groupnet0.subnet0\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "addrFamily": {
          "type": "string",
          "description": "IP address format.\n"
        },
        "baseAddr": {
          "type": "string",
          "description": "The base IP address.\n"
        },
        "description": {
          "type": "string",
          "description": "A description of the subnet.\n"
        },
        "dsrAddrs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of Direct Server Return addresses.\n"
        },
        "gateway": {
          "type": "string",
          "description": "Gateway IP address.\n"
        },
        "gatewayPriority": {
          "type": "number",
          "description": "Gateway priority.\n"
        },
        "groupnet": {
          "type": "string",
          "description": "Name of the groupnet this subnet belongs to. Updating is not allowed.\n"
        },
        "mtu": {
          "type": "number",
          "description": "MTU of the subnet.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the subnet.\n"
        },
        "pools": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Name of the pools in the subnet.\n"
        },
        "prefixlen": {
          "type": "number",
          "description": "Subnet Prefix Length.\n"
        },
        "scServiceAddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FSubnetScServiceAddr:SubnetScServiceAddr"
          },
          "description": "List of IP addresses that SmartConnect listens for DNS requests.\n"
        },
        "scServiceName": {
          "type": "string",
          "description": "Domain Name corresponding to the SmartConnect Service Address.\n"
        },
        "vlanEnabled": {
          "type": "boolean",
          "description": "VLAN tagging enabled or disabled.\n"
        },
        "vlanId": {
          "type": "number",
          "description": "VLAN ID for all interfaces in the subnet.\n"
        }
      },
      "type": "object",
      "required": [
        "addrFamily",
        "baseAddr",
        "description",
        "dsrAddrs",
        "gateway",
        "gatewayPriority",
        "groupnet",
        "mtu",
        "name",
        "pools",
        "prefixlen",
        "scServiceAddrs",
        "scServiceName",
        "vlanEnabled",
        "vlanId"
      ],
      "inputProperties": {
        "addrFamily": {
          "type": "string",
          "description": "IP address format.\n"
        },
        "description": {
          "type": "string",
          "description": "A description of the subnet.\n"
        },
        "dsrAddrs": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of Direct Server Return addresses.\n"
        },
        "gateway": {
          "type": "string",
          "description": "Gateway IP address.\n"
        },
        "gatewayPriority": {
          "type": "number",
          "description": "Gateway priority.\n"
        },
        "groupnet": {
          "type": "string",
          "description": "Name of the groupnet this subnet belongs to. Updating is not allowed.\n"
        },
        "mtu": {
          "type": "number",
          "description": "MTU of the subnet.\n"
        },
        "name": {
          "type": "string",
          "description": "The name of the subnet.\n"
        },
        "prefixlen": {
          "type": "number",
          "description": "Subnet Prefix Length.\n"
        },
        "scServiceAddrs": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FSubnetScServiceAddr:SubnetScServiceAddr"
          },
          "description": "List of IP addresses that SmartConnect listens for DNS requests.\n"
        },
        "scServiceName": {
          "type": "string",
          "description": "Domain Name corresponding to the SmartConnect Service Address.\n"
        },
        "vlanEnabled": {
          "type": "boolean",
          "description": "VLAN tagging enabled or disabled.\n"
        },
        "vlanId": {
          "type": "number",
          "description": "VLAN ID for all interfaces in the subnet.\n"
        }
      },
      "requiredInputs": [
        "addrFamily",
        "groupnet",
        "prefixlen"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering Subnet resources.\n",
        "properties": {
          "addrFamily": {
            "type": "string",
            "description": "IP address format.\n"
          },
          "baseAddr": {
            "type": "string",
            "description": "The base IP address.\n"
          },
          "description": {
            "type": "string",
            "description": "A description of the subnet.\n"
          },
          "dsrAddrs": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of Direct Server Return addresses.\n"
          },
          "gateway": {
            "type": "string",
            "description": "Gateway IP address.\n"
          },
          "gatewayPriority": {
            "type": "number",
            "description": "Gateway priority.\n"
          },
          "groupnet": {
            "type": "string",
            "description": "Name of the groupnet this subnet belongs to. Updating is not allowed.\n"
          },
          "mtu": {
            "type": "number",
            "description": "MTU of the subnet.\n"
          },
          "name": {
            "type": "string",
            "description": "The name of the subnet.\n"
          },
          "pools": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Name of the pools in the subnet.\n"
          },
          "prefixlen": {
            "type": "number",
            "description": "Subnet Prefix Length.\n"
          },
          "scServiceAddrs": {
            "type": "array",
            "items": {
              "$ref": "#/types/powerscale:index%2FSubnetScServiceAddr:SubnetScServiceAddr"
            },
            "description": "List of IP addresses that SmartConnect listens for DNS requests.\n"
          },
          "scServiceName": {
            "type": "string",
            "description": "Domain Name corresponding to the SmartConnect Service Address.\n"
          },
          "vlanEnabled": {
            "type": "boolean",
            "description": "VLAN tagging enabled or disabled.\n"
          },
          "vlanId": {
            "type": "number",
            "description": "VLAN ID for all interfaces in the subnet.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/supportAssist:SupportAssist": {
      "description": "This resource is used to manage the Support Assist settings of PowerScale Array. We can Create, Update and Delete the Support Assist settings using this resource. Note that, Support Assist settings is the native functionality of PowerScale.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.SupportAssist;\nimport com.pulumi.powerscale.SupportAssistArgs;\nimport com.pulumi.powerscale.inputs.SupportAssistConnectionsArgs;\nimport com.pulumi.powerscale.inputs.SupportAssistContactArgs;\nimport com.pulumi.powerscale.inputs.SupportAssistContactPrimaryArgs;\nimport com.pulumi.powerscale.inputs.SupportAssistContactSecondaryArgs;\nimport com.pulumi.powerscale.inputs.SupportAssistTelemetryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new SupportAssist(\"test\", SupportAssistArgs.builder()\n            .acceptedTerms(true)\n            .accessKey(\"key\")\n            .automaticCaseCreation(false)\n            .connections(SupportAssistConnectionsArgs.builder()\n                .gateway_endpoints(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n                .mode(\"gateway\")\n                .network_pools(\"subnet0:pool0\")\n                .build())\n            .contact(SupportAssistContactArgs.builder()\n                .primary(SupportAssistContactPrimaryArgs.builder()\n                    .email(\"abc@gmail.com\")\n                    .firstName(\"terraform_first\")\n                    .language(\"En\")\n                    .lastName(\"terraform_last\")\n                    .phone(\"1234567890\")\n                    .build())\n                .secondary(SupportAssistContactSecondaryArgs.builder()\n                    .email(\"xyz@gmail.com\")\n                    .firstName(\"terraform_second\")\n                    .language(\"No\")\n                    .lastName(\"terraform\")\n                    .phone(\"1234567890\")\n                    .build())\n                .build())\n            .enableDownload(true)\n            .enableRemoteSupport(true)\n            .pin(\"pin\")\n            .supportassistEnabled(true)\n            .telemetry(SupportAssistTelemetryArgs.builder()\n                .offline_collection_period(7200)\n                .telemetry_enabled(true)\n                .telemetry_persist(true)\n                .telemetry_threads(6)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: powerscale:SupportAssist\n    properties:\n      acceptedTerms: true\n      accessKey: key\n      automaticCaseCreation: false\n      connections:\n        gateway_endpoints:\n          - enabled: true\n            host: 1.2.3.4\n            port: 9443\n            priority: 1\n            useProxy: true\n            validateSsl: true\n        mode: gateway\n        network_pools:\n          - subnet0:pool0\n      contact:\n        primary:\n          email: abc@gmail.com\n          firstName: terraform_first\n          language: En\n          lastName: terraform_last\n          phone: '1234567890'\n        secondary:\n          email: xyz@gmail.com\n          firstName: terraform_second\n          language: No\n          lastName: terraform\n          phone: '1234567890'\n      enableDownload: true\n      enableRemoteSupport: true\n      pin: pin\n      supportassistEnabled: true\n      telemetry:\n        offline_collection_period: 7200\n        telemetry_enabled: true\n        telemetry_persist: true\n        telemetry_threads: 6\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/supportAssist:SupportAssist example_support_assist <anyString>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/supportAssist:SupportAssist example_support_assist \"support_assist\"\n```\n\nAfter running this command, populate one or more fields in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "acceptedTerms": {
          "type": "boolean",
          "description": "Set T&C accepted or rejected status\n"
        },
        "accessKey": {
          "type": "string",
          "description": "SupportAssist access key\n"
        },
        "automaticCaseCreation": {
          "type": "boolean",
          "description": "True indicates automatic case creation is enabled\n"
        },
        "connections": {
          "$ref": "#/types/powerscale:index%2FSupportAssistConnections:SupportAssistConnections"
        },
        "contact": {
          "$ref": "#/types/powerscale:index%2FSupportAssistContact:SupportAssistContact"
        },
        "enableDownload": {
          "type": "boolean",
          "description": "True indicates downloads are enabled\n"
        },
        "enableRemoteSupport": {
          "type": "boolean",
          "description": "Allow remote support.\n"
        },
        "pin": {
          "type": "string",
          "description": "SupportAssist pin\n"
        },
        "supportassistEnabled": {
          "type": "boolean",
          "description": "Whether SupportAssist is enabled\n"
        },
        "telemetry": {
          "$ref": "#/types/powerscale:index%2FSupportAssistTelemetry:SupportAssistTelemetry"
        }
      },
      "type": "object",
      "required": [
        "acceptedTerms",
        "automaticCaseCreation",
        "connections",
        "contact",
        "enableDownload",
        "enableRemoteSupport",
        "supportassistEnabled",
        "telemetry"
      ],
      "inputProperties": {
        "acceptedTerms": {
          "type": "boolean",
          "description": "Set T&C accepted or rejected status\n"
        },
        "accessKey": {
          "type": "string",
          "description": "SupportAssist access key\n"
        },
        "automaticCaseCreation": {
          "type": "boolean",
          "description": "True indicates automatic case creation is enabled\n"
        },
        "connections": {
          "$ref": "#/types/powerscale:index%2FSupportAssistConnections:SupportAssistConnections"
        },
        "contact": {
          "$ref": "#/types/powerscale:index%2FSupportAssistContact:SupportAssistContact"
        },
        "enableDownload": {
          "type": "boolean",
          "description": "True indicates downloads are enabled\n"
        },
        "enableRemoteSupport": {
          "type": "boolean",
          "description": "Allow remote support.\n"
        },
        "pin": {
          "type": "string",
          "description": "SupportAssist pin\n"
        },
        "supportassistEnabled": {
          "type": "boolean",
          "description": "Whether SupportAssist is enabled\n"
        },
        "telemetry": {
          "$ref": "#/types/powerscale:index%2FSupportAssistTelemetry:SupportAssistTelemetry"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SupportAssist resources.\n",
        "properties": {
          "acceptedTerms": {
            "type": "boolean",
            "description": "Set T&C accepted or rejected status\n"
          },
          "accessKey": {
            "type": "string",
            "description": "SupportAssist access key\n"
          },
          "automaticCaseCreation": {
            "type": "boolean",
            "description": "True indicates automatic case creation is enabled\n"
          },
          "connections": {
            "$ref": "#/types/powerscale:index%2FSupportAssistConnections:SupportAssistConnections"
          },
          "contact": {
            "$ref": "#/types/powerscale:index%2FSupportAssistContact:SupportAssistContact"
          },
          "enableDownload": {
            "type": "boolean",
            "description": "True indicates downloads are enabled\n"
          },
          "enableRemoteSupport": {
            "type": "boolean",
            "description": "Allow remote support.\n"
          },
          "pin": {
            "type": "string",
            "description": "SupportAssist pin\n"
          },
          "supportassistEnabled": {
            "type": "boolean",
            "description": "Whether SupportAssist is enabled\n"
          },
          "telemetry": {
            "$ref": "#/types/powerscale:index%2FSupportAssistTelemetry:SupportAssistTelemetry"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/synciqGlobalSettings:SynciqGlobalSettings": {
      "description": "This resource is used to manage the SyncIQ Global Settings entity of PowerScale Array. We can Update the SyncIQ Global Settings using this resource. We can also import existing SyncIQ Global Settings from PowerScale array.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale SynIQ global settings allows you to manage the global settings on the Powerscale array\nconst example = new powerscale.SynciqGlobalSettings(\"example\", {\n    preferredRpoAlert: 3,\n    renegotiationPeriod: 28800,\n    reportEmails: [\n        \"example1@mail.com\",\n        \"example2@mail.com\",\n    ],\n    reportMaxCount: 2000,\n    restrictTargetNetwork: true,\n    rpoAlerts: true,\n    service: \"paused\",\n    sourceNetwork: {\n        pool: \"pool0\",\n        subnet: \"subnet0\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale SynIQ global settings allows you to manage the global settings on the Powerscale array\nexample = powerscale.SynciqGlobalSettings(\"example\",\n    preferred_rpo_alert=3,\n    renegotiation_period=28800,\n    report_emails=[\n        \"example1@mail.com\",\n        \"example2@mail.com\",\n    ],\n    report_max_count=2000,\n    restrict_target_network=True,\n    rpo_alerts=True,\n    service=\"paused\",\n    source_network={\n        \"pool\": \"pool0\",\n        \"subnet\": \"subnet0\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale SynIQ global settings allows you to manage the global settings on the Powerscale array\n    var example = new Powerscale.SynciqGlobalSettings(\"example\", new()\n    {\n        PreferredRpoAlert = 3,\n        RenegotiationPeriod = 28800,\n        ReportEmails = new[]\n        {\n            \"example1@mail.com\",\n            \"example2@mail.com\",\n        },\n        ReportMaxCount = 2000,\n        RestrictTargetNetwork = true,\n        RpoAlerts = true,\n        Service = \"paused\",\n        SourceNetwork = new Powerscale.Inputs.SynciqGlobalSettingsSourceNetworkArgs\n        {\n            Pool = \"pool0\",\n            Subnet = \"subnet0\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale SynIQ global settings allows you to manage the global settings on the Powerscale array\n\t\t_, err := powerscale.NewSynciqGlobalSettings(ctx, \"example\", &powerscale.SynciqGlobalSettingsArgs{\n\t\t\tPreferredRpoAlert:   pulumi.Float64(3),\n\t\t\tRenegotiationPeriod: pulumi.Float64(28800),\n\t\t\tReportEmails: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"example1@mail.com\"),\n\t\t\t\tpulumi.String(\"example2@mail.com\"),\n\t\t\t},\n\t\t\tReportMaxCount:        pulumi.Float64(2000),\n\t\t\tRestrictTargetNetwork: pulumi.Bool(true),\n\t\t\tRpoAlerts:             pulumi.Bool(true),\n\t\t\tService:               pulumi.String(\"paused\"),\n\t\t\tSourceNetwork: &powerscale.SynciqGlobalSettingsSourceNetworkArgs{\n\t\t\t\tPool:   pulumi.String(\"pool0\"),\n\t\t\t\tSubnet: pulumi.String(\"subnet0\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.SynciqGlobalSettings;\nimport com.pulumi.powerscale.SynciqGlobalSettingsArgs;\nimport com.pulumi.powerscale.inputs.SynciqGlobalSettingsSourceNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale SynIQ global settings allows you to manage the global settings on the Powerscale array\n        var example = new SynciqGlobalSettings(\"example\", SynciqGlobalSettingsArgs.builder()\n            .preferredRpoAlert(3)\n            .renegotiationPeriod(28800)\n            .reportEmails(            \n                \"example1@mail.com\",\n                \"example2@mail.com\")\n            .reportMaxCount(2000)\n            .restrictTargetNetwork(true)\n            .rpoAlerts(true)\n            .service(\"paused\")\n            .sourceNetwork(SynciqGlobalSettingsSourceNetworkArgs.builder()\n                .pool(\"pool0\")\n                .subnet(\"subnet0\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale SynIQ global settings allows you to manage the global settings on the Powerscale array\n  example:\n    type: powerscale:SynciqGlobalSettings\n    properties:\n      preferredRpoAlert: 3\n      renegotiationPeriod: 28800\n      reportEmails:\n        - example1@mail.com\n        - example2@mail.com\n      reportMaxCount: 2000\n      restrictTargetNetwork: true\n      rpoAlerts: true\n      service: paused\n      sourceNetwork:\n        pool: pool0\n        subnet: subnet0\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/synciqGlobalSettings:SynciqGlobalSettings settings <anystring>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/synciqGlobalSettings:SynciqGlobalSettings settings global_setting\n```\n\nafter running this command, populate one or more parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "bandwidthReservationReserveAbsolute": {
          "type": "number",
          "description": "The amount of SyncIQ bandwidth to reserve in kb/s for policies that did not specify a bandwidth reservation. This field takes precedence over bandwidth*reservation*reserve_percentage.\n"
        },
        "bandwidthReservationReservePercentage": {
          "type": "number",
          "description": "The percentage of SyncIQ bandwidth to reserve for policies that did not specify a bandwidth reservation.\n"
        },
        "clusterCertificateId": {
          "type": "string",
          "description": "The ID of this cluster's certificate being used for encryption.\n"
        },
        "encryptionCipherList": {
          "type": "string",
          "description": "The cipher list being used with encryption. For SyncIQ targets, this list serves as a list of supported ciphers. For SyncIQ sources, the list of ciphers will be attempted to be used in order.\n"
        },
        "encryptionRequired": {
          "type": "boolean",
          "description": "If true, requires all SyncIQ policies to utilize encrypted communications.\n"
        },
        "forceInterface": {
          "type": "boolean",
          "description": "NOTE: This field should not be changed without the help of PowerScale support.  Default for the \"force*interface\" property that will be applied to each new sync policy unless otherwise specified at the time of policy creation.  Determines whether data is sent only through the subnet and pool specified in the \"source*network\" field. This option can be useful if there are multiple interfaces for the given source subnet.\n"
        },
        "ocspAddress": {
          "type": "string",
          "description": "The address of the OCSP responder to which to connect.\n"
        },
        "ocspIssuerCertificateId": {
          "type": "string",
          "description": "The ID of the certificate authority that issued the certificate whose revocation status is being checked.\n"
        },
        "preferredRpoAlert": {
          "type": "number",
          "description": "If specified, display as default RPO Alert value for new policy creation via WebUI.\n"
        },
        "renegotiationPeriod": {
          "type": "number",
          "description": "If specified, the duration to persist encrypted connection before forcing a renegotiation.\n"
        },
        "reportEmails": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Email sync reports to these addresses.\n"
        },
        "reportMaxAge": {
          "type": "number",
          "description": "ID of the Cluster Email Settings.\n"
        },
        "reportMaxCount": {
          "type": "number",
          "description": "The default length of time (in seconds) a policy report will be stored.\n"
        },
        "restrictTargetNetwork": {
          "type": "boolean",
          "description": "Default for the \"restrict*target*network\" property that will be applied to each new sync policy unless otherwise specified at the time of policy creation.  If you specify true, and you specify a SmartConnect zone in the \"target_host\" field, replication policies will connect only to nodes in the specified SmartConnect zone.  If you specify false, replication policies are not restricted to specific nodes on the target cluster.\n"
        },
        "rpoAlerts": {
          "type": "boolean",
          "description": "If disabled, no RPO alerts will be generated.\n"
        },
        "service": {
          "type": "string",
          "description": "Specifies if the SyncIQ service currently on, paused, or off.  If paused, all sync jobs will be paused.  If turned off, all jobs will be canceled.\n"
        },
        "serviceHistoryMaxAge": {
          "type": "number",
          "description": "Maximum age of service information to maintain, in seconds.\n"
        },
        "serviceHistoryMaxCount": {
          "type": "number",
          "description": "Maximum number of historical service information records to maintain.\n"
        },
        "sourceNetwork": {
          "$ref": "#/types/powerscale:index%2FSynciqGlobalSettingsSourceNetwork:SynciqGlobalSettingsSourceNetwork",
          "description": "Restricts replication policies on the local cluster to running on the specified subnet and pool.\n"
        },
        "useWorkersPerNode": {
          "type": "boolean",
          "description": "If enabled, SyncIQ will use the deprecated workers*per*node field with worker pools functionality and limit workers accordingly.\n"
        }
      },
      "type": "object",
      "required": [
        "bandwidthReservationReserveAbsolute",
        "bandwidthReservationReservePercentage",
        "clusterCertificateId",
        "encryptionCipherList",
        "encryptionRequired",
        "forceInterface",
        "ocspAddress",
        "ocspIssuerCertificateId",
        "preferredRpoAlert",
        "renegotiationPeriod",
        "reportEmails",
        "reportMaxAge",
        "reportMaxCount",
        "restrictTargetNetwork",
        "rpoAlerts",
        "service",
        "serviceHistoryMaxAge",
        "serviceHistoryMaxCount",
        "sourceNetwork",
        "useWorkersPerNode"
      ],
      "inputProperties": {
        "bandwidthReservationReserveAbsolute": {
          "type": "number",
          "description": "The amount of SyncIQ bandwidth to reserve in kb/s for policies that did not specify a bandwidth reservation. This field takes precedence over bandwidth*reservation*reserve_percentage.\n"
        },
        "bandwidthReservationReservePercentage": {
          "type": "number",
          "description": "The percentage of SyncIQ bandwidth to reserve for policies that did not specify a bandwidth reservation.\n"
        },
        "clusterCertificateId": {
          "type": "string",
          "description": "The ID of this cluster's certificate being used for encryption.\n"
        },
        "encryptionCipherList": {
          "type": "string",
          "description": "The cipher list being used with encryption. For SyncIQ targets, this list serves as a list of supported ciphers. For SyncIQ sources, the list of ciphers will be attempted to be used in order.\n"
        },
        "encryptionRequired": {
          "type": "boolean",
          "description": "If true, requires all SyncIQ policies to utilize encrypted communications.\n"
        },
        "forceInterface": {
          "type": "boolean",
          "description": "NOTE: This field should not be changed without the help of PowerScale support.  Default for the \"force*interface\" property that will be applied to each new sync policy unless otherwise specified at the time of policy creation.  Determines whether data is sent only through the subnet and pool specified in the \"source*network\" field. This option can be useful if there are multiple interfaces for the given source subnet.\n"
        },
        "ocspAddress": {
          "type": "string",
          "description": "The address of the OCSP responder to which to connect.\n"
        },
        "ocspIssuerCertificateId": {
          "type": "string",
          "description": "The ID of the certificate authority that issued the certificate whose revocation status is being checked.\n"
        },
        "preferredRpoAlert": {
          "type": "number",
          "description": "If specified, display as default RPO Alert value for new policy creation via WebUI.\n"
        },
        "renegotiationPeriod": {
          "type": "number",
          "description": "If specified, the duration to persist encrypted connection before forcing a renegotiation.\n"
        },
        "reportEmails": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Email sync reports to these addresses.\n"
        },
        "reportMaxAge": {
          "type": "number",
          "description": "ID of the Cluster Email Settings.\n"
        },
        "reportMaxCount": {
          "type": "number",
          "description": "The default length of time (in seconds) a policy report will be stored.\n"
        },
        "restrictTargetNetwork": {
          "type": "boolean",
          "description": "Default for the \"restrict*target*network\" property that will be applied to each new sync policy unless otherwise specified at the time of policy creation.  If you specify true, and you specify a SmartConnect zone in the \"target_host\" field, replication policies will connect only to nodes in the specified SmartConnect zone.  If you specify false, replication policies are not restricted to specific nodes on the target cluster.\n"
        },
        "rpoAlerts": {
          "type": "boolean",
          "description": "If disabled, no RPO alerts will be generated.\n"
        },
        "service": {
          "type": "string",
          "description": "Specifies if the SyncIQ service currently on, paused, or off.  If paused, all sync jobs will be paused.  If turned off, all jobs will be canceled.\n"
        },
        "serviceHistoryMaxAge": {
          "type": "number",
          "description": "Maximum age of service information to maintain, in seconds.\n"
        },
        "serviceHistoryMaxCount": {
          "type": "number",
          "description": "Maximum number of historical service information records to maintain.\n"
        },
        "sourceNetwork": {
          "$ref": "#/types/powerscale:index%2FSynciqGlobalSettingsSourceNetwork:SynciqGlobalSettingsSourceNetwork",
          "description": "Restricts replication policies on the local cluster to running on the specified subnet and pool.\n"
        },
        "useWorkersPerNode": {
          "type": "boolean",
          "description": "If enabled, SyncIQ will use the deprecated workers*per*node field with worker pools functionality and limit workers accordingly.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SynciqGlobalSettings resources.\n",
        "properties": {
          "bandwidthReservationReserveAbsolute": {
            "type": "number",
            "description": "The amount of SyncIQ bandwidth to reserve in kb/s for policies that did not specify a bandwidth reservation. This field takes precedence over bandwidth*reservation*reserve_percentage.\n"
          },
          "bandwidthReservationReservePercentage": {
            "type": "number",
            "description": "The percentage of SyncIQ bandwidth to reserve for policies that did not specify a bandwidth reservation.\n"
          },
          "clusterCertificateId": {
            "type": "string",
            "description": "The ID of this cluster's certificate being used for encryption.\n"
          },
          "encryptionCipherList": {
            "type": "string",
            "description": "The cipher list being used with encryption. For SyncIQ targets, this list serves as a list of supported ciphers. For SyncIQ sources, the list of ciphers will be attempted to be used in order.\n"
          },
          "encryptionRequired": {
            "type": "boolean",
            "description": "If true, requires all SyncIQ policies to utilize encrypted communications.\n"
          },
          "forceInterface": {
            "type": "boolean",
            "description": "NOTE: This field should not be changed without the help of PowerScale support.  Default for the \"force*interface\" property that will be applied to each new sync policy unless otherwise specified at the time of policy creation.  Determines whether data is sent only through the subnet and pool specified in the \"source*network\" field. This option can be useful if there are multiple interfaces for the given source subnet.\n"
          },
          "ocspAddress": {
            "type": "string",
            "description": "The address of the OCSP responder to which to connect.\n"
          },
          "ocspIssuerCertificateId": {
            "type": "string",
            "description": "The ID of the certificate authority that issued the certificate whose revocation status is being checked.\n"
          },
          "preferredRpoAlert": {
            "type": "number",
            "description": "If specified, display as default RPO Alert value for new policy creation via WebUI.\n"
          },
          "renegotiationPeriod": {
            "type": "number",
            "description": "If specified, the duration to persist encrypted connection before forcing a renegotiation.\n"
          },
          "reportEmails": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Email sync reports to these addresses.\n"
          },
          "reportMaxAge": {
            "type": "number",
            "description": "ID of the Cluster Email Settings.\n"
          },
          "reportMaxCount": {
            "type": "number",
            "description": "The default length of time (in seconds) a policy report will be stored.\n"
          },
          "restrictTargetNetwork": {
            "type": "boolean",
            "description": "Default for the \"restrict*target*network\" property that will be applied to each new sync policy unless otherwise specified at the time of policy creation.  If you specify true, and you specify a SmartConnect zone in the \"target_host\" field, replication policies will connect only to nodes in the specified SmartConnect zone.  If you specify false, replication policies are not restricted to specific nodes on the target cluster.\n"
          },
          "rpoAlerts": {
            "type": "boolean",
            "description": "If disabled, no RPO alerts will be generated.\n"
          },
          "service": {
            "type": "string",
            "description": "Specifies if the SyncIQ service currently on, paused, or off.  If paused, all sync jobs will be paused.  If turned off, all jobs will be canceled.\n"
          },
          "serviceHistoryMaxAge": {
            "type": "number",
            "description": "Maximum age of service information to maintain, in seconds.\n"
          },
          "serviceHistoryMaxCount": {
            "type": "number",
            "description": "Maximum number of historical service information records to maintain.\n"
          },
          "sourceNetwork": {
            "$ref": "#/types/powerscale:index%2FSynciqGlobalSettingsSourceNetwork:SynciqGlobalSettingsSourceNetwork",
            "description": "Restricts replication policies on the local cluster to running on the specified subnet and pool.\n"
          },
          "useWorkersPerNode": {
            "type": "boolean",
            "description": "If enabled, SyncIQ will use the deprecated workers*per*node field with worker pools functionality and limit workers accordingly.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/synciqPeerCertificate:SynciqPeerCertificate": {
      "description": "This resource is used to manage the SyncIQ Peer Certificate entity of PowerScale Array. We can Create, Read, Update and Delete the SyncIQ Peer Certificate using this resource. We can also import existing SyncIQ Peer Certificate from PowerScale array.\n\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nA Peer Certificate can be imported by its name\n\nThe command to import is\n\n```sh\n$ pulumi import powerscale:index/synciqPeerCertificate:SynciqPeerCertificate certificate <certificate name>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/synciqPeerCertificate:SynciqPeerCertificate certificate2 \"peer_certificate_01\"\n```\n\nafter running any of these commands, populate the path field with the value \"/dummy\" to start managing this resource. Add other fields as required.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "description": {
          "type": "string",
          "description": "Description field associated with a certificate provided for administrative convenience.\n"
        },
        "name": {
          "type": "string",
          "description": "Administrator specified name identifier.\n"
        },
        "path": {
          "type": "string",
          "description": "Local path (on the PowerScale filesystem) to the certificate that is to be imported. This resource will be recreated if the value of this field is changed.\n"
        }
      },
      "type": "object",
      "required": [
        "description",
        "name",
        "path"
      ],
      "inputProperties": {
        "description": {
          "type": "string",
          "description": "Description field associated with a certificate provided for administrative convenience.\n"
        },
        "name": {
          "type": "string",
          "description": "Administrator specified name identifier.\n"
        },
        "path": {
          "type": "string",
          "description": "Local path (on the PowerScale filesystem) to the certificate that is to be imported. This resource will be recreated if the value of this field is changed.\n"
        }
      },
      "requiredInputs": [
        "path"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SynciqPeerCertificate resources.\n",
        "properties": {
          "description": {
            "type": "string",
            "description": "Description field associated with a certificate provided for administrative convenience.\n"
          },
          "name": {
            "type": "string",
            "description": "Administrator specified name identifier.\n"
          },
          "path": {
            "type": "string",
            "description": "Local path (on the PowerScale filesystem) to the certificate that is to be imported. This resource will be recreated if the value of this field is changed.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/synciqPolicy:SynciqPolicy": {
      "description": "This resource is used to manage the SyncIQ Replication Policy entity of PowerScale Array. We can Create, Read, Update and Delete the SyncIQ Replication Policy using this resource. We can also import existing SyncIQ Replication Policy from PowerScale array.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.SynciqPeerCertificate;\nimport com.pulumi.powerscale.SynciqPeerCertificateArgs;\nimport com.pulumi.powerscale.SynciqPolicy;\nimport com.pulumi.powerscale.SynciqPolicyArgs;\nimport com.pulumi.powerscale.inputs.SynciqPolicyFileMatchingPatternArgs;\nimport com.pulumi.powerscale.inputs.SynciqPolicySourceNetworkArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        //Copyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n        //\n        //Licensed under the Mozilla Public License Version 2.0 (the \"License\");\n        //you may not use this file except in compliance with the License.\n        //You may obtain a copy of the License at\n        //\n        //    http://mozilla.org/MPL/2.0/\n        //\n        //\n        //Unless required by applicable law or agreed to in writing, software\n        //distributed under the License is distributed on an \"AS IS\" BASIS,\n        //WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n        //See the License for the specific language governing permissions and\n        //limitations under the License.\n        // Available actions: Create, Update, Delete and Import.\n        // For more information, Please check the terraform state file.\n        var cert10101010 = new SynciqPeerCertificate(\"cert10101010\", SynciqPeerCertificateArgs.builder()\n            .path(\"/ifs/peerCert_10_10_10_10.pem\")\n            .description(\"Certificate for the replication peer cluster 10.10.10.10\")\n            .build());\n\n        // PowerScale Sync IQ Policies can be used to replicate files or directories from one cluster to another. \n        var policy = new SynciqPolicy(\"policy\", SynciqPolicyArgs.builder()\n            .action(\"sync\")\n            .sourceRootPath(\"/ifs\")\n            .targetHost(\"10.10.10.10\")\n            .targetPath(\"/ifs/policy1Sink\")\n            .description(\"Policy 1 description\")\n            .enabled(true)\n            .fileMatchingPattern(SynciqPolicyFileMatchingPatternArgs.builder()\n                .or_criteria(                \n                    %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference),\n                    %!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n                .build())\n            .sourceNetwork(SynciqPolicySourceNetworkArgs.builder()\n                .pool(\"pool0\")\n                .subnet(\"subnet0\")\n                .build())\n            .acceleratedFailback(false)\n            .bandwidthReservation(100)\n            .changelist(false)\n            .checkIntegrity(true)\n            .cloudDeepCopy(\"allow\")\n            .deleteQuotas(true)\n            .disableQuotaTmpDir(true)\n            .enableHashTmpdir(true)\n            .encryptionCipherList(\"aes128-ctr,aes192-ctr,aes256-ctr\")\n            .ignoreRecursiveQuota(true)\n            .logLevel(\"fatal\")\n            .priority(1)\n            .reportMaxAge(3600)\n            .reportMaxCount(100)\n            .rpoAlert(10)\n            .schedule(\"Every Monday at 2AM\")\n            .skipWhenSourceUnmodified(true)\n            .snapshotSyncExisting(true)\n            .snapshotSyncPattern(\"*\")\n            .sourceExcludeDirectories(\"/ifs/SourceExcludeDir\")\n            .sourceIncludeDirectories(\"/ifs/SourceIncludeDir\")\n            .sourceSnapshotArchive(true)\n            .sourceSnapshotExpiration(8 * 60 * 60 * 24)\n            .sourceSnapshotPattern(\".*\")\n            .syncExistingSnapshotExpiration(true)\n            .syncExistingTargetSnapshotPattern(\"%{SnapName}-%{SnapCreateTime}\")\n            .targetCertificateId(cert10101010.id())\n            .targetCompareInitialSync(true)\n            .targetDetectModifications(true)\n            .targetSnapshotAlias(\"SIQ-%{SrcCluster}-%{PolicyName}-latest\")\n            .targetSnapshotArchive(true)\n            .targetSnapshotExpiration(80 * 60 * 60 * 24)\n            .targetSnapshotPattern(\"SIQ-%{SrcCluster}-%{PolicyName}-%Y-%m-%d_%H-%M-%S\")\n            .build());\n\n        // After the execution of above resource block, a Sync IQ Policy would have been cached in terraform state file\n        // and a Sync IQ Policies would have been created/updated on PowerScale.\n        // For more information, Please check the terraform state file.\n        // sheduling a policy when source is modified\n        var policyWhenSourceModified = new SynciqPolicy(\"policyWhenSourceModified\", SynciqPolicyArgs.builder()\n            .enabled(true)\n            .action(\"sync\")\n            .sourceRootPath(\"/ifs/Source\")\n            .targetHost(\"10.10.10.9\")\n            .password(\"W0ulntUWannaKn0w\")\n            .targetPath(\"/ifs/Sink2\")\n            .schedule(\"when-source-modified\")\n            .jobDelay(20 * 60 * 60)\n            .ocspAddress(\"10.20.10.9\")\n            .ocspIssuerCertificateId(\"16af57a9f676b0ab126095aa5ebadef22ab31119d644ac95cd4b93dbf3f26aeb\")\n            .build());\n\n    }\n}\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/synciqPolicy:SynciqPolicy policy <policy name>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/synciqPolicy:SynciqPolicy policy \"policy1\"\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "acceleratedFailback": {
          "type": "boolean",
          "description": "If set to true, SyncIQ will perform failback configuration tasks during the next job run, rather than waiting to perform those tasks during the failback process. Performing these tasks ahead of time will increase the speed of failback operations.\n"
        },
        "action": {
          "type": "string",
          "description": "If 'copy', source files will be copied to the target cluster.  If 'sync', the target directory will be made an image of the source directory:  Files and directories that have been deleted on the source, have been moved within the target directory, or no longer match the selection criteria will be deleted from the target directory.\n"
        },
        "allowCopyFb": {
          "type": "boolean",
          "description": "If set to true, SyncIQ will allow a policy with copy action failback which is not supported by default.\n"
        },
        "bandwidthReservation": {
          "type": "number",
          "description": "The desired bandwidth reservation for this policy in kb/s. This feature will not activate unless a SyncIQ bandwidth rule is in effect.\n"
        },
        "changelist": {
          "type": "boolean",
          "description": "If true, retain previous source snapshot and incremental repstate, both of which are required for changelist creation.\n"
        },
        "checkIntegrity": {
          "type": "boolean",
          "description": "If true, the sync target performs cyclic redundancy checks (CRC) on the data as it is received.\n"
        },
        "cloudDeepCopy": {
          "type": "string",
          "description": "If set to deny, replicates all CloudPools smartlinks to the target cluster as smartlinks; if the target cluster does not support the smartlinks, the job will fail. If set to force, replicates all smartlinks to the target cluster as regular files. If set to allow, SyncIQ will attempt to replicate smartlinks to the target cluster as smartlinks; if the target cluster does not support the smartlinks, SyncIQ will replicate the smartlinks as regular files.\n"
        },
        "conflicted": {
          "type": "boolean",
          "description": "NOTE: This field should not be changed without the help of PowerScale support.  If true, the most recent run of this policy encountered an error and this policy will not start any more scheduled jobs until this field is manually set back to 'false'.\n"
        },
        "deleteQuotas": {
          "type": "boolean",
          "description": "If true, forcibly remove quotas on the target after they have been removed on the source.\n"
        },
        "description": {
          "type": "string",
          "description": "User-assigned description of this sync policy.\n"
        },
        "disableFileSplit": {
          "type": "boolean",
          "description": "NOTE: This field should not be changed without the help of PowerScale support.  If true, the 7.2+ file splitting capability will be disabled.\n"
        },
        "disableFofb": {
          "type": "boolean",
          "description": "NOTE: This field should not be changed without the help of PowerScale support.  Enable/disable sync failover/failback.\n"
        },
        "disableQuotaTmpDir": {
          "type": "boolean",
          "description": "If set to true, SyncIQ will not create temporary quota directories to aid in replication to target paths which contain quotas.\n"
        },
        "disableStf": {
          "type": "boolean",
          "description": "NOTE: This field should not be changed without the help of PowerScale support.  Enable/disable the 6.5+ STF based data transfer and uses only treewalk.\n"
        },
        "enableHashTmpdir": {
          "type": "boolean",
          "description": "If true, syncs will use temporary working directory subdirectories to reduce lock contention.\n"
        },
        "enabled": {
          "type": "boolean",
          "description": "If true, jobs will be automatically run based on this policy, according to its schedule.\n"
        },
        "encryptionCipherList": {
          "type": "string",
          "description": "The cipher list (comma separated) being used with encryption. For SyncIQ targets, this list serves as a list of supported ciphers. For SyncIQ sources, the list of ciphers will be attempted to be used in order.\n"
        },
        "expectedDataloss": {
          "type": "boolean",
          "description": "NOTE: This field should not be changed without the help of PowerScale support.  Continue sending files even with the corrupted filesystem.\n"
        },
        "fileMatchingPattern": {
          "$ref": "#/types/powerscale:index%2FSynciqPolicyFileMatchingPattern:SynciqPolicyFileMatchingPattern",
          "description": "A file matching pattern, organized as an OR'ed set of AND'ed file criteria, for example ((a AND b) OR (x AND y)) used to define a set of files with specific properties.  Policies of type 'sync' cannot use 'path' or time criteria in their matching patterns, but policies of type 'copy' can use all listed criteria.\n"
        },
        "forceInterface": {
          "type": "boolean",
          "description": "NOTE: This field should not be changed without the help of PowerScale support.  Determines whether data is sent only through the subnet and pool specified in the \"source*network\" field. This option can be useful if there are multiple interfaces for the given source subnet.  If you enable this option, the net.inet.ip.choose*ifa*by*ipsrc sysctl should be set.\n"
        },
        "ignoreRecursiveQuota": {
          "type": "boolean",
          "description": "If set to true, SyncIQ will not check the recursive quota in target paths to aid in replication to target paths which contain no quota but target cluster has lots of quotas.\n"
        },
        "jobDelay": {
          "type": "number",
          "description": "If `schedule` is set to `when-source-modified`, the duration to wait after a modification is made before starting a job (default is 0 seconds).\n"
        },
        "logLevel": {
          "type": "string",
          "description": "Severity an event must reach before it is logged. Accepted values are `fatal`, `error`, `notice`, `info`, `copy`, `debug`, `trace`.\n"
        },
        "logRemovedFiles": {
          "type": "boolean",
          "description": "If true, the system will log any files or directories that are deleted due to a sync.\n"
        },
        "name": {
          "type": "string",
          "description": "User-assigned name of this sync policy.\n"
        },
        "ocspAddress": {
          "type": "string",
          "description": "The address of the OCSP responder to which to connect. Set to empty string to disable OCSP.\n"
        },
        "ocspIssuerCertificateId": {
          "type": "string",
          "description": "The ID of the certificate authority that issued the certificate whose revocation status is being checked. Set to empty string to disable certificate verification.\n"
        },
        "password": {
          "type": "string",
          "description": "The password for the target cluster. This field is not readable.\n"
        },
        "priority": {
          "type": "number",
          "description": "Determines the priority level of a policy. Policies with higher priority will have precedence to run over lower priority policies. Valid range is [0, 1]. Default is 0.\n"
        },
        "reportMaxAge": {
          "type": "number",
          "description": "Length of time (in seconds) a policy report will be stored.\n"
        },
        "reportMaxCount": {
          "type": "number",
          "description": "Maximum number of policy reports that will be stored on the system.\n"
        },
        "restrictTargetNetwork": {
          "type": "boolean",
          "description": "If you specify true, and you specify a SmartConnect zone in the \"target_host\" field, replication policies will connect only to nodes in the specified SmartConnect zone.  If you specify false, replication policies are not restricted to specific nodes on the target cluster.\n"
        },
        "rpoAlert": {
          "type": "number",
          "description": "If `schedule` is set to a time/date, an alert is created if the specified RPO for this policy is exceeded. The default value is 0, which will not generate RPO alerts.\n"
        },
        "schedule": {
          "type": "string",
          "description": "The schedule on which new jobs will be run for this policy.\n"
        },
        "skipLookup": {
          "type": "boolean",
          "description": "Skip DNS lookup of target IPs.\n"
        },
        "skipWhenSourceUnmodified": {
          "type": "boolean",
          "description": "If true and `schedule` is set to a time/date, the policy will not run if no changes have been made to the contents of the source directory since the last job successfully completed.\n"
        },
        "snapshotSyncExisting": {
          "type": "boolean",
          "description": "If true, snapshot-triggered syncs will include snapshots taken before policy creation time (requires --schedule when-snapshot-taken).\n"
        },
        "snapshotSyncPattern": {
          "type": "string",
          "description": "The naming pattern that a snapshot must match to trigger a sync when the schedule is when-snapshot-taken (default is \"*\").\n"
        },
        "sourceExcludeDirectories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Directories that will be excluded from the sync.  Modifying this field will result in a full synchronization of all data.\n"
        },
        "sourceIncludeDirectories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Directories that will be included in the sync.  Modifying this field will result in a full synchronization of all data.\n"
        },
        "sourceNetwork": {
          "$ref": "#/types/powerscale:index%2FSynciqPolicySourceNetwork:SynciqPolicySourceNetwork",
          "description": "Restricts replication policies on the local cluster to running on the specified subnet and pool.\n"
        },
        "sourceRootPath": {
          "type": "string",
          "description": "The root directory on the source cluster the files will be synced from.  Modifying this field will result in a full synchronization of all data.\n"
        },
        "sourceSnapshotArchive": {
          "type": "boolean",
          "description": "If true, archival snapshots of the source data will be taken on the source cluster before a sync.\n"
        },
        "sourceSnapshotExpiration": {
          "type": "number",
          "description": "The length of time in seconds to keep snapshots on the source cluster.\n"
        },
        "sourceSnapshotPattern": {
          "type": "string",
          "description": "The name pattern for snapshots taken on the source cluster before a sync.\n"
        },
        "syncExistingSnapshotExpiration": {
          "type": "boolean",
          "description": "If set to true, the expire duration for target archival snapshot is the remaining expire duration of source snapshot, requires --sync-existing-snapshot=true\n"
        },
        "syncExistingTargetSnapshotPattern": {
          "type": "string",
          "description": "The naming pattern for snapshot on the destination cluster when --sync-existing-snapshot is true\n"
        },
        "targetCertificateId": {
          "type": "string",
          "description": "The ID of the target cluster certificate being used for encryption. Set to empty string to disable target certificate verification.\n"
        },
        "targetCompareInitialSync": {
          "type": "boolean",
          "description": "If true, the target creates diffs against the original sync.\n"
        },
        "targetDetectModifications": {
          "type": "boolean",
          "description": "If true, target cluster will detect if files have been changed on the target by legacy tree walk syncs.\n"
        },
        "targetHost": {
          "type": "string",
          "description": "Hostname or IP address of sync target cluster.  Modifying the target cluster host can result in the policy being unrunnable if the new target does not match the current target association.\n"
        },
        "targetPath": {
          "type": "string",
          "description": "Absolute filesystem path on the target cluster for the sync destination.\n"
        },
        "targetSnapshotAlias": {
          "type": "string",
          "description": "The alias of the snapshot taken on the target cluster after the sync completes. Do not use the value `DEFAULT`.\n"
        },
        "targetSnapshotArchive": {
          "type": "boolean",
          "description": "If true, archival snapshots of the target data will be taken on the target cluster after successful sync completions.\n"
        },
        "targetSnapshotExpiration": {
          "type": "number",
          "description": "The length of time in seconds to keep snapshots on the target cluster.\n"
        },
        "targetSnapshotPattern": {
          "type": "string",
          "description": "The name pattern for snapshots taken on the target cluster after the sync completes. Do not use the value `@DEFAULT`.\n"
        },
        "workersPerNode": {
          "type": "number",
          "description": "The number of worker threads on a node performing a sync.\n"
        }
      },
      "type": "object",
      "required": [
        "acceleratedFailback",
        "action",
        "allowCopyFb",
        "bandwidthReservation",
        "changelist",
        "checkIntegrity",
        "cloudDeepCopy",
        "conflicted",
        "deleteQuotas",
        "description",
        "disableFileSplit",
        "disableFofb",
        "disableQuotaTmpDir",
        "disableStf",
        "enableHashTmpdir",
        "enabled",
        "encryptionCipherList",
        "expectedDataloss",
        "forceInterface",
        "ignoreRecursiveQuota",
        "jobDelay",
        "logLevel",
        "logRemovedFiles",
        "name",
        "ocspAddress",
        "ocspIssuerCertificateId",
        "priority",
        "reportMaxAge",
        "reportMaxCount",
        "restrictTargetNetwork",
        "rpoAlert",
        "schedule",
        "skipLookup",
        "skipWhenSourceUnmodified",
        "snapshotSyncExisting",
        "snapshotSyncPattern",
        "sourceExcludeDirectories",
        "sourceIncludeDirectories",
        "sourceNetwork",
        "sourceRootPath",
        "sourceSnapshotArchive",
        "sourceSnapshotExpiration",
        "sourceSnapshotPattern",
        "syncExistingSnapshotExpiration",
        "syncExistingTargetSnapshotPattern",
        "targetCertificateId",
        "targetCompareInitialSync",
        "targetDetectModifications",
        "targetHost",
        "targetPath",
        "targetSnapshotAlias",
        "targetSnapshotArchive",
        "targetSnapshotExpiration",
        "targetSnapshotPattern",
        "workersPerNode"
      ],
      "inputProperties": {
        "acceleratedFailback": {
          "type": "boolean",
          "description": "If set to true, SyncIQ will perform failback configuration tasks during the next job run, rather than waiting to perform those tasks during the failback process. Performing these tasks ahead of time will increase the speed of failback operations.\n"
        },
        "action": {
          "type": "string",
          "description": "If 'copy', source files will be copied to the target cluster.  If 'sync', the target directory will be made an image of the source directory:  Files and directories that have been deleted on the source, have been moved within the target directory, or no longer match the selection criteria will be deleted from the target directory.\n"
        },
        "allowCopyFb": {
          "type": "boolean",
          "description": "If set to true, SyncIQ will allow a policy with copy action failback which is not supported by default.\n"
        },
        "bandwidthReservation": {
          "type": "number",
          "description": "The desired bandwidth reservation for this policy in kb/s. This feature will not activate unless a SyncIQ bandwidth rule is in effect.\n"
        },
        "changelist": {
          "type": "boolean",
          "description": "If true, retain previous source snapshot and incremental repstate, both of which are required for changelist creation.\n"
        },
        "checkIntegrity": {
          "type": "boolean",
          "description": "If true, the sync target performs cyclic redundancy checks (CRC) on the data as it is received.\n"
        },
        "cloudDeepCopy": {
          "type": "string",
          "description": "If set to deny, replicates all CloudPools smartlinks to the target cluster as smartlinks; if the target cluster does not support the smartlinks, the job will fail. If set to force, replicates all smartlinks to the target cluster as regular files. If set to allow, SyncIQ will attempt to replicate smartlinks to the target cluster as smartlinks; if the target cluster does not support the smartlinks, SyncIQ will replicate the smartlinks as regular files.\n"
        },
        "conflicted": {
          "type": "boolean",
          "description": "NOTE: This field should not be changed without the help of PowerScale support.  If true, the most recent run of this policy encountered an error and this policy will not start any more scheduled jobs until this field is manually set back to 'false'.\n"
        },
        "deleteQuotas": {
          "type": "boolean",
          "description": "If true, forcibly remove quotas on the target after they have been removed on the source.\n"
        },
        "description": {
          "type": "string",
          "description": "User-assigned description of this sync policy.\n"
        },
        "disableFileSplit": {
          "type": "boolean",
          "description": "NOTE: This field should not be changed without the help of PowerScale support.  If true, the 7.2+ file splitting capability will be disabled.\n"
        },
        "disableFofb": {
          "type": "boolean",
          "description": "NOTE: This field should not be changed without the help of PowerScale support.  Enable/disable sync failover/failback.\n"
        },
        "disableQuotaTmpDir": {
          "type": "boolean",
          "description": "If set to true, SyncIQ will not create temporary quota directories to aid in replication to target paths which contain quotas.\n"
        },
        "disableStf": {
          "type": "boolean",
          "description": "NOTE: This field should not be changed without the help of PowerScale support.  Enable/disable the 6.5+ STF based data transfer and uses only treewalk.\n"
        },
        "enableHashTmpdir": {
          "type": "boolean",
          "description": "If true, syncs will use temporary working directory subdirectories to reduce lock contention.\n"
        },
        "enabled": {
          "type": "boolean",
          "description": "If true, jobs will be automatically run based on this policy, according to its schedule.\n"
        },
        "encryptionCipherList": {
          "type": "string",
          "description": "The cipher list (comma separated) being used with encryption. For SyncIQ targets, this list serves as a list of supported ciphers. For SyncIQ sources, the list of ciphers will be attempted to be used in order.\n"
        },
        "expectedDataloss": {
          "type": "boolean",
          "description": "NOTE: This field should not be changed without the help of PowerScale support.  Continue sending files even with the corrupted filesystem.\n"
        },
        "fileMatchingPattern": {
          "$ref": "#/types/powerscale:index%2FSynciqPolicyFileMatchingPattern:SynciqPolicyFileMatchingPattern",
          "description": "A file matching pattern, organized as an OR'ed set of AND'ed file criteria, for example ((a AND b) OR (x AND y)) used to define a set of files with specific properties.  Policies of type 'sync' cannot use 'path' or time criteria in their matching patterns, but policies of type 'copy' can use all listed criteria.\n"
        },
        "forceInterface": {
          "type": "boolean",
          "description": "NOTE: This field should not be changed without the help of PowerScale support.  Determines whether data is sent only through the subnet and pool specified in the \"source*network\" field. This option can be useful if there are multiple interfaces for the given source subnet.  If you enable this option, the net.inet.ip.choose*ifa*by*ipsrc sysctl should be set.\n"
        },
        "ignoreRecursiveQuota": {
          "type": "boolean",
          "description": "If set to true, SyncIQ will not check the recursive quota in target paths to aid in replication to target paths which contain no quota but target cluster has lots of quotas.\n"
        },
        "jobDelay": {
          "type": "number",
          "description": "If `schedule` is set to `when-source-modified`, the duration to wait after a modification is made before starting a job (default is 0 seconds).\n"
        },
        "logLevel": {
          "type": "string",
          "description": "Severity an event must reach before it is logged. Accepted values are `fatal`, `error`, `notice`, `info`, `copy`, `debug`, `trace`.\n"
        },
        "logRemovedFiles": {
          "type": "boolean",
          "description": "If true, the system will log any files or directories that are deleted due to a sync.\n"
        },
        "name": {
          "type": "string",
          "description": "User-assigned name of this sync policy.\n"
        },
        "ocspAddress": {
          "type": "string",
          "description": "The address of the OCSP responder to which to connect. Set to empty string to disable OCSP.\n"
        },
        "ocspIssuerCertificateId": {
          "type": "string",
          "description": "The ID of the certificate authority that issued the certificate whose revocation status is being checked. Set to empty string to disable certificate verification.\n"
        },
        "password": {
          "type": "string",
          "description": "The password for the target cluster. This field is not readable.\n"
        },
        "priority": {
          "type": "number",
          "description": "Determines the priority level of a policy. Policies with higher priority will have precedence to run over lower priority policies. Valid range is [0, 1]. Default is 0.\n"
        },
        "reportMaxAge": {
          "type": "number",
          "description": "Length of time (in seconds) a policy report will be stored.\n"
        },
        "reportMaxCount": {
          "type": "number",
          "description": "Maximum number of policy reports that will be stored on the system.\n"
        },
        "restrictTargetNetwork": {
          "type": "boolean",
          "description": "If you specify true, and you specify a SmartConnect zone in the \"target_host\" field, replication policies will connect only to nodes in the specified SmartConnect zone.  If you specify false, replication policies are not restricted to specific nodes on the target cluster.\n"
        },
        "rpoAlert": {
          "type": "number",
          "description": "If `schedule` is set to a time/date, an alert is created if the specified RPO for this policy is exceeded. The default value is 0, which will not generate RPO alerts.\n"
        },
        "schedule": {
          "type": "string",
          "description": "The schedule on which new jobs will be run for this policy.\n"
        },
        "skipLookup": {
          "type": "boolean",
          "description": "Skip DNS lookup of target IPs.\n"
        },
        "skipWhenSourceUnmodified": {
          "type": "boolean",
          "description": "If true and `schedule` is set to a time/date, the policy will not run if no changes have been made to the contents of the source directory since the last job successfully completed.\n"
        },
        "snapshotSyncExisting": {
          "type": "boolean",
          "description": "If true, snapshot-triggered syncs will include snapshots taken before policy creation time (requires --schedule when-snapshot-taken).\n"
        },
        "snapshotSyncPattern": {
          "type": "string",
          "description": "The naming pattern that a snapshot must match to trigger a sync when the schedule is when-snapshot-taken (default is \"*\").\n"
        },
        "sourceExcludeDirectories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Directories that will be excluded from the sync.  Modifying this field will result in a full synchronization of all data.\n"
        },
        "sourceIncludeDirectories": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Directories that will be included in the sync.  Modifying this field will result in a full synchronization of all data.\n"
        },
        "sourceNetwork": {
          "$ref": "#/types/powerscale:index%2FSynciqPolicySourceNetwork:SynciqPolicySourceNetwork",
          "description": "Restricts replication policies on the local cluster to running on the specified subnet and pool.\n"
        },
        "sourceRootPath": {
          "type": "string",
          "description": "The root directory on the source cluster the files will be synced from.  Modifying this field will result in a full synchronization of all data.\n"
        },
        "sourceSnapshotArchive": {
          "type": "boolean",
          "description": "If true, archival snapshots of the source data will be taken on the source cluster before a sync.\n"
        },
        "sourceSnapshotExpiration": {
          "type": "number",
          "description": "The length of time in seconds to keep snapshots on the source cluster.\n"
        },
        "sourceSnapshotPattern": {
          "type": "string",
          "description": "The name pattern for snapshots taken on the source cluster before a sync.\n"
        },
        "syncExistingSnapshotExpiration": {
          "type": "boolean",
          "description": "If set to true, the expire duration for target archival snapshot is the remaining expire duration of source snapshot, requires --sync-existing-snapshot=true\n"
        },
        "syncExistingTargetSnapshotPattern": {
          "type": "string",
          "description": "The naming pattern for snapshot on the destination cluster when --sync-existing-snapshot is true\n"
        },
        "targetCertificateId": {
          "type": "string",
          "description": "The ID of the target cluster certificate being used for encryption. Set to empty string to disable target certificate verification.\n"
        },
        "targetCompareInitialSync": {
          "type": "boolean",
          "description": "If true, the target creates diffs against the original sync.\n"
        },
        "targetDetectModifications": {
          "type": "boolean",
          "description": "If true, target cluster will detect if files have been changed on the target by legacy tree walk syncs.\n"
        },
        "targetHost": {
          "type": "string",
          "description": "Hostname or IP address of sync target cluster.  Modifying the target cluster host can result in the policy being unrunnable if the new target does not match the current target association.\n"
        },
        "targetPath": {
          "type": "string",
          "description": "Absolute filesystem path on the target cluster for the sync destination.\n"
        },
        "targetSnapshotAlias": {
          "type": "string",
          "description": "The alias of the snapshot taken on the target cluster after the sync completes. Do not use the value `DEFAULT`.\n"
        },
        "targetSnapshotArchive": {
          "type": "boolean",
          "description": "If true, archival snapshots of the target data will be taken on the target cluster after successful sync completions.\n"
        },
        "targetSnapshotExpiration": {
          "type": "number",
          "description": "The length of time in seconds to keep snapshots on the target cluster.\n"
        },
        "targetSnapshotPattern": {
          "type": "string",
          "description": "The name pattern for snapshots taken on the target cluster after the sync completes. Do not use the value `@DEFAULT`.\n"
        },
        "workersPerNode": {
          "type": "number",
          "description": "The number of worker threads on a node performing a sync.\n"
        }
      },
      "requiredInputs": [
        "action",
        "sourceRootPath",
        "targetHost",
        "targetPath"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SynciqPolicy resources.\n",
        "properties": {
          "acceleratedFailback": {
            "type": "boolean",
            "description": "If set to true, SyncIQ will perform failback configuration tasks during the next job run, rather than waiting to perform those tasks during the failback process. Performing these tasks ahead of time will increase the speed of failback operations.\n"
          },
          "action": {
            "type": "string",
            "description": "If 'copy', source files will be copied to the target cluster.  If 'sync', the target directory will be made an image of the source directory:  Files and directories that have been deleted on the source, have been moved within the target directory, or no longer match the selection criteria will be deleted from the target directory.\n"
          },
          "allowCopyFb": {
            "type": "boolean",
            "description": "If set to true, SyncIQ will allow a policy with copy action failback which is not supported by default.\n"
          },
          "bandwidthReservation": {
            "type": "number",
            "description": "The desired bandwidth reservation for this policy in kb/s. This feature will not activate unless a SyncIQ bandwidth rule is in effect.\n"
          },
          "changelist": {
            "type": "boolean",
            "description": "If true, retain previous source snapshot and incremental repstate, both of which are required for changelist creation.\n"
          },
          "checkIntegrity": {
            "type": "boolean",
            "description": "If true, the sync target performs cyclic redundancy checks (CRC) on the data as it is received.\n"
          },
          "cloudDeepCopy": {
            "type": "string",
            "description": "If set to deny, replicates all CloudPools smartlinks to the target cluster as smartlinks; if the target cluster does not support the smartlinks, the job will fail. If set to force, replicates all smartlinks to the target cluster as regular files. If set to allow, SyncIQ will attempt to replicate smartlinks to the target cluster as smartlinks; if the target cluster does not support the smartlinks, SyncIQ will replicate the smartlinks as regular files.\n"
          },
          "conflicted": {
            "type": "boolean",
            "description": "NOTE: This field should not be changed without the help of PowerScale support.  If true, the most recent run of this policy encountered an error and this policy will not start any more scheduled jobs until this field is manually set back to 'false'.\n"
          },
          "deleteQuotas": {
            "type": "boolean",
            "description": "If true, forcibly remove quotas on the target after they have been removed on the source.\n"
          },
          "description": {
            "type": "string",
            "description": "User-assigned description of this sync policy.\n"
          },
          "disableFileSplit": {
            "type": "boolean",
            "description": "NOTE: This field should not be changed without the help of PowerScale support.  If true, the 7.2+ file splitting capability will be disabled.\n"
          },
          "disableFofb": {
            "type": "boolean",
            "description": "NOTE: This field should not be changed without the help of PowerScale support.  Enable/disable sync failover/failback.\n"
          },
          "disableQuotaTmpDir": {
            "type": "boolean",
            "description": "If set to true, SyncIQ will not create temporary quota directories to aid in replication to target paths which contain quotas.\n"
          },
          "disableStf": {
            "type": "boolean",
            "description": "NOTE: This field should not be changed without the help of PowerScale support.  Enable/disable the 6.5+ STF based data transfer and uses only treewalk.\n"
          },
          "enableHashTmpdir": {
            "type": "boolean",
            "description": "If true, syncs will use temporary working directory subdirectories to reduce lock contention.\n"
          },
          "enabled": {
            "type": "boolean",
            "description": "If true, jobs will be automatically run based on this policy, according to its schedule.\n"
          },
          "encryptionCipherList": {
            "type": "string",
            "description": "The cipher list (comma separated) being used with encryption. For SyncIQ targets, this list serves as a list of supported ciphers. For SyncIQ sources, the list of ciphers will be attempted to be used in order.\n"
          },
          "expectedDataloss": {
            "type": "boolean",
            "description": "NOTE: This field should not be changed without the help of PowerScale support.  Continue sending files even with the corrupted filesystem.\n"
          },
          "fileMatchingPattern": {
            "$ref": "#/types/powerscale:index%2FSynciqPolicyFileMatchingPattern:SynciqPolicyFileMatchingPattern",
            "description": "A file matching pattern, organized as an OR'ed set of AND'ed file criteria, for example ((a AND b) OR (x AND y)) used to define a set of files with specific properties.  Policies of type 'sync' cannot use 'path' or time criteria in their matching patterns, but policies of type 'copy' can use all listed criteria.\n"
          },
          "forceInterface": {
            "type": "boolean",
            "description": "NOTE: This field should not be changed without the help of PowerScale support.  Determines whether data is sent only through the subnet and pool specified in the \"source*network\" field. This option can be useful if there are multiple interfaces for the given source subnet.  If you enable this option, the net.inet.ip.choose*ifa*by*ipsrc sysctl should be set.\n"
          },
          "ignoreRecursiveQuota": {
            "type": "boolean",
            "description": "If set to true, SyncIQ will not check the recursive quota in target paths to aid in replication to target paths which contain no quota but target cluster has lots of quotas.\n"
          },
          "jobDelay": {
            "type": "number",
            "description": "If `schedule` is set to `when-source-modified`, the duration to wait after a modification is made before starting a job (default is 0 seconds).\n"
          },
          "logLevel": {
            "type": "string",
            "description": "Severity an event must reach before it is logged. Accepted values are `fatal`, `error`, `notice`, `info`, `copy`, `debug`, `trace`.\n"
          },
          "logRemovedFiles": {
            "type": "boolean",
            "description": "If true, the system will log any files or directories that are deleted due to a sync.\n"
          },
          "name": {
            "type": "string",
            "description": "User-assigned name of this sync policy.\n"
          },
          "ocspAddress": {
            "type": "string",
            "description": "The address of the OCSP responder to which to connect. Set to empty string to disable OCSP.\n"
          },
          "ocspIssuerCertificateId": {
            "type": "string",
            "description": "The ID of the certificate authority that issued the certificate whose revocation status is being checked. Set to empty string to disable certificate verification.\n"
          },
          "password": {
            "type": "string",
            "description": "The password for the target cluster. This field is not readable.\n"
          },
          "priority": {
            "type": "number",
            "description": "Determines the priority level of a policy. Policies with higher priority will have precedence to run over lower priority policies. Valid range is [0, 1]. Default is 0.\n"
          },
          "reportMaxAge": {
            "type": "number",
            "description": "Length of time (in seconds) a policy report will be stored.\n"
          },
          "reportMaxCount": {
            "type": "number",
            "description": "Maximum number of policy reports that will be stored on the system.\n"
          },
          "restrictTargetNetwork": {
            "type": "boolean",
            "description": "If you specify true, and you specify a SmartConnect zone in the \"target_host\" field, replication policies will connect only to nodes in the specified SmartConnect zone.  If you specify false, replication policies are not restricted to specific nodes on the target cluster.\n"
          },
          "rpoAlert": {
            "type": "number",
            "description": "If `schedule` is set to a time/date, an alert is created if the specified RPO for this policy is exceeded. The default value is 0, which will not generate RPO alerts.\n"
          },
          "schedule": {
            "type": "string",
            "description": "The schedule on which new jobs will be run for this policy.\n"
          },
          "skipLookup": {
            "type": "boolean",
            "description": "Skip DNS lookup of target IPs.\n"
          },
          "skipWhenSourceUnmodified": {
            "type": "boolean",
            "description": "If true and `schedule` is set to a time/date, the policy will not run if no changes have been made to the contents of the source directory since the last job successfully completed.\n"
          },
          "snapshotSyncExisting": {
            "type": "boolean",
            "description": "If true, snapshot-triggered syncs will include snapshots taken before policy creation time (requires --schedule when-snapshot-taken).\n"
          },
          "snapshotSyncPattern": {
            "type": "string",
            "description": "The naming pattern that a snapshot must match to trigger a sync when the schedule is when-snapshot-taken (default is \"*\").\n"
          },
          "sourceExcludeDirectories": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Directories that will be excluded from the sync.  Modifying this field will result in a full synchronization of all data.\n"
          },
          "sourceIncludeDirectories": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Directories that will be included in the sync.  Modifying this field will result in a full synchronization of all data.\n"
          },
          "sourceNetwork": {
            "$ref": "#/types/powerscale:index%2FSynciqPolicySourceNetwork:SynciqPolicySourceNetwork",
            "description": "Restricts replication policies on the local cluster to running on the specified subnet and pool.\n"
          },
          "sourceRootPath": {
            "type": "string",
            "description": "The root directory on the source cluster the files will be synced from.  Modifying this field will result in a full synchronization of all data.\n"
          },
          "sourceSnapshotArchive": {
            "type": "boolean",
            "description": "If true, archival snapshots of the source data will be taken on the source cluster before a sync.\n"
          },
          "sourceSnapshotExpiration": {
            "type": "number",
            "description": "The length of time in seconds to keep snapshots on the source cluster.\n"
          },
          "sourceSnapshotPattern": {
            "type": "string",
            "description": "The name pattern for snapshots taken on the source cluster before a sync.\n"
          },
          "syncExistingSnapshotExpiration": {
            "type": "boolean",
            "description": "If set to true, the expire duration for target archival snapshot is the remaining expire duration of source snapshot, requires --sync-existing-snapshot=true\n"
          },
          "syncExistingTargetSnapshotPattern": {
            "type": "string",
            "description": "The naming pattern for snapshot on the destination cluster when --sync-existing-snapshot is true\n"
          },
          "targetCertificateId": {
            "type": "string",
            "description": "The ID of the target cluster certificate being used for encryption. Set to empty string to disable target certificate verification.\n"
          },
          "targetCompareInitialSync": {
            "type": "boolean",
            "description": "If true, the target creates diffs against the original sync.\n"
          },
          "targetDetectModifications": {
            "type": "boolean",
            "description": "If true, target cluster will detect if files have been changed on the target by legacy tree walk syncs.\n"
          },
          "targetHost": {
            "type": "string",
            "description": "Hostname or IP address of sync target cluster.  Modifying the target cluster host can result in the policy being unrunnable if the new target does not match the current target association.\n"
          },
          "targetPath": {
            "type": "string",
            "description": "Absolute filesystem path on the target cluster for the sync destination.\n"
          },
          "targetSnapshotAlias": {
            "type": "string",
            "description": "The alias of the snapshot taken on the target cluster after the sync completes. Do not use the value `DEFAULT`.\n"
          },
          "targetSnapshotArchive": {
            "type": "boolean",
            "description": "If true, archival snapshots of the target data will be taken on the target cluster after successful sync completions.\n"
          },
          "targetSnapshotExpiration": {
            "type": "number",
            "description": "The length of time in seconds to keep snapshots on the target cluster.\n"
          },
          "targetSnapshotPattern": {
            "type": "string",
            "description": "The name pattern for snapshots taken on the target cluster after the sync completes. Do not use the value `@DEFAULT`.\n"
          },
          "workersPerNode": {
            "type": "number",
            "description": "The number of worker threads on a node performing a sync.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/synciqReplicationJob:SynciqReplicationJob": {
      "description": "The PowerScale SyncIQ ReplicationJob resource provides a means of managing replication jobs on PowerScale clusters.\n\t\t This resource allows for the manual triggering of replication jobs to replicate data from a source PowerScale cluster to a target PowerScale cluster. \n\t\t Note: The replication job is an asynchronous operation, and this resource does not provide real-time monitoring of the job's status. \n\t\t To check the status of the job,please use the powerscale.getSynciqReplicationReport datasource.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale SynIQ Replication Job allows you to manage the SyncIQ Replication Jobs on the Powerscale array\nconst job1 = new powerscale.SynciqReplicationJob(\"job1\", {\n    action: \"run\",\n    synciqReplicationJobId: \"TerraformPolicy\",\n    isPaused: false,\n});\n// change job state to running or paused.\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale SynIQ Replication Job allows you to manage the SyncIQ Replication Jobs on the Powerscale array\njob1 = powerscale.SynciqReplicationJob(\"job1\",\n    action=\"run\",\n    synciq_replication_job_id=\"TerraformPolicy\",\n    is_paused=False)\n# change job state to running or paused.\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale SynIQ Replication Job allows you to manage the SyncIQ Replication Jobs on the Powerscale array\n    var job1 = new Powerscale.SynciqReplicationJob(\"job1\", new()\n    {\n        Action = \"run\",\n        SynciqReplicationJobId = \"TerraformPolicy\",\n        IsPaused = false,\n    });\n\n    // change job state to running or paused.\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale SynIQ Replication Job allows you to manage the SyncIQ Replication Jobs on the Powerscale array\n\t\t_, err := powerscale.NewSynciqReplicationJob(ctx, \"job1\", &powerscale.SynciqReplicationJobArgs{\n\t\t\tAction:                 pulumi.String(\"run\"),\n\t\t\tSynciqReplicationJobId: pulumi.String(\"TerraformPolicy\"),\n\t\t\tIsPaused:               pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.SynciqReplicationJob;\nimport com.pulumi.powerscale.SynciqReplicationJobArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale SynIQ Replication Job allows you to manage the SyncIQ Replication Jobs on the Powerscale array\n        var job1 = new SynciqReplicationJob(\"job1\", SynciqReplicationJobArgs.builder()\n            .action(\"run\")\n            .synciqReplicationJobId(\"TerraformPolicy\")\n            .isPaused(false)\n            .build());\n\n        // change job state to running or paused.\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale SynIQ Replication Job allows you to manage the SyncIQ Replication Jobs on the Powerscale array\n  job1:\n    type: powerscale:SynciqReplicationJob\n    properties:\n      action: run\n      # action can be run, test, resync_prep, allow_write or allow_write_revert\n      synciqReplicationJobId: TerraformPolicy\n      # id/name of the synciq policy, use synciq policy resource to create policy.\n      isPaused: false\n```\n<!--End PulumiCodeChooser -->\n",
      "properties": {
        "action": {
          "type": "string",
          "description": "Action for the job\n\t\t\t run - to start the replication job using synciq policy\n\t\t\t test - to test the replication job using synciq policy,\n\t\t\t resync*prep - Resync*prep is a preparation step in PowerScale SyncIQ replication jobs that helps ensure a successful replication operation by performing a series of checks and verifications on the source and target volumes before starting the replication process.,\n\t\t\t allow*write - allow*write determines whether the replication job allows writes to the target volume during the replication process. When configured, the target volume is writable, and any changes made to the target volume will be replicated to the source volume. This is useful in scenarios where you need to make changes to the target volume, such as updating files or creating new files, while the replication job is running.,\n\t\t\t allow*write*revert - allow*write*revert determines whether the replication job allows writes to the target volume when reverting a replication job. When configure, the target volume is writable during the revert process, allowing changes made to the target volume during the revert process to be replicated to the source volume.\n"
        },
        "isPaused": {
          "type": "boolean",
          "description": "change job state to running or paused.\n"
        },
        "synciqReplicationJobId": {
          "type": "string",
          "description": "ID/Name of the policy\n"
        },
        "waitTime": {
          "type": "number",
          "description": "Wait Time for the job\n"
        }
      },
      "type": "object",
      "required": [
        "action",
        "isPaused",
        "synciqReplicationJobId",
        "waitTime"
      ],
      "inputProperties": {
        "action": {
          "type": "string",
          "description": "Action for the job\n\t\t\t run - to start the replication job using synciq policy\n\t\t\t test - to test the replication job using synciq policy,\n\t\t\t resync*prep - Resync*prep is a preparation step in PowerScale SyncIQ replication jobs that helps ensure a successful replication operation by performing a series of checks and verifications on the source and target volumes before starting the replication process.,\n\t\t\t allow*write - allow*write determines whether the replication job allows writes to the target volume during the replication process. When configured, the target volume is writable, and any changes made to the target volume will be replicated to the source volume. This is useful in scenarios where you need to make changes to the target volume, such as updating files or creating new files, while the replication job is running.,\n\t\t\t allow*write*revert - allow*write*revert determines whether the replication job allows writes to the target volume when reverting a replication job. When configure, the target volume is writable during the revert process, allowing changes made to the target volume during the revert process to be replicated to the source volume.\n"
        },
        "isPaused": {
          "type": "boolean",
          "description": "change job state to running or paused.\n"
        },
        "synciqReplicationJobId": {
          "type": "string",
          "description": "ID/Name of the policy\n"
        },
        "waitTime": {
          "type": "number",
          "description": "Wait Time for the job\n"
        }
      },
      "requiredInputs": [
        "action",
        "synciqReplicationJobId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SynciqReplicationJob resources.\n",
        "properties": {
          "action": {
            "type": "string",
            "description": "Action for the job\n\t\t\t run - to start the replication job using synciq policy\n\t\t\t test - to test the replication job using synciq policy,\n\t\t\t resync*prep - Resync*prep is a preparation step in PowerScale SyncIQ replication jobs that helps ensure a successful replication operation by performing a series of checks and verifications on the source and target volumes before starting the replication process.,\n\t\t\t allow*write - allow*write determines whether the replication job allows writes to the target volume during the replication process. When configured, the target volume is writable, and any changes made to the target volume will be replicated to the source volume. This is useful in scenarios where you need to make changes to the target volume, such as updating files or creating new files, while the replication job is running.,\n\t\t\t allow*write*revert - allow*write*revert determines whether the replication job allows writes to the target volume when reverting a replication job. When configure, the target volume is writable during the revert process, allowing changes made to the target volume during the revert process to be replicated to the source volume.\n"
          },
          "isPaused": {
            "type": "boolean",
            "description": "change job state to running or paused.\n"
          },
          "synciqReplicationJobId": {
            "type": "string",
            "description": "ID/Name of the policy\n"
          },
          "waitTime": {
            "type": "number",
            "description": "Wait Time for the job\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/synciqRules:SynciqRules": {
      "description": "This resource is used to manage all the SyncIQ replication Performance Rule entities on PowerScale array.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.SynciqRules;\nimport com.pulumi.powerscale.SynciqRulesArgs;\nimport com.pulumi.powerscale.inputs.SynciqRulesBandwidthRuleArgs;\nimport com.pulumi.powerscale.inputs.SynciqRulesBandwidthRuleScheduleArgs;\nimport com.pulumi.powerscale.inputs.SynciqRulesCpuRuleArgs;\nimport com.pulumi.powerscale.inputs.SynciqRulesFileCountRuleArgs;\nimport com.pulumi.powerscale.inputs.SynciqRulesWorkerRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale SynIQ replication rules allows you to manage the replication rules on the Powerscale array\n        var allRules = new SynciqRules(\"allRules\", SynciqRulesArgs.builder()\n            .bandwidthRules(            \n                SynciqRulesBandwidthRuleArgs.builder()\n                    .description(\"Bandwidth limit for Weekend\")\n                    .limit(10000)\n                    .schedule(SynciqRulesBandwidthRuleScheduleArgs.builder()\n                        .begin(\"00:00\")\n                        .daysOfWeek(                        \n                            \"saturday\",\n                            \"sunday\")\n                        .end(\"23:59\")\n                        .build())\n                    .build(),\n                SynciqRulesBandwidthRuleArgs.builder()\n                    .description(\"Bandwidth limit for Weekdays\")\n                    .limit(2000)\n                    .schedule(SynciqRulesBandwidthRuleScheduleArgs.builder()\n                        .daysOfWeek(                        \n                            \"monday\",\n                            \"tuesday\",\n                            \"wednesday\",\n                            \"thursday\",\n                            \"friday\")\n                        .build())\n                    .build())\n            .cpuRules(SynciqRulesCpuRuleArgs.builder()\n                .description(\"CPU limit\")\n                .limit(16)\n                .build())\n            .fileCountRules(SynciqRulesFileCountRuleArgs.builder()\n                .description(\"File limit\")\n                .limit(50)\n                .build())\n            .workerRules(SynciqRulesWorkerRuleArgs.builder()\n                .description(\"Worker limit\")\n                .enabled(false)\n                .limit(10)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale SynIQ replication rules allows you to manage the replication rules on the Powerscale array\n  allRules:\n    type: powerscale:SynciqRules\n    properties:\n      bandwidthRules:\n        - description: Bandwidth limit for Weekend\n          limit: 10000\n          schedule:\n            begin: 00:00\n            daysOfWeek:\n              - saturday\n              - sunday\n            end: 23:59\n        - description: Bandwidth limit for Weekdays\n          limit: 2000\n          schedule:\n            daysOfWeek:\n              - monday\n              - tuesday\n              - wednesday\n              - thursday\n              - friday\n      cpuRules:\n        - description: CPU limit\n          limit: 16\n      fileCountRules:\n        - description: File limit\n          limit: 50\n      workerRules:\n        - description: Worker limit\n          enabled: false\n          limit: 10\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/synciqRules:SynciqRules all_rules <anystring>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/synciqRules:SynciqRules all_rules do_not_care\n```\n\nafter running this command, populate any required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "bandwidthRules": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FSynciqRulesBandwidthRule:SynciqRulesBandwidthRule"
          },
          "description": "List of bandwidth rules.\n"
        },
        "cpuRules": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FSynciqRulesCpuRule:SynciqRulesCpuRule"
          },
          "description": "List of CPU rules.\n"
        },
        "fileCountRules": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FSynciqRulesFileCountRule:SynciqRulesFileCountRule"
          },
          "description": "List of file count rules.\n"
        },
        "workerRules": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FSynciqRulesWorkerRule:SynciqRulesWorkerRule"
          },
          "description": "List of worker rules.\n"
        }
      },
      "type": "object",
      "required": [
        "bandwidthRules",
        "cpuRules",
        "fileCountRules",
        "workerRules"
      ],
      "inputProperties": {
        "bandwidthRules": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FSynciqRulesBandwidthRule:SynciqRulesBandwidthRule"
          },
          "description": "List of bandwidth rules.\n"
        },
        "cpuRules": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FSynciqRulesCpuRule:SynciqRulesCpuRule"
          },
          "description": "List of CPU rules.\n"
        },
        "fileCountRules": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FSynciqRulesFileCountRule:SynciqRulesFileCountRule"
          },
          "description": "List of file count rules.\n"
        },
        "workerRules": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FSynciqRulesWorkerRule:SynciqRulesWorkerRule"
          },
          "description": "List of worker rules.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering SynciqRules resources.\n",
        "properties": {
          "bandwidthRules": {
            "type": "array",
            "items": {
              "$ref": "#/types/powerscale:index%2FSynciqRulesBandwidthRule:SynciqRulesBandwidthRule"
            },
            "description": "List of bandwidth rules.\n"
          },
          "cpuRules": {
            "type": "array",
            "items": {
              "$ref": "#/types/powerscale:index%2FSynciqRulesCpuRule:SynciqRulesCpuRule"
            },
            "description": "List of CPU rules.\n"
          },
          "fileCountRules": {
            "type": "array",
            "items": {
              "$ref": "#/types/powerscale:index%2FSynciqRulesFileCountRule:SynciqRulesFileCountRule"
            },
            "description": "List of file count rules.\n"
          },
          "workerRules": {
            "type": "array",
            "items": {
              "$ref": "#/types/powerscale:index%2FSynciqRulesWorkerRule:SynciqRulesWorkerRule"
            },
            "description": "List of worker rules.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/user:User": {
      "description": "This resource is used to manage the User entity of PowerScale Array. We can Create, Update and Delete the User using this resource. We can also import an existing User from PowerScale array. PowerScale User allows you to authenticate through a local authentication provider. Remote users are restricted to read-only operations.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale User allows you to authenticate through a local authentication provider. Remote users are restricted to read-only operations.\nconst testUser = new powerscale.User(\"testUser\", {});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale User allows you to authenticate through a local authentication provider. Remote users are restricted to read-only operations.\ntest_user = powerscale.User(\"testUser\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale User allows you to authenticate through a local authentication provider. Remote users are restricted to read-only operations.\n    var testUser = new Powerscale.User(\"testUser\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale User allows you to authenticate through a local authentication provider. Remote users are restricted to read-only operations.\n\t\t_, err := powerscale.NewUser(ctx, \"testUser\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.User;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale User allows you to authenticate through a local authentication provider. Remote users are restricted to read-only operations.\n        var testUser = new User(\"testUser\");\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale User allows you to authenticate through a local authentication provider. Remote users are restricted to read-only operations.\n  testUser:\n    type: powerscale:User\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2023-2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/user:User testUser [<zoneID>:]<userName>\n```\n\nExample1, <zoneID> is Optional, defaults to System:\n\n```sh\n$ pulumi import powerscale:index/user:User testUser userName\n```\n\nExample2:\n\n```sh\n$ pulumi import powerscale:index/user:User testUser zoneID:userName\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "dn": {
          "type": "string",
          "description": "Specifies a principal name for the user.\n"
        },
        "dnsDomain": {
          "type": "string",
          "description": "Specifies the DNS domain.\n"
        },
        "domain": {
          "type": "string",
          "description": "Specifies the domain that the object is part of. Cannot be updated.\n"
        },
        "email": {
          "type": "string",
          "description": "Specifies an email address.\n"
        },
        "enabled": {
          "type": "boolean",
          "description": "If true, the authenticated user is enabled.\n"
        },
        "expired": {
          "type": "boolean",
          "description": "If true, the authenticated user has expired.\n"
        },
        "expiry": {
          "type": "number",
          "description": "Specifies the Unix Epoch time at which the authenticated user will expire.\n"
        },
        "gecos": {
          "type": "string",
          "description": "Specifies the GECOS value, which is usually the full name.\n"
        },
        "generatedGid": {
          "type": "boolean",
          "description": "If true, the GID was generated.\n"
        },
        "generatedUid": {
          "type": "boolean",
          "description": "If true, the UID was generated.\n"
        },
        "generatedUpn": {
          "type": "boolean",
          "description": "If true, the UPN was generated.\n"
        },
        "gid": {
          "$ref": "#/types/powerscale:index%2FUserGid:UserGid",
          "description": "Specifies a group identifier.\n"
        },
        "homeDirectory": {
          "type": "string",
          "description": "Specifies a home directory for the user.\n"
        },
        "locked": {
          "type": "boolean",
          "description": "If true, indicates that the account is locked.\n"
        },
        "maxPasswordAge": {
          "type": "number",
          "description": "Specifies the maximum time in seconds allowed before the password expires.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies a user name. Cannot be updated.\n"
        },
        "password": {
          "type": "string",
          "description": "Sets or Changes the password for the user.\n",
          "secret": true
        },
        "passwordExpired": {
          "type": "boolean",
          "description": "If true, the password has expired.\n"
        },
        "passwordExpires": {
          "type": "boolean",
          "description": "If true, the password is allowed to expire.\n"
        },
        "passwordExpiry": {
          "type": "number",
          "description": "Specifies the time in Unix Epoch seconds that the password will expire.\n"
        },
        "passwordLastSet": {
          "type": "number",
          "description": "Specifies the last time the password was set.\n"
        },
        "primaryGroup": {
          "type": "string",
          "description": "Specifies the name of the primary group.\n"
        },
        "primaryGroupSid": {
          "$ref": "#/types/powerscale:index%2FUserPrimaryGroupSid:UserPrimaryGroupSid",
          "description": "Specifies the persona of the primary group.\n"
        },
        "promptPasswordChange": {
          "type": "boolean",
          "description": "If true, Prompts the user to change their password at the next login.\n"
        },
        "providerName": {
          "type": "string",
          "description": "Specifies the authentication provider that the object belongs to.\n"
        },
        "queryForce": {
          "type": "boolean",
          "description": "If true, skip validation checks when creating user. Need to be true, when changing user UID.\n"
        },
        "queryProvider": {
          "type": "string",
          "description": "Specifies the provider type. Cannot be updated.\n"
        },
        "queryZone": {
          "type": "string",
          "description": "Specifies the zone that the object belongs to. Cannot be updated.\n"
        },
        "roles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of roles, the user is assigned.\n"
        },
        "samAccountName": {
          "type": "string",
          "description": "Specifies a user name.\n"
        },
        "shell": {
          "type": "string",
          "description": "Specifies a path to the shell for the user.\n"
        },
        "sid": {
          "type": "string",
          "description": "Specifies a security identifier. Cannot be updated.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the object type.\n"
        },
        "uid": {
          "type": "number",
          "description": "Specifies a numeric user identifier.\n"
        },
        "unlock": {
          "type": "boolean",
          "description": "If true, the user account should be unlocked.\n"
        },
        "upn": {
          "type": "string",
          "description": "Specifies a principal name for the user.\n"
        },
        "userCanChangePassword": {
          "type": "boolean",
          "description": "Specifies whether the password for the user can be changed.\n"
        }
      },
      "type": "object",
      "required": [
        "dn",
        "dnsDomain",
        "domain",
        "email",
        "enabled",
        "expired",
        "expiry",
        "gecos",
        "generatedGid",
        "generatedUid",
        "generatedUpn",
        "gid",
        "homeDirectory",
        "locked",
        "maxPasswordAge",
        "name",
        "passwordExpired",
        "passwordExpires",
        "passwordExpiry",
        "passwordLastSet",
        "primaryGroup",
        "primaryGroupSid",
        "promptPasswordChange",
        "providerName",
        "samAccountName",
        "shell",
        "sid",
        "type",
        "uid",
        "upn",
        "userCanChangePassword"
      ],
      "inputProperties": {
        "domain": {
          "type": "string",
          "description": "Specifies the domain that the object is part of. Cannot be updated.\n"
        },
        "email": {
          "type": "string",
          "description": "Specifies an email address.\n"
        },
        "enabled": {
          "type": "boolean",
          "description": "If true, the authenticated user is enabled.\n"
        },
        "expiry": {
          "type": "number",
          "description": "Specifies the Unix Epoch time at which the authenticated user will expire.\n"
        },
        "gecos": {
          "type": "string",
          "description": "Specifies the GECOS value, which is usually the full name.\n"
        },
        "homeDirectory": {
          "type": "string",
          "description": "Specifies a home directory for the user.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies a user name. Cannot be updated.\n"
        },
        "password": {
          "type": "string",
          "description": "Sets or Changes the password for the user.\n",
          "secret": true
        },
        "passwordExpires": {
          "type": "boolean",
          "description": "If true, the password is allowed to expire.\n"
        },
        "primaryGroup": {
          "type": "string",
          "description": "Specifies the name of the primary group.\n"
        },
        "promptPasswordChange": {
          "type": "boolean",
          "description": "If true, Prompts the user to change their password at the next login.\n"
        },
        "queryForce": {
          "type": "boolean",
          "description": "If true, skip validation checks when creating user. Need to be true, when changing user UID.\n"
        },
        "queryProvider": {
          "type": "string",
          "description": "Specifies the provider type. Cannot be updated.\n"
        },
        "queryZone": {
          "type": "string",
          "description": "Specifies the zone that the object belongs to. Cannot be updated.\n"
        },
        "roles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of roles, the user is assigned.\n"
        },
        "shell": {
          "type": "string",
          "description": "Specifies a path to the shell for the user.\n"
        },
        "sid": {
          "type": "string",
          "description": "Specifies a security identifier. Cannot be updated.\n"
        },
        "uid": {
          "type": "number",
          "description": "Specifies a numeric user identifier.\n"
        },
        "unlock": {
          "type": "boolean",
          "description": "If true, the user account should be unlocked.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering User resources.\n",
        "properties": {
          "dn": {
            "type": "string",
            "description": "Specifies a principal name for the user.\n"
          },
          "dnsDomain": {
            "type": "string",
            "description": "Specifies the DNS domain.\n"
          },
          "domain": {
            "type": "string",
            "description": "Specifies the domain that the object is part of. Cannot be updated.\n"
          },
          "email": {
            "type": "string",
            "description": "Specifies an email address.\n"
          },
          "enabled": {
            "type": "boolean",
            "description": "If true, the authenticated user is enabled.\n"
          },
          "expired": {
            "type": "boolean",
            "description": "If true, the authenticated user has expired.\n"
          },
          "expiry": {
            "type": "number",
            "description": "Specifies the Unix Epoch time at which the authenticated user will expire.\n"
          },
          "gecos": {
            "type": "string",
            "description": "Specifies the GECOS value, which is usually the full name.\n"
          },
          "generatedGid": {
            "type": "boolean",
            "description": "If true, the GID was generated.\n"
          },
          "generatedUid": {
            "type": "boolean",
            "description": "If true, the UID was generated.\n"
          },
          "generatedUpn": {
            "type": "boolean",
            "description": "If true, the UPN was generated.\n"
          },
          "gid": {
            "$ref": "#/types/powerscale:index%2FUserGid:UserGid",
            "description": "Specifies a group identifier.\n"
          },
          "homeDirectory": {
            "type": "string",
            "description": "Specifies a home directory for the user.\n"
          },
          "locked": {
            "type": "boolean",
            "description": "If true, indicates that the account is locked.\n"
          },
          "maxPasswordAge": {
            "type": "number",
            "description": "Specifies the maximum time in seconds allowed before the password expires.\n"
          },
          "name": {
            "type": "string",
            "description": "Specifies a user name. Cannot be updated.\n"
          },
          "password": {
            "type": "string",
            "description": "Sets or Changes the password for the user.\n",
            "secret": true
          },
          "passwordExpired": {
            "type": "boolean",
            "description": "If true, the password has expired.\n"
          },
          "passwordExpires": {
            "type": "boolean",
            "description": "If true, the password is allowed to expire.\n"
          },
          "passwordExpiry": {
            "type": "number",
            "description": "Specifies the time in Unix Epoch seconds that the password will expire.\n"
          },
          "passwordLastSet": {
            "type": "number",
            "description": "Specifies the last time the password was set.\n"
          },
          "primaryGroup": {
            "type": "string",
            "description": "Specifies the name of the primary group.\n"
          },
          "primaryGroupSid": {
            "$ref": "#/types/powerscale:index%2FUserPrimaryGroupSid:UserPrimaryGroupSid",
            "description": "Specifies the persona of the primary group.\n"
          },
          "promptPasswordChange": {
            "type": "boolean",
            "description": "If true, Prompts the user to change their password at the next login.\n"
          },
          "providerName": {
            "type": "string",
            "description": "Specifies the authentication provider that the object belongs to.\n"
          },
          "queryForce": {
            "type": "boolean",
            "description": "If true, skip validation checks when creating user. Need to be true, when changing user UID.\n"
          },
          "queryProvider": {
            "type": "string",
            "description": "Specifies the provider type. Cannot be updated.\n"
          },
          "queryZone": {
            "type": "string",
            "description": "Specifies the zone that the object belongs to. Cannot be updated.\n"
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of roles, the user is assigned.\n"
          },
          "samAccountName": {
            "type": "string",
            "description": "Specifies a user name.\n"
          },
          "shell": {
            "type": "string",
            "description": "Specifies a path to the shell for the user.\n"
          },
          "sid": {
            "type": "string",
            "description": "Specifies a security identifier. Cannot be updated.\n"
          },
          "type": {
            "type": "string",
            "description": "Specifies the object type.\n"
          },
          "uid": {
            "type": "number",
            "description": "Specifies a numeric user identifier.\n"
          },
          "unlock": {
            "type": "boolean",
            "description": "If true, the user account should be unlocked.\n"
          },
          "upn": {
            "type": "string",
            "description": "Specifies a principal name for the user.\n"
          },
          "userCanChangePassword": {
            "type": "boolean",
            "description": "Specifies whether the password for the user can be changed.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/userGroup:UserGroup": {
      "description": "This resource is used to manage the User Group entity of PowerScale Array. We can Create, Update and Delete the User Group using this resource. We can also import an existing User Group from PowerScale array. PowerScale User Group allows you to do operations on a set of users, groups and well-knowns.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\n// PowerScale User Group allows you to do operations on a set of users, groups and well-knowns.\nconst testUserGroup = new powerscale.UserGroup(\"testUserGroup\", {});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\n# PowerScale User Group allows you to do operations on a set of users, groups and well-knowns.\ntest_user_group = powerscale.UserGroup(\"testUserGroup\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() => \n{\n    // PowerScale User Group allows you to do operations on a set of users, groups and well-knowns.\n    var testUserGroup = new Powerscale.UserGroup(\"testUserGroup\");\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// PowerScale User Group allows you to do operations on a set of users, groups and well-knowns.\n\t\t_, err := powerscale.NewUserGroup(ctx, \"testUserGroup\", nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.UserGroup;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale User Group allows you to do operations on a set of users, groups and well-knowns.\n        var testUserGroup = new UserGroup(\"testUserGroup\");\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale User Group allows you to do operations on a set of users, groups and well-knowns.\n  testUserGroup:\n    type: powerscale:UserGroup\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2023-2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/userGroup:UserGroup testUserGroup [<zoneID>:]<userGroupName>\n```\n\nExample1, <zoneID> is Optional, defaults to System:\n\n```sh\n$ pulumi import powerscale:index/userGroup:UserGroup testUserGroup userGroupName\n```\n\nExample2:\n\n```sh\n$ pulumi import powerscale:index/userGroup:UserGroup testUserGroup zoneID:userGroupName\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "dn": {
          "type": "string",
          "description": "Specifies a principal name for the user group.\n"
        },
        "dnsDomain": {
          "type": "string",
          "description": "Specifies the DNS domain.\n"
        },
        "domain": {
          "type": "string",
          "description": "Specifies the domain that the object is part of. Cannot be updated.\n"
        },
        "generatedGid": {
          "type": "boolean",
          "description": "If true, the GID was generated.\n"
        },
        "gid": {
          "type": "number",
          "description": "Specifies a numeric user group identifier.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies list members of group within the group.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies a user group name. Cannot be updated.\n"
        },
        "providerName": {
          "type": "string",
          "description": "Specifies the authentication provider that the object belongs to.\n"
        },
        "queryForce": {
          "type": "boolean",
          "description": "If true, skip validation checks when creating user group. Need to be true, when changing group GID.\n"
        },
        "queryProvider": {
          "type": "string",
          "description": "Specifies the provider type. Cannot be updated.\n"
        },
        "queryZone": {
          "type": "string",
          "description": "Specifies the zone that the object belongs to. Cannot be updated.\n"
        },
        "roles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of roles, the user is assigned.\n"
        },
        "samAccountName": {
          "type": "string",
          "description": "Specifies a user group name.\n"
        },
        "sid": {
          "type": "string",
          "description": "Specifies a security identifier. Cannot be updated.\n"
        },
        "type": {
          "type": "string",
          "description": "Specifies the object type.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies list members of user within the group.\n"
        },
        "wellKnowns": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies list members of well_known within the group.\n"
        }
      },
      "type": "object",
      "required": [
        "dn",
        "dnsDomain",
        "domain",
        "generatedGid",
        "gid",
        "name",
        "providerName",
        "samAccountName",
        "sid",
        "type"
      ],
      "inputProperties": {
        "domain": {
          "type": "string",
          "description": "Specifies the domain that the object is part of. Cannot be updated.\n"
        },
        "gid": {
          "type": "number",
          "description": "Specifies a numeric user group identifier.\n"
        },
        "groups": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies list members of group within the group.\n"
        },
        "name": {
          "type": "string",
          "description": "Specifies a user group name. Cannot be updated.\n"
        },
        "queryForce": {
          "type": "boolean",
          "description": "If true, skip validation checks when creating user group. Need to be true, when changing group GID.\n"
        },
        "queryProvider": {
          "type": "string",
          "description": "Specifies the provider type. Cannot be updated.\n"
        },
        "queryZone": {
          "type": "string",
          "description": "Specifies the zone that the object belongs to. Cannot be updated.\n"
        },
        "roles": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "List of roles, the user is assigned.\n"
        },
        "sid": {
          "type": "string",
          "description": "Specifies a security identifier. Cannot be updated.\n"
        },
        "users": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies list members of user within the group.\n"
        },
        "wellKnowns": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Specifies list members of well_known within the group.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering UserGroup resources.\n",
        "properties": {
          "dn": {
            "type": "string",
            "description": "Specifies a principal name for the user group.\n"
          },
          "dnsDomain": {
            "type": "string",
            "description": "Specifies the DNS domain.\n"
          },
          "domain": {
            "type": "string",
            "description": "Specifies the domain that the object is part of. Cannot be updated.\n"
          },
          "generatedGid": {
            "type": "boolean",
            "description": "If true, the GID was generated.\n"
          },
          "gid": {
            "type": "number",
            "description": "Specifies a numeric user group identifier.\n"
          },
          "groups": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies list members of group within the group.\n"
          },
          "name": {
            "type": "string",
            "description": "Specifies a user group name. Cannot be updated.\n"
          },
          "providerName": {
            "type": "string",
            "description": "Specifies the authentication provider that the object belongs to.\n"
          },
          "queryForce": {
            "type": "boolean",
            "description": "If true, skip validation checks when creating user group. Need to be true, when changing group GID.\n"
          },
          "queryProvider": {
            "type": "string",
            "description": "Specifies the provider type. Cannot be updated.\n"
          },
          "queryZone": {
            "type": "string",
            "description": "Specifies the zone that the object belongs to. Cannot be updated.\n"
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of roles, the user is assigned.\n"
          },
          "samAccountName": {
            "type": "string",
            "description": "Specifies a user group name.\n"
          },
          "sid": {
            "type": "string",
            "description": "Specifies a security identifier. Cannot be updated.\n"
          },
          "type": {
            "type": "string",
            "description": "Specifies the object type.\n"
          },
          "users": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies list members of user within the group.\n"
          },
          "wellKnowns": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Specifies list members of well_known within the group.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/userMappingRules:UserMappingRules": {
      "description": "This resource is used to manage the User Mapping Rules entity of PowerScale Array. PowerScale User Mapping Rules combines user identities from different directory services into a single access token and then modifies it according to configured rules.We can Create, Update and Delete the User Mapping Rules using this resource. We can also import an existing User Mapping Rules from PowerScale array. Note that, User Mapping Rules is the native functionality of PowerScale. When creating the resource, we actually load User Mapping Rules from PowerScale to the resource state.\n\n\n## Example Usage\n\n<!--Start PulumiCodeChooser -->\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.UserMappingRules;\nimport com.pulumi.powerscale.UserMappingRulesArgs;\nimport com.pulumi.powerscale.inputs.UserMappingRulesParametersArgs;\nimport com.pulumi.powerscale.inputs.UserMappingRulesRuleArgs;\nimport com.pulumi.powerscale.inputs.UserMappingRulesRuleOptionsArgs;\nimport com.pulumi.powerscale.inputs.UserMappingRulesRuleOptionsDefaultUserArgs;\nimport com.pulumi.powerscale.inputs.UserMappingRulesRuleSourceUserArgs;\nimport com.pulumi.powerscale.inputs.UserMappingRulesRuleTargetUserArgs;\nimport com.pulumi.powerscale.inputs.UserMappingRulesTestMappingUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // PowerScale User Mapping Rules combines user identities from different directory services into a single access token and then modifies it according to configured rules.\n        var testUserMappingRules = new UserMappingRules(\"testUserMappingRules\", UserMappingRulesArgs.builder()\n            .parameters(UserMappingRulesParametersArgs.builder()\n                .default_unix_user(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))\n                .build())\n            .rules(            \n                UserMappingRulesRuleArgs.builder()\n                    .operator(\"append\")\n                    .options(UserMappingRulesRuleOptionsArgs.builder()\n                        .break_(true)\n                        .defaultUser(UserMappingRulesRuleOptionsDefaultUserArgs.builder()\n                            .domain(\"domain\")\n                            .user(\"Guest\")\n                            .build())\n                        .group(true)\n                        .groups(true)\n                        .user(true)\n                        .build())\n                    .sourceUser(UserMappingRulesRuleSourceUserArgs.builder()\n                        .domain(\"domain\")\n                        .user(\"Guest\")\n                        .build())\n                    .targetUser(UserMappingRulesRuleTargetUserArgs.builder()\n                        .domain(\"domain\")\n                        .user(\"testMappingRule\")\n                        .build())\n                    .build(),\n                UserMappingRulesRuleArgs.builder()\n                    .operator(\"trim\")\n                    .options(UserMappingRulesRuleOptionsArgs.builder()\n                        .break_(true)\n                        .build())\n                    .targetUser(UserMappingRulesRuleTargetUserArgs.builder()\n                        .domain(\"domain\")\n                        .user(\"testMappingRule\")\n                        .build())\n                    .build(),\n                UserMappingRulesRuleArgs.builder()\n                    .operator(\"union\")\n                    .options(UserMappingRulesRuleOptionsArgs.builder()\n                        .break_(true)\n                        .defaultUser(UserMappingRulesRuleOptionsDefaultUserArgs.builder()\n                            .domain(\"domain\")\n                            .user(\"Guest\")\n                            .build())\n                        .build())\n                    .sourceUser(UserMappingRulesRuleSourceUserArgs.builder()\n                        .user(\"admin\")\n                        .build())\n                    .targetUser(UserMappingRulesRuleTargetUserArgs.builder()\n                        .user(\"tfaccUserMappungRuleUser\")\n                        .build())\n                    .build(),\n                UserMappingRulesRuleArgs.builder()\n                    .operator(\"replace\")\n                    .options(UserMappingRulesRuleOptionsArgs.builder()\n                        .break_(true)\n                        .defaultUser(UserMappingRulesRuleOptionsDefaultUserArgs.builder()\n                            .domain(\"domain\")\n                            .user(\"Guest\")\n                            .build())\n                        .build())\n                    .sourceUser(UserMappingRulesRuleSourceUserArgs.builder()\n                        .domain(\"domain\")\n                        .user(\"admin\")\n                        .build())\n                    .targetUser(UserMappingRulesRuleTargetUserArgs.builder()\n                        .domain(\"domain\")\n                        .user(\"tfaccUserMappungRuleUser\")\n                        .build())\n                    .build(),\n                UserMappingRulesRuleArgs.builder()\n                    .operator(\"insert\")\n                    .options(UserMappingRulesRuleOptionsArgs.builder()\n                        .break_(true)\n                        .defaultUser(UserMappingRulesRuleOptionsDefaultUserArgs.builder()\n                            .domain(\"domain\")\n                            .user(\"Guest\")\n                            .build())\n                        .group(true)\n                        .groups(true)\n                        .user(true)\n                        .build())\n                    .sourceUser(UserMappingRulesRuleSourceUserArgs.builder()\n                        .domain(\"domain\")\n                        .user(\"admin\")\n                        .build())\n                    .targetUser(UserMappingRulesRuleTargetUserArgs.builder()\n                        .domain(\"domain\")\n                        .user(\"tfaccUserMappungRuleUser\")\n                        .build())\n                    .build())\n            .testMappingUsers(            \n                UserMappingRulesTestMappingUserArgs.builder()\n                    .name(\"root\")\n                    .uid(0)\n                    .build(),\n                UserMappingRulesTestMappingUserArgs.builder()\n                    .name(\"admin\")\n                    .build())\n            .zone(\"System\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # PowerScale User Mapping Rules combines user identities from different directory services into a single access token and then modifies it according to configured rules.\n  testUserMappingRules:\n    type: powerscale:UserMappingRules\n    properties:\n      # Specifies the parameters for user mapping rules.\n      parameters:\n        default_unix_user:\n          domain: domain\n          user: username\n      # Specifies the list of user mapping rules.\n      rules:\n        - operator: append\n          options:\n            break: true\n            defaultUser:\n              domain: domain\n              user: Guest\n            group: true\n            groups: true\n            user: true\n          sourceUser:\n            domain: domain\n            user: Guest\n          targetUser:\n            domain: domain\n            user: testMappingRule\n        - operator: trim\n          options:\n            break: true\n          targetUser:\n            domain: domain\n            user: testMappingRule\n        - operator: union\n          options:\n            break: true\n            defaultUser:\n              domain: domain\n              user: Guest\n          sourceUser:\n            user: admin\n          targetUser:\n            user: tfaccUserMappungRuleUser\n        - operator: replace\n          options:\n            break: true\n            defaultUser:\n              domain: domain\n              user: Guest\n          sourceUser:\n            domain: domain\n            user: admin\n          targetUser:\n            domain: domain\n            user: tfaccUserMappungRuleUser\n        - operator: insert\n          options:\n            break: true\n            defaultUser:\n              domain: domain\n              user: Guest\n            group: true\n            groups: true\n            user: true\n          sourceUser:\n            domain: domain\n            user: admin\n          targetUser:\n            domain: domain\n            user: tfaccUserMappungRuleUser\n      # List of user identity for mapping test.\n      testMappingUsers:\n        - name: root\n          uid: 0\n        - name: admin\n      # The zone to which the user mapping applies. Defaults to System\n      zone: System\n```\n<!--End PulumiCodeChooser -->\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/userMappingRules:UserMappingRules testUserMappingRules <zoneName>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/userMappingRules:UserMappingRules testUserMappingRules System\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "mappingUsers": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FUserMappingRulesMappingUser:UserMappingRulesMappingUser"
          },
          "description": "List of test mapping user result.\n"
        },
        "parameters": {
          "$ref": "#/types/powerscale:index%2FUserMappingRulesParameters:UserMappingRulesParameters",
          "description": "Specifies the parameters for user mapping rules.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FUserMappingRulesRule:UserMappingRulesRule"
          },
          "description": "Specifies the list of user mapping rules.\n"
        },
        "testMappingUsers": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FUserMappingRulesTestMappingUser:UserMappingRulesTestMappingUser"
          },
          "description": "List of user identity for mapping test.\n"
        },
        "zone": {
          "type": "string",
          "description": "The zone to which the user mapping applies.\n"
        }
      },
      "type": "object",
      "required": [
        "mappingUsers",
        "parameters",
        "rules"
      ],
      "inputProperties": {
        "parameters": {
          "$ref": "#/types/powerscale:index%2FUserMappingRulesParameters:UserMappingRulesParameters",
          "description": "Specifies the parameters for user mapping rules.\n"
        },
        "rules": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FUserMappingRulesRule:UserMappingRulesRule"
          },
          "description": "Specifies the list of user mapping rules.\n"
        },
        "testMappingUsers": {
          "type": "array",
          "items": {
            "$ref": "#/types/powerscale:index%2FUserMappingRulesTestMappingUser:UserMappingRulesTestMappingUser"
          },
          "description": "List of user identity for mapping test.\n"
        },
        "zone": {
          "type": "string",
          "description": "The zone to which the user mapping applies.\n"
        }
      },
      "stateInputs": {
        "description": "Input properties used for looking up and filtering UserMappingRules resources.\n",
        "properties": {
          "mappingUsers": {
            "type": "array",
            "items": {
              "$ref": "#/types/powerscale:index%2FUserMappingRulesMappingUser:UserMappingRulesMappingUser"
            },
            "description": "List of test mapping user result.\n"
          },
          "parameters": {
            "$ref": "#/types/powerscale:index%2FUserMappingRulesParameters:UserMappingRulesParameters",
            "description": "Specifies the parameters for user mapping rules.\n"
          },
          "rules": {
            "type": "array",
            "items": {
              "$ref": "#/types/powerscale:index%2FUserMappingRulesRule:UserMappingRulesRule"
            },
            "description": "Specifies the list of user mapping rules.\n"
          },
          "testMappingUsers": {
            "type": "array",
            "items": {
              "$ref": "#/types/powerscale:index%2FUserMappingRulesTestMappingUser:UserMappingRulesTestMappingUser"
            },
            "description": "List of user identity for mapping test.\n"
          },
          "zone": {
            "type": "string",
            "description": "The zone to which the user mapping applies.\n"
          }
        },
        "type": "object"
      }
    },
    "powerscale:index/writableSnapshot:WritableSnapshot": {
      "description": "## Example Usage\n\n## Import\n\nCopyright (c) 2024 Dell Inc., or its subsidiaries. All Rights Reserved.\n\nLicensed under the Mozilla Public License Version 2.0 (the \"License\");\n\nyou may not use this file except in compliance with the License.\n\nYou may obtain a copy of the License at\n\n    http://mozilla.org/MPL/2.0/\n\nUnless required by applicable law or agreed to in writing, software\n\ndistributed under the License is distributed on an \"AS IS\" BASIS,\n\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n\nSee the License for the specific language governing permissions and\n\nlimitations under the License.\n\nThe command is\n\n```sh\n$ pulumi import powerscale:index/writableSnapshot:WritableSnapshot writablesnap <path of the Snapshot>\n```\n\nExample:\n\n```sh\n$ pulumi import powerscale:index/writableSnapshot:WritableSnapshot writablesnap \"/ifs/abcd\"\n```\n\nafter running this command, populate the name field and other required parameters in the config file to start managing this resource.\n\nNote: running \"terraform show\" after importing shows the current config/state of the resource. You can copy/paste that config to make it easier to manage the resource.\n\n",
      "properties": {
        "dstPath": {
          "type": "string",
          "description": "The destination path for the writable snapshot.\n"
        },
        "snapId": {
          "type": "string",
          "description": "The ID of the source snapshot for the writable snapshot.\n"
        },
        "snapName": {
          "type": "string",
          "description": "The name of the source snapshot for the writable snapshot.\n"
        },
        "srcPath": {
          "type": "string",
          "description": "The source path of the writable snapshot.\n"
        },
        "state": {
          "type": "string",
          "description": "The state of the writable snapshot.\n"
        },
        "writableSnapshotId": {
          "type": "number",
          "description": "Unique identifier of the writable snapshot.\n"
        }
      },
      "type": "object",
      "required": [
        "dstPath",
        "snapId",
        "snapName",
        "srcPath",
        "state",
        "writableSnapshotId"
      ],
      "inputProperties": {
        "dstPath": {
          "type": "string",
          "description": "The destination path for the writable snapshot.\n"
        },
        "snapId": {
          "type": "string",
          "description": "The ID of the source snapshot for the writable snapshot.\n"
        }
      },
      "requiredInputs": [
        "dstPath",
        "snapId"
      ],
      "stateInputs": {
        "description": "Input properties used for looking up and filtering WritableSnapshot resources.\n",
        "properties": {
          "dstPath": {
            "type": "string",
            "description": "The destination path for the writable snapshot.\n"
          },
          "snapId": {
            "type": "string",
            "description": "The ID of the source snapshot for the writable snapshot.\n"
          },
          "snapName": {
            "type": "string",
            "description": "The name of the source snapshot for the writable snapshot.\n"
          },
          "srcPath": {
            "type": "string",
            "description": "The source path of the writable snapshot.\n"
          },
          "state": {
            "type": "string",
            "description": "The state of the writable snapshot.\n"
          },
          "writableSnapshotId": {
            "type": "number",
            "description": "Unique identifier of the writable snapshot.\n"
          }
        },
        "type": "object"
      }
    }
  },
  "functions": {
    "powerscale:index/getAccesszone:getAccesszone": {
      "description": "Access Zone Datasource. This datasource is used to query the existing Access Zone from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale Access Zones allow you to isolate data and control who can access data in each zone.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAccesszone.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetAccesszoneFilter:getAccesszoneFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getAccesszone.\n",
        "properties": {
          "accessZonesDetails": {
            "description": "List of AccessZones\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetAccesszoneAccessZonesDetail:getAccesszoneAccessZonesDetail"
            },
            "type": "array"
          },
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetAccesszoneFilter:getAccesszoneFilter"
          },
          "id": {
            "description": "Identifier\n",
            "type": "string"
          }
        },
        "required": [
          "accessZonesDetails",
          "id"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getAclsettings:getAclsettings": {
      "description": "This datasource is used to query the ACL Settings from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. You can use ACL Settings to manage file and directory permissions, referred to as access rights.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\nconst all = powerscale.getAclsettings({});\nexport const powerscaleAclsettingsDataAll = all;\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\nall = powerscale.get_aclsettings()\npulumi.export(\"powerscaleAclsettingsDataAll\", all)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var all = Powerscale.GetAclsettings.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"powerscaleAclsettingsDataAll\"] = all,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tall, err := powerscale.LookupAclsettings(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"powerscaleAclsettingsDataAll\", all)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.PowerscaleFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var all = PowerscaleFunctions.getAclsettings();\n\n        ctx.export(\"powerscaleAclsettingsDataAll\", all.applyValue(getAclsettingsResult -\u003e getAclsettingsResult));\n    }\n}\n```\n```yaml\nvariables:\n  all:\n    fn::invoke:\n      function: powerscale:getAclsettings\n      arguments: {}\noutputs:\n  # Output value of above block by executing 'terraform output' command\n  # You can use the the fetched information by the variable data.powerscale_aclsettings.all\n  powerscaleAclsettingsDataAll: ${all}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "outputs": {
        "description": "A collection of values returned by getAclsettings.\n",
        "properties": {
          "access": {
            "description": "Access checks (chmod, chown). Options: unix, windows\n",
            "type": "string"
          },
          "calcmode": {
            "description": "Displayed mode bits. Options: approx, 777\n",
            "type": "string"
          },
          "calcmodeGroup": {
            "description": "Approximate group mode bits when ACL exists. Options: group*aces, group*only\n",
            "type": "string"
          },
          "calcmodeOwner": {
            "description": "Approximate owner mode bits when ACL exists. Options: owner*aces, owner*only\n",
            "type": "string"
          },
          "calcmodeTraverse": {
            "description": "Require traverse rights in order to traverse directories with existing ACLs. Options: require, ignore\n",
            "type": "string"
          },
          "chmod": {
            "description": "chmod on files with existing ACLs. Options: remove, replace, replace*users*and*groups, merge*with*ugo*priority, merge, deny, ignore\n",
            "type": "string"
          },
          "chmod007": {
            "description": "chmod (007) on files with existing ACLs. Options: default, remove\n",
            "type": "string"
          },
          "chmodInheritable": {
            "description": "ACLs created on directories by UNIX chmod. Options: yes, no\n",
            "type": "string"
          },
          "chown": {
            "description": "chown/chgrp on files with existing ACLs. Options: owner*group*and*acl, owner*group_only, ignore\n",
            "type": "string"
          },
          "createOverSmb": {
            "description": "ACL creation over SMB. Options: allow, disallow\n",
            "type": "string"
          },
          "dosAttr": {
            "description": "Read only DOS attribute. Options: deny*smb, deny*smb*and*nfs\n",
            "type": "string"
          },
          "groupOwnerInheritance": {
            "description": "Group owner inheritance. Options: native, parent, creator\n",
            "type": "string"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "rwx": {
            "description": "Treatment of 'rwx' permissions. Options: retain, full_control\n",
            "type": "string"
          },
          "syntheticDenies": {
            "description": "Synthetic 'deny' ACEs. Options: none, remove\n",
            "type": "string"
          },
          "utimes": {
            "description": "Access check (utimes). Options: only*owner, owner*and_write\n",
            "type": "string"
          }
        },
        "required": [
          "access",
          "calcmode",
          "calcmodeGroup",
          "calcmodeOwner",
          "calcmodeTraverse",
          "chmod",
          "chmod007",
          "chmodInheritable",
          "chown",
          "createOverSmb",
          "dosAttr",
          "groupOwnerInheritance",
          "id",
          "rwx",
          "syntheticDenies",
          "utimes"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getAdsprovider:getAdsprovider": {
      "description": "This datasource is used to query the existing ADS providers from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. Joining your cluster to an AD domain allows you to perform user and group authentication.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getAdsprovider.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetAdsproviderFilter:getAdsproviderFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getAdsprovider.\n",
        "properties": {
          "adsProvidersDetails": {
            "description": "List of AdsProviders.\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetAdsproviderAdsProvidersDetail:getAdsproviderAdsProvidersDetail"
            },
            "type": "array"
          },
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetAdsproviderFilter:getAdsproviderFilter"
          },
          "id": {
            "description": "Unique identifier of the ads provider instance.\n",
            "type": "string"
          }
        },
        "required": [
          "adsProvidersDetails",
          "id"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getCluster:getCluster": {
      "description": "This datasource is used to query the existing cluster from PowerScale array. The information fetched from this data source can be used for getting the details, including `config`, `identity`, `nodes`, `internal_networks` and `acs`.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\nconst test = powerscale.getCluster({});\nexport const powerscaleCluster = test;\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\ntest = powerscale.get_cluster()\npulumi.export(\"powerscaleCluster\", test)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Powerscale.GetCluster.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"powerscaleCluster\"] = test,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := powerscale.GetCluster(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"powerscaleCluster\", test)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.PowerscaleFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = PowerscaleFunctions.getCluster();\n\n        ctx.export(\"powerscaleCluster\", test.applyValue(getClusterResult -\u003e getClusterResult));\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: powerscale:getCluster\n      arguments: {}\noutputs:\n  powerscaleCluster: ${test}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "outputs": {
        "description": "A collection of values returned by getCluster.\n",
        "properties": {
          "acs": {
            "$ref": "#/types/powerscale:index%2FgetClusterAcs:getClusterAcs",
            "description": "Cluster ACS status.\n"
          },
          "config": {
            "$ref": "#/types/powerscale:index%2FgetClusterConfig:getClusterConfig",
            "description": "The configuration information of cluster.\n"
          },
          "id": {
            "description": "Unique identifier of the cluster.\n",
            "type": "string"
          },
          "identity": {
            "$ref": "#/types/powerscale:index%2FgetClusterIdentity:getClusterIdentity",
            "description": "Unprivileged cluster information for display when logging in.\n"
          },
          "internalNetworks": {
            "$ref": "#/types/powerscale:index%2FgetClusterInternalNetworks:getClusterInternalNetworks",
            "description": "Configuration fields for internal networks.\n"
          },
          "nodes": {
            "$ref": "#/types/powerscale:index%2FgetClusterNodes:getClusterNodes",
            "description": "Cluster node information\n"
          }
        },
        "required": [
          "acs",
          "config",
          "id",
          "identity",
          "internalNetworks",
          "nodes"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getClusterEmail:getClusterEmail": {
      "description": "This datasource is used to query the Cluster Email Settings from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\nconst test = powerscale.getClusterEmail({});\nexport const powerscaleClusterEmailOutput = test;\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\ntest = powerscale.get_cluster_email()\npulumi.export(\"powerscaleClusterEmailOutput\", test)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Powerscale.GetClusterEmail.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"powerscaleClusterEmailOutput\"] = test,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := powerscale.LookupClusterEmail(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"powerscaleClusterEmailOutput\", test)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.PowerscaleFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = PowerscaleFunctions.getClusterEmail();\n\n        ctx.export(\"powerscaleClusterEmailOutput\", test.applyValue(getClusterEmailResult -\u003e getClusterEmailResult));\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: powerscale:getClusterEmail\n      arguments: {}\noutputs:\n  # Output value of above block by executing 'terraform output' command\n  # The user can use the fetched information by the variable data.powerscale_cluster_email.example\n  powerscaleClusterEmailOutput: ${test}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "outputs": {
        "description": "A collection of values returned by getClusterEmail.\n",
        "properties": {
          "id": {
            "description": "Unique identifier.\n",
            "type": "string"
          },
          "settings": {
            "$ref": "#/types/powerscale:index%2FgetClusterEmailSettings:getClusterEmailSettings",
            "description": "Cluster email notification settings.\n"
          }
        },
        "required": [
          "id",
          "settings"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getFilepoolPolicy:getFilepoolPolicy": {
      "description": "This datasource is used to query the existing File Pool Policies from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale File Pool Policy can identify logical groups of files and specify storage operations for these files.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getFilepoolPolicy.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetFilepoolPolicyFilter:getFilepoolPolicyFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getFilepoolPolicy.\n",
        "properties": {
          "filePoolPolicies": {
            "description": "List of file pool policies.\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetFilepoolPolicyFilePoolPolicy:getFilepoolPolicyFilePoolPolicy"
            },
            "type": "array"
          },
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetFilepoolPolicyFilter:getFilepoolPolicyFilter"
          },
          "id": {
            "description": "Unique identifier of the file pool policy instance.\n",
            "type": "string"
          }
        },
        "required": [
          "filePoolPolicies",
          "id"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getFilesystem:getFilesystem": {
      "description": "This datasource is used to query the existing FileSystem (Namespace Directory) from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block.It allows you to get information which includes all metadata , access control , quotas and snapshots related information for the directory.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\nconst system = powerscale.getFilesystem({\n    directoryPath: \"/ifs/tfacc_file_system_test\",\n});\nexport const powerscaleFilesystem1 = system;\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\nsystem = powerscale.get_filesystem(directory_path=\"/ifs/tfacc_file_system_test\")\npulumi.export(\"powerscaleFilesystem1\", system)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var system = Powerscale.GetFilesystem.Invoke(new()\n    {\n        DirectoryPath = \"/ifs/tfacc_file_system_test\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"powerscaleFilesystem1\"] = system,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsystem, err := powerscale.LookupFilesystem(ctx, \u0026powerscale.LookupFilesystemArgs{\n\t\t\tDirectoryPath: pulumi.StringRef(\"/ifs/tfacc_file_system_test\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"powerscaleFilesystem1\", system)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.PowerscaleFunctions;\nimport com.pulumi.powerscale.inputs.GetFilesystemArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var system = PowerscaleFunctions.getFilesystem(GetFilesystemArgs.builder()\n            .directoryPath(\"/ifs/tfacc_file_system_test\")\n            .build());\n\n        ctx.export(\"powerscaleFilesystem1\", system.applyValue(getFilesystemResult -\u003e getFilesystemResult));\n    }\n}\n```\n```yaml\nvariables:\n  system:\n    fn::invoke:\n      function: powerscale:getFilesystem\n      arguments:\n        directoryPath: /ifs/tfacc_file_system_test\noutputs:\n  powerscaleFilesystem1: ${system}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getFilesystem.\n",
        "properties": {
          "directoryPath": {
            "type": "string",
            "description": "FileSystem directory path.This specifies the path to the FileSystem(Namespace directory) which we are trying to query. Default path is `/ifs`\n"
          },
          "fileSystemsDetails": {
            "$ref": "#/types/powerscale:index%2FgetFilesystemFileSystemsDetails:getFilesystemFileSystemsDetails",
            "description": "Details of the Filesystem\n"
          },
          "id": {
            "type": "string",
            "description": "FileSystem identifier. Unique identifier for the FileSystem(Namespace directory)\n"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getFilesystem.\n",
        "properties": {
          "directoryPath": {
            "description": "FileSystem directory path.This specifies the path to the FileSystem(Namespace directory) which we are trying to query. Default path is `/ifs`\n",
            "type": "string"
          },
          "fileSystemsDetails": {
            "$ref": "#/types/powerscale:index%2FgetFilesystemFileSystemsDetails:getFilesystemFileSystemsDetails",
            "description": "Details of the Filesystem\n"
          },
          "id": {
            "description": "FileSystem identifier. Unique identifier for the FileSystem(Namespace directory)\n",
            "type": "string"
          }
        },
        "required": [
          "directoryPath",
          "fileSystemsDetails",
          "id"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getGroupnet:getGroupnet": {
      "description": "This datasource is used to query the existing Groupnets from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale Groupnet sits above subnets and pools and allows separate Access Zones to contain distinct DNS settings.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getGroupnet.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetGroupnetFilter:getGroupnetFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getGroupnet.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetGroupnetFilter:getGroupnetFilter"
          },
          "groupnets": {
            "description": "List of groupnets.\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetGroupnetGroupnet:getGroupnetGroupnet"
            },
            "type": "array"
          },
          "id": {
            "description": "Unique identifier of the groupnet instance.\n",
            "type": "string"
          }
        },
        "required": [
          "groupnets",
          "id"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getLdapProvider:getLdapProvider": {
      "description": "This datasource is used to query the existing LDAP providers from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale LDAP provider enables you to define, query, and modify directory services and resources.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getLdapProvider.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetLdapProviderFilter:getLdapProviderFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getLdapProvider.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetLdapProviderFilter:getLdapProviderFilter"
          },
          "id": {
            "description": "Unique identifier of the LDAP provider instance.\n",
            "type": "string"
          },
          "ldapProviders": {
            "description": "List of LDAP providers.\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetLdapProviderLdapProvider:getLdapProviderLdapProvider"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "ldapProviders"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getNamespaceAcl:getNamespaceAcl": {
      "description": "This datasource is used to query the Namespace ACL from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. You can use Namespace ACL to manage the access control list for a namespace.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getNamespaceAcl.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetNamespaceAclFilter:getNamespaceAclFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getNamespaceAcl.\n",
        "properties": {
          "acls": {
            "description": "Array effective configuration of the JSON array of access rights.\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetNamespaceAclAcl:getNamespaceAclAcl"
            },
            "type": "array"
          },
          "authoritative": {
            "description": "If the directory has access rights set, then this field is returned as acl. If the directory has POSIX permissions set, then this field is returned as mode.\n",
            "type": "string"
          },
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetNamespaceAclFilter:getNamespaceAclFilter"
          },
          "group": {
            "$ref": "#/types/powerscale:index%2FgetNamespaceAclGroup:getNamespaceAclGroup",
            "description": "Provides the JSON object for the group persona of the owner.\n"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "mode": {
            "description": "Provides the POSIX mode.\n",
            "type": "string"
          },
          "owner": {
            "$ref": "#/types/powerscale:index%2FgetNamespaceAclOwner:getNamespaceAclOwner",
            "description": "Provides the JSON object for the group persona of the owner.\n"
          }
        },
        "required": [
          "acls",
          "authoritative",
          "group",
          "id",
          "mode",
          "owner"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getNetworkRule:getNetworkRule": {
      "description": "This datasource is used to query the existing network rules from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getNetworkRule.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetNetworkRuleFilter:getNetworkRuleFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getNetworkRule.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetNetworkRuleFilter:getNetworkRuleFilter"
          },
          "id": {
            "description": "Unique identifier of the network rule.\n",
            "type": "string"
          },
          "networkRules": {
            "description": "List of Network Rules.\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetNetworkRuleNetworkRule:getNetworkRuleNetworkRule"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "networkRules"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getNetworkSettings:getNetworkSettings": {
      "description": "This datasource is used to query the Network Settings from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale Network Settings provide the ability to configure external network configuration on the cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\nconst example = powerscale.getNetworkSettings({});\nexport const powerscaleNetworkSettingsOutput = example;\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\nexample = powerscale.get_network_settings()\npulumi.export(\"powerscaleNetworkSettingsOutput\", example)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Powerscale.GetNetworkSettings.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"powerscaleNetworkSettingsOutput\"] = example,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := powerscale.LookupNetworkSettings(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"powerscaleNetworkSettingsOutput\", example)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.PowerscaleFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PowerscaleFunctions.getNetworkSettings();\n\n        ctx.export(\"powerscaleNetworkSettingsOutput\", example.applyValue(getNetworkSettingsResult -\u003e getNetworkSettingsResult));\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: powerscale:getNetworkSettings\n      arguments: {}\noutputs:\n  # Output value of above block by executing 'terraform output' command\n  # The user can use the fetched information by the variable data.powerscale_network_settings.example\n  powerscaleNetworkSettingsOutput: ${example}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "outputs": {
        "description": "A collection of values returned by getNetworkSettings.\n",
        "properties": {
          "defaultGroupnet": {
            "description": "Default client-side DNS settings for non-multitenancy aware programs.\n",
            "type": "string"
          },
          "id": {
            "description": "Network Settings ID.\n",
            "type": "string"
          },
          "scRebalanceDelay": {
            "description": "Delay in seconds for IP rebalance.\n",
            "type": "number"
          },
          "sourceBasedRoutingEnabled": {
            "description": "Enable or disable Source Based Routing.\n",
            "type": "boolean"
          },
          "tcpPorts": {
            "description": "List of client TCP ports.\n",
            "items": {
              "type": "number"
            },
            "type": "array"
          }
        },
        "required": [
          "defaultGroupnet",
          "id",
          "scRebalanceDelay",
          "sourceBasedRoutingEnabled",
          "tcpPorts"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getNetworkpool:getNetworkpool": {
      "description": "This datasource is used to query the existing network pools from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. You can add network interfaces to network pools to associate address ranges with a node or a group of nodes.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getNetworkpool.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetNetworkpoolFilter:getNetworkpoolFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getNetworkpool.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetNetworkpoolFilter:getNetworkpoolFilter"
          },
          "id": {
            "description": "Unique identifier of the network pool instance.\n",
            "type": "string"
          },
          "networkPoolsDetails": {
            "description": "List of Network Pools.\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetNetworkpoolNetworkPoolsDetail:getNetworkpoolNetworkPoolsDetail"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "networkPoolsDetails"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getNfsAlias:getNfsAlias": {
      "description": "This datasource is used to query the existing NFS aliases from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale provides an NFS server so you can share files on your cluster\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getNfsAlias.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetNfsAliasFilter:getNfsAliasFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getNfsAlias.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetNfsAliasFilter:getNfsAliasFilter"
          },
          "id": {
            "description": "Identifier\n",
            "type": "string"
          },
          "nfsAliases": {
            "description": "List of nfs aliases\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetNfsAliasNfsAlias:getNfsAliasNfsAlias"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "nfsAliases"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getNfsExport:getNfsExport": {
      "description": "This datasource is used to query the existing NFS exports from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale provides an NFS server so you can share files on your cluster\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getNfsExport.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetNfsExportFilter:getNfsExportFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getNfsExport.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetNfsExportFilter:getNfsExportFilter"
          },
          "id": {
            "description": "Identifier\n",
            "type": "string"
          },
          "nfsExports": {
            "description": "List of nfs exports\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetNfsExportNfsExport:getNfsExportNfsExport"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "nfsExports"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getNfsExportSettings:getNfsExportSettings": {
      "description": "This datasource is used to query the NFS Export Settings from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getNfsExportSettings.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetNfsExportSettingsFilter:getNfsExportSettingsFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getNfsExportSettings.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetNfsExportSettingsFilter:getNfsExportSettingsFilter"
          },
          "id": {
            "description": "Identifier\n",
            "type": "string"
          },
          "nfsExportSettings": {
            "$ref": "#/types/powerscale:index%2FgetNfsExportSettingsNfsExportSettings:getNfsExportSettingsNfsExportSettings",
            "description": "NFS Export Settings\n"
          }
        },
        "required": [
          "id",
          "nfsExportSettings"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getNfsGlobalSettings:getNfsGlobalSettings": {
      "description": "This datasource is used to query the NFS Global Settings from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\nconst test = powerscale.getNfsGlobalSettings({});\nexport const powerscaleNfsGlobalSettings = test;\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\ntest = powerscale.get_nfs_global_settings()\npulumi.export(\"powerscaleNfsGlobalSettings\", test)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Powerscale.GetNfsGlobalSettings.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"powerscaleNfsGlobalSettings\"] = test,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := powerscale.LookupNfsGlobalSettings(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"powerscaleNfsGlobalSettings\", test)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.PowerscaleFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = PowerscaleFunctions.getNfsGlobalSettings();\n\n        ctx.export(\"powerscaleNfsGlobalSettings\", test.applyValue(getNfsGlobalSettingsResult -\u003e getNfsGlobalSettingsResult));\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: powerscale:getNfsGlobalSettings\n      arguments: {}\noutputs:\n  # Output value of above block by executing 'terraform output' command\n  # The user can use the fetched information by the variable data.powerscale_nfs_global_settings.test\n  powerscaleNfsGlobalSettings: ${test}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "outputs": {
        "description": "A collection of values returned by getNfsGlobalSettings.\n",
        "properties": {
          "id": {
            "description": "Id of NFS Global settings. Readonly.\n",
            "type": "string"
          },
          "nfsv3Enabled": {
            "description": "True if NFSv3 is enabled.\n",
            "type": "boolean"
          },
          "nfsv3RdmaEnabled": {
            "description": "True if the RDMA is enabled for NFSv3.\n",
            "type": "boolean"
          },
          "nfsv4Enabled": {
            "description": "True if NFSv4 is enabled.\n",
            "type": "boolean"
          },
          "rpcMaxthreads": {
            "description": "Specifies the maximum number of threads in the nfsd thread pool.\n",
            "type": "number"
          },
          "rpcMinthreads": {
            "description": "Specifies the minimum number of threads in the nfsd thread pool.\n",
            "type": "number"
          },
          "rquotaEnabled": {
            "description": "True if the rquota protocol is enabled.\n",
            "type": "boolean"
          },
          "service": {
            "description": "True if the NFS service is enabled. When set to false, the NFS service is disabled.\n",
            "type": "boolean"
          }
        },
        "required": [
          "id",
          "nfsv3Enabled",
          "nfsv3RdmaEnabled",
          "nfsv4Enabled",
          "rpcMaxthreads",
          "rpcMinthreads",
          "rquotaEnabled",
          "service"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getNfsZoneSettings:getNfsZoneSettings": {
      "description": "This datasource is used to query the NFS Zone Settings from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getNfsZoneSettings.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetNfsZoneSettingsFilter:getNfsZoneSettingsFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getNfsZoneSettings.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetNfsZoneSettingsFilter:getNfsZoneSettingsFilter"
          },
          "id": {
            "description": "ID of NFS Zone Settings. Value of ID will be same as the access zone.\n",
            "type": "string"
          },
          "nfsZoneSettings": {
            "$ref": "#/types/powerscale:index%2FgetNfsZoneSettingsNfsZoneSettings:getNfsZoneSettingsNfsZoneSettings",
            "description": "NFS Zone Settings\n"
          }
        },
        "required": [
          "id",
          "nfsZoneSettings"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getNtpserver:getNtpserver": {
      "description": "This datasource is used to query the existing NTP Servers from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. You can use NTP Servers to synchronize the system time\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getNtpserver.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetNtpserverFilter:getNtpserverFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getNtpserver.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetNtpserverFilter:getNtpserverFilter"
          },
          "id": {
            "description": "Unique identifier of the NTP Server instance.\n",
            "type": "string"
          },
          "ntpServersDetails": {
            "description": "List of NTP Servers.\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetNtpserverNtpServersDetail:getNtpserverNtpServersDetail"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "ntpServersDetails"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getNtpsettings:getNtpsettings": {
      "description": "This datasource is used to query the NTP Settings from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. You can use NTP Settings to change the settings of NTP Servers\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\nconst all = powerscale.getNtpsettings({});\nexport const powerscaleNtpsettingsDataAll = all;\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\nall = powerscale.get_ntpsettings()\npulumi.export(\"powerscaleNtpsettingsDataAll\", all)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var all = Powerscale.GetNtpsettings.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"powerscaleNtpsettingsDataAll\"] = all,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tall, err := powerscale.LookupNtpsettings(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"powerscaleNtpsettingsDataAll\", all)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.PowerscaleFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var all = PowerscaleFunctions.getNtpsettings();\n\n        ctx.export(\"powerscaleNtpsettingsDataAll\", all.applyValue(getNtpsettingsResult -\u003e getNtpsettingsResult));\n    }\n}\n```\n```yaml\nvariables:\n  all:\n    fn::invoke:\n      function: powerscale:getNtpsettings\n      arguments: {}\noutputs:\n  # Output value of above block by executing 'terraform output' command\n  # You can use the the fetched information by the variable data.powerscale_ntpsettings.all\n  powerscaleNtpsettingsDataAll: ${all}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "outputs": {
        "description": "A collection of values returned by getNtpsettings.\n",
        "properties": {
          "chimers": {
            "description": "Number of nodes that will contact the NTP servers.\n",
            "type": "number"
          },
          "excludeds": {
            "description": "Node number (LNN) for nodes excluded from chimer duty.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "keyFile": {
            "description": "Path to NTP key file within /ifs.\n",
            "type": "string"
          }
        },
        "required": [
          "chimers",
          "excludeds",
          "id",
          "keyFile"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getQuota:getQuota": {
      "description": "This datasource is used to query the existing quotas from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. Quota module monitors and enforces administrator-defined storage limits\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getQuota.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetQuotaFilter:getQuotaFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getQuota.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetQuotaFilter:getQuotaFilter"
          },
          "id": {
            "description": "Identifier\n",
            "type": "string"
          },
          "quotas": {
            "description": "List of Quotas\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetQuotaQuota:getQuotaQuota"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "quotas"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getRole:getRole": {
      "description": "This datasource is used to query the existing roles from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. You can permit and limit access to administrative areas of your cluster on a per-user basis through roles.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getRole.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetRoleFilter:getRoleFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getRole.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetRoleFilter:getRoleFilter"
          },
          "id": {
            "description": "Unique identifier of the network pool instance.\n",
            "type": "string"
          },
          "rolesDetails": {
            "description": "List of Roles.\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetRoleRolesDetail:getRoleRolesDetail"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "rolesDetails"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getRoleprivilege:getRoleprivilege": {
      "description": "This datasource is used to query the existing Role Privileges from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. You can designate certain privileges as no permission, read, execute, or write when adding the privilege to a role.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getRoleprivilege.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetRoleprivilegeFilter:getRoleprivilegeFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getRoleprivilege.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetRoleprivilegeFilter:getRoleprivilegeFilter"
          },
          "id": {
            "description": "Unique identifier of the Role Privilege instance.\n",
            "type": "string"
          },
          "rolePrivilegesDetails": {
            "description": "List of Role Privileges.\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetRoleprivilegeRolePrivilegesDetail:getRoleprivilegeRolePrivilegesDetail"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "rolePrivilegesDetails"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getS3Bucket:getS3Bucket": {
      "description": "Access S3 Buckets. This datasource is used to query the existing S3 Bucket from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale S3 Bucket map to the PowerScale file system as base directory for Objects.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getS3Bucket.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetS3BucketFilter:getS3BucketFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getS3Bucket.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetS3BucketFilter:getS3BucketFilter"
          },
          "id": {
            "description": "Identifier\n",
            "type": "string"
          },
          "s3Buckets": {
            "description": "List of S3 Buckets\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetS3BucketS3Bucket:getS3BucketS3Bucket"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "s3Buckets"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getSmartpoolSettings:getSmartpoolSettings": {
      "description": "This datasource is used to query the SmartPools settings from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale SmartPools settings provide the ability to configure SmartPools on the cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\nconst settings = powerscale.getSmartpoolSettings({});\nexport const powerscaleSmartpoolSettings = settings;\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\nsettings = powerscale.get_smartpool_settings()\npulumi.export(\"powerscaleSmartpoolSettings\", settings)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var settings = Powerscale.GetSmartpoolSettings.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"powerscaleSmartpoolSettings\"] = settings,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tsettings, err := powerscale.LookupSmartpoolSettings(ctx, \u0026powerscale.LookupSmartpoolSettingsArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"powerscaleSmartpoolSettings\", settings)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.PowerscaleFunctions;\nimport com.pulumi.powerscale.inputs.GetSmartpoolSettingsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var settings = PowerscaleFunctions.getSmartpoolSettings();\n\n        ctx.export(\"powerscaleSmartpoolSettings\", settings.applyValue(getSmartpoolSettingsResult -\u003e getSmartpoolSettingsResult));\n    }\n}\n```\n```yaml\nvariables:\n  settings:\n    fn::invoke:\n      function: powerscale:getSmartpoolSettings\n      arguments: {}\noutputs:\n  powerscaleSmartpoolSettings: ${settings}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSmartpoolSettings.\n",
        "properties": {
          "defaultTransferLimitPct": {
            "type": "number",
            "description": "Applies to all storagepools that fall back on the default transfer limit. Stop moving files to this pool when this limit is met. The value must be between 0 and 100. Only available for PowerScale 9.5 and above.\n"
          },
          "defaultTransferLimitState": {
            "type": "string",
            "description": "How the default transfer limit value is applied.Only available for PowerScale 9.5 and above.\n"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getSmartpoolSettings.\n",
        "properties": {
          "defaultTransferLimitPct": {
            "description": "Applies to all storagepools that fall back on the default transfer limit. Stop moving files to this pool when this limit is met. The value must be between 0 and 100. Only available for PowerScale 9.5 and above.\n",
            "type": "number"
          },
          "defaultTransferLimitState": {
            "description": "How the default transfer limit value is applied.Only available for PowerScale 9.5 and above.\n",
            "type": "string"
          },
          "globalNamespaceAccelerationEnabled": {
            "description": "Enable global namespace acceleration.\n",
            "type": "boolean"
          },
          "globalNamespaceAccelerationState": {
            "description": "Whether or not namespace operation optimizations are currently in effect.\n",
            "type": "string"
          },
          "id": {
            "description": "Id of SmartPools settings. Readonly. Fixed value of \"smartpools_settings\"\n",
            "type": "string"
          },
          "manageIoOptimization": {
            "description": "Manage I/O optimization settings.\n",
            "type": "boolean"
          },
          "manageIoOptimizationApplyToFiles": {
            "description": "Apply to files with manually-managed I/O optimization settings.\n",
            "type": "boolean"
          },
          "manageProtection": {
            "description": "Manage protection settings.\n",
            "type": "boolean"
          },
          "manageProtectionApplyToFiles": {
            "description": "Apply to files with manually-managed protection.\n",
            "type": "boolean"
          },
          "protectDirectoriesOneLevelHigher": {
            "description": "Increase directory protection to a higher requested protection than its contents.\n",
            "type": "boolean"
          },
          "spilloverEnabled": {
            "description": "Enable global spillover.\n",
            "type": "boolean"
          },
          "spilloverTarget": {
            "$ref": "#/types/powerscale:index%2FgetSmartpoolSettingsSpilloverTarget:getSmartpoolSettingsSpilloverTarget",
            "description": "Spillover data target.\n"
          },
          "ssdL3CacheDefaultEnabled": {
            "description": "Use SSDs as L3 cache by default for new node pools.\n",
            "type": "boolean"
          },
          "ssdQabMirrors": {
            "description": "Controls number of mirrors of QAB blocks to place on SSDs.\n",
            "type": "string"
          },
          "ssdSystemBtreeMirrors": {
            "description": "Controls number of mirrors of system B-tree blocks to place on SSDs.\n",
            "type": "string"
          },
          "ssdSystemDeltaMirrors": {
            "description": "Controls number of mirrors of system delta blocks to place on SSDs.\n",
            "type": "string"
          },
          "virtualHotSpareDenyWrites": {
            "description": "Deny data writes to reserved disk space\n",
            "type": "boolean"
          },
          "virtualHotSpareHideSpare": {
            "description": "Subtract the space reserved for the virtual hot spare when calculating available free space\n",
            "type": "boolean"
          },
          "virtualHotSpareLimitDrives": {
            "description": "The number of drives to reserve for the virtual hot spare, from 0-4.\n",
            "type": "number"
          },
          "virtualHotSpareLimitPercent": {
            "description": "The percent space to reserve for the virtual hot spare, from 0-20.\n",
            "type": "number"
          }
        },
        "required": [
          "defaultTransferLimitPct",
          "defaultTransferLimitState",
          "globalNamespaceAccelerationEnabled",
          "globalNamespaceAccelerationState",
          "id",
          "manageIoOptimization",
          "manageIoOptimizationApplyToFiles",
          "manageProtection",
          "manageProtectionApplyToFiles",
          "protectDirectoriesOneLevelHigher",
          "spilloverEnabled",
          "spilloverTarget",
          "ssdL3CacheDefaultEnabled",
          "ssdQabMirrors",
          "ssdSystemBtreeMirrors",
          "ssdSystemDeltaMirrors",
          "virtualHotSpareDenyWrites",
          "virtualHotSpareHideSpare",
          "virtualHotSpareLimitDrives",
          "virtualHotSpareLimitPercent"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getSmbServerSettings:getSmbServerSettings": {
      "description": "This datasource is used to query the SMB Server Settings from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSmbServerSettings.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetSmbServerSettingsFilter:getSmbServerSettingsFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getSmbServerSettings.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetSmbServerSettingsFilter:getSmbServerSettingsFilter"
          },
          "id": {
            "description": "ID of SMB Server Settings.\n",
            "type": "string"
          },
          "smbServerSettings": {
            "$ref": "#/types/powerscale:index%2FgetSmbServerSettingsSmbServerSettings:getSmbServerSettingsSmbServerSettings",
            "description": "SMB Server Settings\n"
          }
        },
        "required": [
          "id",
          "smbServerSettings"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getSmbShare:getSmbShare": {
      "description": "This datasource is used to query the existing SMB shares from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale SMB shares provide clients network access to file system resources on the cluster.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSmbShare.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetSmbShareFilter:getSmbShareFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getSmbShare.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetSmbShareFilter:getSmbShareFilter"
          },
          "id": {
            "description": "Identifier\n",
            "type": "string"
          },
          "smbShares": {
            "description": "List of smb shares\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetSmbShareSmbShare:getSmbShareSmbShare"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "smbShares"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getSmbShareSettings:getSmbShareSettings": {
      "description": "This datasource is used to query the existing SMB shares settings from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale SMB shares settings provide clients network access to file system resources on the cluster.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSmbShareSettings.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetSmbShareSettingsFilter:getSmbShareSettingsFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getSmbShareSettings.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetSmbShareSettingsFilter:getSmbShareSettingsFilter"
          },
          "id": {
            "description": "Identifier\n",
            "type": "string"
          },
          "smbShareSettings": {
            "$ref": "#/types/powerscale:index%2FgetSmbShareSettingsSmbShareSettings:getSmbShareSettingsSmbShareSettings"
          }
        },
        "required": [
          "id",
          "smbShareSettings"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getSnapshot:getSnapshot": {
      "description": "This datasource is used to query the existing Snapshots from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale Snapshots is a logical pointer to data that is stored on a cluster at a specific point in time.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSnapshot.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetSnapshotFilter:getSnapshotFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getSnapshot.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetSnapshotFilter:getSnapshotFilter"
          },
          "id": {
            "description": "Identifier\n",
            "type": "string"
          },
          "snapshotsDetails": {
            "description": "List of Snapshots\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetSnapshotSnapshotsDetail:getSnapshotSnapshotsDetail"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "snapshotsDetails"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getSnapshotSchedule:getSnapshotSchedule": {
      "description": "This datasource is used to query the existing Snapshot Schedules from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. Uses are able to see information like duration, path, schedule, name etc. for the existing snapshot schedules\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSnapshotSchedule.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetSnapshotScheduleFilter:getSnapshotScheduleFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getSnapshotSchedule.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetSnapshotScheduleFilter:getSnapshotScheduleFilter"
          },
          "id": {
            "description": "Identifier\n",
            "type": "string"
          },
          "schedules": {
            "description": "List of snapshot schedules\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetSnapshotScheduleSchedule:getSnapshotScheduleSchedule"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "schedules"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getStoragepoolTier:getStoragepoolTier": {
      "description": "This datasource is used to query the Storagepool tiers from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale Storagepool tiers provide the ability to configure Storagepool tiers on the cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\nconst exampleStoragepoolTier = powerscale.getStoragepoolTier({});\nexport const powerscaleStoragepoolTier = exampleStoragepoolTier;\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\nexample_storagepool_tier = powerscale.get_storagepool_tier()\npulumi.export(\"powerscaleStoragepoolTier\", example_storagepool_tier)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleStoragepoolTier = Powerscale.GetStoragepoolTier.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"powerscaleStoragepoolTier\"] = exampleStoragepoolTier,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texampleStoragepoolTier, err := powerscale.LookupStoragepoolTier(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"powerscaleStoragepoolTier\", exampleStoragepoolTier)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.PowerscaleFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleStoragepoolTier = PowerscaleFunctions.getStoragepoolTier();\n\n        ctx.export(\"powerscaleStoragepoolTier\", exampleStoragepoolTier.applyValue(getStoragepoolTierResult -\u003e getStoragepoolTierResult));\n    }\n}\n```\n```yaml\nvariables:\n  exampleStoragepoolTier:\n    fn::invoke:\n      function: powerscale:getStoragepoolTier\n      arguments: {}\noutputs:\n  powerscaleStoragepoolTier: ${exampleStoragepoolTier}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "outputs": {
        "description": "A collection of values returned by getStoragepoolTier.\n",
        "properties": {
          "id": {
            "description": "Id of Storagepool tiers. Readonly. Fixed value of \"storagepool_tiers\"\n",
            "type": "string"
          },
          "storagepoolTiers": {
            "description": "List of Storagepool tiers\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetStoragepoolTierStoragepoolTier:getStoragepoolTierStoragepoolTier"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "storagepoolTiers"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getSubnet:getSubnet": {
      "description": "This datasource is used to query the existing Subnets from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSubnet.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetSubnetFilter:getSubnetFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getSubnet.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetSubnetFilter:getSubnetFilter"
          },
          "id": {
            "description": "Unique identifier\n",
            "type": "string"
          },
          "subnets": {
            "description": "List of subnets\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetSubnetSubnet:getSubnetSubnet"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "subnets"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getSynciqGlobalSettings:getSynciqGlobalSettings": {
      "description": "This datasource is used to query the SyncIQ Global Settings from PowerScale array. The information fetched from this datasource can be used for getting the details.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\nconst all = powerscale.getSynciqGlobalSettings({});\nexport const powerscaleSynciqGlobalSettingsAll = all;\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\nall = powerscale.get_synciq_global_settings()\npulumi.export(\"powerscaleSynciqGlobalSettingsAll\", all)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var all = Powerscale.GetSynciqGlobalSettings.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"powerscaleSynciqGlobalSettingsAll\"] = all,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tall, err := powerscale.LookupSynciqGlobalSettings(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"powerscaleSynciqGlobalSettingsAll\", all)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.PowerscaleFunctions;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var all = PowerscaleFunctions.getSynciqGlobalSettings();\n\n        ctx.export(\"powerscaleSynciqGlobalSettingsAll\", all.applyValue(getSynciqGlobalSettingsResult -\u003e getSynciqGlobalSettingsResult));\n    }\n}\n```\n```yaml\nvariables:\n  all:\n    fn::invoke:\n      function: powerscale:getSynciqGlobalSettings\n      arguments: {}\noutputs:\n  # Output value of above block by executing 'terraform output' command\n  # You can use the the fetched information by the variable data.powerscale_synciq_global_settings.all\n  powerscaleSynciqGlobalSettingsAll: ${all}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "outputs": {
        "description": "A collection of values returned by getSynciqGlobalSettings.\n",
        "properties": {
          "bandwidthReservationReserveAbsolute": {
            "description": "The amount of SyncIQ bandwidth to reserve in kb/s for policies that did not specify a bandwidth reservation. This field takes precedence over bandwidth*reservation*reserve_percentage.\n",
            "type": "number"
          },
          "bandwidthReservationReservePercentage": {
            "description": "The percentage of SyncIQ bandwidth to reserve for policies that did not specify a bandwidth reservation.\n",
            "type": "number"
          },
          "clusterCertificateId": {
            "description": "The ID of this cluster's certificate being used for encryption.\n",
            "type": "string"
          },
          "encryptionCipherList": {
            "description": "The cipher list being used with encryption. For SyncIQ targets, this list serves as a list of supported ciphers. For SyncIQ sources, the list of ciphers will be attempted to be used in order.\n",
            "type": "string"
          },
          "encryptionRequired": {
            "description": "If true, requires all SyncIQ policies to utilize encrypted communications.\n",
            "type": "boolean"
          },
          "forceInterface": {
            "description": "NOTE: This field should not be changed without the help of PowerScale support.  Default for the \"force*interface\" property that will be applied to each new sync policy unless otherwise specified at the time of policy creation.  Determines whether data is sent only through the subnet and pool specified in the \"source*network\" field. This option can be useful if there are multiple interfaces for the given source subnet.\n",
            "type": "boolean"
          },
          "id": {
            "description": "The provider-assigned unique ID for this managed resource.\n",
            "type": "string"
          },
          "maxConcurrentJobs": {
            "description": "The max concurrent jobs that SyncIQ can support. This number is based on the size of the current cluster and the current SyncIQ worker throttle rule.\n",
            "type": "number"
          },
          "ocspAddress": {
            "description": "The address of the OCSP responder to which to connect.\n",
            "type": "string"
          },
          "ocspIssuerCertificateId": {
            "description": "The ID of the certificate authority that issued the certificate whose revocation status is being checked.\n",
            "type": "string"
          },
          "passwordSet": {
            "description": "Indicates if a password is set for authentication. Password value is not shown with GET.\n",
            "type": "boolean"
          },
          "preferredRpoAlert": {
            "description": "If specified, display as default RPO Alert value for new policy creation via WebUI\n",
            "type": "number"
          },
          "renegotiationPeriod": {
            "description": "If specified, the duration to persist encrypted connection before forcing a renegotiation.\n",
            "type": "number"
          },
          "reportEmails": {
            "description": "Email sync reports to these addresses.\n",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "reportMaxAge": {
            "description": "The default length of time (in seconds) a policy report will be stored.\n",
            "type": "number"
          },
          "reportMaxCount": {
            "description": "The default maximum number of reports to retain for a policy.\n",
            "type": "number"
          },
          "restrictTargetNetwork": {
            "description": "Default for the \"restrict*target*network\" property that will be applied to each new sync policy unless otherwise specified at the time of policy creation.  If you specify true, and you specify a SmartConnect zone in the \"target_host\" field, replication policies will connect only to nodes in the specified SmartConnect zone.  If you specify false, replication policies are not restricted to specific nodes on the target cluster.\n",
            "type": "boolean"
          },
          "rpoAlerts": {
            "description": "If disabled, no RPO alerts will be generated.\n",
            "type": "boolean"
          },
          "service": {
            "description": "Specifies if the SyncIQ service currently on, paused, or off.  If paused, all sync jobs will be paused.  If turned off, all jobs will be canceled.\n",
            "type": "string"
          },
          "serviceHistoryMaxAge": {
            "description": "Maximum age of service information to maintain, in seconds.\n",
            "type": "number"
          },
          "serviceHistoryMaxCount": {
            "description": "Maximum number of historical service information records to maintain.\n",
            "type": "number"
          },
          "sourceNetwork": {
            "$ref": "#/types/powerscale:index%2FgetSynciqGlobalSettingsSourceNetwork:getSynciqGlobalSettingsSourceNetwork",
            "description": "Restricts replication policies on the local cluster to running on the specified subnet and pool.\n"
          },
          "twChkptInterval": {
            "description": "The interval (in seconds) in which treewalk syncs are forced to checkpoint.\n",
            "type": "number"
          },
          "useWorkersPerNode": {
            "description": "If enabled, SyncIQ will use the deprecated workers*per*node field with worker pools functionality and limit workers accordingly.\n",
            "type": "boolean"
          }
        },
        "required": [
          "bandwidthReservationReserveAbsolute",
          "bandwidthReservationReservePercentage",
          "clusterCertificateId",
          "encryptionCipherList",
          "encryptionRequired",
          "forceInterface",
          "id",
          "maxConcurrentJobs",
          "ocspAddress",
          "ocspIssuerCertificateId",
          "passwordSet",
          "preferredRpoAlert",
          "renegotiationPeriod",
          "reportEmails",
          "reportMaxAge",
          "reportMaxCount",
          "restrictTargetNetwork",
          "rpoAlerts",
          "service",
          "serviceHistoryMaxAge",
          "serviceHistoryMaxCount",
          "sourceNetwork",
          "twChkptInterval",
          "useWorkersPerNode"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getSynciqPeerCertificate:getSynciqPeerCertificate": {
      "description": "This datasource is used to query the existing SyncIQ Peer Certificates from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSynciqPeerCertificate.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetSynciqPeerCertificateFilter:getSynciqPeerCertificateFilter",
            "description": "Filters for fetching SyncIQ Peer Certificate.\n"
          },
          "id": {
            "type": "string",
            "description": "ID of the SyncIQ Peer Certificate to be fetched. If not provided, all the certificates will be fetched.\n"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getSynciqPeerCertificate.\n",
        "properties": {
          "certificates": {
            "description": "List of certificates fetched.\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetSynciqPeerCertificateCertificate:getSynciqPeerCertificateCertificate"
            },
            "type": "array"
          },
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetSynciqPeerCertificateFilter:getSynciqPeerCertificateFilter",
            "description": "Filters for fetching SyncIQ Peer Certificate.\n"
          },
          "id": {
            "description": "ID of the SyncIQ Peer Certificate to be fetched. If not provided, all the certificates will be fetched.\n",
            "type": "string"
          }
        },
        "required": [
          "certificates",
          "id"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getSynciqPolicy:getSynciqPolicy": {
      "description": "This datasource is used to query the existing SyncIQ Policies from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSynciqPolicy.\n",
        "properties": {
          "id": {
            "type": "string",
            "description": "ID\n"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getSynciqPolicy.\n",
        "properties": {
          "id": {
            "description": "ID\n",
            "type": "string"
          },
          "policies": {
            "description": "Policies\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetSynciqPolicyPolicy:getSynciqPolicyPolicy"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "policies"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getSynciqReplicationJob:getSynciqReplicationJob": {
      "description": "This datasource is used to query the SyncIQ replication jobs from PowerScale array. The information fetched from this datasource can be used for getting the details.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSynciqReplicationJob.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetSynciqReplicationJobFilter:getSynciqReplicationJobFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getSynciqReplicationJob.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetSynciqReplicationJobFilter:getSynciqReplicationJobFilter"
          },
          "id": {
            "description": "Identifier.\n",
            "type": "string"
          },
          "synciqJobs": {
            "description": "List of user groups.\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetSynciqReplicationJobSynciqJob:getSynciqReplicationJobSynciqJob"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "synciqJobs"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getSynciqReplicationReport:getSynciqReplicationReport": {
      "description": "## Example Usage\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSynciqReplicationReport.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetSynciqReplicationReportFilter:getSynciqReplicationReportFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getSynciqReplicationReport.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetSynciqReplicationReportFilter:getSynciqReplicationReportFilter"
          },
          "id": {
            "description": "Unique identifier of the network pool instance.\n",
            "type": "string"
          },
          "replicationReports": {
            "items": {
              "$ref": "#/types/powerscale:index%2FgetSynciqReplicationReportReplicationReport:getSynciqReplicationReportReplicationReport"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "replicationReports"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getSynciqRule:getSynciqRule": {
      "description": "This datasource is used to query the existing SyncIQ Replication Rules from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getSynciqRule.\n",
        "properties": {
          "id": {
            "type": "string",
            "description": "Unique identifier of the performance rule.\n"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getSynciqRule.\n",
        "properties": {
          "id": {
            "description": "Unique identifier of the performance rule.\n",
            "type": "string"
          },
          "rules": {
            "items": {
              "$ref": "#/types/powerscale:index%2FgetSynciqRuleRule:getSynciqRuleRule"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "rules"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getUser:getUser": {
      "description": "This datasource is used to query the existing Users from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale User allows you to authenticate through a local authentication provider. Remote users are restricted to read-only operations.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getUser.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetUserFilter:getUserFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getUser.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetUserFilter:getUserFilter"
          },
          "id": {
            "description": "Unique identifier of the user instance.\n",
            "type": "string"
          },
          "users": {
            "description": "List of users.\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetUserUser:getUserUser"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "users"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getUserGroup:getUserGroup": {
      "description": "This datasource is used to query the existing User Groups from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale User Group allows you to do operations on a set of users, groups and well-knowns.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getUserGroup.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetUserGroupFilter:getUserGroupFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getUserGroup.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetUserGroupFilter:getUserGroupFilter"
          },
          "id": {
            "description": "Unique identifier of the user group instance.\n",
            "type": "string"
          },
          "userGroups": {
            "description": "List of user groups.\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetUserGroupUserGroup:getUserGroupUserGroup"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "userGroups"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getUserMappingRules:getUserMappingRules": {
      "description": "This datasource is used to query the User Mapping Rules from PowerScale array. The information fetched from this datasource can be used for getting the details or for further processing in resource block. PowerScale User Mapping Rules combines user identities from different directory services into a single access token and then modifies it according to configured rules.\n\n",
      "inputs": {
        "description": "A collection of arguments for invoking getUserMappingRules.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetUserMappingRulesFilter:getUserMappingRulesFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getUserMappingRules.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetUserMappingRulesFilter:getUserMappingRulesFilter"
          },
          "id": {
            "description": "User Mapping Rules ID.\n",
            "type": "string"
          },
          "userMappingRules": {
            "description": "Specifies the list of user mapping rules.\n",
            "items": {
              "$ref": "#/types/powerscale:index%2FgetUserMappingRulesUserMappingRule:getUserMappingRulesUserMappingRule"
            },
            "type": "array"
          },
          "userMappingRulesParameters": {
            "$ref": "#/types/powerscale:index%2FgetUserMappingRulesUserMappingRulesParameters:getUserMappingRulesUserMappingRulesParameters",
            "description": "Specifies the parameters for user mapping rules.\n"
          }
        },
        "required": [
          "id",
          "userMappingRules",
          "userMappingRulesParameters"
        ],
        "type": "object"
      }
    },
    "powerscale:index/getWritableSnapshot:getWritableSnapshot": {
      "description": "## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as powerscale from \"@pulumi/powerscale\";\n\nconst allSnaps = powerscale.getWritableSnapshot({});\nconst test = powerscale.getWritableSnapshot({\n    filter: {\n        limit: 5,\n        path: \"/ifs/writable_snap\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_powerscale as powerscale\n\nall_snaps = powerscale.get_writable_snapshot()\ntest = powerscale.get_writable_snapshot(filter={\n    \"limit\": 5,\n    \"path\": \"/ifs/writable_snap\",\n})\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Powerscale = Pulumi.Powerscale;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var allSnaps = Powerscale.GetWritableSnapshot.Invoke();\n\n    var test = Powerscale.GetWritableSnapshot.Invoke(new()\n    {\n        Filter = new Powerscale.Inputs.GetWritableSnapshotFilterInputArgs\n        {\n            Limit = 5,\n            Path = \"/ifs/writable_snap\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-terraform-provider/sdks/go/powerscale/powerscale\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := powerscale.LookupWritableSnapshot(ctx, \u0026powerscale.LookupWritableSnapshotArgs{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = powerscale.LookupWritableSnapshot(ctx, \u0026powerscale.LookupWritableSnapshotArgs{\n\t\t\tFilter: powerscale.GetWritableSnapshotFilter{\n\t\t\t\tLimit: pulumi.Float64Ref(5),\n\t\t\t\tPath:  pulumi.StringRef(\"/ifs/writable_snap\"),\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.powerscale.PowerscaleFunctions;\nimport com.pulumi.powerscale.inputs.GetWritableSnapshotArgs;\nimport com.pulumi.powerscale.inputs.GetWritableSnapshotFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var allSnaps = PowerscaleFunctions.getWritableSnapshot();\n\n        final var test = PowerscaleFunctions.getWritableSnapshot(GetWritableSnapshotArgs.builder()\n            .filter(GetWritableSnapshotFilterArgs.builder()\n                .limit(5)\n                .path(\"/ifs/writable_snap\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  allSnaps:\n    fn::invoke:\n      function: powerscale:getWritableSnapshot\n      arguments: {}\n  test:\n    fn::invoke:\n      function: powerscale:getWritableSnapshot\n      arguments:\n        filter:\n          limit: 5\n          path: /ifs/writable_snap\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
      "inputs": {
        "description": "A collection of arguments for invoking getWritableSnapshot.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetWritableSnapshotFilter:getWritableSnapshotFilter"
          }
        },
        "type": "object"
      },
      "outputs": {
        "description": "A collection of values returned by getWritableSnapshot.\n",
        "properties": {
          "filter": {
            "$ref": "#/types/powerscale:index%2FgetWritableSnapshotFilter:getWritableSnapshotFilter"
          },
          "id": {
            "description": "Identifier\n",
            "type": "string"
          },
          "writables": {
            "items": {
              "$ref": "#/types/powerscale:index%2FgetWritableSnapshotWritable:getWritableSnapshotWritable"
            },
            "type": "array"
          }
        },
        "required": [
          "id",
          "writables"
        ],
        "type": "object"
      }
    }
  },
  "parameterization": {
    "baseProvider": {
      "name": "terraform-provider",
      "version": "0.10.0"
    },
    "parameter": "eyJyZW1vdGUiOnsidXJsIjoicmVnaXN0cnkub3BlbnRvZnUub3JnL2RlbGwvcG93ZXJzY2FsZSIsInZlcnNpb24iOiIxLjguMCJ9fQ=="
  }
}
