'1.0',
'info' => ['style' => 'RPC', 'product' => 'NAS', 'version' => '2017-06-26'],
'directories' => [
[
'children' => ['OpenNASService'],
'type' => 'directory',
'title' => 'Open service',
],
[
'children' => ['CreateFileSystem', 'DeleteFileSystem', 'ModifyFileSystem', 'DescribeFileSystems', 'UpgradeFileSystem', 'DescribeFilesystemsAssociatedHpnZones'],
'type' => 'directory',
'title' => 'File systems',
],
[
'children' => ['CreateMountTarget', 'DeleteMountTarget', 'ModifyMountTarget', 'DescribeMountTargets', 'DescribeMountedClients'],
'type' => 'directory',
'title' => 'Mount targets',
],
[
'children' => ['CreateAccessPoint', 'DescribeAccessPoint', 'DescribeAccessPoints'],
'type' => 'directory',
'title' => 'AccessPoint',
],
[
'children' => ['CreateAccessGroup', 'DeleteAccessGroup', 'ModifyAccessGroup', 'DescribeAccessGroups', 'CreateAccessRule', 'DeleteAccessRule', 'ModifyAccessRule', 'DescribeAccessRules'],
'type' => 'directory',
'title' => 'Permission groups',
],
[
'children' => ['CreateLifecyclePolicy', 'UpdateLifecyclePolicy', 'DeleteLifecyclePolicy', 'ModifyLifecyclePolicy', 'GetDirectoryOrFileProperties', 'DescribeLifecyclePolicies', 'StartLifecyclePolicyExecution', 'StopLifecyclePolicyExecution', 'DescribeLifecyclePolicyLogs', 'ListDirectoriesAndFiles'],
'type' => 'directory',
'title' => 'Lifecycle management',
],
[
'children' => ['CreateRecycleBinRestoreJob', 'CreateRecycleBinDeleteJob'],
'type' => 'directory',
'title' => 'Recycle bin',
],
[
'children' => ['CreateFileset', 'DeleteFileset', 'ModifyFileset', 'GetFileset', 'DescribeFilesets', 'SetFilesetQuota'],
'type' => 'directory',
'title' => 'Fileset',
],
[
'children' => ['CreateDataFlow', 'DeleteDataFlow', 'ModifyDataFlow', 'DescribeDataFlows', 'StopDataFlow', 'StartDataFlow', 'CreateDataFlowTask', 'CreateDataFlowSubTask', 'CancelDataFlowTask', 'DescribeDataFlowTasks', 'DescribeDataFlowSubTasks', 'ApplyDataFlowAutoRefresh', 'CancelDataFlowAutoRefresh', 'ModifyDataFlowAutoRefresh'],
'type' => 'directory',
'title' => 'Data flows',
],
[
'children' => ['CreateProtocolService', 'DeleteProtocolService', 'ModifyProtocolService', 'DescribeProtocolService', 'CreateProtocolMountTarget', 'DeleteProtocolMountTarget', 'ModifyProtocolMountTarget', 'DescribeProtocolMountTarget', 'GetProtocolMountTarget'],
'type' => 'directory',
'title' => 'Protocol service',
],
[
'children' => ['DetachVscFromFilesystems', 'AttachVscToFilesystems', 'DescribeFilesystemsVscAttachInfo'],
'type' => 'directory',
'title' => 'Virtual Storage Channel',
],
[
'children' => [
[
'children' => ['AddClientToBlackList', 'DescribeBlackListClients', 'RemoveClientFromBlackList'],
'type' => 'directory',
'title' => '黑名单',
],
[
'children' => ['CreateLDAPConfig', 'DeleteLDAPConfig', 'ModifyLDAPConfig'],
'type' => 'directory',
'title' => 'LDAP',
],
],
'type' => 'directory',
'title' => '其他-不发布文档',
],
[
'children' => [
'AddTags', 'ApplyAutoSnapshotPolicy', 'CancelAutoSnapshotPolicy', 'CancelDataFlowSubTask', 'CancelDirQuota', 'CancelFilesetQuota', 'CancelLifecycleRetrieveJob', 'CancelRecycleBinJob', 'ChangeResourceGroup', 'CreateAgenticSpace', 'CreateAutoSnapshotPolicy', 'CreateDir', 'CreateFile', 'CreateLifecycleRetrieveJob', 'CreateLogAnalysis', 'CreateSnapshot', 'DeleteAccessPoint', 'DeleteAgenticSpace', 'DeleteAutoSnapshotPolicy', 'DeleteLogAnalysis',
'DeleteSnapshot', 'DescribeAgenticSpaces', 'DescribeAutoSnapshotPolicies', 'DescribeAutoSnapshotTasks', 'DescribeDirQuotas', 'DescribeFileSystemStatistics', 'DescribeLogAnalysis', 'DescribeNfsAcl', 'DescribeRegions', 'DescribeSmbAcl', 'DescribeSnapshots', 'DescribeStoragePackages', 'DescribeZones', 'DisableAndCleanRecycleBin', 'DisableNfsAcl', 'DisableSmbAcl', 'EnableNfsAcl', 'EnableRecycleBin', 'EnableSmbAcl', 'GetAgenticSpace',
'GetRecycleBinAttribute', 'ListAccessPoints', 'ListLifecycleRetrieveJobs', 'ListRecentlyRecycledDirectories', 'ListRecycleBinJobs', 'ListRecycledDirectoriesAndFiles', 'ListTagResources', 'ModifyAccessPoint', 'ModifyAgenticSpace', 'ModifyAutoSnapshotPolicy', 'ModifySmbAcl', 'RemoveTags', 'ResetFileSystem', 'RetryLifecycleRetrieveJob', 'SetAgenticSpaceQuota', 'SetDirQuota', 'TagResources', 'UntagResources', 'UpdateRecycleBinAttribute',
],
'title' => 'Others',
'type' => 'directory',
],
],
'components' => [
'schemas' => [],
],
'apis' => [
'AddClientToBlackList' => [
'summary' => 'Adds a client to the blacklist of a Cloud Parallel File Storage (CPFS) file system and revokes the write access from the client. The blacklist serves as an I/O fence.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => true,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13916',
'abilityTreeNodes' => ['FEATUREnas2SBOJD'],
'autoTest' => false,
'notSupportAutoTestReason' => '弃用接口',
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the file system resides.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'example' => '1ca404a348', 'title' => ''],
],
[
'name' => 'ClientIP',
'in' => 'query',
'schema' => ['description' => 'The IP address of the client to add.'."\n", 'type' => 'string', 'required' => true, 'example' => '192.168.0.0', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'This parameter ensures the idempotency of each request. A ClientToken is generated for each client. Make sure that each ClientToken is unique between different requests. The parameter can be a maximum of 64 characters in length and contain ASCII characters.'."\n"
."\n"
.'For more information, see [How to ensure idempotence](https://www.alibabacloud.com/help/doc-detail/25693.htm).'."\n", 'type' => 'string', 'required' => true, 'example' => '123e4567-e89b-12d3-a456-426655440000', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'A70BEE5D-76D3-49FB-B58F-1F398211A5C3', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', 'returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A70BEE5D-76D3-49FB-B58F-1F398211A5C3\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n\\r\\n A70BEE5D-76D3-49FB-B58F-1F398211A5C3\\r\\n","errorExample":""}]',
'title' => 'AddClientToBlackList',
'description' => 'The API operation is available only for CPFS file systems.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-03-12T11:38:29.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddClientToBlackList'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:AddClientToBlackList',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
],
'AddTags' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => true,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13917',
'abilityTreeNodes' => ['FEATUREnasI92PYN'],
'autoTest' => false,
'notSupportAutoTestReason' => '弃用接口',
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['type' => 'string', 'required' => true],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => ['type' => 'string', 'required' => false],
'Value' => ['type' => 'string', 'required' => false],
],
],
'required' => true,
'maxItems' => 10,
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['type' => 'string'],
],
],
],
],
'staticInfo' => [
'substitutions' => ['NAS::2017-06-26::TagResources'],
'returnType' => 'synchronous',
],
'changeSet' => [
['createdAt' => '2022-02-28T16:21:38.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"\\"\\n}","type":"json"}]',
],
'ApplyAutoSnapshotPolicy' => [
'summary' => 'Applies an automatic snapshot policy to one or more file systems.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13918',
'abilityTreeNodes' => ['FEATUREnasI92PYN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'AutoSnapshotPolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the automatic snapshot policy.'."\n", 'type' => 'string', 'required' => true, 'example' => 'sp-extreme-233e6****', 'title' => ''],
],
[
'name' => 'FileSystemIds',
'in' => 'query',
'schema' => ['description' => 'The IDs of advanced Extreme NAS file systems.'."\n"
."\n"
.'You can specify a maximum of 100 file system IDs at a time. If you want to apply an automatic snapshot policy to multiple file systems, separate the file system IDs with commas (,).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'extreme-233e6****,extreme -23vbp****,extreme -23vas****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'ApplyAutoSnapshotPolicy',
'description' => '* The snapshot feature is in public preview and is provided free of charge. [File Storage NAS Service Level Agreement (SLA)](https://www.alibabacloud.com/help/legal/latest/network-attached-storage-service-level-agreement) is not guaranteed in public preview.'."\n"
.'* Only advanced Extreme NAS file systems support this feature.'."\n"
.'* You can apply only one automatic snapshot policy to each file system.'."\n"
.'* Each automatic snapshot policy can be applied to multiple file systems.'."\n"
.'* If an automatic snapshot policy is applied to a file system, you can call the ApplyAutoSnapshotPolicy operation to change the automatic snapshot policy.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-09-05T09:23:06.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ApplyAutoSnapshotPolicy'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ApplyAutoSnapshotPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****","errorExample":""}]',
],
'ApplyDataFlowAutoRefresh' => [
'summary' => 'Configures automatic updates for a specified data flow.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '59398',
'abilityTreeNodes' => ['FEATUREnasQ7YV89', 'FEATUREnas0GUIX5'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cpfs-099394bd928c****', 'title' => ''],
],
[
'name' => 'DataFlowId',
'in' => 'query',
'schema' => ['description' => 'The ID of the data flow.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'df-194433a5be31****', 'title' => ''],
],
[
'name' => 'AutoRefreshs',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The collection of auto-refresh configurations.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'RefreshPath' => ['description' => 'The auto-refresh directory. CPFS automatically checks whether data in this directory on the source has been updated and imports the updated data.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'- The path must be 2 to 1,024 characters in length.'."\n"
.'- The path must be encoded in UTF-8.'."\n"
.'- The path must start and end with a forward slash (/).'."\n"
."\n"
.'> The directory must already exist in CPFS and must be in a fileset that has data flow enabled.', 'type' => 'string', 'required' => true, 'maxLength' => 1024, 'minLength' => 2, 'example' => '/prefix1/prefix2/', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => true,
'docRequired' => true,
'maxItems' => 5,
'title' => '',
'example' => '',
],
],
[
'name' => 'AutoRefreshPolicy',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => [
'description' => 'The auto-refresh policy. This policy determines how data updates from the source are imported to CPFS. Valid values:'."\n"
."\n"
.'- None: Data updates from the source are not automatically imported to CPFS. You can use a data flow task to import data updates from the source.'."\n"
.'- ImportChanged: Data updates from the source are automatically imported to CPFS.',
'enumValueTitles' => ['ImportChanged' => 'data updates from the source are automatically imported to CPFS.', 'None' => 'data updates from the source are not automatically imported to CPFS.'],
'type' => 'string',
'default' => 'None',
'enum' => ['None', 'ImportChanged'],
'required' => false,
'example' => 'None',
'title' => '',
],
],
[
'name' => 'AutoRefreshInterval',
'in' => 'query',
'schema' => ['description' => 'The auto-refresh interval. CPFS checks the directory for data updates at this interval. If data updates exist, an auto-refresh task is started. Unit: minutes.'."\n"
."\n"
.'Valid values: 10 to 525600. Default value: 10.', 'type' => 'integer', 'format' => 'int64', 'maximum' => '525600', 'minimum' => '5', 'required' => false, 'example' => '10', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run for this request.'."\n"
."\n"
.'A dry run checks parameter validity and resource availability without actually creating an instance or incurring charges.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- true: Sends a dry run request without creating an instance. The check items include required parameters, request format, business limits, and NAS inventory. If the check fails, the corresponding error is returned. If the check succeeds, HTTP status code 200 is returned, but FileSystemId is empty.'."\n"
.'- false (default): Sends a normal request. After the check succeeds, the instance is created.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the RequestId of the API request as the ClientToken. The RequestId may differ for each API request.', 'type' => 'string', 'maxLength' => 64, 'minLength' => 1, 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingDataFlowId', 'errorMessage' => 'DataFlowId is mandatory for this action.', 'description' => ''],
],
403 => [
['errorCode' => 'OperationDenied.InvalidState', 'errorMessage' => 'The operation is not permitted when the status is processing.', 'description' => 'The operation is not permitted when the status is processing.'],
['errorCode' => 'InvalidFileSystem.AlreadyExisted', 'errorMessage' => 'The specified file system already exists.', 'description' => 'The specified file system already exists.'],
['errorCode' => 'OperationDenied.DependencyViolation', 'errorMessage' => 'The operation is denied due to dependancy violation.', 'description' => ''],
['errorCode' => 'OperationDenied.NestedDir', 'errorMessage' => 'The operation is denied due to nested directory.', 'description' => ''],
['errorCode' => 'OperationDenied.ConflictOperation', 'errorMessage' => 'The operation is denied due to a conflict with an ongoing operation.', 'description' => ''],
['errorCode' => 'OperationDenied.DataFlowNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidDataFlow.NotFound', 'errorMessage' => 'The specified data flow does not exist.', 'description' => ''],
['errorCode' => 'InvalidRefreshPath.InvalidParameter', 'errorMessage' => 'Refresh path is invalid.', 'description' => ''],
['errorCode' => 'InvalidRefreshPath.NotFound', 'errorMessage' => 'Refresh path does not exist.', 'description' => ''],
['errorCode' => 'InvalidRefreshPolicy.InvalidParameter', 'errorMessage' => 'Refresh policy is invalid.', 'description' => ''],
['errorCode' => 'InvalidRefreshInterval.OutOfBounds', 'errorMessage' => 'Refresh interval is out of bounds.', 'description' => ''],
['errorCode' => 'InvalidRefreshPath.AlreadyExist', 'errorMessage' => 'The refresh path already exists.', 'description' => ''],
['errorCode' => 'InvalidRefreshPath.TooManyPaths', 'errorMessage' => 'The number of refresh paths exceeds the limit.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\"\\n}","type":"json"}]',
'title' => 'Add auto-refresh configuration for a data flow',
'description' => '- This operation applies only to Cloud Parallel File Storage (CPFS) file systems.'."\n"
.'- Only CPFS 2.2.0 and later support data flows. You can view the version information on the file system details page in the console.'."\n"
.'- You can add auto-refresh configurations only for data flows in the `Running` state.'."\n"
.'- You can add up to five auto-refresh configurations for a data flow.'."\n"
."\n"
.'- It takes 2 to 5 minutes to create an auto-refresh configuration. You can call [DescribeDataFlows](~~336901~~) to query the data flow status.'."\n"
."\n"
.'- Auto-refresh relies on EventBridge to collect object modification events from the source OSS storage. [Activate EventBridge](~~182246~~) before you proceed.'."\n"
."\n"
.' > The event buses and event rules that CPFS creates in EventBridge contain the description `Create for cpfs auto refresh`. Do not modify or delete these event buses or event rules. Otherwise, auto-refresh cannot work properly.'."\n"
."\n"
.'- Auto-refresh targets a prefix specified by the RefreshPath parameter. When you configure auto-refresh for a prefix in a CPFS data flow, an event bus is created on the user side, and an event rule is created for the prefix of the source OSS bucket. When objects within the prefix of the source OSS bucket are modified, OSS events are generated in EventBridge and processed by the CPFS data flow.'."\n"
.'- After you configure auto-refresh (AutoRefresh), when data changes in the source storage, the changed metadata is automatically synchronized to the CPFS file system. The changed data is loaded on demand when a user accesses the file, or loaded by starting a data flow node to load data.'."\n"
.'- The auto-refresh interval (AutoRefreshInterval) specifies the interval at which CPFS checks whether data updates exist in the prefix of the source OSS bucket. If data updates exist, an auto-refresh node is started. When the frequency of object modification events in the source OSS bucket exceeds the processing capacity of the CPFS data flow, automatic synchronization nodes accumulate, metadata updates are delayed, and the data stream status changes to Misconfigured. To resolve this issue, upgrade the data stream specifications or reduce the modification frequency in OSS.',
'changeSet' => [
['createdAt' => '2024-09-05T09:23:06.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-01-06T03:48:20.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2021-11-23T06:46:17.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2021-10-28T08:34:23.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ApplyDataFlowAutoRefresh'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ApplyDataFlowAutoRefresh',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#fileSystemId}'],
],
],
],
],
],
'AttachVscToFilesystems' => [
'path' => '',
'methods' => ['post', 'get'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREnasOIBEFL'],
'autoTest' => false,
'notSupportAutoTestReason' => '特定账户使用',
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'ResourceIds',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The ID information of file systems and virtual storage channels. A maximum of 10 entries can be specified per batch.',
'type' => 'array',
'items' => [
'description' => 'The ID information of file systems and virtual storage channels. A maximum of 10 entries can be specified per batch.',
'type' => 'object',
'properties' => [
'FileSystemId' => ['description' => 'The file system ID.', 'type' => 'string', 'required' => false, 'example' => 'bmcpfs-290t15yn4uo8lid****', 'title' => ''],
'VscId' => ['description' => 'The virtual storage channel ID.', 'type' => 'string', 'required' => false, 'example' => 'vsc-8vb864o3ppwfvh****', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => true,
'title' => '',
'example' => '',
],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the RequestId of the API request as the ClientToken. The RequestId may differ for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'RoleChain',
'in' => 'query',
'style' => 'flat',
'schema' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'RoleType' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
'RoleArn' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
'AssumeRoleFor' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'title' => '',
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'BC7C825C-5F65-4B56-BEF6-98C56C7C****', 'title' => ''],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'The parameter is invalid.', 'description' => 'Illegal parameter.'],
['errorCode' => 'InvalidParameter.ResourceIds', 'errorMessage' => 'Invalid ResourceIds, can not be empty or batch size large than 10.', 'description' => ''],
['errorCode' => 'InvalidParameter.FileSystem', 'errorMessage' => 'Invalid FileSystem in ResourceIds.', 'description' => ''],
['errorCode' => 'InvalidFilesystemType.NotSupport', 'errorMessage' => 'This Api does not support this fileSystem type.', 'description' => 'The current interface does not support this type of file system.'],
['errorCode' => 'InvalidParameter.VscId', 'errorMessage' => 'Invalid VscId in ResourceIds.', 'description' => ''],
['errorCode' => 'InvalidParameter.VscIds', 'errorMessage' => 'Invalid VscId in ResourceIds.VscIds must be the same.', 'description' => ''],
['errorCode' => 'Ram.AddRamParamFailed', 'errorMessage' => 'Ram check has failed due to param invalid, please check param.', 'description' => ''],
['errorCode' => 'FeatureOrAPI.NotSupported', 'errorMessage' => 'The Feature/API is not supported in this region now.', 'description' => ''],
],
403 => [
['errorCode' => 'Forbbiden.Ram', 'errorMessage' => 'User not authorized to operate on the specified resource, or this API doesn\'t support RAM.', 'description' => 'The user is not authorized to operate the specified resource, or the API does not support RAM.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'Associate a VSC device with a file system',
'summary' => 'Associates a VSC device with a file system.',
'description' => '- Only CPFS for Lingjun supports this feature.'."\n"
.'- Batch operations are supported. In batch mode, only one VscId can be associated with multiple file system IDs (FileSystemId). This means the ResourceIds.VscId values must be the same.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:AttachVscToFilesystems',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'Vsc', 'arn' => 'acs:eflo:{#regionId}:{#accountId}:vsc/{#VscId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BC7C825C-5F65-4B56-BEF6-98C56C7C****\\"\\n}","type":"json"}]',
],
'CancelAutoSnapshotPolicy' => [
'summary' => 'Cancels the automatic snapshot policy that is created for a file system.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '13920',
'abilityTreeNodes' => ['FEATUREnas5QOAQE'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemIds',
'in' => 'query',
'schema' => ['description' => 'The IDs of the file systems.'."\n"
."\n"
.'You can specify up to 100 file systems in a single call. To cancel the automatic snapshot policy for multiple file systems, separate the file system IDs with commas (,).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'extreme-233e6****,extreme-23vbp****,extreme-23vas****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n"
."\n"
.'The request ID is returned regardless of whether the call is successful.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DED****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DED****\\"\\n}","type":"json"}]',
'title' => 'Cancel the automatic snapshot policy for one or more file systems',
'description' => '.'."\n"
."\n"
.'- This feature is in free public preview. During the public preview, the [File Storage NAS Service-Level Agreement (SLA)](https://terms.aliyun.com/legal-agreement/terms/suit_bu1_ali_cloud/suit_bu1_ali_cloud201803061139_99860.html?spm=a2c4g.11186623.0.0.5c895ff2YPLrwe) is not guaranteed.'."\n"
."\n"
.'- Only Advanced Extreme NAS supports this feature.'."\n"
."\n"
.'.'."\n"
."\n"
.'.'."\n"
."\n"
.'- This feature is in free public preview. During the public preview, the [File Storage NAS Service-Level Agreement (SLA)](https://www.alibabacloud.com/help/legal/latest/network-attached-storage-service-level-agreement) is not guaranteed.'."\n"
."\n"
.'- Only Advanced Extreme NAS supports this feature.'."\n"
."\n"
.'.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-09-05T09:23:06.000Z', 'description' => 'Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelAutoSnapshotPolicy'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:CancelAutoSnapshotPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'CancelDataFlowAutoRefresh' => [
'summary' => 'Cancels the AutoRefresh configuration for a dataflow.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '59403',
'abilityTreeNodes' => ['FEATUREnasQ7YV89', 'FEATUREnas0GUIX5'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cpfs-099394bd928c****', 'title' => ''],
],
[
'name' => 'DataFlowId',
'in' => 'query',
'schema' => ['description' => 'The ID of the dataflow.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'df-194433a5be31****', 'title' => ''],
],
[
'name' => 'RefreshPath',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => ['description' => 'The directory for which you want to cancel AutoRefresh configurations.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'* The directory must be 2 to 1,024 characters in length.'."\n"
.'* The directory must be encoded in UTF-8.'."\n"
.'* The directory must start and end with a forward slash (/).'."\n"
."\n"
.'> The directory must be an existing directory in the CPFS file system and must be in a fileset where the dataflow is enabled.'."\n", 'type' => 'string', 'required' => true, 'example' => '/prefix1/prefix2/', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run.'."\n"
."\n"
.'During the dry run, the system checks whether the request parameters are valid and whether the requested resources are available. During the dry run, no file system is created and no fee is incurred.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* true: performs a dry run. The system checks the request format, service limits, prerequisites, and whether the required parameters are specified. If the request fails the dry run, an error message is returned. If the request passes the dry run, the HTTP status code 200 is returned. No value is returned for the DataFlowld parameter.'."\n"
.'* false (default): performs a dry run and sends the request. If the request passes the dry run, a file system is created.'."\n", 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How do I ensure the idempotence?](~~25693~~)'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The value of RequestId may be different for each API request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingDataFlowId', 'errorMessage' => 'DataFlowId is mandatory for this action.', 'description' => ''],
],
403 => [
['errorCode' => 'OperationDenied.DependencyViolation', 'errorMessage' => 'The operation is denied due to dependancy violation.', 'description' => ''],
['errorCode' => 'OperationDenied.ConflictOperation', 'errorMessage' => 'The operation is denied due to a conflict with an ongoing operation.', 'description' => ''],
['errorCode' => 'OperationDenied.DataFlowNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidDataFlow.NotFound', 'errorMessage' => 'The specified data flow does not exist.', 'description' => ''],
['errorCode' => 'InvalidRefreshPath.InvalidParameter', 'errorMessage' => 'Refresh path is invalid.', 'description' => ''],
['errorCode' => 'InvalidRefreshPath.NotFound', 'errorMessage' => 'Refresh path does not exist.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\"\\n}","type":"json"}]',
'title' => 'CancelDataFlowAutoRefresh',
'description' => '- 该接口仅适用于CPFS文件系统。'."\n"
.'- 仅CPFS 2.2.0及以上版本支持数据流动。您可以在控制台文件系统详情页面查看版本信息。'."\n"
.'- 仅支持取消`Running(正常)`、`Stopped(停止)`状态数据流动的自动更新配置。'."\n"
."\n"
.'- 取消自动更新配置一般耗时2~5分钟,您可以通过[DescribeDataFlows](~~2402270~~)查询取消自动更新任务的状态。',
'changeSet' => [
['createdAt' => '2024-09-05T09:23:06.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-01-06T03:48:20.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2021-10-28T08:34:23.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelDataFlowAutoRefresh'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:CancelDataFlowAutoRefresh',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
'translator' => 'manual',
],
'CancelDataFlowSubTask' => [
'summary' => 'Cancels a data streaming task.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '225734',
'abilityTreeNodes' => ['FEATUREnasPWYFYN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bmcpfs-370lx1ev9ss27o0****'."\n", 'title' => ''],
],
[
'name' => 'DataFlowId',
'in' => 'query',
'schema' => ['description' => 'The ID of the dataflow.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'df-194433a5be31****', 'title' => ''],
],
[
'name' => 'DataFlowTaskId',
'in' => 'query',
'schema' => ['description' => 'The ID of the dataflow task.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'task-38aa8e890f45****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run.'."\n"
."\n"
.'During the dry run, the system checks whether the request parameters are valid and whether the requested resources are available. During the dry run, no data streaming task is created and no fee is incurred.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* true: performs a dry run. The system checks the required parameters, request syntax, service limits, and available File Storage NAS (NAS) resources. If the request fails the dry run, an error message is returned. If the request passes the dry run, the HTTP status code 200 is returned.'."\n"
.'* false (default): performs a dry run and sends the request. If the request passes the dry run, a data streaming task is created.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How do I ensure the idempotence?](~~25693~~)'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'DataFlowSubTaskId',
'in' => 'query',
'schema' => ['description' => 'The ID of the data streaming task.'."\n", 'type' => 'string', 'required' => true, 'example' => 'subTaskId-370kyfmyknxcyzw****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingDataFlowId', 'errorMessage' => 'DataFlowId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingTaskId', 'errorMessage' => 'TaskId is mandatory for this action.', 'description' => ''],
],
403 => [
['errorCode' => 'OperationDenied.ConflictOperation', 'errorMessage' => 'The operation is denied due to a conflict with an ongoing operation.', 'description' => ''],
['errorCode' => 'OperationDenied.DependencyViolation', 'errorMessage' => 'The operation is denied due to dependancy violation.', 'description' => ''],
['errorCode' => 'OperationDenied.DataFlowNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidDataFlow.NotFound', 'errorMessage' => 'The specified data flow does not exist.', 'description' => ''],
['errorCode' => 'InvalidTaskId.NotFound', 'errorMessage' => 'The specified task ID does not exist.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
'title' => 'CancelDataFlowSubTask',
'description' => '- 仅CPFS智算版2.6.0 及以上版本支持。您可以在控制台文件系统详情页面查看版本信息。'."\n"
.'- 仅支持在 CREATED和RUNNING状态下取消数据流动流式任务。'."\n"
.'- 数据流动流式任务是异步执行的,您可通过DescribeDataFlowSubTasks查询流式任务执行状态。',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CancelDataFlowSubTask'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:CancelDataFlowSubTask',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'translator' => 'manual',
],
'CancelDataFlowTask' => [
'summary' => 'Cancels a batch or streaming data flow task that is in the Pending or Executing state.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '49029',
'abilityTreeNodes' => ['FEATUREnasQ7YV89', 'FEATUREnas0GUIX5'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.'."\n"
."\n"
.'- For a general-purpose CPFS instance, the ID must start with `cpfs-`, for example, `cpfs-125487****`.'."\n"
."\n"
.'- For a CPFS for AI Computing instance, the ID must start with `bmcpfs-`, for example, `bmcpfs-0015****`.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cpfs-099394bd928c****', 'title' => ''],
],
[
'name' => 'DataFlowId',
'in' => 'query',
'schema' => ['description' => 'The data flow ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'df-194433a5be31****', 'title' => ''],
],
[
'name' => 'TaskId',
'in' => 'query',
'schema' => ['description' => 'The data flow task ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'task-38aa8e890f45****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run for the request.'."\n"
."\n"
.'A dry run checks for parameter validity and resource availability without actually canceling the task or incurring charges.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- `true`: Performs a dry run. The system checks the request for potential issues, including missing parameters, invalid formats, and service limits. If the check fails, the system returns an error message; otherwise, it returns a success code.'."\n"
."\n"
.'- `false` (default): Sends a normal request. After the request passes the check, the task is canceled.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'A client-generated token that you can use to ensure the idempotence of the request. The token must be unique across different requests.'."\n"
."\n"
.'The `ClientToken` value must be an ASCII string of 64 characters or less. For more information, see [How to ensure idempotence](~~25693~~).'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the request ID as the `ClientToken`. The request ID is unique for each request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingDataFlowId', 'errorMessage' => 'DataFlowId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingTaskId', 'errorMessage' => 'TaskId is mandatory for this action.', 'description' => ''],
],
403 => [
['errorCode' => 'OperationDenied.ConflictOperation', 'errorMessage' => 'The operation is denied due to a conflict with an ongoing operation.', 'description' => ''],
['errorCode' => 'OperationDenied.DependencyViolation', 'errorMessage' => 'The operation is denied due to dependancy violation.', 'description' => ''],
['errorCode' => 'OperationDenied.DataFlowNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidDataFlow.NotFound', 'errorMessage' => 'The specified data flow does not exist.', 'description' => ''],
['errorCode' => 'InvalidTaskId.NotFound', 'errorMessage' => 'The specified task ID does not exist.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518948****\\"\\n}","type":"json"}]',
'title' => 'CancelDataFlowTask',
'description' => '- Data flow tasks are supported only by CPFS 2.2.0 or later and CPFS for AI Computing 2.4.0 or later. The file system details page in the console displays the version information.'."\n"
."\n"
.'- A data flow task can be canceled only if it is in the `Pending or Executing` state.'."\n"
."\n"
.'- Canceling a data flow task typically takes 5 to 10 minutes. Call the [DescribeDataFlowTasks](~~2402275~~) operation to query the task execution status.'."\n"
."\n"
.'- You cannot cancel a streaming task if it has running streaming subtasks. Otherwise, the system returns an InvalidStatus.ResourceMismatch error.',
'changeSet' => [
['createdAt' => '2024-09-05T09:23:05.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2021-10-28T08:34:23.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelDataFlowTask'],
],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:CancelDataFlowTask',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
],
'CancelDirQuota' => [
'summary' => 'Cancels a directory quota for a file system.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '13921',
'abilityTreeNodes' => ['FEATUREnasM1TG05'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1ca404****', 'title' => ''],
],
[
'name' => 'Path',
'in' => 'query',
'schema' => ['description' => 'The absolute path of the directory in the file system.', 'type' => 'string', 'required' => true, 'example' => '/data/sub1', 'title' => ''],
],
[
'name' => 'UserType',
'in' => 'query',
'schema' => [
'description' => 'The user type.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- Uid: user ID'."\n"
.'- Gid: user group ID'."\n"
.'- AllUsers: all users.',
'enumValueTitles' => ['Uid' => 'User ID.', 'Gid' => 'User group ID.', 'AllUsers' => 'All users.'],
'type' => 'string',
'required' => true,
'enum' => ['Uid', 'Gid', 'AllUsers'],
'example' => 'Uid',
'title' => '',
],
],
[
'name' => 'UserId',
'in' => 'query',
'schema' => ['description' => 'The UID or GID to cancel.'."\n"
."\n"
.'This parameter is required and valid only when UserType is set to Uid or Gid.'."\n"
."\n"
.'Examples:'."\n"
."\n"
.'- To cancel the quota for the user whose UID is 500, set UserType to Uid and UserId to 500.'."\n"
.'- To cancel the quota for the user group whose GID is 100, set UserType to Gid and UserId to 100.', 'type' => 'string', 'required' => false, 'example' => '500', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '5BC5CB97-9F28-42FE-84A4-0CD0DF42****', 'title' => ''],
'Success' => ['description' => 'The request status.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- true: The request was successful.'."\n"
.'- false: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5BC5CB97-9F28-42FE-84A4-0CD0DF42****\\",\\n \\"Success\\": true\\n}","type":"json"}]',
'title' => 'Cancel a directory quota for a file system',
'description' => 'Only General-purpose NAS NFS file systems support the directory quota feature.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-09-05T09:23:05.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelDirQuota'],
],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:CancelDirQuota',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
],
'CancelFilesetQuota' => [
'summary' => 'Cancels the quota set for a fileset.',
'methods' => ['post', 'get'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '238649',
'abilityTreeNodes' => ['FEATUREnasXEQXVN'],
'autoTest' => false,
'notSupportAutoTestReason' => '为特殊用户使用API',
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CPFS for LINGJUN file system. The IDs of CPFS for LINGJUN file systems must start with `bmcpfs-`. Example: bmcpfs-290w65p03ok64ya\\*\\*\\*\\*.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bmcpfs-290w65p03ok64ya****', 'title' => ''],
],
[
'name' => 'FsetId',
'in' => 'query',
'schema' => ['description' => 'The fileset ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'fset-1902718ea0ae****'."\n", 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run.'."\n"
."\n"
.'During the dry run, the system checks whether the request parameters are valid and whether the requested resources are available. During the dry run, no fileset quota is canceled and no fee is incurred.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* true: performs a dry run. The system checks the required parameters, request syntax, and service limits. If the request fails to pass the precheck, an error message is returned. If the request passes the dry run, the HTTP status code 200 is returned. No value is returned for the DataFlowld parameter.'."\n"
.'* false (default): performs a dry run and sends the request. If the request passes the dry run, the fileset quota is canceled.'."\n", 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How do I ensure the idempotence?](~~25693~~)'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****'."\n", 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingFsetId', 'errorMessage' => 'FsetId is mandatory for this action.', 'description' => ''],
['errorCode' => 'InvalidFilesetId.NotFound', 'errorMessage' => 'Invalid FilesetId.', 'description' => 'Fileset does not exist'],
],
403 => [
['errorCode' => 'OperationDenied.DependencyViolation', 'errorMessage' => 'The operation is denied due to dependancy violation.', 'description' => ''],
['errorCode' => 'OperationDenied.FilesetNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidFsetId.NotFound', 'errorMessage' => 'The specified Fileset ID does not exist.', 'description' => ''],
],
429 => [
['errorCode' => 'Throttling.Api', 'errorMessage' => 'Request was denied due to api flow control.', 'description' => 'The request is throttled.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\\\n\\"\\n}","type":"json"}]',
'title' => 'CancelFilesetQuota',
'description' => '仅CPFS智算版2.7.0及以上版本支持取消配额。',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelFilesetQuota'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:CancelFilesetQuota',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'Fileset', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'translator' => 'manual',
],
'CancelLifecycleRetrieveJob' => [
'summary' => 'Cancels a running data retrieval task.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '19615',
'abilityTreeNodes' => ['FEATUREnas7AL8PW', 'FEATUREnasEER7AI'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'JobId',
'in' => 'query',
'schema' => ['description' => 'The ID of the data retrieval task.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lrj-nfstest-ia-160****853-hshvw', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'BC7C825C-5F65-4B56-BEF6-98C56C7C****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationDenied.LifecycleRetrieveJobEnded', 'errorMessage' => 'The specified LifecycleRetrieveJob has already ended.', 'description' => 'The specified LifecycleRetrieveJob has already ended.'],
],
404 => [
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidLifecycleRetrieveJob.NotFound', 'errorMessage' => 'The specified LifecycleRetrieveJob does not exist.', 'description' => 'The specified LifecycleRetrieveJob does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BC7C825C-5F65-4B56-BEF6-98C56C7C****\\"\\n}","errorExample":""},{"type":"xml","example":"BC7C825C-5F65-4B56-BEF6-98C56C7C****","errorExample":""}]',
'title' => 'CancelLifecycleRetrieveJob',
'description' => 'Only General-purpose NAS file systems support this operation.'."\n",
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2021-04-08T08:36:16.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelLifecycleRetrieveJob'],
],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:CancelLifecycleRetrieveJob',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'CancelRecycleBinJob' => [
'summary' => 'Cancels a running job of the recycle bin.',
'methods' => ['get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '14462',
'abilityTreeNodes' => ['FEATUREnas0A1PB1'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'JobId',
'in' => 'query',
'schema' => ['description' => 'The job ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'rb-15****ed-r-1625****2441', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****'],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingJobId', 'errorMessage' => 'JobId is mandatory for this action.', 'description' => 'JobId is mandatory for this action.'],
],
403 => [
['errorCode' => 'OperationDenied.Conflict', 'errorMessage' => 'The operation is in conflict with (% JobId). Please try again later.', 'description' => 'The operation is in conflict with (% JobId). Please try again later.'],
],
[
['errorCode' => 'InvalidJobId.NotFound', 'errorMessage' => 'The specified JobId(%JobId) does not exist.', 'description' => 'The specified JobId (%JobId) does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 98696EF0-1607-4E9D-B01D-F20930B6****\\n","errorExample":""}]',
'title' => 'CancelRecycleBinJob',
'description' => '* Only General-purpose NAS file systems support this operation.'."\n"
.'* You can cancel only jobs that are in the Running state. You cannot cancel jobs that are in the PartialSuccess, Success, Fail, or Cancelled state.'."\n"
.'* If you cancel a running job that permanently deletes files, you cannot restore the files that are already permanently deleted.'."\n"
.'* If you cancel a running job that restores files, you can query the restored files from the file system, and query the unrestored files from the recycle bin.',
'changeSet' => [
['createdAt' => '2021-06-02T07:10:56.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelRecycleBinJob'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:CancelRecycleBinJob',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'ChangeResourceGroup' => [
'summary' => 'Changes the resource group to which a file system instance belongs.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '202852',
'abilityTreeNodes' => ['FEATUREnasI92PYN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID of the zone.'."\n"
."\n"
.'You can call [DescribeRegions](~~2412111~~) to query the most recent region list.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'ResourceId',
'in' => 'query',
'schema' => ['title' => '', 'description' => 'The resource ID.', 'type' => 'string', 'required' => true, 'example' => '31a8e4****'],
],
[
'name' => 'NewResourceGroupId',
'in' => 'query',
'schema' => ['description' => 'The new resource group ID.'."\n"
."\n"
.'You can view the resource group ID in the [Resource Management console](https://resourcemanager.console.aliyun.com/resource-groups?).', 'type' => 'string', 'required' => true, 'example' => 'rg-acfmwavnfdf****', 'title' => ''],
],
[
'name' => 'ResourceType',
'in' => 'query',
'schema' => [
'description' => 'The resource type.'."\n"
."\n"
.'Valid values: filesystem (file system).',
'enumValueTitles' => ['filesystem' => 'file system.'],
'type' => 'string',
'required' => true,
'enum' => ['filesystem'],
'example' => 'filesystem',
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'title' => '',
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'BC7C825C-5F65-4B56-BEF6-98C56C7C****'],
],
'example' => '',
],
],
],
'errorCodes' => [
404 => [
['errorCode' => 'EntityNotExist.ResourceGroup', 'errorMessage' => 'The resource group does not exist.', 'description' => 'The resource group does not exist.'],
['errorCode' => 'EntityNotExist.ResourceId', 'errorMessage' => 'The resource does not exist.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BC7C825C-5F65-4B56-BEF6-98C56C7C****\\"\\n}","type":"json"}]',
'title' => 'Change resource group',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ChangeResourceGroup'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ChangeResourceGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'CreateAccessGroup' => [
'summary' => 'Creates a permission group.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13927',
'abilityTreeNodes' => ['FEATUREnas2SBOJD'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'AccessGroupName',
'in' => 'query',
'schema' => ['description' => 'The name of the permission group.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'- The name must be 3 to 64 characters in length.'."\n"
.'- The name must start with a letter and can contain letters, digits, underscores (_), or hyphens (-).'."\n"
.'- The name of the new permission group cannot be the same as the name of the default permission group.'."\n"
."\n"
.'Default permission group: DEFAULT_VPC_GROUP_NAME (default VPC permission group).', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-test', 'title' => ''],
],
[
'name' => 'AccessGroupType',
'in' => 'query',
'schema' => [
'description' => 'The type of the permission group. Set the value to **Vpc**, which indicates VPC.',
'enumValueTitles' => ['Vpc' => 'VPC.', 'VPC' => 'VPC.', 'vpc' => 'VPC.'],
'type' => 'string',
'required' => true,
'docRequired' => true,
'enum' => ['Vpc', 'VPC', 'vpc'],
'example' => 'Vpc',
'title' => '',
],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The description of the permission group.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'- The description defaults to the permission group name and must be 2 to 128 characters in length.'."\n"
.'- The description must start with a letter and cannot start with `http://` or `https://`.'."\n"
.'- The description can contain digits, colons (:), underscores (_), or hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'vpctestaccessgroup', 'title' => ''],
],
[
'name' => 'FileSystemType',
'in' => 'query',
'schema' => [
'description' => 'The type of the file system.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- standard (default): General-purpose NAS.'."\n"
.'- extreme: Extreme NAS.',
'enumValueTitles' => ['standard' => 'General-purpose NAS.', 'extreme' => 'Extreme NAS.'],
'type' => 'string',
'required' => false,
'default' => 'standard',
'enum' => ['standard', 'extreme'],
'example' => 'standard',
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '55C5FFD6-BF99-41BD-9C66-FFF39189F4F8', 'title' => ''],
'AccessGroupName' => ['description' => 'The name of the permission group.', 'type' => 'string', 'example' => 'vpc-test', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"55C5FFD6-BF99-41BD-9C66-FFF39189F4F8\\",\\n \\"AccessGroupName\\": \\"vpc-test\\"\\n}","type":"json"}]',
'title' => 'Create a permission group',
'description' => '- You can create up to 20 permission groups in a single region within an Alibaba Cloud account.'."\n"
.'- A permission group supports up to 300 rules.'."\n"
.'- Only permission groups of the VPC network type can be created.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-09-05T09:23:04.000Z', 'description' => 'Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateAccessGroup'],
],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateAccessGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'AccessGroup', 'arn' => 'acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}'],
],
],
],
],
],
'CreateAccessPoint' => [
'summary' => 'Creates an access point.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '189584',
'abilityTreeNodes' => ['FEATUREnasI92PYN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '31a8e4****', 'title' => ''],
],
[
'name' => 'AgenticSpaceId',
'in' => 'query',
'schema' => ['description' => 'The AgenticSpace ID.'."\n"
.'>This parameter is required for Agentic file systems.', 'type' => 'string', 'required' => false, 'example' => 'agentic-229oypxjgpau2****', 'title' => ''],
],
[
'name' => 'AccessGroup',
'in' => 'query',
'schema' => ['description' => 'The name of the permission group.'."\n"
."\n"
.'This parameter is required if the file system is a General-purpose NAS file system.'."\n"
."\n"
.'Default permission group: DEFAULT_VPC_GROUP_NAME (the default permission group for VPCs).'."\n"
.'>Not supported for Agentic file systems.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'DEFAULT_VPC_GROUP_NAME', 'title' => ''],
],
[
'name' => 'VswId',
'in' => 'query',
'schema' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vsw-2zevmwkwyztjuoffg****', 'title' => ''],
],
[
'name' => 'VpcId',
'in' => 'query',
'schema' => ['description' => 'The virtual private cloud (VPC) ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-2zesj9afh3y518k9o****', 'title' => ''],
],
[
'name' => 'AccessPointName',
'in' => 'query',
'schema' => ['description' => 'The name of the access point.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
[
'name' => 'RootDirectory',
'in' => 'query',
'schema' => ['description' => 'The root directory of the access point.'."\n"
.'Default value: "/". If the access point directory does not exist, you must also specify the OwnerUserId and OwnerGroupId parameters.'."\n"
.'>Supported only for Agentic file systems.', 'type' => 'string', 'pattern' => '^(/|(/\\.{3,}|/\\.*[-\\w]+[-.\\w]*)+/?)$', 'default' => '/', 'required' => false, 'example' => '/', 'title' => ''],
],
[
'name' => 'EnabledRam',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable access point policy.'."\n"
.'Valid values:'."\n"
."\n"
.'- true: enabled.'."\n"
.'- false (default): not enabled.'."\n"
."\n"
.'> After you enable access point policy for the access point, all Resource Access Management (RAM) users are denied access to mount and access data through the access point by default. You must grant the corresponding access permissions through authorization and then mount and access the file system through the access point. After you disable access point policy, the access point allows anonymity mounting. For more information about how to configure access point permissions, see [Configure access point policies](~~2545998~~).'."\n"
."\n"
.'>For Agentic file systems, this parameter must be set to true.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'OwnerUserId',
'in' => 'query',
'schema' => ['description' => 'The owner user ID.'."\n"
."\n"
.'This parameter is required if the RootDirectory directory does not exist.'."\n"
.'>Not supported for Agentic file systems.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'OwnerGroupId',
'in' => 'query',
'schema' => ['description' => 'The owner group ID.'."\n"
."\n"
.'This parameter is required if the RootDirectory directory does not exist.'."\n"
.'>Not supported for Agentic file systems.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'Permission',
'in' => 'query',
'schema' => ['description' => 'The POSIX permission. Default value: "0755". The value must be a four-digit octal number that starts with 0.'."\n"
."\n"
.'This parameter takes effect only after you specify the OwnerUserId and OwnerGroupId parameters.'."\n"
.'>Not supported for Agentic file systems.', 'type' => 'string', 'required' => false, 'example' => '0755', 'title' => ''],
],
[
'name' => 'PosixUserId',
'in' => 'query',
'schema' => ['description' => 'The POSIX user ID.'."\n"
.'>Not supported for Agentic file systems.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '123', 'title' => ''],
],
[
'name' => 'PosixGroupId',
'in' => 'query',
'schema' => ['description' => 'The POSIX group ID.'."\n"
.'>Not supported for Agentic file systems.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '123', 'title' => ''],
],
[
'name' => 'PosixSecondaryGroupIds',
'in' => 'query',
'schema' => ['description' => 'The secondary group IDs. Separate multiple group IDs with commas (,).'."\n"
.'>Not supported for Agentic file systems.', 'type' => 'string', 'required' => false, 'example' => '123,345', 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'title' => '',
'description' => 'The list of access point tags.',
'type' => 'array',
'items' => [
'title' => '',
'description' => 'The list of access point tags.',
'type' => 'object',
'properties' => [
'Key' => ['title' => '', 'description' => 'The tag key.'."\n"
.'Limits:'."\n"
."\n"
.'- Cannot be empty or an empty string.'."\n"
.'- Can be up to 128 characters in length.'."\n"
.'- Cannot start with aliyun or acs:.'."\n"
.'- Cannot contain http:// or https://.', 'type' => 'string', 'example' => 'TestKey', 'required' => false],
'Value' => ['title' => '', 'description' => 'The tag value.'."\n"
.'Limits:'."\n"
."\n"
.'- Cannot be empty or an empty string.'."\n"
.'- Can be up to 128 characters in length.'."\n"
.'- Cannot contain http:// or https://.', 'type' => 'string', 'example' => 'TestValue', 'required' => false],
],
'required' => false,
'example' => '',
],
'required' => false,
'maxItems' => 21,
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'title' => '',
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****'."\n"],
'AccessPoint' => [
'description' => 'The access point.',
'type' => 'object',
'properties' => [
'AccessPointDomain' => ['description' => 'The domain name of the access point.', 'type' => 'string', 'example' => 'ap-ie15ydanoz.001014****-w****.cn-hangzhou.nas.aliyuncs.com', 'title' => ''],
'AccessPointId' => ['description' => 'The access point ID.', 'type' => 'string', 'example' => 'ap-ie15yd****', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidRequest', 'errorMessage' => 'The request is invalid.', 'description' => 'Invalid request'],
],
403 => [
['errorCode' => 'InvalidProtocolType.NotSupported', 'errorMessage' => 'The specified protocol type does not supported.', 'description' => ''],
['errorCode' => 'InvalidRamRole.NotExist', 'errorMessage' => 'The specified RAM role does not exist.', 'description' => 'The specified RAM role does not exist.'],
['errorCode' => 'InvalidRamRole.NoPermission', 'errorMessage' => 'The specified RAM role does not have sufficient permission.', 'description' => 'The specified RAM role does not have sufficient permission.'],
['errorCode' => 'OperationDenied.AccessPointCountsExceeded', 'errorMessage' => 'The maxium number of access point has reached its limits.', 'description' => 'The access point of the current file system has reached the upper limit.'],
],
[
['errorCode' => 'InvalidAccessGroup.NotFound', 'errorMessage' => 'The specified AccessGroup does not exist.', 'description' => 'The permission group that you specified does not exist or has been deleted.'],
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidVpc.NotFound', 'errorMessage' => 'The specified Vpc is not found.', 'description' => 'The specified VPC does not exist. Create a VPC first.'],
['errorCode' => 'InvalidVswitch.NotFound', 'errorMessage' => 'The specified VSwitch does not exist.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\\\n\\",\\n \\"AccessPoint\\": {\\n \\"AccessPointDomain\\": \\"ap-ie15ydanoz.001014****-w****.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"AccessPointId\\": \\"ap-ie15yd****\\"\\n }\\n}","type":"json"}]',
'title' => 'Create an access point',
'description' => '- When you invoke the CreateAccessPoint operation to create an access point, some resources are generated asynchronously. After the CreateAccessPoint operation succeeds, execute the [DescribeAccessPoints](~~2712239~~) or [DescribeAccessPoint](~~2712240~~) operation to query the access point status. Mount the file system only after the access point status becomes **Active**. Otherwise, the mount operation may fail.'."\n"
.'- Only General-purpose NAS NFS file systems support this feature.'."\n"
.'- If you enable the RAM policy (EnabledRam), configure the corresponding RAM permissions. For more information, see [Manage access points](~~2545998~~).',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateAccessPoint'],
],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateAccessPoint',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'CreateAccessRule' => [
'summary' => 'Creates a permission rule for a permission group.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '13928',
'abilityTreeNodes' => ['FEATUREnas2SBOJD'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'AccessGroupName',
'in' => 'query',
'schema' => ['description' => 'The name of the permission group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-test', 'title' => ''],
],
[
'name' => 'SourceCidrIp',
'in' => 'query',
'schema' => ['description' => 'The IP address or CIDR block of the authorized address.'."\n"
."\n"
.'The value must be a single IP address or a CIDR block.'."\n"
.'> Permission groups of the classic network type support only IP addresses.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '192.0.2.0/16', 'title' => ''],
],
[
'name' => 'RWAccessType',
'in' => 'query',
'schema' => [
'description' => 'The read and write permissions of the authorized address on the file system.'."\n"
."\n"
.'Valid values:'."\n"
.'- RDWR (default): read and write.'."\n"
.'- RDONLY: read-only.',
'enumValueTitles' => ['RDWR' => 'read and write.', 'RDONLY' => 'read and write.'],
'type' => 'string',
'required' => false,
'default' => 'RDWR',
'enum' => ['RDWR', 'RDONLY'],
'example' => 'RDWR',
'title' => '',
],
],
[
'name' => 'UserAccessType',
'in' => 'query',
'schema' => [
'description' => 'The access permissions of the system user of the authorized address on the file system.'."\n"
."\n"
.'Valid values:'."\n"
.'- no_squash (default): allows access to the file system as the root user.'."\n"
.'- root_squash: maps the root user to the nobody user when the root user accesses the file system.'."\n"
.'- all_squash: maps all users to the nobody user regardless of the user identity.'."\n"
."\n"
.'The nobody user is a default user in Linux. The nobody user can access only public content on the server and has low privileges and high security. Authorization is required for the system user to access the file system.',
'enumValueTitles' => ['all_squash' => 'Maps all users to the nobody user regardless of the user identity.', 'no_squash' => 'Default value. Allows access to the file system as the root user.', 'root_squash' => 'Maps the root user to the nobody user when the root user accesses the file system.'],
'type' => 'string',
'required' => false,
'default' => 'no_squash',
'enum' => ['no_squash', 'root_squash', 'all_squash'],
'example' => 'no_squash',
'title' => '',
],
],
[
'name' => 'Priority',
'in' => 'query',
'schema' => ['description' => 'The priority of the permission rule.'."\n"
."\n"
.'If an authorized address matches multiple rules, the rule with the highest priority takes effect.'."\n"
."\n"
.'Valid values: 1 to 100. The value 1 indicates the highest priority.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'FileSystemType',
'in' => 'query',
'schema' => [
'description' => 'The type of the file system.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- standard (default): General-purpose NAS.'."\n"
.'- extreme: Extreme NAS.',
'enumValueTitles' => ['standard' => 'General-purpose NAS.', 'extreme' => 'Extreme NAS.'],
'type' => 'string',
'required' => false,
'default' => 'standard',
'enum' => ['standard', 'extreme'],
'example' => 'standard',
'title' => '',
],
],
[
'name' => 'Ipv6SourceCidrIp',
'in' => 'query',
'schema' => ['description' => 'The source IPv6 CIDR block.'."\n"
."\n"
.'The value supports CIDR format and IPv6 format address range.'."\n"
."\n"
.'> - The IPv6 feature is supported only by Extreme NAS file systems in regions in the Chinese mainland, and IPv6 must be enabled for the file system.'."\n"
.'>- Only VPC networks are supported.'."\n"
.'>- IPv4 and IPv6 are mutually exclusive.', 'type' => 'string', 'required' => false, 'example' => '2001:250:6000::***', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'A323836B-5BC6-45A6-8048-60675C23****', 'title' => ''],
'AccessRuleId' => ['description' => 'The ID of the permission rule.', 'type' => 'string', 'example' => '1', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParam.Ipv6SourceCidrIp', 'errorMessage' => 'IPv6 address verification failed.', 'description' => 'IPv6 address verification failed.'],
['errorCode' => 'InvalidParam.SourceCidrIp', 'errorMessage' => 'IPv4 address verification failed.', 'description' => 'IPv4 address verification failed.'],
['errorCode' => 'InvalidParam.IPv4AndIPv6MutuallyExclusive', 'errorMessage' => 'You cannot configure IPv4 and IPv6 at the same time.', 'description' => 'You cannot configure IPv4 and IPv6 at the same time.'],
['errorCode' => 'InvalidAccessGroup.NotsupportedIPv6', 'errorMessage' => 'The access group does not support IPv6.', 'description' => 'The access group does not support IPv6.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A323836B-5BC6-45A6-8048-60675C23****\\",\\n \\"AccessRuleId\\": \\"1\\"\\n}","type":"json"}]',
'title' => 'Create a permission rule',
'description' => 'A maximum of 300 rules can be added to a permission group.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2022-08-08T02:49:13.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateAccessRule'],
],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateAccessRule',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'AccessGroup', 'arn' => 'acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}'],
],
],
],
],
],
'CreateAgenticSpace' => [
'summary' => 'Creates an Agentic space.',
'methods' => ['post', 'get'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '55589',
'abilityTreeNodes' => ['FEATUREnasXEQXVN'],
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '31a8e4****', 'title' => ''],
],
[
'name' => 'Azone',
'in' => 'query',
'schema' => ['description' => 'The zone ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou-i', 'title' => ''],
],
[
'name' => 'FileSystemPath',
'in' => 'query',
'schema' => ['description' => 'The absolute path of the file. Only first-level directories are supported.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '/path/', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'allowEmptyValue' => false,
'schema' => ['description' => 'The description of the AgenticSpace.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'- The description must be 2 to 128 characters in length.'."\n"
.'- The description must start with a letter or a Chinese character and cannot start with `http://` or `https://`.'."\n"
.'- The description can contain digits, colons (:), underscores (_), or hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'AgenticSpace Description', 'title' => ''],
],
[
'name' => 'Quota',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The quota information.',
'type' => 'object',
'properties' => [
'FileCountLimit' => ['description' => 'The maximum number of files allowed by the quota. Valid values:'."\n"
."\n"
.'- Minimum value: 10000.'."\n"
."\n"
.'- Maximum value: 100000000.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '10000', 'title' => ''],
'SizeLimit' => ['description' => 'The total capacity limit of the quota. Unit: bytes.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- Minimum value: 10737418240 (10 GiB).'."\n"
.'- Maximum value: 1099511627776000 (1024000 GiB).'."\n"
.'- Increment: 1073741824 (1 GiB).', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '10737418240', 'title' => ''],
],
'required' => true,
'title' => '',
'example' => '',
],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run for this request. A dry run checks parameter validity and dependencies without actually modifying the instance or incurring fees.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- true: sends a dry run request without modifying the protocol service. The system checks whether required parameters are specified, whether the request format is valid, and whether business limit dependencies are met. If the check fails, the corresponding error is returned. If the check succeeds, HTTP status code 200 is returned.'."\n"
.'- false (default): sends a normal request. After the check is passed, the protocol service is directly modified.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the RequestId of the API request as the ClientToken. The RequestId may differ for each API request.', 'type' => 'string', 'maxLength' => 64, 'minLength' => 1, 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****', 'title' => ''],
'AgenticSpaceId' => ['description' => 'The AgenticSpace ID. This is a globally unique identifier assigned by the system after the AgenticSpace (an independent workspace allocated to a single Agent end user in AgenticFS) is created.', 'type' => 'string', 'example' => 'agentic-229oypxjgpau2****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => 'The FileSystemId parameter is not specified.'],
['errorCode' => 'MissingFileSystemPath', 'errorMessage' => 'FileSystemPath is mandatory for this action.', 'description' => 'The FileSystemPath parameter is missing.'],
['errorCode' => 'InvalidFilesystemType.NotSupport', 'errorMessage' => 'This Api does not support this fileSystem type.', 'description' => 'The current interface does not support this type of file system.'],
['errorCode' => 'InvalidFilesystemVersion.NotSupport', 'errorMessage' => 'This Api does not support this fileSystem version.', 'description' => 'This Api does not support this fileSystem version.'],
['errorCode' => 'InvalidRequest', 'errorMessage' => 'The request is invalid.', 'description' => 'Invalid request'],
['errorCode' => 'Quota.Invalid.Limit', 'errorMessage' => 'Quota limit is invalid.', 'description' => 'Invalid quota.'],
['errorCode' => 'Resource.Exceed.Limit', 'errorMessage' => 'Resource exceed limit.', 'description' => 'The number of resources exceeds the limit.'],
['errorCode' => 'Resource.Check.Fail', 'errorMessage' => 'Resource check failed.', 'description' => 'Resource verification failed.'],
['errorCode' => 'Fileset.Path.Duplicate', 'errorMessage' => 'Fileset path is duplicate.', 'description' => 'Fileset path is duplicate.'],
['errorCode' => 'Fileset.Path.Nested', 'errorMessage' => 'Fileset path is nested.', 'description' => 'Fileset path is nested.'],
['errorCode' => 'Fileset.Path.NotExist', 'errorMessage' => 'Fileset.Path.Not.Exist.', 'description' => 'Fileset parent directory path does not exist.'],
['errorCode' => 'Fileset.Path.Exist', 'errorMessage' => 'Fileset already exist.', 'description' => 'Fileset path already exists.'],
],
403 => [
['errorCode' => 'OperationDenied.AlreadyExists', 'errorMessage' => 'The operation is denied due to IdirName already exists in parent path.', 'description' => 'The directory name already exists in the parent directory.'],
['errorCode' => 'OperationDenied.TooManyFilesets', 'errorMessage' => 'The operation is denied due to too many fileset in filesystem.', 'description' => 'The number of fileset directories in the file system exceeds the threshold.'],
['errorCode' => 'OperationDenied.TooManyDepths', 'errorMessage' => 'The operation is denied due to Fileset path too deep.', 'description' => 'The fileset directory path depth exceeds the threshold.'],
['errorCode' => 'OperationDenied.NestedDir', 'errorMessage' => 'The operation is denied due to nested directory.', 'description' => 'The automatic update configuration cannot be created because nested directories exist.'],
['errorCode' => 'OperationDenied.DependencyViolation', 'errorMessage' => 'The operation is denied due to dependancy violation.', 'description' => 'The conditions for this operation are not met.'],
['errorCode' => 'OperationDenied.FilesetNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => 'The file system does not support Fileset.'],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidFileSystemPath.ParentNotFound', 'errorMessage' => 'The specified parent path does not exist.', 'description' => 'The specified parent directory does not exist.'],
['errorCode' => 'InvalidFileSystemPath.NotDirectory', 'errorMessage' => 'The specified idir parent path is not directory.', 'description' => 'The specified parent directory is not a directory.'],
['errorCode' => 'InvalidFileSystemPath.InvalidCharacters', 'errorMessage' => 'The specified fileset path contains invalid characters.', 'description' => 'The specified file system path contains invalid characters.'],
['errorCode' => 'InvalidFilesetPath.InvalidParameter', 'errorMessage' => 'Fileset path is invalid.', 'description' => 'The specified fileset path is invalid.'],
],
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
'gatewayOptions' => [
'gatewayProtocols' => [],
],
'title' => 'Create an agentic space',
'description' => 'Applicable to agentic-type file systems.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\",\\n \\"AgenticSpaceId\\": \\"agentic-229oypxjgpau2****\\"\\n}","type":"json"}]',
],
'CreateAutoSnapshotPolicy' => [
'summary' => 'Creates an automatic snapshot policy.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13929',
'abilityTreeNodes' => ['FEATUREnas5QOAQE'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'RepeatWeekdays',
'in' => 'query',
'schema' => ['description' => 'The days of the week on which automatic snapshots are created.'."\n"
."\n"
.'Cycle: week.'."\n"
."\n"
.'Valid values: 1 to 7, which represent Monday through Sunday.'."\n"
."\n"
.'To create automatic snapshots on multiple days in a week, specify multiple values separated by commas (,). You can specify a maximum of 7 values.', 'type' => 'string', 'required' => true, 'example' => '1,2,3', 'title' => ''],
],
[
'name' => 'TimePoints',
'in' => 'query',
'schema' => ['description' => 'The time points at which automatic snapshots are created.'."\n"
."\n"
.'Unit: hours.'."\n"
."\n"
.'Valid values: 0 to 23, which represent the 24 time points from 00:00 to 23:00. For example, 1 indicates 01:00.'."\n"
."\n"
.'To create multiple automatic snapshots within a day, specify multiple time points separated by commas (,). You can specify a maximum of 24 time points.', 'type' => 'string', 'required' => true, 'example' => '0,1,…,23', 'title' => ''],
],
[
'name' => 'RetentionDays',
'in' => 'query',
'schema' => ['description' => 'The retention period of automatic snapshots.'."\n"
."\n"
.'Unit: days.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- -1 (default): Automatic snapshots are permanently retained. When the snapshot quota is reached, the earliest automatic snapshots are automatically deleted.'."\n"
.'- 1 to 65536: Automatic snapshots are retained for the specified number of days. Snapshots are subject to automatic release after the retention period expires.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65536', 'minimum' => '-1', 'default' => '-1', 'example' => '30', 'title' => ''],
],
[
'name' => 'AutoSnapshotPolicyName',
'in' => 'query',
'schema' => ['description' => 'The name of the automatic snapshot policy.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'- The name must be 2 to 128 characters in length.'."\n"
.'- The name must start with a letter or a Chinese character.'."\n"
.'- The name can contain digits, colons (:), underscores (_), or hyphens (-). It cannot start with `http://` or `https://`.'."\n"
.'- Default value: empty.', 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''],
],
[
'name' => 'FileSystemType',
'in' => 'query',
'schema' => [
'description' => 'The type of the file system.'."\n"
."\n"
.'Valid values: extreme (Extreme NAS).',
'enumValueTitles' => ['extreme' => 'Extreme NAS.'],
'type' => 'string',
'required' => true,
'enum' => ['extreme'],
'example' => 'extreme',
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
'AutoSnapshotPolicyId' => ['description' => 'The ID of the automatic snapshot policy.', 'type' => 'string', 'example' => 'sp-extreme-233e6****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"AutoSnapshotPolicyId\\": \\"sp-extreme-233e6****\\"\\n}","type":"json"}]',
'title' => 'Create an automatic snapshot policy',
'description' => '.'."\n"
."\n"
.'- This feature is in free public preview. During the public preview, the [File Storage NAS Service-Level Agreement (SLA)](https://terms.aliyun.com/legal-agreement/terms/suit_bu1_ali_cloud/suit_bu1_ali_cloud201803061139_99860.html?spm=a2c4g.11186623.0.0.5c895ff2YPLrwe) is not guaranteed.'."\n"
.'- Only Advanced Extreme NAS supports this feature.'."\n"
.'- You can create a maximum of 100 automatic snapshot policies per Alibaba Cloud account in each region.'."\n"
.'- If a file system contains a large amount of data and the time required to create an automatic snapshot exceeds the interval between two scheduled time points, the next time point is automatically skipped. For example, you set 09:00, 10:00, 11:00, and 12:00 as automatic snapshot time points. Because the file system contains a large amount of data, snapshot creation starts at 09:00 and completes at 10:20, taking 80 minutes. The system skips the 10:00 time point and creates the next automatic snapshot at 11:00.'."\n"
.'- Each file system supports a maximum of 128 automatic snapshots. After the snapshot quota is reached, the system automatically deletes the earliest automatic snapshots. Manual snapshots are not affected.'."\n"
.'- When you modify the retention period of an automatic snapshot policy, the change takes effect only for new snapshots. Existing snapshots retain their original retention period.'."\n"
.'- If an automatic snapshot is being created for a file system, you must wait until the automatic snapshot is complete before you can manually create a snapshot.'."\n"
.'- Automatic snapshot policies cannot be executed on file systems that are not in the Normal state.'."\n"
.'- Automatic snapshots follow a unified naming format: `auto_yyyyMMdd_X`. In this format, `auto` indicates an automatic snapshot, distinguishing it from manual snapshots. `yyyyMMdd` indicates the date when the snapshot is created, where `y` represents the year, `M` represents the month, and `d` represents the day. `X` indicates the sequence number of the automatic snapshot created on that day. For example, `auto_20201018_1` indicates the first automatic snapshot created on October 18, 2020.'."\n"
.'- A created automatic snapshot policy can be applied to any file system by calling ApplyAutoSnapshotPolicy, and the policy content can be modified by calling ModifyAutoSnapshotPolicy.'."\n"
."\n"
.'.'."\n"
."\n"
.'.'."\n"
."\n"
.'- This feature is in free public preview. During the public preview, the [File Storage NAS Service-Level Agreement (SLA)](https://www.alibabacloud.com/help/legal/latest/network-attached-storage-service-level-agreement) is not guaranteed.'."\n"
.'- Only Advanced Extreme NAS supports this feature.'."\n"
.'- You can create a maximum of 100 automatic snapshot policies per Alibaba Cloud account in each region.'."\n"
.'- If a file system contains a large amount of data and the time required to create an automatic snapshot exceeds the interval between two scheduled time points, the next time point is automatically skipped. For example, you set 09:00, 10:00, 11:00, and 12:00 as automatic snapshot time points. Because the file system contains a large amount of data, snapshot creation starts at 09:00 and completes at 10:20, taking 80 minutes. The system skips the 10:00 time point and creates the next automatic snapshot at 11:00.'."\n"
.'- Each file system supports a maximum of 128 automatic snapshots. After the snapshot quota is reached, the system automatically deletes the earliest automatic snapshots. Manual snapshots are not affected.'."\n"
.'- When you modify the retention period of an automatic snapshot policy, the change takes effect only for new snapshots. Existing snapshots retain their original retention period.'."\n"
.'- If an automatic snapshot is being created for a file system, you must wait until the automatic snapshot is complete before you can manually create a snapshot.'."\n"
.'- Automatic snapshot policies cannot be executed on file systems that are not in the Normal state.'."\n"
.'- Automatic snapshots follow a unified naming format: `auto_yyyyMMdd_X`. In this format, `auto` indicates an automatic snapshot, distinguishing it from manual snapshots. `yyyyMMdd` indicates the date when the snapshot is created, where `y` represents the year, `M` represents the month, and `d` represents the day. `X` indicates the sequence number of the automatic snapshot created on that day. For example, `auto_20201018_1` indicates the first automatic snapshot created on October 18, 2020.'."\n"
.'- A created automatic snapshot policy can be applied to any file system by calling ApplyAutoSnapshotPolicy, and the policy content can be modified by calling ModifyAutoSnapshotPolicy.'."\n"
."\n"
.'.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-09-05T09:23:04.000Z', 'description' => 'Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateAutoSnapshotPolicy'],
],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateAutoSnapshotPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'CreateDataFlow' => [
'summary' => 'Creates a data flow between a CPFS General-purpose or CPFS for Lingjun file system and source storage.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'abilityTreeCode' => '49006',
'abilityTreeNodes' => ['FEATUREnasPWYFYN'],
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.'."\n"
."\n"
.'- CPFS General-purpose: must start with `cpfs-`, such as cpfs-125487\\*\\*\\*\\*.'."\n"
."\n"
.'- CPFS for Lingjun: must start with `bmcpfs-`, such as bmcpfs-0015\\*\\*\\*\\*.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cpfs-099394bd928c****', 'title' => ''],
],
[
'name' => 'FsetId',
'in' => 'query',
'schema' => ['description' => 'The Fileset ID.'."\n"
.'> This parameter is required when the file system type is CPFS General-purpose.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'fset-1902718ea0ae****', 'title' => ''],
],
[
'name' => 'SourceStorage',
'in' => 'query',
'schema' => ['description' => 'The access address of the source storage. Format: `://[:]`.'."\n"
."\n"
.'Where:'."\n"
."\n"
.'- storage type: only oss is supported.'."\n"
.'- account id: optional. The UID of the account that owns the source storage. This parameter is required when you use cross-account OSS.'."\n"
.'- path: the name of the OSS bucket. Limits:'."\n"
."\n"
.' - Only lowercase letters, digits, and hyphens (-) are supported. The name must start and end with a lowercase letter or digit.'."\n"
."\n"
.' - The maximum length is 128 characters.'."\n"
."\n"
.' - UTF-8 encoding is used.'."\n"
."\n"
.'> - The OSS bucket must be an existing bucket in the region.'."\n"
.'> - The account id parameter is supported only by CPFS for Lingjun 2.6.0 and later.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'maxLength' => 128, 'example' => 'oss://178321033379****:bucket-01', 'title' => ''],
],
[
'name' => 'SourceSecurityType',
'in' => 'query',
'allowEmptyValue' => false,
'schema' => ['description' => 'The security protection type of the source storage. If the source storage must be accessed through security protection, specify the security protection type. Valid values:'."\n"
."\n"
.'- None (default): The source storage does not require security protection for access.'."\n"
.'- SSL: Access is protected by an SSL certificate.', 'type' => 'string', 'required' => false, 'example' => 'SSL', 'title' => ''],
],
[
'name' => 'Throughput',
'in' => 'query',
'schema' => [
'description' => 'The maximum transfer bandwidth of the data flow. Unit: MB/s. Valid values: '."\n"
."\n"
.'- 600'."\n"
.'- 1200'."\n"
.'- 1500'."\n"
."\n"
.'> The transfer bandwidth of the data flow must be less than the I/O bandwidth of the file system.'."\n"
.'> This parameter is required when the file system type is CPFS General-purpose.',
'enumValueTitles' => [600 => '600MB/s ', 1200 => '1200MB/s ', 1500 => '1500MB/s ', 2000 => '2000MB/s '],
'type' => 'integer',
'format' => 'int64',
'required' => false,
'docRequired' => false,
'enum' => ['600', '1200', '1500', '2000'],
'example' => '600',
'title' => '',
],
],
[
'name' => 'Description',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => ['description' => 'The description of the data flow.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'- The description must be 2 to 128 characters in length.'."\n"
.'- The description must start with a letter.'."\n"
.'- The description cannot start with `http://` or `https://`.'."\n"
.'- The description can contain digits, colons (:), underscores (_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'Bucket01 DataFlow', 'title' => ''],
],
[
'name' => 'AutoRefreshs',
'in' => 'query',
'allowEmptyValue' => false,
'style' => 'repeatList',
'schema' => [
'description' => 'The auto-refresh configuration collection.'."\n"
.'> This parameter takes effect only when the file system type is CPFS General-purpose.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'RefreshPath' => ['description' => 'The auto-refresh directory. CPFS General-purpose registers data modification events from the source storage and checks whether the source data in this directory has been updated, then automatically imports the updated data.'."\n"
."\n"
.'The default value is empty, which means that data updates in the source storage are not automatically imported to CPFS General-purpose. You must manually create a task to import updates.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'- The path must be 2 to 1024 characters in length.'."\n"
.'- UTF-8 encoding is used.'."\n"
.'- The path must start and end with a forward slash (/).'."\n"
.'- The directory must be an existing directory in the CPFS General-purpose file system and must be located within the Fileset directory of the data flow.', 'type' => 'string', 'maxLength' => 1024, 'minLength' => 2, 'required' => false, 'example' => '/prefix1/prefix2/', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 10,
'title' => '',
'example' => '',
],
],
[
'name' => 'AutoRefreshPolicy',
'in' => 'query',
'schema' => [
'description' => 'The auto-refresh policy. Specifies the policy for importing data updates from the source storage to CPFS General-purpose after the source data is updated. Valid values:'."\n"
."\n"
.'- None (default): Data updates in the source storage are not automatically imported to CPFS General-purpose. You can import data updates from the source storage by using a data flow task.'."\n"
.'- ImportChanged: Data updates in the source storage are automatically imported to CPFS General-purpose.'."\n"
.'> This parameter takes effect only when the file system type is CPFS General-purpose.',
'enumValueTitles' => ['ImportChanged' => 'Data updates in the source storage are automatically imported to CPFS General-purpose.', 'None' => 'Data updates in the source storage are not automatically imported to CPFS General-purpose.'],
'type' => 'string',
'default' => 'None',
'enum' => ['None', 'ImportChanged'],
'required' => false,
'example' => 'None',
'title' => '',
],
],
[
'name' => 'AutoRefreshInterval',
'in' => 'query',
'schema' => ['description' => 'The auto-refresh interval. CPFS General-purpose checks the directory for data updates at this interval. If data updates exist, an auto-refresh task is started. Unit: minutes.'."\n"
."\n"
.'Valid values: 10 to 525600. Default value: 10.'."\n"
.'> This parameter takes effect only when the file system type is CPFS General-purpose.', 'type' => 'integer', 'format' => 'int64', 'maximum' => '525600', 'minimum' => '5', 'default' => '10', 'required' => false, 'example' => '10', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run for this create request.'."\n"
."\n"
.'A dry run checks parameter validity and resource availability without actually creating the instance or incurring charges.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- true: Sends a dry run request without creating the instance. The check items include required parameters, request format, business limits, and NAS inventory. If the check fails, the corresponding error is returned. If the check succeeds, HTTP status code 200 is returned, but FileSystemId is empty.'."\n"
.'- false (default): Sends a normal request and creates the instance after the check is passed.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'Ensures the idempotence of the request. Generate a parameter value from your client to ensure that the value is unique across different requests.'."\n"
."\n"
.'ClientToken supports only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the RequestId of the API request as the ClientToken. The RequestId may differ for each API request.', 'type' => 'string', 'maxLength' => 64, 'minLength' => 1, 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'SourceStoragePath',
'in' => 'query',
'schema' => ['title' => '', 'description' => 'The access path within the source storage bucket. Limits:'."\n"
."\n"
.' - The path must start and end with a forward slash (/).'."\n"
."\n"
.'- The path is case-sensitive.'."\n"
."\n"
.'- The path must be 1 to 1023 characters in length.'."\n"
."\n"
.'- UTF-8 encoding is used.'."\n"
."\n"
.'> This parameter is required when the file system type is CPFS for Lingjun.', 'type' => 'string', 'docRequired' => false, 'example' => '/prefix/', 'maxLength' => 1023, 'minLength' => 1, 'required' => false],
],
[
'name' => 'FileSystemPath',
'in' => 'query',
'schema' => ['title' => '', 'description' => 'The directory in the CPFS for Lingjun file system. Limits:'."\n"
.'- The path must start and end with a forward slash (/).'."\n"
."\n"
.'- The directory must be an existing directory in the CPFS for Lingjun file system.'."\n"
."\n"
.'- The path must be 1 to 1023 characters in length.'."\n"
."\n"
.'- UTF-8 encoding is used.'."\n"
."\n"
.'> This parameter is required when the file system type is CPFS for Lingjun.', 'type' => 'string', 'example' => '/path/', 'maxLength' => 1023, 'minLength' => 1, 'required' => false],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0D****3E', 'title' => ''],
'DataFlowId' => ['description' => 'The data flow ID.', 'type' => 'string', 'example' => 'df-194433a5be31****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFsetId', 'errorMessage' => 'FsetId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingSourceStorage', 'errorMessage' => 'SourceStorage is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingThroughput', 'errorMessage' => 'Throughput is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'InvalidFilesystemVersion.NotSupport', 'errorMessage' => 'This Api does not support this fileSystem version.', 'description' => 'This Api does not support this fileSystem version.'],
['errorCode' => 'DataFlow.Bucket.RegionUnmatched', 'errorMessage' => 'The bucket and file system are not in the same region.', 'description' => 'The bucket is inconsistent with the filesystem region.'],
],
403 => [
['errorCode' => 'OperationDenied.DependencyViolation', 'errorMessage' => 'The operation is denied due to dependancy violation.', 'description' => ''],
['errorCode' => 'OperationDenied.NoStock', 'errorMessage' => 'The operation is denied due to no stock.', 'description' => ''],
['errorCode' => 'OperationDenied.DependFset', 'errorMessage' => 'The operation is denied due to invalid fileset state.', 'description' => ''],
['errorCode' => 'OperationDenied.ConflictOperation', 'errorMessage' => 'The operation is denied due to a conflict with an ongoing operation.', 'description' => ''],
['errorCode' => 'OperationDenied.DependMountpoint', 'errorMessage' => 'The operation is denied because no mount point is found.', 'description' => ''],
['errorCode' => 'OperationDenied.FsetAlreadyInUse', 'errorMessage' => 'The Fset is already bound to another data flow.', 'description' => ''],
['errorCode' => 'OperationDenied.AutoRefreshNotSupport', 'errorMessage' => 'The operation is denied. Auto refresh is not supported.', 'description' => ''],
['errorCode' => 'OperationDenied.DependBucketTag', 'errorMessage' => 'The operation is denied. The OSS Bucket tag cpfs-dataflow is missing.', 'description' => ''],
['errorCode' => 'OperationDenied.DataFlowNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => ''],
['errorCode' => 'InvalidOperation.DeletionProtection', 'errorMessage' => 'The operation is not allowed due to resource is protected by deletion protection.', 'description' => ''],
['errorCode' => 'DataFlow.Bucket.AccessDenied', 'errorMessage' => 'Bucket access denied.', 'description' => 'Data flow authentication error.'],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidThroughput.OutOfBounds', 'errorMessage' => 'Throughput is out of bounds.', 'description' => ''],
['errorCode' => 'InvalidDescription.InvalidFormat', 'errorMessage' => 'Description format is invalid.', 'description' => ''],
['errorCode' => 'InvalidRefreshPath.InvalidParameter', 'errorMessage' => 'Refresh path is invalid.', 'description' => ''],
['errorCode' => 'InvalidRefreshPath.Duplicated', 'errorMessage' => 'Refresh path is duplicated.', 'description' => ''],
['errorCode' => 'InvalidRefreshPath.NotFound', 'errorMessage' => 'Refresh path does not exist.', 'description' => ''],
['errorCode' => 'InvalidRefreshPolicy.InvalidParameter', 'errorMessage' => 'Refresh policy is invalid.', 'description' => ''],
['errorCode' => 'InvalidRefreshInterval.OutOfBounds', 'errorMessage' => 'Refresh interval is out of bounds.', 'description' => ''],
['errorCode' => 'InvalidSourceStorage.Unreachable', 'errorMessage' => 'Source storage cannot be accessed.', 'description' => ''],
['errorCode' => 'InvalidSourceStorage.NotFound', 'errorMessage' => 'Source storage is not found.', 'description' => ''],
['errorCode' => 'InvalidSourceStorage.NotSupport', 'errorMessage' => 'Source storage type is not supported.', 'description' => ''],
['errorCode' => 'InvalidSourceStorage.PermissionDenied', 'errorMessage' => 'The source storage access permission is denied.', 'description' => ''],
['errorCode' => 'InvalidSourceStorage.InvalidRegion', 'errorMessage' => 'Source storage region is invalid.', 'description' => ''],
['errorCode' => 'InvalidSourceStorage.InvalidParameter', 'errorMessage' => 'Source storage has invalid parameters.', 'description' => ''],
['errorCode' => 'InvalidSourceSecurityType.NotSupport', 'errorMessage' => 'The source security type is not supported.', 'description' => ''],
['errorCode' => 'InvalidAutoRefresh.TooManyAutoRefreshes', 'errorMessage' => 'The number of auto refreshes exceeds the limit.', 'description' => ''],
['errorCode' => 'InvalidSourceStorage.NeedVersioning', 'errorMessage' => 'Source storage must enable versioning.', 'description' => ''],
['errorCode' => 'InvalidFsetId.NotFound', 'errorMessage' => 'The specified Fileset ID does not exist.', 'description' => ''],
['errorCode' => 'DataFlow.Bucket.NotExist', 'errorMessage' => 'Bucket does not exist.', 'description' => 'The bucket does not exist.'],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0D****3E\\",\\n \\"DataFlowId\\": \\"df-194433a5be31****\\"\\n}","type":"json"}]',
'title' => 'Create a data flow',
'description' => '- This operation applies to the following products:'."\n"
."\n"
.'| Product | File system ID format | Minimum version that supports data flows |'."\n"
.'|------|----------------|------------------------|'."\n"
.'| **CPFS General-purpose** | Starts with `cpfs-`, such as cpfs-125487\\*\\*\\*\\* | 2.2.0 and later |'."\n"
.'| **CPFS for Lingjun** | Starts with `bmcpfs-`, such as bmcpfs-0015\\*\\*\\*\\* | 2.4.0 and later |'."\n"
.'> CPFS General-purpose and CPFS for Lingjun share the same set of API operations, but differ in parameter values and feature support. Refer to the corresponding section based on the product type you use.'."\n"
."\n"
.'- Basic operations'."\n"
.' - You can create a data flow only when the CPFS General-purpose or CPFS for Lingjun file system is in the Running state.'."\n"
.' - A maximum of **10** data flows can be created for a single CPFS General-purpose or CPFS for Lingjun file system.'."\n"
.' - Creating a data flow typically takes 2 to 5 minutes. You can call [DescribeDataFlows](~~336901~~) to check whether the data flow is created.'."\n"
."\n"
.'- Permissions.'."\n"
."\n"
.' When you create a data flow, Cloud Parallel File Storage associates the `AliyunServiceRoleForNasOssDataflow` and `AliyunServiceRoleForNasEventNotification` service-linked roles. For more information, see [CPFS service-linked roles](~~185138~~).'."\n"
."\n"
.'- CPFS General-purpose usage notes.'."\n"
."\n"
.' This section applies to CPFS General-purpose file systems whose IDs start with `cpfs-`.'."\n"
.' - Billing'."\n"
."\n"
.' - Creating a data flow incurs charges based on the data flow bandwidth. For more information, see [CPFS General-purpose billing](~~111858~~).'."\n"
.' - When you use auto-refresh (AutoRefresh), EventBridge collects object modification events from the source OSS storage, which incurs fees. For more information, see [EventBridge billing](~~163752~~).'."\n"
."\n"
.' - Data flow specifications'."\n"
.' - The data flow bandwidth (Throughput) supports three specifications: 600 MB/s, 1200 MB/s, and 1500 MB/s. The data flow bandwidth refers to the maximum transfer bandwidth that the data flow can achieve during data import or export.'."\n"
.' - Creating a data flow consumes one vSwitch IP address used by the Cloud Parallel File Storage General-purpose mount target. Make sure that sufficient vSwitch IP resources are available.'."\n"
.' - Inventory check: When DryRun is set to true, you can verify whether the resources required to create a data flow of the specified specification are available.'."\n"
."\n"
.' - Fileset'."\n"
.' - The destination of a data flow is a Fileset in the CPFS General-purpose file system. A Fileset is a new directory tree structure in the CPFS General-purpose file system. It is a small file system within the parent file system that has an independent inode space and management capability.'."\n"
.' - The Fileset must already exist when you create a data flow, and it cannot be nested with other Filesets. Only one data flow can be created on a Fileset, corresponding to one source storage.'."\n"
.' - The maximum number of files in a Fileset is 1 million. If the number of files imported from an OSS bucket exceeds this limit, creating new files returns a `no space` error.'."\n"
.' > If data already exists in the Fileset, the existing data in the Fileset is cleared and replaced with data synchronized from OSS after the data flow is created.'."\n"
."\n"
.' - Auto-refresh'."\n"
.' - After auto-refresh (AutoRefresh) is configured, when data in the source storage changes, the changed metadata is automatically synchronized to the Cloud Parallel File Storage General-purpose file system. The changed data is loaded on demand when a user accesses the file, or loaded by starting a data flow task to load data.'."\n"
.' - Auto-refresh relies on EventBridge to collect object modification events from the source OSS storage. You must first [activate EventBridge](~~182246~~).'."\n"
.' - The scope of automatic synchronization is a prefix, specified by the RefreshPath parameter. A maximum of 5 auto-refresh folders can be configured for a data flow.'."\n"
.' - The auto-refresh interval (AutoRefreshInterval) specifies the interval at which Cloud Parallel File Storage General-purpose checks whether data updates exist in the specified prefix of the source OSS bucket. If data updates exist, an automatic synchronization task is started. When the frequency of object modification events in the source OSS exceeds the processing capacity of the Cloud Parallel File Storage General-purpose data flow, automatic synchronization tasks accumulate, metadata updates are delayed, and the data flow status changes to `Misconfigured`. You can resolve this issue by upgrading the data flow specification or reducing the OSS modification frequency.'."\n"
.' - When automatic synchronization is configured for a prefix in a Cloud Parallel File Storage General-purpose data flow, an event bus is created on the user side, and an event rule is created for the prefix of the source OSS bucket. When an object modification occurs in the prefix of the source OSS bucket, an OSS event is generated in EventBridge and processed by the Cloud Parallel File Storage General-purpose data flow.'."\n"
.' > The event bus and event rules created by Cloud Parallel File Storage General-purpose in EventBridge have the description `Create for cpfs auto refresh`. Do not modify or delete the event bus or event rules. Otherwise, auto-refresh does not work properly. The data flow status changes to Normal only when auto-refresh is working properly.'."\n"
."\n"
.' - Source storage'."\n"
.' - Only OSS is supported as source storage. The source storage (SourceStorage) of a data flow must be an OSS bucket.'."\n"
.' - Cloud Parallel File Storage General-purpose data flows support both encrypted and non-encrypted access to OSS. When you select encrypted (SSL) access to OSS, confirm that the encryption in transit settings of the OSS bucket support encrypted access.'."\n"
.' - If data flows of multiple Cloud Parallel File Storage General-purpose file systems, or multiple data flows of the same Cloud Parallel File Storage General-purpose file system, use the same OSS bucket as the source storage, enable versioning for the OSS bucket to prevent data conflicts when multiple Cloud Parallel File Storage General-purpose file systems export data to the same source. This procedure is required to avoid conflicts during the process.'."\n"
.' - Cross-region OSS data flows are not supported. The OSS bucket must be in the same region as the Cloud Parallel File Storage General-purpose file system.'."\n"
.' > Before creating a data flow, set a tag (key: cpfs-dataflow, value: true) on the source OSS bucket so that the Cloud Parallel File Storage General-purpose data flow can access the data in the bucket. Do not delete or modify this tag while the data flow is in use. Otherwise, the Cloud Parallel File Storage General-purpose data flow cannot access the data in the bucket.'."\n"
."\n"
.'- CPFS for Lingjun usage notes.'."\n"
."\n"
.' This section applies to CPFS for Lingjun file systems whose IDs start with `bmcpfs-`.'."\n"
."\n"
.' - Source storage'."\n"
.' - Only OSS is supported as source storage. The source storage (SourceStorage) of a data flow must be an OSS bucket.'."\n"
.' - CPFS for Lingjun data flows support both encrypted and non-encrypted access to OSS. When you select encrypted (SSL) access to OSS, make sure that the encryption in transit of the OSS bucket supports encrypted access.'."\n"
.' - If data flows of multiple CPFS for Lingjun file systems, or multiple data flows of the same CPFS for Lingjun file system, use the same OSS bucket as the source storage, enable versioning for the OSS bucket to prevent data conflicts when multiple CPFS for Lingjun file systems export data to the same source.'."\n"
.' - Cross-region OSS data flows are not supported. The OSS bucket must be in the same region as the CPFS for Lingjun file system.'."\n"
.' - CPFS for Lingjun 2.6.0 and later support creating data flows with cross-account OSS.'."\n"
.' - The account ID parameter is required only when you use cross-account OSS.'."\n"
.' - When you use cross-account OSS, authorize the account first. For more information, see [Cross-account data flow authorization](~~2713462~~).'."\n"
.' > Before creating a data flow, set a tag (key: cpfs-dataflow, value: true) on the source OSS bucket so that the CPFS for Lingjun data flow can access the data in the bucket. Do not delete or modify this tag while the data flow is in use. Otherwise, the CPFS for Lingjun data flow cannot access the data in the bucket.'."\n"
."\n"
.' - Data flow restrictions on file systems.'."\n"
."\n"
.' - In the file system path associated with a data flow, you cannot rename a non-empty directory. Otherwise, a Permission Denied or directory not empty error is returned.'."\n"
.' - Use special characters in directory and file names with caution. The following characters are supported: uppercase and lowercase letters, digits, exclamation marks (!), hyphens (-), underscores (_), periods (.), asterisks (*), and parentheses (()).'."\n"
.' - Excessively long paths are not supported. The maximum path length supported by data flows is 1023 characters.'."\n"
."\n"
.' - Data flow import restrictions.'."\n"
."\n"
.' - After symlink files are imported to CPFS for Lingjun, they are converted to regular files that contain data, and the symlink information is lost.'."\n"
.' - If the OSS bucket has multiple versions, only the latest version is copied.'."\n"
.' - File names or subdirectory names longer than 255 bytes are not supported.'."\n"
.' - Data flow export restrictions'."\n"
."\n"
.' - After symlink files are synchronized to OSS, the files pointed to by the symlinks are not synchronized. Instead, the symlinks become regular empty objects with no data.'."\n"
.' - Hardlink files are synchronized to OSS as regular files only.'."\n"
.' - Socket, Device, and Pipe files become regular empty objects with no data when exported to an OSS bucket.'."\n"
.' - Directory paths longer than 1023 characters are not supported.',
'changeSet' => [
['createdAt' => '2024-09-09T01:49:11.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-05-31T02:47:37.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-02-29T02:03:34.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'],
['createdAt' => '2021-11-23T06:33:57.000Z', 'description' => 'Error codes changed, Request parameters changed'],
['createdAt' => '2021-11-23T06:33:57.000Z', 'description' => 'Error codes changed, Request parameters changed'],
['createdAt' => '2021-11-23T06:33:57.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-10-28T08:34:23.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateDataFlow'],
],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateDataFlow',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
],
'CreateDataFlowSubTask' => [
'summary' => 'Creates a data streaming subtask.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '225698',
'abilityTreeNodes' => ['FEATUREnasPWYFYN'],
'autoTest' => false,
'notSupportAutoTestReason' => '特殊用户使用',
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bmcpfs-370lx1ev9ss27o0****', 'title' => ''],
],
[
'name' => 'DataFlowId',
'in' => 'query',
'schema' => ['description' => 'The ID of the dataflow.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'df-194433a5be31****', 'title' => ''],
],
[
'name' => 'DataFlowTaskId',
'in' => 'query',
'schema' => ['description' => 'The ID of the dataflow task.'."\n"
."\n"
.'> Only the IDs of data streaming tasks are supported.'."\n", 'type' => 'string', 'required' => true, 'example' => 'task-38aa8e890f45****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run.'."\n"
."\n"
.'During the dry run, the system checks whether the request parameters are valid and whether the requested resources are available. During the dry run, no data streaming subtask is created and no fee is incurred.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* true: performs a dry run. The system checks the required parameters, request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the HTTP status code 200 is returned. No value is returned for the DataFlowSubTaskId parameter.'."\n"
.'* false (default): performs a dry run and sends the request. If the request passes the dry run, a data streaming subtask is created.'."\n", 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How do I ensure the idempotence?](~~25693~~)'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'SrcFilePath',
'in' => 'query',
'schema' => ['description' => 'The path of the source file. Limits:'."\n"
."\n"
.'* The path must be 1 to 1,023 characters in length.'."\n"
.'* The path must be encoded in UTF-8.'."\n"
.'* The path must start with a forward slash (/).'."\n"
.'* The path must end with the file name.'."\n", 'type' => 'string', 'required' => true, 'example' => '/test/file.png', 'title' => ''],
],
[
'name' => 'DstFilePath',
'in' => 'query',
'schema' => ['description' => 'The path of the destination file. Limits:'."\n"
."\n"
.'* The path must be 1 to 1,023 characters in length.'."\n"
.'* The path must be encoded in UTF-8.'."\n"
.'* The path must start with a forward slash (/).'."\n"
.'* The path must end with the file name.'."\n", 'type' => 'string', 'required' => true, 'example' => '/mnt/file.png', 'title' => ''],
],
[
'name' => 'Condition',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The check conditions. The check must be passed after the following conditions are specified.'."\n",
'type' => 'object',
'properties' => [
'ModifyTime' => ['description' => 'The modification time. The value must be a UNIX timestamp. Unit: ns.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1725897600000000000', 'title' => ''],
'Size' => ['description' => 'The file size. Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '68', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'A70BEE5D-76D3-49FB-B58F-1F398211A5C3', 'title' => ''],
'DataFlowSubTaskId' => ['description' => 'The ID of the data streaming task.'."\n", 'type' => 'string', 'example' => 'subTaskId-370kyfmyknxcyzw****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingDataFlowId', 'errorMessage' => 'DataFlowId is mandatory for this action.', 'description' => ''],
['errorCode' => 'InvalidFilesystemVersion.NotSupport', 'errorMessage' => 'This Api does not support this fileSystem version.', 'description' => 'This Api does not support this fileSystem version.'],
],
403 => [
['errorCode' => 'OperationDenied.InvalidState', 'errorMessage' => 'The operation is not permitted when the status is processing.', 'description' => 'The operation is not permitted when the status is processing.'],
['errorCode' => 'OperationDenied.DependencyViolation', 'errorMessage' => 'The operation is denied due to dependancy violation.', 'description' => ''],
['errorCode' => 'OperationDenied.DataFlowNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidParameter.InvalidFormat', 'errorMessage' => 'The EntryList format is invalid.', 'description' => ''],
['errorCode' => 'InvalidParameter.SizeTooLarge', 'errorMessage' => 'The specified EntryList size exceeds 64 KB.', 'description' => ''],
['errorCode' => 'InvalidDataFlow.NotFound', 'errorMessage' => 'The specified data flow does not exist.', 'description' => ''],
['errorCode' => 'InvalidTaskAction.NotSupported', 'errorMessage' => 'The task action is not supported.', 'description' => ''],
['errorCode' => 'InvalidTaskAction.PermissionDenied', 'errorMessage' => 'The task action is not allowed.', 'description' => ''],
['errorCode' => 'InvalidSrcTaskId.NotFound', 'errorMessage' => 'The SrcTaskId is not found.', 'description' => ''],
['errorCode' => 'InvalidDataType.NotSupported', 'errorMessage' => 'The data type is not supported.', 'description' => ''],
['errorCode' => 'InvalidSrcTaskId.TaskIdInvalid', 'errorMessage' => 'Source task ID is invalid.', 'description' => ''],
['errorCode' => 'InvalidSrcTaskId.TaskIdNotFound', 'errorMessage' => 'Source task ID is not found.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A70BEE5D-76D3-49FB-B58F-1F398211A5C3\\",\\n \\"DataFlowSubTaskId\\": \\"subTaskId-370kyfmyknxcyzw****\\"\\n}","type":"json"}]',
'title' => 'CreateDataFlowSubTask',
'description' => '- 仅CPFS智算版2.6.0 及以上版本支持。您可以在控制台文件系统详情页面查看版本信息。'."\n"
.' - 仅支持状态为Executing(执行中)的数据流动流式任务创建子任务。'."\n"
.'- 数据流动流式任务是异步执行的,您可通过DescribeDataFlowSubTasks查询流式任务执行状态。'."\n"
.'- 当数据流动任务类型为流式任务时,运行中状态仅代表可以创建流式导入任务或流式导出任务(并不代表导入或导出任务运行中)。',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDataFlowSubTask'],
],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateDataFlowSubTask',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'translator' => 'manual',
],
'CreateDataFlowTask' => [
'summary' => 'Create a data flow task.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'high',
'chargeType' => 'paid',
'abilityTreeCode' => '49027',
'abilityTreeNodes' => ['FEATUREnasPWYFYN'],
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n"
."\n"
.'- CPFS General Purpose Edition: The ID must start with `cpfs-`, such as `cpfs-125487****`.'."\n"
."\n"
.'- CPFS AI-Computing Edition: The ID must start with `bmcpfs-`, such as `bmcpfs-0015****`.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cpfs-099394bd928c****', 'title' => ''],
],
[
'name' => 'DataFlowId',
'in' => 'query',
'schema' => ['description' => 'The ID of the data flow.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'df-194433a5be31****', 'title' => ''],
],
[
'name' => 'SrcTaskId',
'in' => 'query',
'schema' => ['description' => 'If you specify `SrcTaskId`, enter the ID of a data flow task. The system copies the `TaskAction`, `DataType`, and `EntryList` parameter information from the specified task. You do not need to specify these parameters.'."\n"
."\n"
.'> Data flow streaming tasks are not supported.', 'type' => 'string', 'required' => false, 'example' => 'task-29ee8e890f45****', 'title' => ''],
],
[
'name' => 'TaskAction',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => [
'description' => 'The type of the data flow task.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- Import: Imports specified data from the source storage to the CPFS file system.'."\n"
."\n"
.'- Export: Exports specified data from the CPFS file system to the source storage.'."\n"
."\n"
.'- StreamImport: Imports a large amount of specified data from the source storage to the CPFS file system.'."\n"
."\n"
.'- StreamExport: Exports a large amount of specified data from the CPFS file system to the source storage.'."\n"
."\n"
.'- Evict: Releases the data blocks of a file from the CPFS file system. After the release, only the metadata of the file is retained. You can still query the file, but its data blocks are cleared and no longer occupy storage capacity. When you access the file data, it is loaded from the source storage on demand.'."\n"
."\n"
.'- Inventory: Obtains the inventory of files managed by a data flow for the CPFS file system. This provides the cache status of files in the data flow.'."\n"
."\n"
.'> CPFS AI-Computing Edition supports only `Import`, `Export`, `StreamImport`, and `StreamExport`. `StreamImport` and `StreamExport` are supported only by CPFS AI-Computing Edition V2.6.0 and later.',
'type' => 'string',
'required' => false,
'docRequired' => false,
'enum' => ['Import', 'Export', 'Evict', 'Inventory', 'StreamImport', 'StreamExport'],
'example' => 'Import',
'title' => '',
],
],
[
'name' => 'DataType',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => [
'description' => 'The data type that the data flow task operates on.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- Metadata: The metadata of the file, including attributes such as timestamp, ownership, and permissions. If you select `Metadata`, only the file metadata is imported. You can see the file, but when you access the file data, it is loaded from the source storage on demand.'."\n"
."\n"
.'- Data: The data blocks of the file.'."\n"
."\n"
.'- MetaAndData: The metadata and data blocks of the file.',
'type' => 'string',
'required' => false,
'docRequired' => false,
'enum' => ['Metadata', 'Data', 'MetaAndData', ''],
'example' => 'Metadata',
'title' => '',
],
],
[
'name' => 'Directory',
'in' => 'query',
'allowEmptyValue' => false,
'schema' => ['description' => 'The source directory of the data.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'- The length must be 1 to 1,023 characters.'."\n"
."\n"
.'- The directory must be UTF-8 encoded.'."\n"
."\n"
.'- The directory must start and end with a forward slash (`/`).'."\n"
."\n"
.'- Only one directory can be specified at a time.'."\n"
."\n"
.'- If `TaskAction` is `Export`, this directory must be a relative path within `FileSystemPath`.'."\n"
."\n"
.'- If `TaskAction` is `Import`, this directory must be a relative path within `SourceStoragePath`.'."\n"
."\n"
.'- If `TaskAction` is `StreamExport`, this directory must be a relative path within `FileSystemPath`.'."\n"
."\n"
.'- If `TaskAction` is `StreamImport`, this directory must be a relative path within `SourceStoragePath`.'."\n"
."\n"
.'> `StreamImport` and `StreamExport` are supported only by CPFS AI-Computing Edition V2.6.0 and later.', 'type' => 'string', 'maxLength' => 1023, 'required' => false, 'example' => '/path_in_cpfs/', 'title' => ''],
],
[
'name' => 'EntryList',
'in' => 'query',
'schema' => ['description' => 'The list of files for the data flow task to execute.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'- The list must be UTF-8 encoded.'."\n"
."\n"
.'- The total length of the file list must be less than 64 KB.'."\n"
."\n"
.'- The file list must be in JSON format.'."\n"
."\n"
.'- The path of a single file must be 1 to 1,023 characters in length and must start with a forward slash (`/`).'."\n"
."\n"
.'- If `TaskAction` is `Import`, each element in the list represents an OSS Object name.'."\n"
."\n"
.'- If `TaskAction` is `Export`, each element in the list represents a CPFS file path.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'maxItems' => 10, 'example' => '["/path_in_cpfs/file1", "/path_in_cpfs/file2"]', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run for this creation request.'."\n"
."\n"
.'A dry run checks parameter validity and inventory without creating an instance or incurring charges.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- true: Sends a check request without creating the instance. The system checks for required parameters, request format, business limits, and NAS inventory. If the check fails, an error is returned. If the check passes, an HTTP 200 status code is returned, but `TaskId` is empty.'."\n"
."\n"
.'- false (default): Sends a normal request and creates the instance after the check passes.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'A client-generated token that ensures the idempotence of the request. The token must be unique across different requests.'."\n"
."\n"
.'`ClientToken` can contain only ASCII characters and must not exceed 64 characters. For more information, see [How to ensure idempotence](~~25693~~).'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the `RequestId` of the API request as the `ClientToken`. The `RequestId` may be different for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'ConflictPolicy',
'in' => 'query',
'schema' => [
'description' => 'The conflict policy for files with the same name.'."\n"
.'Valid values:'."\n"
."\n"
.'- SKIP\\_THE\\_FILE: Skips files with the same name.'."\n"
."\n"
.'- KEEP\\_LATEST: Compares update times and keeps the latest version.'."\n"
."\n"
.'- OVERWRITE\\_EXISTING: Forcibly overwrites files with the same name.'."\n"
."\n"
.'> This parameter is required if the file system is a CPFS AI-Computing Edition instance.',
'type' => 'string',
'example' => 'SKIP_THE_FILE',
'enum' => ['SKIP_THE_FILE', 'KEEP_LATEST', 'OVERWRITE_EXISTING'],
'title' => '',
'required' => false,
],
],
[
'name' => 'DstDirectory',
'in' => 'query',
'schema' => ['description' => 'The destination directory for the data flow task mapping.'."\n"
.'Limits:'."\n"
."\n"
.'- The directory must start and end with a forward slash (`/`). The `/../` sequence is not supported.'."\n"
."\n"
.'- The length must be 1 to 1,023 characters.'."\n"
."\n"
.'- The directory must be UTF-8 encoded.'."\n"
."\n"
.'- Only one directory can be specified at a time.'."\n"
."\n"
.'- If `TaskAction` is `Export`, this directory must be a relative path within `SourceStoragePath`.'."\n"
."\n"
.'- If `TaskAction` is `Import`, this directory must be a relative path within `FileSystemPath`.'."\n"
."\n"
.'- If `TaskAction` is `StreamExport`, this directory must be a relative path within `SourceStoragePath`.'."\n"
."\n"
.'- If `TaskAction` is `StreamImport`, this directory must be a relative path within `FileSystemPath`.'."\n"
."\n"
.'> `StreamImport` and `StreamExport` are supported only by CPFS AI-Computing Edition V2.6.0 and later.', 'type' => 'string', 'required' => false, 'example' => '/path_in_cpfs/', 'title' => ''],
],
[
'name' => 'CreateDirIfNotExist',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to automatically create the directory if it does not exist.'."\n"
.'Valid values:'."\n"
."\n"
.'- true: Automatically creates the directory.'."\n"
."\n"
.'- false (default): Does not automatically create the directory.'."\n"
."\n"
.'> * This parameter takes effect only when `TaskAction` is set to `Import`.'."\n"
.'>'."\n"
.'> * This parameter is supported only by CPFS AI-Computing Edition V2.6.0 and later.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'Includes',
'in' => 'query',
'schema' => ['description' => 'Filters the subdirectories under the `Directory` parameter and transfers the content of the filtered subdirectories.'."\n"
."\n"
.'> - This parameter takes effect only when the `Directory` parameter is specified.'."\n"
.'>'."\n"
.'> - The path of a single folder must be 1 to 1,023 characters in length and must start and end with a forward slash (`/`). The total length cannot exceed 3,000 characters.'."\n"
.'>'."\n"
.'> - This feature is supported only by CPFS AI-Computing Edition.', 'type' => 'string', 'required' => false, 'example' => '["/test/","/test1/"]', 'title' => ''],
],
[
'name' => 'TransferFileListPath',
'in' => 'query',
'schema' => ['description' => 'Specifies an OSS directory. Data is synchronized based on the content of the CSV files in this directory. The following limits apply.'."\n"
."\n"
.'- The path must start and end with a forward slash (`/`).'."\n"
."\n"
.'- The path is case-sensitive.'."\n"
."\n"
.'- The length must be between 1 and 1,023 characters.'."\n"
."\n"
.'- The path must be UTF-8 encoded.'."\n"
."\n"
.'> * `TransferFileListPath`, `Directory`, and `EntryList` are mutually exclusive. You can specify only one of them.'."\n"
.'>'."\n"
.'> * This parameter specifies an existing path in OSS. The `*.csv` files are stored in this path.'."\n"
.'>'."\n"
.'> * `TransferFileListPath` supports only the `Import` and `Export` features.'."\n"
.'>'."\n"
.'> * For an `Import` task, the files or directories specified in the CSV file are imported from OSS to the CPFS file system.'."\n"
.'>'."\n"
.'> * For an `Export` task, the files or directories specified in the CSV file are exported from the CPFS file system to OSS.'."\n"
.'>'."\n"
.'> * The CSV file must contain `Name` and `Type` columns. `Name` is the relative path. `Type` can be `dir` or `file`. If `Type` is `dir`, the `Name` value must end with a forward slash (`/`).'."\n"
.'>'."\n"
.'> * This feature is supported only by CPFS AI-Computing Edition.', 'type' => 'string', 'required' => false, 'example' => '/test_oss_path/', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****', 'title' => ''],
'TaskId' => ['description' => 'The Dataflow task ID.', 'type' => 'string', 'example' => 'task-38aa8e890f45****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingDataFlowId', 'errorMessage' => 'DataFlowId is mandatory for this action.', 'description' => ''],
['errorCode' => 'InvalidFilesystemVersion.NotSupport', 'errorMessage' => 'This Api does not support this fileSystem version.', 'description' => 'This Api does not support this fileSystem version.'],
],
403 => [
['errorCode' => 'OperationDenied.InvalidState', 'errorMessage' => 'The operation is not permitted when the status is processing.', 'description' => 'The operation is not permitted when the status is processing.'],
['errorCode' => 'OperationDenied.DependencyViolation', 'errorMessage' => 'The operation is denied due to dependancy violation.', 'description' => ''],
['errorCode' => 'OperationDenied.DataFlowNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidParameter.InvalidFormat', 'errorMessage' => 'The EntryList format is invalid.', 'description' => ''],
['errorCode' => 'InvalidParameter.SizeTooLarge', 'errorMessage' => 'The specified EntryList size exceeds 64 KB.', 'description' => ''],
['errorCode' => 'InvalidDataFlow.NotFound', 'errorMessage' => 'The specified data flow does not exist.', 'description' => ''],
['errorCode' => 'InvalidTaskAction.NotSupported', 'errorMessage' => 'The task action is not supported.', 'description' => ''],
['errorCode' => 'InvalidTaskAction.PermissionDenied', 'errorMessage' => 'The task action is not allowed.', 'description' => ''],
['errorCode' => 'InvalidSrcTaskId.NotFound', 'errorMessage' => 'The SrcTaskId is not found.', 'description' => ''],
['errorCode' => 'InvalidDataType.NotSupported', 'errorMessage' => 'The data type is not supported.', 'description' => ''],
['errorCode' => 'InvalidSrcTaskId.TaskIdInvalid', 'errorMessage' => 'Source task ID is invalid.', 'description' => ''],
['errorCode' => 'InvalidSrcTaskId.TaskIdNotFound', 'errorMessage' => 'Source task ID is not found.', 'description' => ''],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518948****\\",\\n \\"TaskId\\": \\"task-38aa8e890f45****\\"\\n}","type":"json"}]',
'title' => 'CreateDataFlowTask',
'description' => '- CPFS usage notes'."\n"
."\n"
.' - Data flow is supported only on CPFS 2.2.0 and later. You can view the version information on the file system details page in the console.'."\n"
."\n"
.' - Data flow tasks execute asynchronously. You can query the task status by calling the [DescribeDataFlowTasks](~~2402275~~) operation. Task duration depends on the amount of data. For large datasets, split the workload into multiple tasks.'."\n"
."\n"
.' - You can create data flow tasks only on a data flow that is in the Running state.'."\n"
."\n"
.' - Manually running a data flow task pauses the corresponding automatic data update task.'."\n"
."\n"
.' - When you create an export task, ensure that the absolute path of each file to be exported from CPFS does not exceed 1,023 characters.'."\n"
."\n"
.'- CPFS AI-Computing Edition usage notes'."\n"
."\n"
.' - Data flow is supported only on CPFS AI-Computing Edition 2.4.0 and later. You can view the version information on the file system details page in the console.'."\n"
."\n"
.' - Data flow tasks execute asynchronously. You can query the task status by calling the [DescribeDataFlowTasks](~~2402275~~) operation. Task duration depends on the amount of data. For large datasets, split the workload into multiple tasks.'."\n"
."\n"
.' - You can create data flow tasks only on a data flow that is in the Running state.'."\n"
."\n"
.' - When you create an export task, ensure that the absolute path of each file to be exported from CPFS AI-Computing Edition does not exceed 1,023 characters.'."\n"
."\n"
.' - CPFS AI-Computing Edition supports two task types: batch tasks and streaming tasks. For more information, see [Task types](~~2845429~~).',
'changeSet' => [
['createdAt' => '2024-09-09T01:49:11.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-02-29T02:03:33.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'],
['createdAt' => '2021-10-28T08:34:23.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateDataFlowTask'],
],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateDataFlowTask',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
],
'CreateDir' => [
'summary' => 'Creates a directory in a file system.',
'methods' => ['get', 'post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '189884',
'abilityTreeNodes' => ['FEATUREnasI92PYN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'example' => '31a8e4****', 'title' => ''],
],
[
'name' => 'RootDirectory',
'in' => 'query',
'schema' => ['description' => 'The directory name.'."\n"
."\n"
.'* The directory must start with a forward slash (/).'."\n"
.'* The directory can contain digits and letters.'."\n"
.'* The directory can contain underscores (\\_), hyphens (-), and periods (.).'."\n"
.'* The directory cannot contain symbolic links, such as the current directory (.), the upper-level directory (..), and other symbolic links.'."\n"
."\n"
.'> * If the root directory does not exist, configure the information for directory creation. The system then automatically creates the specified root directory based on your settings.'."\n"
.'> * If the root directory exists, you do not need to configure the information for directory creation. The configurations for directory creation are ignored even if you configure the information.', 'type' => 'string', 'required' => true, 'example' => '/test', 'title' => ''],
],
[
'name' => 'OwnerUserId',
'in' => 'query',
'schema' => ['description' => 'The owner ID for the directory. Valid values: 0 to 4294967295.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''],
],
[
'name' => 'OwnerGroupId',
'in' => 'query',
'schema' => ['description' => 'The ID of the owner group for the directory. Valid values: 0 to 4294967295.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '123', 'title' => ''],
],
[
'name' => 'Permission',
'in' => 'query',
'schema' => ['description' => 'The Portable Operating System Interface (POSIX) permissions applied to the root directory. The value is a valid octal number, such as 0755.'."\n", 'type' => 'string', 'required' => true, 'example' => '0755', 'title' => ''],
],
[
'name' => 'Recursion',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to create a multi-level directory. Valid values:'."\n"
."\n"
.'* true (default): If no multi-level directory exists, directories are created level by level.'."\n"
.'* false: Only the last level of directory is created. An error message is returned because the parent directory does not exist.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'BC7C825C-5F65-4B56-BEF6-98C56C7C****'],
],
'example' => '',
],
],
],
'errorCodes' => [
403 => [
['errorCode' => 'InvalidProtocolType.NotSupported', 'errorMessage' => 'The specified protocol type does not supported.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BC7C825C-5F65-4B56-BEF6-98C56C7C****\\"\\n}","type":"json"}]',
'title' => 'CreateDir',
'description' => 'Only General-purpose Network File System (NFS) file systems support this operation.'."\n",
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateDir'],
],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateDir',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'CreateFile' => [
'summary' => 'Creates a directory or file.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '137907',
'abilityTreeNodes' => ['FEATUREnasI92PYN'],
'autoTest' => false,
'notSupportAutoTestReason' => '为特殊用户使用API',
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1ca404****', 'title' => ''],
],
[
'name' => 'Path',
'in' => 'query',
'schema' => ['description' => 'The absolute path of the directory or file. The path must start and end with a forward slash (/) and must be 2 to 1024 characters in length.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '/test/', 'title' => ''],
],
[
'name' => 'Type',
'in' => 'query',
'schema' => ['description' => 'The type of the object. Valid values:'."\n"
."\n"
.'* File'."\n"
.'* Directory'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'File', 'title' => ''],
],
[
'name' => 'Owner',
'in' => 'query',
'schema' => ['description' => 'The ID of the portable account. The ID must be a 16-digit string. The string can contain digits and lowercase letters.'."\n", 'type' => 'string', 'required' => false, 'example' => '378cc7630f26****', 'title' => ''],
],
[
'name' => 'OwnerAccessInheritable',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to share the directory. Valid values:'."\n"
."\n"
.'* false (default): does not share the directory.'."\n"
.'* true: shares the directory.'."\n"
."\n"
.'> * This parameter takes effect only if the Type parameter is set to Directory and the Owner parameter is not empty.'."\n"
.'> * The permissions on a directory can be inherited by the owner. The owner has read and write permissions on the subdirectories and subfiles created in the directory, even if they are created by others.', 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'false', 'default' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****'],
],
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518948****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 2D69A58F-345C-4FDE-88E4-BF518948****\\n","errorExample":""}]',
'title' => 'CreateFile',
'description' => '* This operation is only available to some users.'."\n"
.'* This operation supports only General-purpose NAS file systems that use the Server Message Block (SMB) protocol and have Resource Access Management (RAM) enabled.'."\n",
'changeSet' => [
['createdAt' => '2025-02-20T02:33:20.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-08-08T07:16:28.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateFile'],
],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateFile',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'CreateFileSystem' => [
'summary' => 'Creates a file system.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '13930',
'abilityTreeNodes' => ['FEATUREnasI92PYN'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'FileSystemType',
'in' => 'query',
'schema' => [
'description' => 'The type of the file system.'."\n"
."\n"
.'Valid values:'."\n"
.'- standard (default): General-purpose NAS file system.'."\n"
.'- extreme: Extreme NAS file system.'."\n"
.'- cpfs: Cloud Parallel File Storage (CPFS) (locally redundant).'."\n"
.'- cpfsse: Cloud Parallel File Storage (CPFS) SE (zone-redundant).',
'enumValueTitles' => ['standard' => 'General-purpose NAS file system.', 'cpfs' => 'Cloud Paralleled File System (CPFS) (locally redundant)', 'cpfsse' => 'Cloud Paralleled File System (CPFS) SE (zone-redundant)', 'extreme' => 'Extreme NAS file system.'],
'type' => 'string',
'required' => false,
'default' => 'standard',
'enum' => ['standard', 'extreme', 'cpfs', 'cpfsse'],
'example' => 'standard',
'title' => '',
],
],
[
'name' => 'ChargeType',
'in' => 'query',
'schema' => [
'description' => 'The billing method.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- PayAsYouGo (default): Pay-as-you-go.'."\n"
.'- Subscription: Subscription.',
'enumValueTitles' => ['PayAsYouGo' => 'Pay-as-you-go.', 'Subscription' => 'Subscription.'],
'type' => 'string',
'required' => false,
'default' => 'PayAsYouGo',
'enum' => ['PayAsYouGo', 'Subscription'],
'example' => 'PayAsYouGo',
'title' => '',
],
],
[
'name' => 'Duration',
'in' => 'query',
'schema' => ['description' => 'The subscription duration.'."\n"
."\n"
.'Unit: months. This parameter is required and takes effect only when ChargeType is set to Subscription.'."\n"
."\n"
.'If a subscription instance is not renewed upon expiration, the instance is automatically released.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'Capacity',
'in' => 'query',
'schema' => ['description' => 'The capacity of the file system. Unit: GiB.'."\n"
.'This parameter is required and takes effect only when FileSystemType is set to extreme, cpfs, or cpfsse.'."\n"
."\n"
.'For available values, see the actual specifications on the buy page:'."\n"
."\n"
.''."\n"
."\n"
.'- [Extreme NAS pay-as-you-go buy page](https://common-buy.aliyun.com/?commodityCode=nas_extreme_post#/buy)'."\n"
.'- [Parallel file system CPFS pay-as-you-go buy page](https://common-buy.aliyun.com/?commodityCode=nas_cpfs_post#/buy)'."\n"
."\n"
.''."\n"
."\n"
.''."\n"
."\n"
.'- [Extreme NAS pay-as-you-go buy page](https://common-buy-intl.alibabacloud.com/?commodityCode=nas_extpost_public_intl#/buy)'."\n"
."\n"
.'- [Parallel file system CPFS pay-as-you-go buy page](https://common-buy-intl.alibabacloud.com/?spm=5176.nas_overview.0.0.7ea01dbft0dTui&commodityCode=nas_cpfspost_public_intl#/buy)'."\n"
.'', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '100', 'title' => ''],
],
[
'name' => 'Bandwidth',
'in' => 'query',
'schema' => ['description' => 'The maximum throughput of the file system.'."\n"
."\n"
.'Unit: MB/s.'."\n"
."\n"
.'For available specification values, see the actual specifications on the buy page.'."\n"
."\n"
.''."\n"
."\n"
.'[Parallel file system CPFS pay-as-you-go buy page](https://common-buy.aliyun.com/?commodityCode=nas_cpfs_post#/buy)'."\n"
."\n"
.''."\n"
."\n"
.''."\n"
."\n"
.'[Parallel file system CPFS pay-as-you-go buy page](https://common-buy-intl.alibabacloud.com/?spm=5176.nas_overview.0.0.7ea01dbft0dTui&commodityCode=nas_cpfspost_public_intl#/buy)'."\n"
."\n"
.'', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '150', 'title' => ''],
],
[
'name' => 'StorageType',
'in' => 'query',
'schema' => [
'description' => 'The storage type.'."\n"
."\n"
.'- If FileSystemType is set to standard, valid values: Performance, Capacity, and Premium.'."\n"
.'- If FileSystemType is set to extreme, valid values: standard and advance.'."\n"
.'- If FileSystemType is set to cpfs, valid values: advance_100 (100 MB/s/TiB baseline), advance_200 (200 MB/s/TiB baseline), and economic.'."\n"
.'- If FileSystemType is set to cpfsse, valid values: advance_100 (100 MB/s/TiB baseline).',
'enumValueTitles' => ['standard' => 'Standard Extreme NAS.', 'Capacity' => 'Capacity NAS.', 'advance_200' => 'Cloud Paralleled File System (CPFS) 200 MB/s/TiB baseline.', 'advance_100' => 'Cloud Paralleled File System (CPFS) 100 MB/s/TiB baseline.', 'Premium' => 'Premium NAS.', 'Performance' => 'Performance NAS.', 'economic' => 'Cloud Paralleled File System (CPFS) economy.', 'advance' => 'Advanced Extreme NAS.'],
'type' => 'string',
'required' => true,
'docRequired' => true,
'enum' => ['Premium', 'Performance', 'Capacity', 'standard', 'advance', 'NasPlusSmartCache', 'advance_100', 'advance_200', 'economic', 'Agentic'],
'example' => 'Performance',
'title' => '',
],
],
[
'name' => 'ZoneId',
'in' => 'query',
'schema' => ['description' => 'The zone ID.'."\n"
."\n"
.'A zone is an independent physical area within a region that has its own power supply and network.'."\n"
."\n"
.'If FileSystemType is set to standard, this parameter is optional. By default, an active zone that matches the conditional ProtocolType and StorageType is randomly selected.'."\n"
."\n"
.'If FileSystemType is set to extreme or cpfs, this parameter is required.'."\n"
."\n"
.'> - File systems and Elastic Computing Service (ECS) instances in different zones of the same region can communicate with each other.'."\n"
.'> - Place the file system and the ECS server in the same zone to avoid cross-zone latency.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'cn-hangzhou-b', 'title' => ''],
],
[
'name' => 'ProtocolType',
'in' => 'query',
'schema' => [
'description' => 'The file transfer protocol type.'."\n"
."\n"
.'- If FileSystemType is set to standard, valid values: NFS and SMB.'."\n"
.'- If FileSystemType is set to extreme, valid values: NFS.'."\n"
.'- If FileSystemType is set to cpfs, valid values: cpfs.'."\n"
.'- If FileSystemType is set to cpfsse, valid values: cpfs.',
'enumValueTitles' => ['cpfs' => 'cpfs protocol.', 'SMB' => 'SMB protocol.', 'NFS' => 'NFS protocol.'],
'type' => 'string',
'required' => true,
'docRequired' => true,
'enum' => ['NFS', 'SMB', 'NASPLUS', 'cpfs'],
'example' => 'NFS',
'title' => '',
],
],
[
'name' => 'EncryptType',
'in' => 'query',
'schema' => [
'description' => 'Specifies whether to encrypt the file system.'."\n"
."\n"
.'Uses keys managed by Key Management Service (KMS) to encrypt data stored on the file system. No decryption is required when reading or writing encrypted data.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- 0 (default): Not encrypted.'."\n"
.'- 1: NAS-managed key. Supported when FileSystemType is set to standard or extreme.'."\n"
.'- 2: Custom Key (KMS). Supported when FileSystemType is set to standard or extreme.'."\n"
."\n"
.'> - Extreme NAS: The Custom Key (KMS) feature is supported in all regions except China (Hangzhou) Finance Cloud.'."\n"
.'> - General-purpose NAS: The Custom Key (KMS) feature is supported in all regions.',
'enumValueTitles' => ['Not encrypted.', 'NAS-managed key.', 'Custom Key (KMS)'],
'type' => 'integer',
'format' => 'int32',
'required' => false,
'docRequired' => false,
'default' => '0',
'enum' => ['0', '1', '2'],
'example' => '1',
'title' => '',
],
],
[
'name' => 'SnapshotId',
'in' => 'query',
'schema' => ['description' => 'The snapshot ID.'."\n"
."\n"
.'This parameter is supported only for Extreme NAS file systems with the Advanced storage type.'."\n"
.'> A file system created from a snapshot has the same version as the source file system of the snapshot. For example, if the source file system version is 1 and you want to create a version 2 file system, first create file system A from the snapshot, then create file system B that meets the version 2 configuration. Copy the data from file system A to file system B, and migrate your workloads to file system B after the copy is complete.', 'type' => 'string', 'required' => false, 'example' => 's-extreme-snapsho****', 'title' => ''],
],
[
'name' => 'VpcId',
'in' => 'query',
'schema' => ['description' => 'The VPC ID.'."\n"
."\n"
.'- If FileSystemType is set to cpfs or cpfsse, this parameter is required.'."\n"
.'- If FileSystemType is set to standard or extreme, this parameter is reserved and does not take effect. You do not need to configure it.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp18cx9a7zoh0h9b4****', 'title' => ''],
],
[
'name' => 'VSwitchId',
'in' => 'query',
'schema' => ['description' => 'The vSwitch ID.'."\n"
."\n"
.'- If FileSystemType is set to cpfs, this parameter is required.'."\n"
.'- If FileSystemType is not set to cpfs, this parameter is reserved and does not take effect. You do not need to configure it.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp131dkqilvw5pnlt****', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The description of the file system.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'- The description must be 2 to 128 characters in length.'."\n"
.'- The description must start with a letter and cannot start with `http://` or `https://`.'."\n"
.'- The description can contain digits, colons (:), underscores (_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => '此文件系统的描述。', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'Ensures the idempotence of the request. Generate a unique parameter value from your client. The ClientToken value can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n"
."\n"
.'> If you do not specify this parameter, the system uses the RequestId of the API request as the ClientToken. The RequestId may vary for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'KmsKeyId',
'in' => 'query',
'schema' => ['description' => 'The KMS key ID.'."\n"
."\n"
.'This parameter is required only when EncryptType is set to 2.', 'type' => 'string', 'required' => false, 'example' => 'fcbd****-62**-4a**-b605-c58cc1d5****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run for this request.'."\n"
."\n"
.'A dry run checks parameter validity and resource availability without actually creating the instance or incurring charges.'."\n"
."\n"
.'Valid values: '."\n"
.'- true: Sends a dry run request without creating the instance. The check items include required parameters, request format, service limits, and NAS inventory. If the check fails, the corresponding error is returned. If the check succeeds, HTTP status code 200 is returned, but FileSystemId is empty. '."\n"
.'- false (default): Sends a normal request. After the check succeeds, the instance is created.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'true', 'title' => ''],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
'schema' => ['description' => 'The resource group ID.'."\n"
."\n"
.'You can view resource group IDs in the [Resource Management console](https://resourcemanager.console.aliyun.com/resource-groups?).', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmwavnfdf****'."\n", 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tags.'."\n"
."\n"
.'Array length: 1 to 20. If the array contains multiple tag objects, the tag key (Key) must be unique.',
'type' => 'array',
'items' => [
'description' => 'The tag object.',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'- The tag key cannot be empty.'."\n"
.'- The tag key can be up to 128 characters in length.'."\n"
.'- The tag key cannot start with `aliyun` or `acs:`.'."\n"
.'- The tag key cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'nastest', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n"
."\n"
.'Limits:'."\n"
.'- The tag value cannot be empty.'."\n"
.'- The tag value can be up to 128 characters in length.'."\n"
.'- The tag value cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'testValue', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 21,
'title' => '',
'example' => '',
],
],
[
'name' => 'RedundancyType',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => [
'title' => '',
'description' => 'The storage redundancy type. This parameter takes effect only for CPFS SE.'."\n"
.'Valid values: ZRS.',
'enumValueTitles' => ['ZRS' => 'Zone-redundant.'],
'type' => 'string',
'example' => 'ZRS',
'enum' => ['LRS', 'ZRS'],
'required' => false,
],
],
[
'name' => 'RedundancyVSwitchIds',
'in' => 'query',
'allowEmptyValue' => true,
'style' => 'repeatList',
'schema' => [
'title' => '',
'description' => 'The list of zone-redundant vSwitch IDs.'."\n"
.'If RedundancyType is set to ZRS, this parameter is required. You must specify three vSwitch IDs, each from a different zone.',
'type' => 'array',
'items' => ['title' => '', 'description' => 'The zone-redundant vSwitch ID list.', 'type' => 'string', 'example' => 'vsw-123xxx', 'required' => false],
'required' => false,
'maxItems' => 3,
'minItems' => 0,
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'description' => 'The response structure.',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****', 'title' => ''],
'FileSystemId' => ['description' => 'The ID of the created file system.', 'type' => 'string', 'example' => '1ca404****', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
202 => [
['errorCode' => 'RequestAccepted', 'errorMessage' => 'The request has been accepted by the server.', 'description' => 'The request has been accepted by the server.'],
],
400 => [
['errorCode' => 'IdempotentParameterMismatch', 'errorMessage' => 'The same client token was passed in to different parameters.', 'description' => 'The same client token was passed in to different parameters.'],
['errorCode' => 'InvalidParameter.KmsServiceNotEnabled', 'errorMessage' => 'Key Management Service is not enabled.', 'description' => 'Key Management Service is not enabled.'],
['errorCode' => 'DryRunOperation', 'errorMessage' => 'The request is validated with DryRun flag set.', 'description' => 'The request is validated with DryRun flag set.'],
['errorCode' => 'SubAccount.NoExtremeSLRPermission', 'errorMessage' => 'The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasExtreme. Please authorize the RAM user the permission ram:CreateServiceLinkedRole.', 'description' => 'The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasExtreme. Please authorize the RAM user the permission ram:CreateServiceLinkedRole.'],
['errorCode' => 'SubAccount.NoStandardSLRPermission', 'errorMessage' => 'The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasStandard. Please authorize the RAM user the permission ram:CreateServiceLinkedRole.', 'description' => 'The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasStandard. Please authorize the RAM user the permission ram:CreateServiceLinkedRole.'],
['errorCode' => 'SubAccount.NoEncryptionSLRPermission', 'errorMessage' => 'The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasEncryption. Please authorize the RAM user the permission ram:CreateServiceLinkedRole.', 'description' => 'The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasEncryption. Please authorize the RAM user the permission ram:CreateServiceLinkedRole.'],
['errorCode' => 'InvalidParam.NotSupportBYOK', 'errorMessage' => 'The specified file system type does not support the BYOK encryption function.', 'description' => 'The specified file system type does not support the BYOK encryption function.'],
['errorCode' => 'MissingParameter.KmsKeyId', 'errorMessage' => 'When parameter EncryptType equals 2, the parameter KmsKeyId is mandatory for your request.', 'description' => 'When parameter EncryptType equals 2, the parameter KmsKeyId is mandatory for your request.'],
['errorCode' => 'InvalidParameter.InvalidKmsKeyId', 'errorMessage' => 'The specified KMS key ID is invalid.', 'description' => 'The specified KMS key ID is invalid.'],
['errorCode' => 'InvalidParameter.KmsKeyIdNotFound', 'errorMessage' => 'The specified KMS key ID does not exist.', 'description' => 'The specified KMS key ID does not exist.'],
],
403 => [
['errorCode' => 'OperationDenied.InvalidState', 'errorMessage' => 'The operation is not permitted when the status is processing.', 'description' => 'The operation is not permitted when the status is processing.'],
['errorCode' => 'InvalidFileSystem.AlreadyExisted', 'errorMessage' => 'The specified file system already exists.', 'description' => 'The specified file system already exists.'],
['errorCode' => 'Resource.OutOfStock', 'errorMessage' => 'The inventory of the specified zone is insufficient.', 'description' => 'The inventory of the specified zone is insufficient.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\",\\n \\"FileSystemId\\": \\"1ca404****\\"\\n}","type":"json"}]',
'title' => 'Create a file system',
'description' => '- Before you use this operation, make sure that you understand the billing of File Storage NAS. For more information, see [Billing](~~178365~~) and [Pricing](https://www.aliyun.com/price/product?#/nas/detail).'."\n"
."\n"
.'- To create a file system instance, complete real-name verification. For more information, see [Real-name verification](~~48263~~).'."\n"
."\n"
.'- When you call this operation, the system automatically creates the service-linked role required for the operation. For more information, see [Manage the service-linked role for NAS](~~208530~~).',
'requestParamsDescription' => '**Notes on API idempotence:** '."\n"
.'Because the CreateFileSystem operation involves cloud resource creation and billing, the client may retry the request if a request timeout or internal server error occurs. Set the ClientToken parameter in the request to prevent duplicate orders caused by multiple retries.'."\n"
."\n"
.'> Currently, this operation supports idempotence only when FileSystemType is set to extreme or cpfs. When FileSystemType is set to standard, this operation does not support idempotence.'."\n"
."\n\n"
.'Details about the ClientToken parameter:'."\n"
.'- ClientToken is a unique, case-sensitive string generated by the client that contains no more than 64 ASCII characters. Example: ```ClientToken=123e4567-e89b-12d3-a456-42665544****``` '."\n"
.'- If you provide a ClientToken that has been used before but with different request parameters, NAS returns the IdempotentParameterMismatch error code.'."\n"
.'> The SignatureNonce, Timestamp, and Signature parameters must change on each retry. This is because NAS uses SignatureNonce to prevent replay attacks and Timestamp to mark the time of each request. Therefore, a new request must provide different SignatureNonce and Timestamp values, which also changes the Signature value.'."\n"
."\n"
.'- After the ClientToken parameter is added: '."\n"
.' + If the response is HTTP 200, the retry returns the same result as the previous request without affecting your server-side state.'."\n"
.' + If the response is HTTP 4xx and the error message does not indicate a "try it later" type of message, the retry will never succeed. Troubleshoot the issue based on the error message and modify the request parameters before retrying.'."\n"
.' + If the response is HTTP 5xx, the request may have encountered a network timeout or internal server error. Resend the same request (with the same ClientToken and business request parameters) to confirm the result.'."\n"
."\n"
.'- The ClientToken is valid for 30 days.',
'changeSet' => [
['createdAt' => '2025-06-03T03:34:08.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2025-04-19T15:44:33.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-01-25T08:54:29.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2023-12-26T02:03:07.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2021-04-01T09:05:41.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateFileSystem'],
],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateFileSystem',
'authLevel' => 'resource',
'actionConditions' => [
['conditionKey' => 'nas:EncryptedType', 'validationType' => 'always'],
['conditionKey' => 'nas:FileSystemType', 'validationType' => 'always'],
],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/*'],
],
],
],
],
],
'CreateFileset' => [
'summary' => 'Creates a fileset.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '55589',
'abilityTreeNodes' => ['FEATUREnasPWYFYN', 'FEATUREnasXEQXVN'],
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n"
."\n"
.'* The IDs of CPFS file systems must start with `cpfs-`. Example: cpfs-099394bd928c\\*\\*\\*\\*.'."\n"
.'* The IDs of CPFS for Lingjun file systems must start with `bmcpfs-`. Example: bmcpfs-290w65p03ok64ya\\*\\*\\*\\*.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bmcpfs-290w65p03ok64y*****', 'title' => ''],
],
[
'name' => 'FileSystemPath',
'in' => 'query',
'schema' => ['description' => 'The absolute path of the fileset.'."\n"
."\n"
.'* CPFS path limits.'."\n"
."\n"
.' * The parent directory of the path that you specify must be an existing directory in the file system.'."\n"
.' * The path must be 2 to 1024 characters in length.'."\n"
.' * The path must start and end with a forward slash (/).'."\n"
."\n"
.'* Path limit of CPFS for Lingjun'."\n"
."\n"
.' * The path must be 2 to 1024 characters in length.'."\n"
.' * The path must start and end with a forward slash (/).'."\n"
.' * The fileset path must be a new path and cannot be an existing path. Fileset paths cannot be renamed and cannot be symbolic links.'."\n"
.' * The maximum depth supported by a fileset path is eight levels. The depth of the root directory / is 0 levels. For example, the fileset path /test/aaa/ccc/ has three levels.'."\n"
.' * If the fileset path is a multi-level path, the parent directory must be an existing directory.'."\n"
.' * Nested filesets are not supported. If a fileset is specified as a parent directory, its subdirectory cannot be a fileset. A fileset path supports only one quota.'."\n"
.' * The path cannot exceed 990 characters in length.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '/test/', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run.'."\n"
."\n"
.'During the dry run, the system checks whether the request parameters are valid and whether the requested resources are available. During the dry run, no fileset is created and no fee is incurred.'."\n"
."\n"
.'Valid value:'."\n"
."\n"
.'* true: performs a dry run. The system checks the required parameters, request syntax, service limits, and available Apsara File Storage NAS (NAS) resources. Otherwise, an error message is returned. If the request passes the dry run, the HTTP status code 200 is returned. No value is returned for the FsetId parameter.'."\n"
.'* false (default): performs a dry run and sends the request. If the request passes the dry run, a fileset is created.'."\n", 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
[
'name' => 'DeletionProtection',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable deletion protection to allow you to release the fileset by using the console or by calling the [DeleteFileset](~~2402263~~) operation.'."\n"
."\n"
.'* true: enables release protection.'."\n"
.'* false (default): disables release protection.'."\n"
."\n"
.'> This parameter can protect filesets only against manual releases, but not against automatic releases.'."\n", 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'allowEmptyValue' => false,
'schema' => ['description' => 'The description of the fileset.'."\n"
."\n"
.'* The description must be 2 to 128 characters in length.'."\n"
.'* The name must start with a letter and cannot start with http:// or https://.'."\n"
.'* The description can contain letters, digits, colons (:), underscores (\\_), periods (.), and hyphens (-).'."\n", 'type' => 'string', 'required' => false, 'example' => '内部事务目录', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'maxLength' => 64, 'minLength' => 1, 'example' => '123e4567-e89b-12d3-a456-4266554*****', 'title' => ''],
],
[
'name' => 'Quota',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The quota information.'."\n"
."\n"
.'> Only CPFS for Lingjun V2.7.0 and later support this parameter.'."\n",
'type' => 'object',
'properties' => [
'FileCountLimit' => ['description' => 'The file quantity quota. Valid values:'."\n"
."\n"
.'* Minimum value: 100000.'."\n"
.'* Maximum value: 10000000000.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10000', 'title' => ''],
'SizeLimit' => ['description' => 'The total quota capacity limit. Unit: bytes.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* Minimum value: 10,737,418,240 (10 GiB).'."\n"
.'* Step size: 1073741824 (1 GiB).'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10737418240', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'Request ID.'."\n", 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****', 'title' => ''],
'FsetId' => ['description' => 'The fileset ID.'."\n", 'type' => 'string', 'example' => 'fset-1902718ea0ae****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingFileSystemPath', 'errorMessage' => 'FileSystemPath is mandatory for this action.', 'description' => ''],
['errorCode' => 'InvalidFilesystemType.NotSupport', 'errorMessage' => 'This Api does not support this fileSystem type.', 'description' => 'The current interface does not support this type of file system.'],
['errorCode' => 'InvalidFilesystemVersion.NotSupport', 'errorMessage' => 'This Api does not support this fileSystem version.', 'description' => 'This Api does not support this fileSystem version.'],
['errorCode' => 'InvalidRequest', 'errorMessage' => 'The request is invalid.', 'description' => 'Invalid request'],
['errorCode' => 'Quota.Invalid.Limit', 'errorMessage' => 'Quota limit is invalid.', 'description' => 'Invalid quota.'],
['errorCode' => 'Resource.Exceed.Limit', 'errorMessage' => 'Resource exceed limit.', 'description' => 'The number of resources exceeds the limit.'],
['errorCode' => 'Resource.Check.Fail', 'errorMessage' => 'Resource check failed.', 'description' => ''],
['errorCode' => 'Fileset.Path.Duplicate', 'errorMessage' => 'Fileset path is duplicate.', 'description' => 'Fileset path is duplicate.'],
['errorCode' => 'Fileset.Path.Nested', 'errorMessage' => 'Fileset path is nested.', 'description' => 'Fileset path is nested.'],
['errorCode' => 'Fileset.Path.NotExist', 'errorMessage' => 'Fileset.Path.Not.Exist.', 'description' => 'Fileset parent directory path does not exist.'],
['errorCode' => 'Fileset.Path.Exist', 'errorMessage' => 'Fileset already exist.', 'description' => 'Fileset path already exists.'],
],
403 => [
['errorCode' => 'OperationDenied.AlreadyExists', 'errorMessage' => 'The operation is denied due to IdirName already exists in parent path.', 'description' => ''],
['errorCode' => 'OperationDenied.TooManyFilesets', 'errorMessage' => 'The operation is denied due to too many fileset in filesystem.', 'description' => ''],
['errorCode' => 'OperationDenied.TooManyDepths', 'errorMessage' => 'The operation is denied due to Fileset path too deep.', 'description' => ''],
['errorCode' => 'OperationDenied.NestedDir', 'errorMessage' => 'The operation is denied due to nested directory.', 'description' => ''],
['errorCode' => 'OperationDenied.DependencyViolation', 'errorMessage' => 'The operation is denied due to dependancy violation.', 'description' => ''],
['errorCode' => 'OperationDenied.FilesetNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidFileSystemPath.ParentNotFound', 'errorMessage' => 'The specified parent path does not exist.', 'description' => ''],
['errorCode' => 'InvalidFileSystemPath.NotDirectory', 'errorMessage' => 'The specified idir parent path is not directory.', 'description' => ''],
['errorCode' => 'InvalidFileSystemPath.InvalidCharacters', 'errorMessage' => 'The specified fileset path contains invalid characters.', 'description' => ''],
['errorCode' => 'InvalidFilesetPath.InvalidParameter', 'errorMessage' => 'Fileset path is invalid.', 'description' => ''],
],
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\",\\n \\"FsetId\\": \\"fset-1902718ea0ae****\\"\\n}","type":"json"}]',
'title' => 'CreateFileset',
'description' => '- CPFS使用说明'."\n"
."\n"
.' - 仅支持CPFS 2.2.0及以上版本创建Fileset。您可以在控制台文件系统详情页面查看版本信息。'."\n"
.' - 单个CPFS文件系统最多支持创建10个Fileset。'."\n"
.' - 父目录必须是已存在的目录。'."\n"
.' - Fileset路径支持的最大深度为8层,根目录/为0层。例如,Fileset路径为/test/aaa/ccc/,则表示路径深度为3层。'."\n"
.' - 不支持Fileset中嵌套Fileset。即当父目录已指定为Fileset,其子目录不支持指定为Fileset。'."\n"
.' - Fileset最多支持100万个文件,如果文件数量超过此上限,添加新文件会返回`no space`错误信息。'."\n"
."\n"
.'- CPFS智算版使用说明'."\n"
.' - 仅支持CPFS智算版 2.7.0及以上版本创建Fileset。您可以在控制台文件系统详情页面查看版本信息。'."\n"
.' - 单个CPFS文件系统最多支持创建500个Fileset。'."\n"
.' - Fileset路径必须为新路径,不能为已存在路径,Fileset 路径不支持重命名,不支持路径为软链接。'."\n"
.' - Fileset路径支持的最大深度为8层,根目录/为0层。例如,Fileset路径为/test/aaa/ccc/,则表示路径深度为3层。'."\n"
.' - Fileset路径为多层目录时,父目录必须是已存在的目录。'."\n"
.' - 不支持在 Fileset 中嵌套 Fileset,即当父目录已指定为Fileset,其子目录不支持指定为Fileset。一个 Fileset 路径只支持一个配额。'."\n"
.' - Fileset容量配额,最小起步10 GiB,扩容单位为1 GiB。'."\n"
.' - Fileset最多支持100亿个文件或目录,最小起步10000,扩容单位为1。'."\n"
.' - 修改目录配额时,设置的配额容量或文件数必须高于已使用容量或文件数。'."\n"
.' - 配额的统计有15分钟的延迟,当前的实际使用量15分钟之后才会生效。',
'changeSet' => [
['createdAt' => '2024-10-24T08:25:57.000Z', 'description' => 'Error codes changed, Request parameters changed'],
['createdAt' => '2024-05-31T02:47:38.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2023-04-24T07:13:54.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-10-28T08:36:25.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateFileset'],
],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateFileset',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'Fileset', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'translator' => 'manual',
],
'CreateLDAPConfig' => [
'summary' => 'Creates LDAP configurations.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => true,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREnasQ7YV89', 'FEATUREnas0GUIX5'],
'autoTest' => false,
'notSupportAutoTestReason' => 'cpfs1.0支持的功能,仅支持存量用户使用',
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'example' => '109c04****', 'title' => ''],
],
[
'name' => 'URI',
'in' => 'query',
'schema' => ['description' => 'An LDAP URI.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ldap://ldap.example.example', 'title' => ''],
],
[
'name' => 'BindDN',
'in' => 'query',
'schema' => ['description' => 'An LDAP entry.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn=alibaba,dc=com', 'title' => ''],
],
[
'name' => 'SearchBase',
'in' => 'query',
'schema' => ['description' => 'An LDAP search base.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dc=example', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '5B4511A7-C99E-4071-AA8C-32E2529D****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [],
'staticInfo' => ['noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', 'returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5B4511A7-C99E-4071-AA8C-32E2529D****\\"\\n}","type":"json"}]',
'title' => 'CreateLDAPConfig',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLDAPConfig'],
],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateLDAPConfig',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
'translator' => 'manual',
],
'CreateLifecyclePolicy' => [
'summary' => 'Creates a lifecycle management policy.',
'methods' => ['post', 'get', 'put'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '13932',
'abilityTreeNodes' => ['FEATUREnasZ6WBFV'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '31a8e4****', 'title' => ''],
],
[
'name' => 'LifecyclePolicyName',
'in' => 'query',
'schema' => ['description' => 'The Policy Name of the lifecycle management policy. The name must be 3 to 64 characters in length, start with an uppercase letter or lowercase letter, and can contain letters, digits, underscores (\\_), or hyphens (-).'."\n"
."\n"
.'>This parameter is required for General-purpose NAS but not required for CPFS for Lingjun.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'lifecyclepolicy_01', 'title' => ''],
],
[
'name' => 'Path',
'in' => 'query',
'schema' => ['description' => 'The absolute path of the directory associated with the lifecycle management policy. Only General-purpose NAS is supported.'."\n"
."\n"
.'- General-purpose NAS supports associating only a single directory. The path must start with a forward slash (/) and must be an existing path in the mount target.'."\n"
."\n"
.'> Only General-purpose NAS is supported. For General-purpose NAS, use Paths.N to associate multiple directories at the same time.'."\n"
.'>- Only one of Path and Paths can be specified.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '/pathway/to/folder', 'title' => ''],
],
[
'name' => 'LifecycleRuleName',
'in' => 'query',
'schema' => [
'description' => 'The management rule associated with the lifecycle management policy. Only General-purpose NAS is supported.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- DEFAULT_ATIME_14: files that have not been accessed for 14 days.'."\n"
.'- DEFAULT_ATIME_30: files that have not been accessed for 30 days.'."\n"
.'- DEFAULT_ATIME_60: files that have not been accessed for 60 days.'."\n"
.'- DEFAULT_ATIME_90: files that have not been accessed for 90 days.'."\n"
.'- DEFAULT_ATIME_180: files that have not been accessed for 180 days. DEFAULT_ATIME_180 is supported only when StorageType is set to Archive.'."\n"
.'>- If an IA storage class policy has already been configured for the directory, the archive policy duration must be longer than the IA storage class policy duration.'."\n"
.'> - Only General-purpose NAS supports this parameter.',
'enumValueTitles' => ['DEFAULT_ATIME_14' => 'files that have not been accessed for 14 days.', 'DEFAULT_ATIME_90' => 'files that have not been accessed for 90 days.', 'DEFAULT_ATIME_60' => 'files that have not been accessed for 60 days.', 'DEFAULT_ATIME_180' => 'files that have not been accessed for 180 days.', 'DEFAULT_ATIME_30' => 'files that have not been accessed for 30 days.'],
'type' => 'string',
'required' => false,
'enum' => ['DEFAULT_ATIME_14', 'DEFAULT_ATIME_30', 'DEFAULT_ATIME_60', 'DEFAULT_ATIME_90', 'DEFAULT_ATIME_180'],
'example' => 'DEFAULT_ATIME_14',
'title' => '',
],
],
[
'name' => 'StorageType',
'in' => 'query',
'schema' => [
'description' => 'The storage type.'."\n"
.'- InfrequentAccess: IA storage class.'."\n"
.'- Archive: Archive storage.'."\n"
."\n"
.'>General-purpose NAS supports InfrequentAccess and Archive. CPFS for Lingjun supports only InfrequentAccess.',
'enumValueTitles' => ['Archive' => 'Archive storage.', 'InfrequentAccess' => 'IA storage class.'],
'type' => 'string',
'required' => true,
'enum' => ['InfrequentAccess', 'Archive', 'Capacity', 'Performance'],
'example' => 'InfrequentAccess',
'title' => '',
],
],
[
'name' => 'Paths',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The absolute paths of directories associated with the lifecycle management policy.',
'type' => 'array',
'items' => ['description' => 'The absolute path of a directory associated with the lifecycle management policy.'."\n"
."\n"
.'Multiple directories can be associated. The path must start with a forward slash (/) and must be an existing path in the mount target. Valid values of N: 1 to 10.'."\n"
.'>- This parameter is required for CPFS for Lingjun.', 'type' => 'string', 'required' => false, 'example' => '“/path1"', 'title' => ''],
'required' => false,
'example' => '"/path1", "/path2"',
'maxItems' => 11,
'title' => '',
],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['title' => '', 'description' => 'The description of the lifecycle policy.'."\n"
."\n"
.'Format:'."\n"
.'The description must be 3 to 64 characters in length, start with a letter, and can contain letters, digits, underscores (\\_), or hyphens (-).'."\n"
.'>Only CPFS for Lingjun is supported.', 'type' => 'string', 'example' => '描述', 'required' => false],
],
[
'name' => 'LifecyclePolicyType',
'in' => 'query',
'schema' => [
'title' => '',
'description' => 'The policy type.'."\n"
.'- Auto (default): automatic execution.'."\n"
.'- OnDemand: on-demand execution.',
'enumValueTitles' => ['Auto' => 'automatic execution.', 'OnDemand' => 'on-demand execution.'],
'type' => 'string',
'example' => 'Auto',
'default' => 'Auto',
'enum' => ['Auto', 'OnDemand'],
'required' => false,
],
],
[
'name' => 'TransitRules',
'in' => 'query',
'allowEmptyValue' => false,
'style' => 'repeatList',
'schema' => [
'title' => '',
'description' => 'The file data transit rules. A maximum of one rule can be configured.'."\n"
."\n"
.'>Supported only when LifecyclePolicyType is set to Auto for CPFS for Lingjun file systems.',
'type' => 'array',
'items' => [
'title' => '',
'description' => 'The file data transit rule. A maximum of one rule can be configured.'."\n"
.'>Supported only when LifecyclePolicyType is set to Auto for CPFS for Lingjun file systems.',
'type' => 'object',
'properties' => [
'Attribute' => [
'title' => '',
'description' => 'The rule attribute.'."\n"
."\n"
.'Valid values:'."\n"
.'- Atime: the access time of the file.',
'enumValueTitles' => ['Atime' => 'the access time of the file.'],
'type' => 'string',
'example' => 'Atime',
'enum' => ['Atime'],
'required' => false,
],
'Threshold' => ['title' => '', 'description' => 'The rule threshold.'."\n"
."\n"
.'Valid values:'."\n"
.'- When Attribute is set to Atime, the value indicates the number of days since the file was last accessed. Valid values: 0 to 365.', 'type' => 'string', 'example' => '3', 'required' => false],
],
'required' => false,
'example' => '',
],
'required' => false,
'maxItems' => 1,
'example' => '',
],
],
[
'name' => 'RetrieveRules',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'title' => '',
'description' => 'The file data retrieval rules. A maximum of one rule can be configured.'."\n"
.'>Only CPFS for Lingjun file systems are supported.'."\n"
."\n"
.'>When LifecyclePolicyType is set to OnDemand, at least one of TransitRules or RetrieveRules must be specified.',
'type' => 'array',
'items' => [
'title' => '',
'description' => 'The file data retrieval rule. A maximum of one rule can be configured.',
'type' => 'object',
'properties' => [
'Attribute' => [
'title' => '',
'description' => 'The rule attribute. Valid values:'."\n"
.'- RetrieveType: the retrieval method.',
'enumValueTitles' => ['RetrieveType' => 'the retrieval method.'],
'type' => 'string',
'example' => 'RetrieveType',
'enum' => ['RetrieveType'],
'required' => false,
],
'Threshold' => [
'title' => '',
'description' => 'The rule threshold. Valid values:'."\n"
.'- RetrieveType'."\n"
.' - AfterVisit: supported when LifecyclePolicyType is set to Auto. Indicates best-effort recall on visit.'."\n"
.' - All: supported when LifecyclePolicyType is set to OnDemand. Indicates retrieving all data.',
'enumValueTitles' => ['All' => 'retrieve all data.', 'AfterVisit' => 'best-effort recall on visit.'],
'type' => 'string',
'example' => 'All',
'enum' => ['AfterVisit', 'All'],
'required' => false,
],
],
'required' => false,
'example' => '',
],
'required' => false,
'maxItems' => 1,
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'BC7C825C-5F65-4B56-BEF6-98C56C7C****', 'title' => ''],
'Success' => ['description' => 'The request status.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- true: The request was successful.'."\n"
.'- false: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'LifecyclePolicyId' => ['title' => '', 'description' => 'The ID of the lifecycle policy.', 'type' => 'string', 'example' => 'lsp-bp1234567890ab****'],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationDenied.FileSystemNotSupportedForLifecycle', 'errorMessage' => 'The file system does not support lifecycle.', 'description' => 'The file system does not support lifecycle.'],
['errorCode' => 'OperationDenied.EncryptedFileSystemNotSupportedForLifecycle', 'errorMessage' => 'The encrypted file system does not support lifecycle.', 'description' => 'The encrypted file system does not support lifecycle.'],
['errorCode' => 'OperationDenied.LifecyclePolicyCountLimitExceeded', 'errorMessage' => 'The maximum number of LifecyclePolicies is exceeded.', 'description' => 'The maximum number of LifecyclePolicies is exceeded.'],
['errorCode' => 'InvalidLifecyclePolicy.AlreadyExist', 'errorMessage' => 'The specified LifecyclePolicy already exists.', 'description' => 'The specified LifecyclePolicy already exists.'],
['errorCode' => 'InvalidParameter.PathsNumberExceed', 'errorMessage' => 'The maximum number of Path.N for this operation is 10.', 'description' => 'The maximum number of Path.N for this operation is 10.'],
['errorCode' => 'InvalidFilesystemType.NotSupport', 'errorMessage' => 'The API operation does not support the file system type.', 'description' => 'The API operation does not support the file system type.'],
['errorCode' => 'InvalidParameter.PathOrPaths', 'errorMessage' => 'Either Path or Paths.N must be specified.', 'description' => 'Either Path or Paths.N must be specified.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'Lifecycle.Count.Exceeded', 'errorMessage' => 'The lifecycle policy count exceeds the max limit per type per filesystem.', 'description' => 'Lifecycle policy exceeds limit.'],
],
403 => [
['errorCode' => 'OperationDenied.NotSupportPaths.N', 'errorMessage' => 'Your request does not meet the gray condition. The Paths.N parameter is not supported.', 'description' => 'Your request does not meet the gray condition. The Paths.N parameter is not supported.'],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidParameter.PathNotExist', 'errorMessage' => 'The specified path does not exist.', 'description' => 'The specified path does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BC7C825C-5F65-4B56-BEF6-98C56C7C****\\",\\n \\"Success\\": true,\\n \\"LifecyclePolicyId\\": \\"lsp-bp1234567890ab****\\"\\n}","type":"json"}]',
'title' => 'Create a lifecycle management policy',
'description' => '- Only General-purpose NAS file systems and CPFS for Lingjun support creating lifecycle management policies.'."\n"
.'- Each CPFS for Lingjun file system supports a maximum of 10 Auto-type and 100 OnDemand-type lifecycle management policies.'."\n"
.'- A maximum of 20 lifecycle management policies can be created for General-purpose NAS in each region.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2025-05-08T06:05:41.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2025-03-19T01:52:49.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-03-25T10:51:46.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2021-04-08T08:36:16.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLifecyclePolicy'],
],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateLifecyclePolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'LifecyclePolicy', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
],
'CreateLifecycleRetrieveJob' => [
'summary' => 'Creates a data retrieval task.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '19616',
'abilityTreeNodes' => ['FEATUREnasPWYFYN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '31a8e4****', 'title' => ''],
],
[
'name' => 'Paths',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The list of directories or file paths to retrieve. You can specify up to 10 paths.',
'type' => 'array',
'items' => ['description' => 'The directory or file to retrieve.'."\n"
."\n"
.'The path must start with a forward slash (/) and must be an existing path in the mount target.', 'type' => 'string', 'required' => false, 'example' => '/pathway/doc1', 'title' => ''],
'required' => true,
'example' => 'Paths.1=/pathway/doc1,Paths.2=/pathway/doc2',
'maxItems' => 11,
'title' => '',
],
],
[
'name' => 'StorageType',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => [
'description' => 'The storage class. Valid values:'."\n"
.'- InfrequentAccess (default): IA storage class.'."\n"
.'- Archive: Archive storage class.',
'enumValueTitles' => ['Archive' => 'Archive storage class.', 'InfrequentAccess' => 'IA storage class.'],
'type' => 'string',
'default' => 'InfrequentAccess',
'enum' => ['InfrequentAccess', 'Archive'],
'required' => false,
'example' => 'InfrequentAccess',
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'BC7C825C-5F65-4B56-BEF6-98C56C7C****', 'title' => ''],
'JobId' => ['description' => 'The data retrieval task ID.', 'type' => 'string', 'example' => 'lrj-nfstest-ia-160****853-hshvw', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationDenied.FileSystemNotSupportedForLifecycle', 'errorMessage' => 'The file system does not support lifecycle.', 'description' => 'The file system does not support lifecycle.'],
['errorCode' => 'OperationDenied.EncryptedFileSystemNotSupportedForLifecycle', 'errorMessage' => 'The encrypted file system does not support lifecycle.', 'description' => 'The encrypted file system does not support lifecycle.'],
['errorCode' => 'OperationDenied.LifecycleRetrieveJobCountLimitExceeded', 'errorMessage' => 'The maximum number of LifecycleRetrieveJobs is exceeded.', 'description' => 'The maximum number of LifecycleRetrieveJobs is exceeded.'],
],
404 => [
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidParameter.PathNotExist', 'errorMessage' => 'The specified path does not exist.', 'description' => 'The specified path does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BC7C825C-5F65-4B56-BEF6-98C56C7C****\\",\\n \\"JobId\\": \\"lrj-nfstest-ia-160****853-hshvw\\"\\n}","type":"json"}]',
'title' => 'Create a data retrieval task',
'description' => '- Only General-purpose NAS file systems support this feature.'."\n"
.'- Each Alibaba Cloud account can have up to 20 running data retrieval tasks in the same region.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-03-25T11:38:02.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2021-04-08T08:36:16.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLifecycleRetrieveJob'],
],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateLifecycleRetrieveJob',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
],
'CreateLogAnalysis' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13933',
'abilityTreeNodes' => ['FEATUREnasA0C6YC'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '174494xxxx', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '5B4511A7-C99E-4071-AA8C-32E2529DA963', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'SubAccount.NoLogSLRPermission', 'errorMessage' => 'The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasLogDelivery. Please authorize the RAM user the permission ram:CreateServiceLinkedRole.', 'description' => 'The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasLogDelivery. Please authorize the RAM user the permission ram:CreateServiceLinkedRole.'],
['errorCode' => 'InvalidFilesystemType.NotSupport', 'errorMessage' => 'The API operation does not support the file system type.', 'description' => 'The API operation does not support the file system type.'],
],
404 => [
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'CreateLogAnalysis',
'summary' => 'Dumps the logs of a General-purpose NAS file system to Simple Log Service.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2021-04-01T09:05:41.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateLogAnalysis'],
],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateLogAnalysis',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5B4511A7-C99E-4071-AA8C-32E2529DA963\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 5B4511A7-C99E-4071-AA8C-32E2529DA963\\n","errorExample":""}]',
],
'CreateMountTarget' => [
'summary' => 'Creates a mount target.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13934',
'abilityTreeNodes' => ['FEATUREnasOIBEFL'],
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.'."\n"
."\n"
.'- General-purpose NAS: 31a8e4\\*\\*\\*\\*.'."\n"
."\n"
.'- Extreme NAS: The ID must start with `extreme-`, such as extreme-0015\\*\\*\\*\\*.'."\n"
."\n"
.'- Cloud Parallel File Storage (CPFS): The ID must start with `cpfs-`, such as cpfs-125487\\*\\*\\*\\*.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '174494****', 'title' => ''],
],
[
'name' => 'AccessGroupName',
'in' => 'query',
'schema' => ['description' => 'The name of the permission group.'."\n"
."\n"
.'This parameter is required if the file system is a General-purpose NAS or Extreme NAS file system.'."\n"
."\n"
.'Default permission group: DEFAULT_VPC_GROUP_NAME (the default permission group for VPCs).', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'vpc-test', 'title' => ''],
],
[
'name' => 'NetworkType',
'in' => 'query',
'schema' => [
'description' => 'The network type of the mount target. Set the value to **Vpc**, which indicates a virtual private cloud (VPC).',
'enumValueTitles' => ['Vpc' => 'VPC.', 'vpc' => 'VPC.', 'VPC' => 'VPC.'],
'type' => 'string',
'required' => true,
'docRequired' => true,
'enum' => ['Vpc', 'vpc', 'VPC'],
'example' => 'Vpc',
'title' => '',
],
],
[
'name' => 'VpcId',
'in' => 'query',
'schema' => ['description' => 'The VPC ID.'."\n"
."\n"
.'This parameter is required and valid only when the network type is VPC.'."\n"
.'For example:'."\n"
.'If NetworkType is set to VPC, VpcId is required.', 'type' => 'string', 'required' => false, 'example' => 'vpc-2zesj9afh3y518k9o****', 'title' => ''],
],
[
'name' => 'VSwitchId',
'in' => 'query',
'schema' => ['description' => 'The vSwitch ID.'."\n"
."\n"
.'This parameter is required and valid only when the network type is VPC.'."\n"
.'For example:'."\n"
.'If NetworkType is set to VPC, VSwitchId is required.', 'type' => 'string', 'required' => false, 'example' => 'vsw-2zevmwkwyztjuoffg****', 'title' => ''],
],
[
'name' => 'SecurityGroupId',
'in' => 'query',
'schema' => ['description' => 'The security group ID.', 'type' => 'string', 'required' => false, 'example' => 'sg-bp1fg655nh68xyz9****', 'title' => ''],
],
[
'name' => 'EnableIpv6',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to create an IPv6 mount target.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- true: creates an IPv6 mount target.'."\n"
.'- false (default): does not create an IPv6 mount target.'."\n"
."\n"
.'> IPv6 is supported only by Extreme NAS file systems in all regions in the Chinese mainland. The file system must have IPv6 enabled.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'true', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to check for existing mount targets. Only CPFS file systems are supported.'."\n"
."\n"
.'A dry run checks parameter validity and inventory without actually creating a mount target or incurring fees.'."\n"
."\n"
.'- true: sends a dry run request without creating a mount target. The check items include required parameters, request format, business limits, and CPFS inventory. If the check fails, the corresponding error is returned. If the check passes, `200 HttpCode` is returned, but `MountTargetDomain` is empty.'."\n"
.'- false (default): sends a normal request. After the check passes, a mount target is created.', 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '70EACC9C-D07A-4A34-ADA4-77506C42****', 'title' => ''],
'MountTargetDomain' => ['description' => 'The IPv4 mount target.', 'type' => 'string', 'example' => '174494b666-x****.cn-hangzhou.nas.aliyuncs.com', 'title' => ''],
'MountTargetExtra' => [
'description' => 'The mount target information.',
'type' => 'object',
'properties' => [
'DualStackMountTargetDomain' => ['description' => 'The dual-stack mount target that supports both IPv4 and IPv6.', 'type' => 'string', 'example' => '174494b666-x****.dualstack.cn-hangzhou.nas.aliyuncs.com', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
202 => [
['errorCode' => 'RequestAccepted', 'errorMessage' => 'The request has been accepted by the server.', 'description' => 'The request has been accepted by the server.'],
],
400 => [
['errorCode' => 'InvalidFileSystem.NotsupportedIPv6', 'errorMessage' => 'The file system does not support IPv6.', 'description' => 'The file system does not support IPv6.'],
['errorCode' => 'InvalidVSwitch.Ipv6NotTurnOn', 'errorMessage' => 'The VSwitch you are currently using has not enabled the IPv6 function. Please enable this function first and try again.', 'description' => ''],
['errorCode' => 'IdempotentParameterMismatch', 'errorMessage' => 'The same client token was passed in to different parameters.', 'description' => 'The same client token was passed in to different parameters.'],
['errorCode' => 'MissingParameter.AccessGroupName', 'errorMessage' => 'You must specify AccessGroupName when you create a standard or extreme file system mount target.', 'description' => 'You must specify AccessGroupName when you create a standard or extreme file system mount target.'],
['errorCode' => 'InvalidVSwitchId.IpNotEnough', 'errorMessage' => 'The number of the specified VSwitch IP address is insufficient.', 'description' => ''],
['errorCode' => 'InvalidParameter.ConflictVpcCidr', 'errorMessage' => 'The specified VPC CIDR conflicts with the server.', 'description' => 'The specified VPC CIDR conflicts with the server.'],
['errorCode' => 'DryRunOperation', 'errorMessage' => 'The request is validated with DryRun flag set.', 'description' => 'The request is validated with DryRun flag set.'],
['errorCode' => 'SubAccount.NoStandardSLRPermission', 'errorMessage' => 'The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasStandard. Please authorize the RAM user the permission ram:CreateServiceLinkedRole.', 'description' => 'The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasStandard. Please authorize the RAM user the permission ram:CreateServiceLinkedRole.'],
],
403 => [
['errorCode' => 'OperationDenied.InvalidState', 'errorMessage' => 'The operation is not permitted when the status is processing.', 'description' => 'The operation is not permitted when the status is processing.'],
['errorCode' => 'InvalidRamRole.NotExist', 'errorMessage' => 'The specified RAM role does not exist.', 'description' => 'The specified RAM role does not exist.'],
['errorCode' => 'InvalidRamRole.NoPermission', 'errorMessage' => 'The specified RAM role does not have sufficient permission.', 'description' => 'The specified RAM role does not have sufficient permission.'],
['errorCode' => 'InvalidMountTarget.AlreadyExisted', 'errorMessage' => 'The specified mount target already exists.', 'description' => 'The specified mount target already exists.'],
['errorCode' => 'Resource.OutOfStock', 'errorMessage' => 'The inventory of the specified zone is insufficient.', 'description' => 'The inventory of the specified zone is insufficient.'],
['errorCode' => 'OperationDenied.MountTargetExceedLimit', 'errorMessage' => 'The maximum number of mount target in the specified file system is exceeded.', 'description' => 'The maximum number of mount target in the specified file system is exceeded.'],
],
[
['errorCode' => 'InvalidParameter.VswNotFound', 'errorMessage' => 'The specified VSwitch does not exist.', 'description' => ''],
['errorCode' => 'InvalidParameter.VpcNotFound', 'errorMessage' => 'The specified VPC does not exist.', 'description' => 'The specified VPC does not exist.'],
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"70EACC9C-D07A-4A34-ADA4-77506C42****\\",\\n \\"MountTargetDomain\\": \\"174494b666-x****.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"MountTargetExtra\\": {\\n \\"DualStackMountTargetDomain\\": \\"174494b666-x****.dualstack.cn-hangzhou.nas.aliyuncs.com\\"\\n }\\n}","type":"json"}]',
'title' => 'Create a mount target',
'description' => '- When you call the CreateMountTarget operation to create a mount target, some resources are generated asynchronously. After the CreateMountTarget operation succeeds, first invoke the DescribeMountTargets operation to query the mount target status. Execute the file system mount operation only after the mount target status changes to **Active**. Otherwise, the mount operation may fail.'."\n"
.'- Invoking this operation triggers the automatic creation of the service-linked role required for the operation. For more information, see [Manage the service-linked role for NAS](~~208530~~).',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-09-25T02:15:16.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2021-04-01T09:05:41.000Z', 'description' => 'OpenAPI offline'],
['createdAt' => '2021-04-01T09:05:41.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateMountTarget'],
],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateMountTarget',
'authLevel' => 'resource',
'actionConditions' => [
['conditionKey' => 'vpc:Vpc', 'validationType' => 'always'],
],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'],
],
],
],
],
],
'CreateProtocolMountTarget' => [
'summary' => 'Creates an export directory for a protocol service.',
'methods' => ['post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '124954',
'abilityTreeNodes' => ['FEATUREnasQ7YV89', 'FEATUREnas0GUIX5'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'ProtocolServiceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the protocol service.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ptc-197ed6a00f2b****', 'title' => ''],
],
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => [
'description' => 'The ID of the file system.',
'type' => 'string',
'required' => true,
'docRequired' => true,
'enum' => [],
'example' => 'cpfs-099394bd928c****',
'title' => '',
],
],
[
'name' => 'VpcId',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => ['description' => 'The ID of the VPC for the protocol service export.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'vpc-2vct297b8157bth9z****', 'title' => ''],
],
[
'name' => 'VSwitchId',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => ['description' => 'The ID of the vSwitch for the protocol service export.'."\n"
."\n"
.'If the storage redundancy type of the file system is not zone-redundant storage (ZRS), this parameter is required when VpcId is specified.'."\n"
.'> The vSwitch must be in the same zone as the target CPFS file system.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'vsw-2vc3c2lybvdllxyq4****', 'title' => ''],
],
[
'name' => 'FsetId',
'in' => 'query',
'schema' => ['description' => 'The ID of the fileset to export.'."\n"
."\n"
.'Limits:'."\n"
.'- The fileset must already exist.'."\n"
.'- Only one export directory can be created for each fileset.'."\n"
.'- You must specify one and only one of FsetId and Path.', 'type' => 'string', 'required' => false, 'example' => 'fset-1902718ea0ae****', 'title' => ''],
],
[
'name' => 'Path',
'in' => 'query',
'schema' => ['description' => 'The path of the CPFS directory to export.'."\n"
."\n"
.'Limits:'."\n"
.'- The directory must already exist on the CPFS file system.'."\n"
.'- Only one export can be created for each directory.'."\n"
.'- You must specify one and only one of FsetId and Path.'."\n"
."\n"
.'Format:'."\n"
.'- The path must be 1 to 1,024 characters in length.'."\n"
.'- The path must be encoded in UTF-8.'."\n"
.'- The path must start and end with a forward slash (/). The root directory is `/`.', 'type' => 'string', 'maxLength' => 1024, 'minLength' => 1, 'required' => false, 'example' => '/', 'title' => ''],
],
[
'name' => 'AccessGroupName',
'in' => 'query',
'schema' => ['description' => 'The name of the permission group.'."\n"
."\n"
.'Default value: DEFAULT_VPC_GROUP_NAME.', 'type' => 'string', 'default' => 'DEFAULT_VPC_GROUP_NAME', 'required' => false, 'example' => 'DEFAULT_VPC_GROUP_NAME', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The description of the protocol service export directory. This parameter is displayed as **Export Directory Name** in the console.'."\n"
."\n"
.'Limits:'."\n"
.'- The description must be 2 to 128 characters in length and can contain letters and Chinese characters.'."\n"
.'- The description must start with a letter or a Chinese character and cannot start with `http://` or `https://`.'."\n"
.'- The description can contain digits, colons (:), underscores (_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => '此导出目录的描述', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the RequestId of the API request as the ClientToken. The RequestId may differ for each API request.', 'type' => 'string', 'maxLength' => 64, 'minLength' => 1, 'required' => false, 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run for this request. A dry run checks parameter validity, dependencies, and other conditions without actually creating the instance or incurring charges.'."\n"
."\n"
.'Valid values:'."\n"
.'- true: sends a dry run request without creating the export directory. The dry run checks whether required parameters are specified, whether the request format is valid, and whether business limit dependencies are met. If the check fails, the corresponding error is returned. If the check succeeds, HTTP status code 200 is returned, but ExportId is empty.'."\n"
."\n"
.'- false (default): sends a normal request. After the check succeeds, the instance is created.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'true', 'title' => ''],
],
[
'name' => 'VSwitchIds',
'in' => 'query',
'allowEmptyValue' => true,
'style' => 'repeatList',
'schema' => [
'title' => '',
'description' => 'The list of vSwitch IDs for the protocol service export.',
'type' => 'array',
'items' => ['title' => '', 'description' => 'The list of vSwitch IDs for the protocol service export.'."\n"
."\n"
.'If the storage redundancy type of the file system is zone-redundant storage (ZRS), and VpcId is specified, you must specify vSwitch IDs in three different zones within the VPC.', 'type' => 'string', 'required' => false, 'example' => 'vsw-123xxx'],
'required' => false,
'maxItems' => 3,
'minItems' => 0,
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'title' => '',
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'],
'ExportId' => ['description' => 'The ID of the protocol service export directory.', 'type' => 'string', 'example' => 'exp-19abf5beab8d****', 'title' => ''],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingProtocolServiceId', 'errorMessage' => 'ProtocolServiceId is mandatory for this action.', 'description' => ''],
],
403 => [
['errorCode' => 'Instance.IncorrectStatus', 'errorMessage' => 'The specified instance is in an incorrect status.', 'description' => ''],
['errorCode' => 'InvalidVSwitchId.IpShortage', 'errorMessage' => 'The specified vswitch ip shortage.', 'description' => ''],
['errorCode' => 'InvalidFset.InUse', 'errorMessage' => 'Fset already used by other export.', 'description' => ''],
['errorCode' => 'MntPathConflict.InvalidParam', 'errorMessage' => 'FilesetId and Path must and can only be specified one.', 'description' => ''],
['errorCode' => 'OperationDenied.TooManyDepth', 'errorMessage' => 'The operation is denied due to Fsets path too deep.', 'description' => ''],
['errorCode' => 'OperationDenied.InvalidPtcStatus', 'errorMessage' => 'The operation is denied due to invalid protocol service status.', 'description' => ''],
['errorCode' => 'OperationDenied.InvalidState', 'errorMessage' => 'The operation is denied due to invalid file system state.', 'description' => ''],
['errorCode' => 'OperationDenied.CrossVPCExceedLimit', 'errorMessage' => 'Cross vpc mount exceed limit.', 'description' => ''],
['errorCode' => 'OperationDenied.NoMountTargetQuota', 'errorMessage' => 'No mount target quota on this protocol service.', 'description' => ''],
['errorCode' => 'OperationDenied.NotSupported', 'errorMessage' => 'The operation is denied due to not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidProtocolService.NotFound', 'errorMessage' => 'The specified protocol service does not exist.', 'description' => ''],
['errorCode' => 'InvalidVpcId.ConflictVpcCidr', 'errorMessage' => 'Vpc cidr conflict with file system', 'description' => ''],
['errorCode' => 'InvalidFsetId.NotFound', 'errorMessage' => 'The specified fileset ID does not exist.', 'description' => ''],
['errorCode' => 'Fset.IncorrectStatus', 'errorMessage' => 'The specified fset is in an incorrect status.', 'description' => ''],
['errorCode' => 'InvalidFileSystemPath.InvalidCharacters', 'errorMessage' => 'The specified fileset path contains invalid characters.', 'description' => ''],
['errorCode' => 'InvalidAccessGroupName.NotFound', 'errorMessage' => 'The specified access group does not exist.', 'description' => ''],
['errorCode' => 'InvalidAccessGroupName.NotAccessRule', 'errorMessage' => 'There has no rule in access group.', 'description' => ''],
['errorCode' => 'InvalidDescription.InvalidFormat', 'errorMessage' => 'Description format is invalid.', 'description' => ''],
['errorCode' => 'InvalidParameter.VpcNotFound', 'errorMessage' => 'The specified VPC does not exist.', 'description' => 'The specified VPC does not exist.'],
['errorCode' => 'InvalidParameter.VswNotFound', 'errorMessage' => 'The specified VSwitch does not exist.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"ExportId\\": \\"exp-19abf5beab8d****\\"\\n}","type":"json"}]',
'title' => 'Create a protocol service export directory',
'description' => '- This operation is applicable only to Cloud Parallel File Storage (CPFS) file systems.'."\n"
."\n"
.'- Before you begin'."\n"
.' '."\n"
.' The CPFS file system must be in the Running state and a protocol service must be created.'."\n"
.'- Other information'."\n"
.' - The VPC CIDR block of the protocol service export cannot overlap with the VPC CIDR block of the file system.'."\n"
.' - The VPC CIDR blocks of multiple exports on the same protocol service cannot overlap with each other.'."\n"
.' - You can create up to 10 export directories for a single protocol service.'."\n"
.' - Creating a protocol service export directory consumes IP addresses from the specified vSwitch (up to 32 IP addresses). Make sure that the target vSwitch has sufficient IP address resources.',
'changeSet' => [
['createdAt' => '2022-04-28T09:25:04.000Z', 'description' => 'OpenAPI offline'],
['createdAt' => '2022-04-28T09:25:04.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateProtocolMountTarget'],
],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateProtocolMountTarget',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
],
'CreateProtocolService' => [
'summary' => 'Creates a protocol service for a Cloud Parallel File Storage (CPFS) file system. The creation process takes approximately 5 to 10 minutes.',
'methods' => ['post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '124566',
'abilityTreeNodes' => ['FEATUREnas155MFA'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => [
'description' => 'The file system ID.',
'type' => 'string',
'required' => true,
'docRequired' => true,
'enum' => [],
'example' => 'cpfs-099394bd928c****',
'title' => '',
],
],
[
'name' => 'ProtocolSpec',
'in' => 'query',
'schema' => [
'description' => 'The specification of the protocol service.'."\n"
."\n"
.'Valid values: General (default).',
'enumValueTitles' => ['CL2' => 'Cache L2.', 'General' => 'General.', 'CL1' => 'Cache L1.'],
'type' => 'string',
'required' => true,
'docRequired' => true,
'enum' => ['CL2', 'General', 'CL1'],
'example' => 'General',
'title' => '',
],
],
[
'name' => 'Throughput',
'in' => 'query',
'schema' => ['description' => 'The bandwidth of the protocol service.'."\n"
."\n"
.'Unit: MB/s.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8000', 'title' => ''],
],
[
'name' => 'ProtocolType',
'in' => 'query',
'schema' => ['description' => 'The protocol type of the protocol service.'."\n"
."\n"
.'Valid values: NFS (default). Only NFSv3 access is supported.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'NFS', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The description of the protocol service. This value is displayed as "Protocol service name" in the console.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'- The description must be 2 to 128 characters in length.'."\n"
.'- The description must start with a letter or Chinese character and cannot start with `http://` or `https://`.'."\n"
.'- The description can contain digits, colons (:), underscores (_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => '此协议服务的描述。', 'title' => ''],
],
[
'name' => 'VpcId',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => ['description' => 'The VPC ID of the protocol service. The VPC must be the same as the VPC of the file system.'."\n"
."\n"
.'If the storage redundancy type of the file system is zone-redundant storage (ZRS), do not set this parameter. Otherwise, this parameter is required.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'vpc-2vct297b8157bth9z****', 'title' => ''],
],
[
'name' => 'VSwitchId',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => ['description' => 'The vSwitch ID of the protocol service.'."\n"
."\n"
.'If the storage redundancy type of the file system is zone-redundant storage (ZRS), do not set this parameter. Otherwise, this parameter is required.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'vsw-2vc3c2lybvdllxyq4****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run for this request.'."\n"
."\n"
.'A dry run checks parameter validity and dependencies without actually creating the instance or incurring charges.'."\n"
."\n"
.'Valid values:'."\n"
.'- true: Sends a check request without creating the protocol service. The check items include whether required parameters are specified, the request format, and business limit dependencies. If the check fails, the corresponding error is returned. If the check passes, HTTP status code 200 is returned, but ProtocolServiceId is empty.'."\n"
.'- false (default): Sends a normal request. After the check passes, the instance is directly created.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the RequestId of the API request as the ClientToken. The RequestId may differ for each API request.', 'type' => 'string', 'maxLength' => 64, 'minLength' => 1, 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => '',
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****'],
'ProtocolServiceId' => ['description' => 'The protocol service cluster ID.', 'type' => 'string', 'example' => 'ptc-197ed6a00f2b****', 'title' => ''],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingVpcId', 'errorMessage' => 'VpcId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingVSwitchId', 'errorMessage' => 'VSwitchId is mandatory for this action.', 'description' => ''],
],
403 => [
['errorCode' => 'InvalidProtocolSpec.NotSupported', 'errorMessage' => 'The specified protocol spec does not supported.', 'description' => ''],
['errorCode' => 'InvalidNetworkType.NotSupported', 'errorMessage' => 'The specified network type does not supported.', 'description' => ''],
['errorCode' => 'Instance.IncorrectStatus', 'errorMessage' => 'The specified instance is in an incorrect status.', 'description' => ''],
['errorCode' => 'OperationDenied.ProtocolServiceExceedLimit', 'errorMessage' => 'The protocol service amount exceed file system limit.', 'description' => ''],
['errorCode' => 'PermissionDenied.CapacityTooLow', 'errorMessage' => 'Capacity of file system too low to subscribe protocol service.', 'description' => ''],
['errorCode' => 'PermissionDenied.ThroughputInvalid', 'errorMessage' => 'Standard protocol service should not specified throughput.', 'description' => ''],
['errorCode' => 'PermissionDenied.ThroughputTooSmall', 'errorMessage' => 'Throughput of protocol service too small.', 'description' => ''],
['errorCode' => 'PermissionDenied.ThroughputExceed', 'errorMessage' => 'Throughput of protocol service must less than throughput of file system.', 'description' => ''],
['errorCode' => 'InvalidProtocolType.NotSupported', 'errorMessage' => 'The specified protocol type does not supported.', 'description' => ''],
['errorCode' => 'InvalidVSwitchId.IpShortage', 'errorMessage' => 'The specified vswitch ip shortage.', 'description' => ''],
['errorCode' => 'InvalidFset.InUse', 'errorMessage' => 'Fset already used by other export.', 'description' => ''],
['errorCode' => 'InvalidFileSystemPath.InvalidCharacters', 'errorMessage' => 'The specified filesystem path contains invalid characters.', 'description' => ''],
['errorCode' => 'MntPathConflict.InvalidParam', 'errorMessage' => 'FilesetId and Path must and can only be specified one.', 'description' => ''],
['errorCode' => 'OperationDenied.TooManyDepth', 'errorMessage' => 'The operation is denied due to Fsets path too deep.', 'description' => ''],
['errorCode' => 'OperationDenied.InvalidState', 'errorMessage' => 'The operation is denied due to invalid file system state.', 'description' => ''],
['errorCode' => 'OperationDenied.NoProtocolServiceQuota', 'errorMessage' => 'No protocol service quota.', 'description' => ''],
['errorCode' => 'OperationDenied.NotSupported', 'errorMessage' => 'The operation is denied due to not supported.', 'description' => ''],
['errorCode' => 'PermissionDenied.CLThroughputInvalid', 'errorMessage' => 'Throughput of caching protocol service is invalid.', 'description' => ''],
['errorCode' => 'InvalidVpcId.CrossVpcNotSupport.', 'errorMessage' => 'Cross VPC not support.', 'description' => ''],
],
[
['errorCode' => 'InvalidParameter.VpcNotFound', 'errorMessage' => 'The specified VPC does not exist.', 'description' => 'The specified VPC does not exist.'],
['errorCode' => 'InvalidParameter.VswNotFound', 'errorMessage' => 'The specified VSwitch does not exist.', 'description' => ''],
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidDescription.InvalidFormat', 'errorMessage' => 'Description format is invalid.', 'description' => ''],
['errorCode' => 'InvalidVpcId.ConflictVpcCidr', 'errorMessage' => 'Vpc cidr conflict with file system', 'description' => ''],
['errorCode' => 'InvalidAccessGroupName.NotFound', 'errorMessage' => 'The specified access group does not exist.', 'description' => ''],
['errorCode' => 'InvalidAccessGroupName.NotAccessRule', 'errorMessage' => 'There has no rule in access group.', 'description' => ''],
['errorCode' => 'OperationDenied.NoStock', 'errorMessage' => 'The operation is denied due to no stock.', 'description' => ''],
['errorCode' => 'PathNotExistInFileSystem.InvalidParam', 'errorMessage' => 'Given path does not exist in file system.', 'description' => ''],
['errorCode' => 'InvalidFsetId.NotFound', 'errorMessage' => 'The specified Fileset ID does not exist.', 'description' => ''],
['errorCode' => 'InvalidParameter.VpcVswitchMismatch', 'errorMessage' => 'Given vSwitch mismatch with given VPC.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\",\\n \\"ProtocolServiceId\\": \\"ptc-197ed6a00f2b****\\"\\n}","type":"json"}]',
'title' => 'Create a protocol service',
'description' => '- This operation is applicable only to CPFS file systems.'."\n"
.'- Only CPFS 2.3.0 and later support protocol services. You can call the [DescribeFileSystems](~~163314~~) operation to query the version of the file system.'."\n"
."\n"
.'- Protocol service specifications.'."\n"
."\n"
.' Protocol services include two Protocol Types: General and Cache. Compared with the General type, the Cache type provides hot spot data caching. When the cache is hit, the bandwidth of the Cache type protocol service can exceed the bandwidth of the CPFS file system and reach the maximum bandwidth configured for the protocol service.'."\n"
.' '."\n"
.' - General: Provides NFS protocol access and [folder-level mount targets](~~427175~~) for CPFS. You do not need to configure a POSIX client cluster management. This feature is free of charge.'."\n"
.' - Cache: Provides server-side in-memory caching based on the LRU policy in addition to the General type capabilities. When data is cached in memory, CPFS can provide higher internal network bandwidth. The Cache type protocol service is available in two specifications: Cache L1 and Cache L2, which differ in internal network bandwidth and memory cache size.'."\n"
."\n"
.' > The Cache type protocol service is a paid service and is in invitational preview. For information about the billing of the Cache type protocol service, see [Billable items](~~111858~~). If you have any feedback or questions, join the DingTalk user group (group ID: 31045006299) to communicate with CPFS engineers.'."\n"
."\n"
.'- Protocol type.'."\n"
."\n"
.' Only NFSv3 is supported.'."\n"
."\n"
.'- Prerequisites.'."\n"
."\n"
.' The CPFS file system must be created and in the Running state.'."\n"
."\n"
.'- Other information.'."\n"
."\n"
.' - Only one protocol service can be created for each CPFS file system.'."\n"
."\n"
.' - Creating a protocol service consumes IP addresses on the specified vSwitch (up to 32 IP addresses). Make sure that the target vSwitch has sufficient IP address resources.',
'changeSet' => [
['createdAt' => '2022-04-28T09:25:04.000Z', 'description' => 'OpenAPI offline'],
['createdAt' => '2022-04-28T09:25:04.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateProtocolService'],
],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateProtocolService',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
],
'CreateRecycleBinDeleteJob' => [
'summary' => 'Creates a task to permanently delete a file or directory from the recycle bin.',
'methods' => ['get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '14461',
'abilityTreeNodes' => ['FEATUREnas0A1PB1'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1ca404****', 'title' => ''],
],
[
'name' => 'FileId',
'in' => 'query',
'schema' => ['description' => 'The FileId of the file or directory that you want to permanently delete.'."\n"
."\n"
.'You can call the [ListRecycledDirectoriesAndFiles](~~2412174~~) operation to query the FileId of deleted data.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '104', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'Ensures the idempotence of the request.'."\n"
."\n"
.'Generate a parameter value from your client to ensure that the value is unique among different requests. The value of ClientToken can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n"
."\n"
.'>If you do not specify ClientToken, the system automatically uses the RequestId of the API request as the ClientToken. The RequestId may vary for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => '',
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****'],
'JobId' => ['description' => 'The task ID.', 'type' => 'string', 'example' => '8C****C54', 'title' => ''],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingFileId', 'errorMessage' => 'FileId is mandatory for this action.', 'description' => 'FileId is mandatory for this action. '],
['errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', 'errorMessage' => 'KMS is not authorized.', 'description' => 'KMS is not authorized.'],
['errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', 'errorMessage' => 'The CMK needs to be enabled.', 'description' => 'The CMK needs to be enabled.'],
],
403 => [
['errorCode' => 'OperationDenied.Conflict', 'errorMessage' => 'The operation is in conflict with (% JobId). Please try again later.', 'description' => 'The operation is in conflict with (% JobId). Please try again later.'],
['errorCode' => 'OperationDenied.TooManyRunningJobs', 'errorMessage' => 'The maximum number of running job is one. Please try again later.', 'description' => 'The maximum number of running job is one. Please try again later.'],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidFileId.NotFound', 'errorMessage' => 'The specified FileId(%FileId) does not exist.', 'description' => 'The specified FileId (%FileId) does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\",\\n \\"JobId\\": \\"8C****C54\\"\\n}","type":"json"}]',
'title' => 'Permanently delete a file or directory from the recycle bin',
'description' => '- Only General-purpose NAS file systems support this feature.'."\n"
.'- The recycle bin must be enabled.'."\n"
.'- Mount the file system by using NFS or SMB (mount the file system on an ECS instance in the same VPC), and then delete the target file in the mount directory to move it to the recycle bin.'."\n"
.'- When you permanently delete a directory, the contents of the directory are recursively deleted.'."\n"
.'- Only one permanent deletion task can be run at a time for a single file system. While a file or directory is being permanently deleted, you cannot initiate a new restoration or cleanup task.',
'changeSet' => [
['createdAt' => '2021-06-02T07:10:56.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateRecycleBinDeleteJob'],
],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:CreateRecycleBinDeleteJob',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
],
'CreateRecycleBinRestoreJob' => [
'summary' => 'Restores a file or directory from the recycle bin.',
'methods' => ['get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '14460',
'abilityTreeNodes' => ['FEATUREnas0A1PB1'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1ca404****', 'title' => ''],
],
[
'name' => 'FileId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file or directory that you want to restore.'."\n"
."\n"
.'You can call the [ListRecycledDirectoriesAndFiles](~~2412174~~) operation to query the FileId of the deleted data.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '04***08', 'title' => ''],
],
[
'name' => 'TargetFileId',
'in' => 'query',
'schema' => ['description' => 'The ID of the directory to which the file is restored.'."\n"
."\n"
.'* You can call the [ListRecentlyRecycledDirectories](~~2412173~~) operation to query the TargetFileId for recently deleted directories.'."\n"
.'* You can call the [ListDirectoriesAndFiles](~~2412163~~) operation to query the TargetFileId for existing directories.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '13***15', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
."\n"
.'You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****'],
'JobId' => ['description' => 'The job ID.'."\n", 'type' => 'string', 'example' => 'rb-10****491ff-r-162****165400', 'title' => ''],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingTargetFileId', 'errorMessage' => 'TargetFileId is mandatory for this action.', 'description' => 'TargetFileId is mandatory for this action.'],
['errorCode' => 'MissingFileId', 'errorMessage' => 'FileId is mandatory for this action.', 'description' => 'FileId is mandatory for this action. '],
['errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', 'errorMessage' => 'KMS is not authorized.', 'description' => 'KMS is not authorized.'],
['errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', 'errorMessage' => 'The CMK needs to be enabled.', 'description' => 'The CMK needs to be enabled.'],
],
403 => [
['errorCode' => 'OperationDenied.RecycleBinDisabled', 'errorMessage' => 'The operation is denied because the recycle bin is disabled.', 'description' => 'The operation is denied because the recycle bin is disabled.'],
['errorCode' => 'OperationDenied.Conflict', 'errorMessage' => 'The operation is in conflict with (% JobId). Please try again later.', 'description' => 'The operation is in conflict with (% JobId). Please try again later.'],
['errorCode' => 'OperationDenied.TooManyRunningJobs', 'errorMessage' => 'The maximum number of running job is one. Please try again later.', 'description' => 'The maximum number of running job is one. Please try again later.'],
['errorCode' => 'InvalidTargetFileId.NotDirectory', 'errorMessage' => 'The specified TargetFileId(%'."\n"
."\n"
.'TargetFileId) is not directory.', 'description' => 'The specified TargetFileId (% TargetFileId) is not directory.'],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidFileId.NotFound', 'errorMessage' => 'The specified FileId(%FileId) does not exist.', 'description' => 'The specified FileId (%FileId) does not exist.'],
['errorCode' => 'InvalidTargetFileId.NotFound', 'errorMessage' => 'The specified TargetFileId(%TargetFileId) does not exist.', 'description' => 'The specified TargetFileId(%TargetFileId) does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\",\\n \\"JobId\\": \\"rb-10****491ff-r-162****165400\\"\\n}","type":"json"}]',
'title' => 'CreateRecycleBinRestoreJob',
'description' => '- 仅通用型NAS文件系统支持该功能。'."\n"
.'- 单个文件系统一次只能执行一个文件恢复或清理任务。正在恢复文件时,无法发起新的文件恢复或清理任务。'."\n"
.'- 单个恢复任务只能恢复一个文件或目录,恢复指定目录会递归恢复目录下的所有文件。'."\n"
.'- 文件被恢复后会进行数据整理,数据整理期间读请求性能稍有下降。',
'changeSet' => [
['createdAt' => '2021-06-02T07:10:56.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateRecycleBinRestoreJob'],
],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateRecycleBinRestoreJob',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
'translator' => 'manual',
],
'CreateSnapshot' => [
'summary' => 'Creates a snapshot.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13935',
'abilityTreeNodes' => ['FEATUREnas5QOAQE'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the advanced Extreme NAS file system. The value must start with `extreme-`, for example, `extreme-01dd****`.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'extreme-01dd****', 'title' => ''],
],
[
'name' => 'SnapshotName',
'in' => 'query',
'schema' => ['description' => 'The snapshot name.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'* The name must be 2 to 128 characters in length. The name must start with a letter and cannot start with `http://` or `https://`.'."\n"
.'* The name can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n"
.'* The name cannot start with auto because snapshots whose names start with auto are recognized as auto snapshots.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The description of the snapshot.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'* The description must be 2 to 256 characters in length.'."\n"
.'* The description cannot start with `http://` or `https://`.'."\n"
.'* This parameter is empty by default.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceDepet', 'title' => ''],
],
[
'name' => 'RetentionDays',
'in' => 'query',
'schema' => ['description' => 'The retention period of the snapshot.'."\n"
."\n"
.'Unit: days.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* \\-1 (default). Auto snapshots are permanently retained. After the number of auto snapshots exceeds the upper limit, the earliest auto snapshot is automatically deleted.'."\n"
.'* 1 to 65536: Auto snapshots are retained for the specified days. After the retention period of auto snapshots expires, the auto snapshots are automatically deleted.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65536', 'minimum' => '-1', 'example' => '30', 'default' => '-1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'SnapshotId' => ['description' => 'The snapshot ID.'."\n", 'type' => 'string', 'example' => 's-extreme-snapsho****', 'title' => ''],
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"SnapshotId\\": \\"s-extreme-snapsho****\\",\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"s-extreme-snapsho****\\n473469C7-AA6F-4DC5-B3DB-A3DC0DE3****","errorExample":""}]',
'title' => 'CreateSnapshot',
'description' => '* The snapshot feature is in public preview and is provided free of charge. [File Storage NAS Service Level Agreement (SLA)](https://www.alibabacloud.com/help/legal/latest/network-attached-storage-service-level-agreement) is not guaranteed in public preview.'."\n"
.'* Only advanced Extreme NAS file systems support the snapshot feature.'."\n"
.'* You can create a maximum of 128 snapshots for a file system.'."\n"
.'* The compute node on which a file system is mounted must function as expected. Otherwise, you cannot create a snapshot for the file system.'."\n"
.'* You can create only one snapshot for a file system at a time.'."\n"
.'* If the file system expires when a snapshot is being created, the file system is released and the snapshot is deleted.'."\n"
.'* When you create a snapshot for a file system, the I/O performance of the file system may be degraded for a short period of time. We recommend that you create snapshots during off-peak hours.'."\n"
.'* A snapshot is a backup of a file system at a specific point in time. After you create a snapshot, incremental data that is generated in the file system will not be synchronized to the snapshot.'."\n"
.'* Manually created snapshots will not be deleted until 15 days after the service is suspended due to overdue payments. We recommend that you delete unnecessary snapshots at regular intervals to prevent extra fees incurred by the snapshots.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-09-05T09:23:02.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateSnapshot'],
],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateSnapshot',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'Snapshot', 'arn' => 'acs:nas:{#regionId}:{#accountId}:snapshot/*'],
],
],
],
],
],
'DeleteAccessGroup' => [
'summary' => 'Delete an existing access group.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '13936',
'abilityTreeNodes' => ['FEATUREnas2SBOJD'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'AccessGroupName',
'in' => 'query',
'schema' => ['description' => 'The name of the access group to delete.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-test', 'title' => ''],
],
[
'name' => 'FileSystemType',
'in' => 'query',
'schema' => [
'description' => 'The type of the file system.'."\n"
."\n"
.'Valid values:'."\n"
.'- standard (default): General-purpose NAS'."\n"
.'- extreme: Extreme NAS',
'enumValueTitles' => ['standard' => 'General-purpose NAS', 'extreme' => 'Extreme NAS'],
'type' => 'string',
'required' => false,
'default' => 'standard',
'enum' => ['standard', 'extreme'],
'example' => 'standard',
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9E15E394-38A6-457A-A62A-D9797C9A****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9E15E394-38A6-457A-A62A-D9797C9A****\\"\\n}","type":"json"}]',
'title' => 'Delete access group',
'description' => 'The default access group (DEFAULT\\_VPC\\_GROUP\\_NAME) cannot be deleted.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-09-05T09:23:02.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAccessGroup'],
],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteAccessGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'AccessGroup', 'arn' => 'acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}'],
],
],
],
],
],
'DeleteAccessPoint' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '189632',
'abilityTreeNodes' => ['FEATUREnas5IJRRZ'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'example' => '1ca404****', 'maxLength' => 64, 'minLength' => 3, 'title' => ''],
],
[
'name' => 'AccessPointId',
'in' => 'query',
'schema' => ['description' => 'The ID of the access point.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ap-ie15yd****'."\n", 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => '',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => '', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****'],
],
'example' => '',
],
],
],
'errorCodes' => [
404 => [
['errorCode' => 'InvalidAccessPointId.NotFound', 'errorMessage' => 'The access point id does not exist.', 'description' => 'The specified APid does not exist.'],
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'DeleteAccessPoint',
'summary' => 'Deletes an access point.',
'description' => '* Only General-purpose Network File System (NFS) file systems support access points.'."\n"
.'* After an access point is deleted, all I/O operations that are being performed on the directory accessed over the access point are interrupted immediately. Exercise caution when you perform this operation.'."\n",
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAccessPoint'],
],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteAccessPoint',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\"\\n}","type":"json"}]',
],
'DeleteAccessRule' => [
'summary' => 'Deletes a permission rule from a permission group.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '13937',
'abilityTreeNodes' => ['FEATUREnas2SBOJD'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'AccessGroupName',
'in' => 'query',
'schema' => ['description' => 'The name of the permission group.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-test', 'title' => ''],
],
[
'name' => 'AccessRuleId',
'in' => 'query',
'schema' => ['description' => 'The ID of the permission rule.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1', 'title' => ''],
],
[
'name' => 'FileSystemType',
'in' => 'query',
'schema' => [
'description' => 'The type of the file system.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- standard (default): General-purpose NAS.'."\n"
.'- extreme: Extreme NAS.',
'enumValueTitles' => ['standard' => 'General-purpose NAS.', 'extreme' => 'Extreme NAS.'],
'type' => 'string',
'required' => false,
'default' => 'standard',
'enum' => ['standard', 'extreme'],
'example' => 'standard',
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '5B4511A7-C99E-4071-AA8C-32E2529D****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5B4511A7-C99E-4071-AA8C-32E2529D****\\"\\n}","type":"json"}]',
'title' => 'Delete a permission rule',
'description' => 'Rules in the default permission group (DEFAULT_VPC_GROUP_NAME) cannot be deleted.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-02-26T07:03:21.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAccessRule'],
],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteAccessRule',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'AccessGroup', 'arn' => 'acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}'],
],
],
],
],
],
'DeleteAgenticSpace' => [
'methods' => ['post', 'get'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '55630',
'abilityTreeNodes' => ['FEATUREnasXEQXVN'],
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1ca404****', 'title' => ''],
],
[
'name' => 'AgenticSpaceId',
'in' => 'query',
'schema' => ['description' => 'AgenticSpace Id。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'agentic-229oypxjgpau2****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run for this request.'."\n"
."\n"
.'A dry run checks parameter validity and resource availability without actually creating or deleting instances, and incurs no fees.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- true: Sends a dry run request without deleting the instance. The check items include required parameters, request format, service limits, and NAS resource availability. If the check fails, the corresponding error is returned. If the check passes, HTTP status code 200 is returned, but FileSystemId is empty.'."\n"
.'- false (default): Sends a normal request and deletes the instance after the check is passed.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the RequestId of the API request as the ClientToken. The RequestId may differ for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
],
'responses' => [
200 => [
'headers' => [],
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => 'The FileSystemId parameter is not specified.'],
['errorCode' => 'MissingFsetId', 'errorMessage' => 'FsetId is mandatory for this action.', 'description' => 'The Fileset ID parameter is not specified.'],
['errorCode' => 'InvalidFilesetId.NotFound', 'errorMessage' => 'Invalid FilesetId.', 'description' => 'Fileset does not exist'],
],
403 => [
['errorCode' => 'OperationDenied.DependencyViolation', 'errorMessage' => 'The operation is denied due to dependancy violation.', 'description' => 'The conditions for this operation are not met.'],
['errorCode' => 'OperationDenied.FilesetNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => 'The file system does not support Fileset.'],
['errorCode' => 'InvalidOperation.DeletionProtection', 'errorMessage' => 'The operation is not allowed due to resource is protected by deletion protection.', 'description' => 'The instance has deletion protection enabled and cannot be released through the console or API.'],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidFsetId.NotFound', 'errorMessage' => 'The specified Fileset ID does not exist.', 'description' => 'The specified fileset does not exist.'],
],
429 => [
['errorCode' => 'Throttling.Api', 'errorMessage' => 'Request was denied due to api flow control.', 'description' => 'The request is throttled.'],
],
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
'title' => 'Delete an agentic space',
'summary' => 'Deletes an Agentic space.',
'description' => 'Applicable to agentic file systems.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\"\\n}","type":"json"}]',
'gatewayOptions' => [
'gatewayProtocols' => [],
],
],
'DeleteAutoSnapshotPolicy' => [
'summary' => 'Deletes an automatic snapshot policy.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '13938',
'abilityTreeNodes' => ['FEATUREnas5QOAQE'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'AutoSnapshotPolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the automatic snapshot policy.'."\n"
."\n"
.'You can call the [DescribeAutoSnapshotPolicies](~~126583~~) operation to view available automatic snapshot policies.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'sp-extreme-233e6****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n"
."\n"
.'Every response returns a unique request ID regardless of whether the request is successful.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****","errorExample":""}]',
'title' => 'DeleteAutoSnapshotPolicy',
'description' => '* The snapshot feature is in public preview and is provided free of charge. [File Storage NAS Service Level Agreement (SLA)](https://www.alibabacloud.com/help/legal/latest/network-attached-storage-service-level-agreement) is not guaranteed in public preview.'."\n"
.'* Only advanced Extreme NAS file systems support the snapshot feature.'."\n"
.'* If you delete an automatic snapshot policy that is applied to a file system, snapshots for the file system are no longer created based on the policy.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-09-05T09:23:02.000Z', 'description' => 'Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAutoSnapshotPolicy'],
],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteAutoSnapshotPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'DeleteDataFlow' => [
'summary' => 'Deletes a dataflow.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '49024',
'abilityTreeNodes' => ['FEATUREnasPWYFYN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n"
."\n"
.'* The IDs of CPFS file systems must start with `cpfs-`. Example: cpfs-125487\\*\\*\\*\\*.'."\n"
.'* The IDs of CPFS for Lingjun file systems must start with `bmcpfs-`. Example: bmcpfs-0015\\*\\*\\*\\*.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cpfs-099394bd928c****', 'title' => ''],
],
[
'name' => 'DataFlowId',
'in' => 'query',
'schema' => ['description' => 'The ID of the dataflow.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'df-194433a5be31****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run.'."\n"
."\n"
.'During the dry run, the system checks whether the request parameters are valid and whether the requested resources are available. During the dry run, no file system is created and no fee is incurred.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* true: performs a dry run. The system checks the required parameters, request syntax, limits, and available NAS resources. If the request fails the dry run, an error message is returned. If the request passes the dry run, the HTTP status code 200 is returned. No value is returned for the FileSystemId parameter.'."\n"
.'* false (default): performs a dry run and sends the request. If the request passes the dry run, a file system is created.'."\n", 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How do I ensure the idempotence?](~~25693~~)'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The value of RequestId may be different for each API request.'."\n", 'type' => 'string', 'required' => false, 'maxLength' => 64, 'minLength' => 1, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingDataFlowId', 'errorMessage' => 'DataFlowId is mandatory for this action.', 'description' => ''],
],
403 => [
['errorCode' => 'OperationDenied.InvalidState', 'errorMessage' => 'The operation is not permitted when the status is processing.', 'description' => 'The operation is not permitted when the status is processing.'],
['errorCode' => 'OperationDenied.DependencyViolation', 'errorMessage' => 'The operation is denied due to dependancy violation.', 'description' => ''],
['errorCode' => 'OperationDenied.ConflictOperation', 'errorMessage' => 'The operation is denied due to a conflict with an ongoing operation.', 'description' => ''],
['errorCode' => 'OperationDenied.DataFlowNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidDataFlow.NotFound', 'errorMessage' => 'The specified data flow does not exist.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\"\\n}","type":"json"}]',
'title' => 'DeleteDataFlow',
'description' => '- 仅CPFS 2.2.0及以上版本、智算CPFS 2.4.0及以上版本支持数据流动。您可以在控制台文件系统详情页面查看版本信息。'."\n"
.'- 仅支持删除`Running`、`Stopped`状态的数据流动。'."\n"
.'- 删除后,数据流动相关的资源会被释放,且无法恢复。如需数据流动,请您重新创建。',
'changeSet' => [
['createdAt' => '2024-09-05T09:23:02.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2021-10-28T08:34:23.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteDataFlow'],
],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteDataFlow',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'translator' => 'manual',
],
'DeleteFileSystem' => [
'summary' => 'Deletes a file system.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '13939',
'abilityTreeNodes' => ['FEATUREnasI92PYN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system that you want to delete.'."\n"
."\n"
.'* Sample ID of a General-purpose NAS file system: 31a8e4\\*\\*\\*\\*.'."\n"
.'* The IDs of Extreme NAS file systems must start with `extreme-`, for example, extreme-0015\\*\\*\\*\\*.'."\n"
.'* The IDs of Cloud Parallel File Storage (CPFS) file systems must start with `cpfs-`, for example, cpfs-00cb6fa094ca\\*\\*\\*\\*.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1ca404****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '9E15E394-38A6-457A-A62A-D9797C9A****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationDenied.LifecyclePolicyAssociated', 'errorMessage' => 'The specified FileSystem has LifecyclePolicy associated.', 'description' => 'The specified file system has a life cycle policy associated. Please delete the life cycle policy first and then delete the file system.'],
['errorCode' => 'OperationDenied.LifecycleRecycleBinTieringJobAssociated', 'errorMessage' => 'The specified FileSystem has LifecycleRecycleBinTieringJob associated.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9E15E394-38A6-457A-A62A-D9797C9A****\\"\\n}","type":"json"}]',
'title' => 'DeleteFileSystem',
'description' => '- 仅当文件系统的挂载点数目为0时,支持删除文件系统实例。'."\n"
.'- 当文件系统未创建生命周期策略时,支持删除文件系统实例。'."\n"
.'- 文件系统实例一旦删除,数据将不可恢复,请谨慎操作。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-09-05T09:23:02.000Z', 'description' => 'Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteFileSystem'],
],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteFileSystem',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'translator' => 'manual',
],
'DeleteFileset' => [
'summary' => 'Deletes a fileset.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '55630',
'abilityTreeNodes' => ['FEATUREnasPWYFYN'],
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.'."\n"
."\n"
.'- CPFS: The ID must start with `cpfs-`, such as cpfs-099394bd928c****.'."\n"
."\n"
.'- CPFS for Lingjun: The ID must start with `bmcpfs-`, such as bmcpfs-290w65p03ok64ya****.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bmcpfs-290w65p03ok64ya****', 'title' => ''],
],
[
'name' => 'FsetId',
'in' => 'query',
'schema' => ['description' => 'The fileset ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'fset-1902718ea0ae****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run for this deletion request.'."\n"
."\n"
.'A dry run checks parameter validity and resource availability without actually deleting the instance.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- true: Sends a check request without deleting the instance. The check items include whether required parameters are specified, the request format, and business limitations. If the check fails, the corresponding error is returned. If the check passes, HTTP status code 200 is returned.'."\n"
."\n"
.'- false (default): Sends a normal request. After the check passes, the instance is directly deleted.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the RequestId of the API request as the ClientToken. The RequestId may differ for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
],
'responses' => [
200 => [
'headers' => [],
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingFsetId', 'errorMessage' => 'FsetId is mandatory for this action.', 'description' => ''],
['errorCode' => 'InvalidFilesetId.NotFound', 'errorMessage' => 'Invalid FilesetId.', 'description' => 'Fileset does not exist'],
],
403 => [
['errorCode' => 'OperationDenied.DependencyViolation', 'errorMessage' => 'The operation is denied due to dependancy violation.', 'description' => ''],
['errorCode' => 'OperationDenied.FilesetNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => ''],
['errorCode' => 'InvalidOperation.DeletionProtection', 'errorMessage' => 'The operation is not allowed due to resource is protected by deletion protection.', 'description' => ''],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidFsetId.NotFound', 'errorMessage' => 'The specified Fileset ID does not exist.', 'description' => ''],
],
429 => [
['errorCode' => 'Throttling.Api', 'errorMessage' => 'Request was denied due to api flow control.', 'description' => 'The request is throttled.'],
],
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518948****\\"\\n}","type":"json"}]',
'title' => 'Delete a fileset',
'description' => '- Only CPFS 2.2.0 and later and CPFS for Lingjun 2.7.0 and later support fileset deletion. After a fileset is deleted, all data in the directory is permanently deleted and cannot be recovered. Proceed with caution.'."\n"
.'- If deletion protection is enabled, disable it before you delete the fileset.'."\n"
.'- All filesets on the target file system must be in the CREATED desired state before you can perform the deletion.'."\n"
.'- Deleting a CPFS general-purpose fileset immediately releases disk space. Deleting a CPFS for Lingjun fileset gradually releases disk space. Deleted data cannot be recovered. Proceed with caution.',
'changeSet' => [
['createdAt' => '2024-10-24T08:25:57.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-05-31T02:47:37.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-10-28T08:36:25.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteFileset'],
],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteFileset',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'Fileset', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
],
'DeleteLDAPConfig' => [
'summary' => '{"summary1":""}',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => true,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREnasQ7YV89', 'FEATUREnas0GUIX5'],
'autoTest' => false,
'notSupportAutoTestReason' => 'cpfs1.0支持的功能,仅支持存量用户使用',
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'example' => '1ca404a348', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '5B4511A7-C99E-4071-AA8C-32E2529DA963', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [],
'staticInfo' => ['noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', 'returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5B4511A7-C99E-4071-AA8C-32E2529DA963\\"\\n}","type":"json"}]',
'title' => '{"title1":"DeleteLDAPConfig"}',
'description' => '# 说明'."\n"
.'本接口只支持CPFS并行文件系统。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteLDAPConfig'],
],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteLDAPConfig',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
'translator' => 'manual',
],
'DeleteLifecyclePolicy' => [
'summary' => 'Deletes a lifecycle policy.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'high',
'chargeType' => 'paid',
'abilityTreeCode' => '13941',
'abilityTreeNodes' => ['FEATUREnasZ6WBFV'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '31a8e4****', 'title' => ''],
],
[
'name' => 'LifecyclePolicyName',
'in' => 'query',
'schema' => ['description' => 'The name of the lifecycle policy. The name must be 3 to 64 characters in length and can contain letters, digits, underscores (\\_), and hyphens (-). The name must start with a letter.'."\n"
."\n"
.'> Optional for General-purpose NAS file systems. If this parameter is provided, it takes precedence over LifecyclePolicyId. If left empty, LifecyclePolicyId is used.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'lifecyclepolicy1', 'title' => ''],
],
[
'name' => 'LifecyclePolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the lifecycle policy. Required for the CPFS for Lingjun file systems.'."\n", 'type' => 'string', 'example' => 'lc-xxx', 'title' => '', 'required' => false],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'BC7C825C-5F65-4B56-BEF6-98C56C7C****', 'title' => ''],
'Success' => ['description' => 'Indicates whether the request was successful.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BC7C825C-5F65-4B56-BEF6-98C56C7C****\\",\\n \\"Success\\": true\\n}","type":"json"}]',
'title' => 'DeleteLifecyclePolicy',
'description' => '仅通用型NAS文件系统和CPFS智算版支持该功能。',
'changeSet' => [
['createdAt' => '2024-09-05T09:23:01.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteLifecyclePolicy'],
],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteLifecyclePolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'LifecyclePolicy', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'translator' => 'manual',
],
'DeleteLogAnalysis' => [
'summary' => 'Disables log dumping for a General-purpose NAS file system.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13942',
'abilityTreeNodes' => ['FEATUREnas0MLWQI', 'FEATUREnas3DACY7', 'FEATUREnas71NBOZ', 'FEATUREnasA0C6YC'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '174494xxxx', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '70EACC9C-D07A-4A34-ADA4-77506C42B023', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'DeleteLogAnalysis',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteLogAnalysis'],
],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteLogAnalysis',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"70EACC9C-D07A-4A34-ADA4-77506C42B023\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 70EACC9C-D07A-4A34-ADA4-77506C42B023\\n","errorExample":""}]',
],
'DeleteMountTarget' => [
'summary' => 'Deletes a mount target.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '13943',
'abilityTreeNodes' => ['FEATUREnas5IJRRZ'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n"
."\n"
.'* Sample ID of a General-purpose NAS file system: 31a8e4\\*\\*\\*\\*.'."\n"
.'* The IDs of Extreme NAS file systems must start with `extreme-`, for example, extreme-0015\\*\\*\\*\\*.'."\n"
.'* The IDs of CPFS file systems must start with `cpfs-`. Example: cpfs-125487\\*\\*\\*\\*.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '174494****', 'title' => ''],
],
[
'name' => 'MountTargetDomain',
'in' => 'query',
'schema' => ['description' => 'The domain name of the mount target.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '174494b666-x****.cn-hangzhou.nas.aliyuncs.com', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '5BC5CB97-9F28-42FE-84A4-0CD0DF42****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5BC5CB97-9F28-42FE-84A4-0CD0DF42****\\"\\n}","type":"json"}]',
'title' => 'DeleteMountTarget',
'description' => '删除挂载点后,无法恢复,请谨慎操作。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-09-05T09:23:01.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteMountTarget'],
],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteMountTarget',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'translator' => 'manual',
],
'DeleteProtocolMountTarget' => [
'summary' => 'Deletes an export directory of a protocol service.',
'methods' => ['post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '131496',
'abilityTreeNodes' => ['FEATUREnas5IJRRZ'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'ProtocolServiceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the protocol service.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ptc-197ed6a00f2b****', 'title' => ''],
],
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cpfs-099394bd928c****', 'title' => ''],
],
[
'name' => 'ExportId',
'in' => 'query',
'schema' => ['description' => 'The ID of the export directory.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'exp-19abf5beab8d****', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How do I ensure the idempotence?](~~25693~~)'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. The dry run checks parameter validity and prerequisites. The dry run does not delete the specified export directory or incur fees.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* true: performs only a dry run. The system checks the required parameters, request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the HTTP status code 200 is returned.'."\n"
.'* false (default): performs a dry run and sends the request. If the request passes the dry run, the specified export directory is deleted.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****'],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingExportId', 'errorMessage' => 'ExportId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingProtocolServiceId', 'errorMessage' => 'ProtocolServiceId is mandatory for this action.', 'description' => ''],
],
403 => [
['errorCode' => 'Instance.IncorrectStatus', 'errorMessage' => 'The specified instance is in an incorrect status.', 'description' => ''],
['errorCode' => 'OperationDenied.InvalidMntStatus', 'errorMessage' => 'The operation is denied due to invalid protocol mount targte status.', 'description' => ''],
['errorCode' => 'OperationDenied.InvalidPtcStatus', 'errorMessage' => 'The operation is denied due to invalid protocol service status.', 'description' => ''],
['errorCode' => 'OperationDenied.InvalidState', 'errorMessage' => 'The operation is denied due to invalid file system state.', 'description' => ''],
['errorCode' => 'OperationDenied.NotSupported', 'errorMessage' => 'The operation is denied due to not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidProtocolService.NotFound', 'errorMessage' => 'The specified protocol service does not exist.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\"\\n}","type":"json"}]',
'title' => 'DeleteProtocolMountTarget',
'description' => '该接口仅适用于CPFS文件系统。',
'changeSet' => [
['createdAt' => '2022-04-28T09:25:04.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteProtocolMountTarget'],
],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteProtocolMountTarget',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
'translator' => 'manual',
],
'DeleteProtocolService' => [
'summary' => 'Deletes a protocol service of a Cloud Parallel File Storage (CPFS) file system.',
'methods' => ['post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'high',
'chargeType' => 'paid',
'abilityTreeCode' => '124951',
'abilityTreeNodes' => ['FEATUREnasQ7YV89', 'FEATUREnas0GUIX5', 'FEATUREnasRXWLI5'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'ProtocolServiceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the protocol service.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ptc-197ed6a00f2b****', 'title' => ''],
],
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => [
'description' => 'The ID of the file system.'."\n",
'type' => 'string',
'required' => true,
'docRequired' => true,
'enum' => [],
'example' => 'cpfs-099394bd928c****',
'title' => '',
],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How do I ensure the idempotence?](~~25693~~)'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'maxLength' => 64, 'minLength' => 1, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. The dry run checks parameter validity and prerequisites. The dry run does not delete the specified protocol service.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* true: performs only a dry run. The system checks the required parameters, request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the HTTP status code 200 is returned.'."\n"
.'* false (default): performs a dry run and sends the request. If the request passes the dry run, the specified protocol service is deleted.'."\n", 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****'],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingProtocolServiceId', 'errorMessage' => 'ProtocolServiceId is mandatory for this action.', 'description' => ''],
],
403 => [
['errorCode' => 'Instance.IncorrectStatus', 'errorMessage' => 'The specified instance is in an incorrect status.', 'description' => ''],
['errorCode' => 'OperationDenied.InvalidPtcStatus', 'errorMessage' => 'The operation is denied due to invalid protocol service status.', 'description' => ''],
['errorCode' => 'OperationDenied.InvalidState', 'errorMessage' => 'The operation is denied due to invalid file system state.', 'description' => ''],
['errorCode' => 'OperationDenied.NotSupported', 'errorMessage' => 'The operation is denied due to not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidProtocolService.NotFound', 'errorMessage' => 'The specified protocol service does not exist.', 'description' => ''],
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\"\\n}","type":"json"}]',
'title' => 'DeleteProtocolService',
'description' => '- 该接口仅适用于CPFS文件系统。'."\n"
.'- 删除协议服务时,会同时删除协议服务中的导出目录。',
'changeSet' => [
['createdAt' => '2022-04-28T09:25:04.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteProtocolService'],
],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteProtocolService',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
'translator' => 'manual',
],
'DeleteSnapshot' => [
'summary' => 'Deletes a specified snapshot or cancels a snapshot task that is being created.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '13944',
'abilityTreeNodes' => ['FEATUREnas5QOAQE'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'SnapshotId',
'in' => 'query',
'schema' => ['description' => 'The snapshot ID. Set this parameter to the snapshot ID obtained after a snapshot is successfully created for an Advanced Extreme NAS file system.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 's-extreme-snapsho****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n"
."\n"
.'A request ID is returned regardless of whether the call is successful.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
'title' => 'Delete a snapshot or cancel a snapshot task that is being created',
'description' => '.'."\n"
."\n"
.'- This feature is in free public preview. During the public preview, the [File Storage NAS Service-Level Agreement (SLA)](https://terms.aliyun.com/legal-agreement/terms/suit_bu1_ali_cloud/suit_bu1_ali_cloud201803061139_99860.html?spm=a2c4g.11186623.0.0.5c895ff2YPLrwe) is not guaranteed.'."\n"
.'- Only Advanced Extreme NAS file systems support this feature.'."\n"
."\n"
.''."\n"
.'.'."\n"
."\n"
.'- This feature is in free public preview. During the public preview, the [File Storage NAS Service-Level Agreement (SLA)](https://www.alibabacloud.com/help/legal/latest/network-attached-storage-service-level-agreement) is not guaranteed.'."\n"
.'- Only Advanced Extreme NAS file systems support this feature.'."\n"
."\n"
.'.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-09-05T09:23:01.000Z', 'description' => 'Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteSnapshot'],
],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteSnapshot',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'DescribeAccessGroups' => [
'summary' => 'Queries permission group information.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13945',
'abilityTreeNodes' => ['FEATUREnas2SBOJD'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'AccessGroupName',
'in' => 'query',
'schema' => ['description' => 'The name of the permission group.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'- The name must be 3 to 64 characters in length.'."\n"
."\n"
.'- The name must start with a letter and can contain letters, digits, underscores (_), or hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'DEFAULT_VPC_GROUP_NAME', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of permission groups on each page.'."\n"
."\n"
.'Valid values: 1 to 100.'."\n"
."\n"
.'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'example' => '2', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number of the list.'."\n"
."\n"
.'Start value (default value): 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'UseUTCDateTime',
'in' => 'query',
'schema' => ['description' => 'Specifies whether the returned time is displayed in UTC.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- true (default): The returned time is displayed in UTC.'."\n"
.'- false: The returned time is not displayed in UTC.', 'type' => 'boolean', 'required' => false, 'minimum' => '1', 'default' => 'true', 'example' => 'true', 'title' => ''],
],
[
'name' => 'FileSystemType',
'in' => 'query',
'schema' => [
'description' => 'The type of the file system.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- standard (default): General-purpose NAS.'."\n"
.'- extreme: Extreme NAS.'."\n"
.'- cpfs: Cloud Parallel File Storage (CPFS).',
'enumValueTitles' => ['standard' => 'General-purpose NAS.', 'cpfs' => 'Cloud Paralleled File System.', 'extreme' => 'Extreme NAS.'],
'type' => 'string',
'required' => false,
'default' => 'standard',
'enum' => ['standard', 'extreme', 'cpfs'],
'example' => 'standard',
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'AccessGroups' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'AccessGroup' => [
'description' => 'The collection of permission group information.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'AccessGroupName' => ['description' => 'The name of the permission group.', 'type' => 'string', 'example' => 'DEFAULT_VPC_GROUP_NAME', 'title' => ''],
'Description' => ['description' => 'The description of the permission group.', 'type' => 'string', 'example' => 'This is a test access group.', 'title' => ''],
'CreateTime' => ['description' => 'The time when the permission group was created.'."\n"
."\n"
.'The time follows the ISO 8601 standard and is returned in the yyyy-MM-ddTHH:mm:ssZ format.', 'type' => 'string', 'example' => '2020-01-05T16:00:00Z', 'title' => ''],
'AccessGroupType' => ['description' => 'The type of the permission group. The value **Vpc** indicates a virtual private cloud (VPC).', 'type' => 'string', 'example' => 'Vpc', 'title' => ''],
'RuleCount' => ['description' => 'The number of permission rules in the permission group.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
'MountTargetCount' => ['description' => 'The number of mount targets to which the permission group is applied.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
'FileSystemType' => ['description' => 'The type of the file system.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- standard (default): General-purpose NAS.'."\n"
.'- extreme: Extreme NAS.'."\n"
.'- cpfs: Cloud Parallel File Storage (CPFS).', 'type' => 'string', 'example' => 'standard', 'title' => ''],
'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'TotalCount' => ['description' => 'The total number of permission groups.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2514F97E-FFF0-4A1F-BF04-729CEAC6****', 'title' => ''],
'PageSize' => ['description' => 'The number of permission groups on each page.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'PageNumber' => ['description' => 'The page number of the list.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AccessGroups\\": {\\n \\"AccessGroup\\": [\\n {\\n \\"AccessGroupName\\": \\"DEFAULT_VPC_GROUP_NAME\\",\\n \\"Description\\": \\"This is a test access group.\\",\\n \\"CreateTime\\": \\"2020-01-05T16:00:00Z\\",\\n \\"AccessGroupType\\": \\"Vpc\\",\\n \\"RuleCount\\": 0,\\n \\"MountTargetCount\\": 0,\\n \\"FileSystemType\\": \\"standard\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n },\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"2514F97E-FFF0-4A1F-BF04-729CEAC6****\\",\\n \\"PageSize\\": 2,\\n \\"PageNumber\\": 1\\n}","type":"json"}]',
'title' => 'Query permission group information',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-02-26T07:03:21.000Z', 'description' => 'Response parameters changed, Error codes changed'],
['createdAt' => '2023-11-03T07:39:49.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2022-04-28T09:24:33.000Z', 'description' => 'Request parameters changed, Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeAccessGroups'],
],
],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeAccessGroups',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'AccessGroup', 'arn' => 'acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}'],
],
],
],
],
],
'DescribeAccessPoint' => [
'summary' => 'Queries the details of an access point.',
'methods' => ['get', 'post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '192492',
'abilityTreeNodes' => ['FEATUREnas5IJRRZ'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.', 'type' => 'string', 'required' => true, 'example' => '31a8e4****', 'title' => ''],
],
[
'name' => 'AccessPointId',
'in' => 'query',
'schema' => ['description' => 'The access point ID.', 'type' => 'string', 'required' => true, 'example' => 'ap-ie15yd****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'required' => true, 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****'],
'AccessPoint' => [
'description' => 'The access point information.',
'type' => 'object',
'properties' => [
'ARN' => ['description' => 'The access point ARN.', 'type' => 'string', 'example' => 'acs:nas:cn-hangzhou:178321033379****:accesspoint/ap-ie15yd****', 'title' => ''],
'AccessGroup' => ['description' => 'The permission group name.', 'type' => 'string', 'example' => 'test'."\n", 'title' => ''],
'AccessPointId' => ['description' => 'The access point ID.', 'type' => 'string', 'example' => 'ap-ie15yd****'."\n", 'title' => ''],
'AccessPointName' => ['description' => 'The access point name.', 'type' => 'string', 'example' => 'test', 'title' => ''],
'CreateTime' => ['description' => 'The time when the access point was created.', 'type' => 'string', 'example' => '1709619668276167', 'title' => ''],
'DomainName' => ['description' => 'The access point domain name.', 'type' => 'string', 'example' => 'ap-ie15ydanoz.001014****-w****.cn-hangzhou.nas.aliyuncs.com', 'title' => ''],
'EnabledRam' => ['description' => 'Indicates whether the RAM policy is enabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'FileSystemId' => ['description' => 'The file system ID.', 'type' => 'string', 'example' => '31a8e4****', 'title' => ''],
'ModifyTime' => ['description' => 'The time when the access point was last modified.', 'type' => 'string', 'example' => '1709619668276167', 'title' => ''],
'RootPathPermission' => [
'description' => 'The permissions for creating the root directory.',
'type' => 'object',
'properties' => [
'OwnerGroupId' => ['description' => 'The file group ID.', 'type' => 'integer', 'format' => 'int32', 'example' => '123', 'title' => ''],
'OwnerUserId' => ['description' => 'The file owner ID.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'Permission' => ['description' => 'The POSIX permissions.', 'type' => 'string', 'example' => '0755', 'title' => ''],
],
'title' => '',
'example' => '',
],
'PosixUser' => [
'description' => 'The POSIX user.',
'type' => 'object',
'properties' => [
'PosixGroupId' => ['description' => 'The POSIX user group ID.', 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''],
'PosixUserId' => ['description' => 'The POSIX user ID.', 'type' => 'integer', 'format' => 'int32', 'example' => '123', 'title' => ''],
'PosixSecondaryGroupIds' => [
'description' => 'The secondary user group ID.',
'type' => 'array',
'items' => ['description' => 'The secondary user group ID.', 'type' => 'integer', 'format' => 'int32', 'example' => '[123,123]', 'title' => ''],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
'RootPath' => ['description' => 'The root directory.', 'type' => 'string', 'example' => '/', 'title' => ''],
'RootPathStatus' => ['description' => 'The current root directory status.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- 0: The root path status is unknown.'."\n"
.'- 1: The root path does not exist. It may have been deleted by the user.'."\n"
.'- 2: The root path status is normal.', 'type' => 'string', 'example' => '2', 'title' => ''],
'Status' => ['description' => 'The current access point status.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- Active: active'."\n"
.'- Inactive: inactive'."\n"
.'- Pending: being created'."\n"
.'- Deleting: being deleted', 'type' => 'string', 'example' => 'Active', 'title' => ''],
'VSwitchId' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'vsw-2zevmwkwyztjuoffg****', 'title' => ''],
'VpcId' => ['description' => 'The VPC ID.'."\n"
."\n"
.'The VPC must be the same as the VPC of the Elastic Computing Service (ECS) server to which you want to mount the file system.', 'type' => 'string', 'example' => 'vpc-2zesj9afh3y518k9o****', 'title' => ''],
'Tags' => [
'title' => '',
'description' => 'The list of access point tags.',
'type' => 'array',
'items' => [
'title' => '',
'description' => 'The list of access point tags.',
'type' => 'object',
'properties' => [
'Key' => ['title' => '', 'description' => 'The tag key.', 'type' => 'string', 'example' => 'TestKey'],
'Value' => ['title' => '', 'description' => 'The tag value.', 'type' => 'string', 'example' => 'TestValue'],
],
'example' => '',
],
'example' => '',
],
'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'AgenticSpaceId' => ['description' => 'AgenticSpace Id。', 'type' => 'string', 'example' => 'agentic-229oypxjgpau2****', 'title' => ''],
'CreateTimeUtc' => ['description' => 'The time when the AgenticSpace was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format.', 'type' => 'string', 'example' => '2026-06-10T10:08:08Z', 'title' => ''],
'ModifyTimeUtc' => ['description' => 'The time when the AgenticSpace was last modified. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format.', 'type' => 'string', 'example' => '2026-06-10T10:08:08Z', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
404 => [
['errorCode' => 'InvalidAccessPointId.NotFound', 'errorMessage' => 'The access point id does not exist.', 'description' => 'The specified APid does not exist.'],
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"AccessPoint\\": {\\n \\"ARN\\": \\"acs:nas:cn-hangzhou:178321033379****:accesspoint/ap-ie15yd****\\",\\n \\"AccessGroup\\": \\"test\\\\n\\",\\n \\"AccessPointId\\": \\"ap-ie15yd****\\\\n\\",\\n \\"AccessPointName\\": \\"test\\",\\n \\"CreateTime\\": \\"1709619668276167\\",\\n \\"DomainName\\": \\"ap-ie15ydanoz.001014****-w****.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"EnabledRam\\": false,\\n \\"FileSystemId\\": \\"31a8e4****\\",\\n \\"ModifyTime\\": \\"1709619668276167\\",\\n \\"RootPathPermission\\": {\\n \\"OwnerGroupId\\": 123,\\n \\"OwnerUserId\\": 1,\\n \\"Permission\\": \\"0755\\"\\n },\\n \\"PosixUser\\": {\\n \\"PosixGroupId\\": 12,\\n \\"PosixUserId\\": 123,\\n \\"PosixSecondaryGroupIds\\": [\\n 0\\n ]\\n },\\n \\"RootPath\\": \\"/\\",\\n \\"RootPathStatus\\": \\"2\\",\\n \\"Status\\": \\"Active\\",\\n \\"VSwitchId\\": \\"vsw-2zevmwkwyztjuoffg****\\",\\n \\"VpcId\\": \\"vpc-2zesj9afh3y518k9o****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"TestKey\\",\\n \\"Value\\": \\"TestValue\\"\\n }\\n ],\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"AgenticSpaceId\\": \\"agentic-229oypxjgpau2****\\",\\n \\"CreateTimeUtc\\": \\"2026-06-10T10:08:08Z\\",\\n \\"ModifyTimeUtc\\": \\"2026-06-10T10:08:08Z\\"\\n }\\n}","type":"json"}]',
'title' => 'Query access point details',
'description' => 'Only General-purpose NAS NFS file systems support this feature.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAccessPoint'],
],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeAccessPoint',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'DescribeAccessPoints' => [
'methods' => ['get', 'post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => true,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '189598',
'abilityTreeNodes' => ['FEATUREnas0MLWQI', 'FEATUREnas3DACY7', 'FEATUREnas71NBOZ', 'FEATUREnas5IJRRZ'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.', 'type' => 'string', 'required' => false, 'example' => '174494****', 'title' => ''],
],
[
'name' => 'AccessGroup',
'in' => 'query',
'schema' => ['description' => 'The permission group name.'."\n"
."\n"
.'This parameter is required if the file system is a General-purpose NAS file system.'."\n"
."\n"
.'Default permission group: DEFAULT_VPC_GROUP_NAME (the default VPC permission group).', 'type' => 'string', 'required' => false, 'example' => 'DEFAULT_VPC_GROUP_NAME', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of results for each query.'."\n"
."\n"
.'Valid values: 10 to 100. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '10', 'title' => ''],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'title' => '',
'description' => 'The list of access point tags.',
'type' => 'array',
'items' => [
'title' => '',
'description' => 'The list of access point tags.',
'type' => 'object',
'properties' => [
'Key' => ['title' => '', 'description' => 'The tag key.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'- Valid values of N: 1 to 20.'."\n"
.'- The tag key can be up to 128 characters in length.'."\n"
.'- The tag key cannot start with aliyun or acs:.'."\n"
.'- The tag key cannot contain http:// or https://.', 'type' => 'string', 'example' => 'TestKey', 'required' => false],
'Value' => ['title' => '', 'description' => 'The tag value.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'- Valid values of N: 1 to 20.'."\n"
.'- The tag value can be up to 128 characters in length.'."\n"
.'- The tag value cannot start with aliyun or acs:.'."\n"
.'- The tag value cannot contain http:// or https://.', 'type' => 'string', 'example' => 'TestValue', 'required' => false],
],
'required' => false,
'example' => '',
],
'required' => false,
'maxItems' => 21,
'example' => '',
],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The query token. Set the value to the NextToken value returned in the previous API call.', 'type' => 'string', 'required' => false, 'example' => 'MTY4NzcxOTcwMjAzMDk2Nzc0MyM4MDM4****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'required' => true, 'example' => '6299428C-3861-435D-AE54-9B330A00****'],
'AccessPoints' => [
'description' => 'The access point information.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'ARN' => ['description' => 'The access point ARN.', 'type' => 'string', 'example' => 'acs:nas:cn-hangzhou:178321033379****:accesspoint/ap-ie15yd****', 'title' => ''],
'AccessGroup' => ['description' => 'The permission group name.', 'type' => 'string', 'example' => 'test', 'title' => ''],
'AccessPointId' => ['description' => 'The access point ID.', 'type' => 'string', 'example' => 'ap-ie15y*****'."\n", 'title' => ''],
'AccessPointName' => ['description' => 'The access point name.', 'type' => 'string', 'example' => 'test', 'title' => ''],
'CreateTime' => ['description' => 'The time when the access point was created.', 'type' => 'string', 'example' => '1709619668276167', 'title' => ''],
'DomainName' => ['description' => 'The domain name of the access point.', 'type' => 'string', 'example' => 'ap-ie15ydanoz.001014****-w****.cn-hangzhou.nas.aliyuncs.com', 'title' => ''],
'EnabledRam' => ['description' => 'Indicates whether the RAM policy is enabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'FileSystemId' => ['description' => 'The file system ID.', 'type' => 'string', 'example' => '31a8e4****'."\n", 'title' => ''],
'ModifyTime' => ['description' => 'The time when the access point was last modified.', 'type' => 'string', 'example' => '1709619668276167', 'title' => ''],
'PosixUser' => [
'description' => 'The POSIX user.',
'type' => 'object',
'properties' => [
'PosixGroupId' => ['description' => 'The POSIX group ID.', 'type' => 'integer', 'format' => 'int32', 'example' => '12', 'title' => ''],
'PosixUserId' => ['description' => 'The POSIX user ID.', 'type' => 'integer', 'format' => 'int32', 'example' => '123', 'title' => ''],
'PosixSecondaryGroupIds' => [
'description' => 'The secondary group ID.',
'type' => 'array',
'items' => ['description' => 'The secondary group ID.', 'type' => 'integer', 'format' => 'int32', 'example' => '[123,123]', 'title' => ''],
'title' => '',
'example' => '',
],
],
'title' => '',
'example' => '',
],
'RootPath' => ['description' => 'The root directory.', 'type' => 'string', 'example' => '/', 'title' => ''],
'RootPathPermission' => [
'description' => 'The root directory permissions.',
'type' => 'object',
'properties' => [
'OwnerGroupId' => ['description' => 'The file group ID of the owner.', 'type' => 'integer', 'format' => 'int64', 'example' => '12', 'title' => ''],
'OwnerUserId' => ['description' => 'The user ID of the owner.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
'Permission' => ['description' => 'The POSIX permission.', 'type' => 'string', 'example' => '0755', 'title' => ''],
],
'title' => '',
'example' => '',
],
'RootPathStatus' => ['description' => 'The current root directory status.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- 0: The root path status is unknown.'."\n"
.'- 1: The root path does not exist. It may have been deleted by the user.'."\n"
.'- 2: The root path status is normal.', 'type' => 'string', 'example' => '2', 'title' => ''],
'Status' => ['description' => 'The current access point status.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- Active: available.'."\n"
.'- Inactive: unavailable.'."\n"
.'- Pending: being created.'."\n"
.'- Deleting: being deleted.'."\n"
."\n"
.'> You can mount a file system only when the status is Active.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
'VSwitchId' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'vsw-2zevmwkwyztjuoffg****'."\n", 'title' => ''],
'VpcId' => ['description' => 'The VPC ID.', 'type' => 'string', 'example' => 'vpc-2zesj9afh3y518k9o****'."\n", 'title' => ''],
'Tags' => [
'title' => '',
'description' => 'The list of access point tags.',
'type' => 'array',
'items' => [
'title' => '',
'description' => 'The list of access point tags.',
'type' => 'object',
'properties' => [
'Key' => ['title' => '', 'description' => 'The tag key.', 'type' => 'string', 'example' => 'TestKey'],
'Value' => ['title' => '', 'description' => 'The tag value.', 'type' => 'string', 'example' => 'TestValue'],
],
'example' => '',
],
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'NextToken' => ['description' => 'The query token. Set the value to the NextToken value returned in the previous API call.', 'type' => 'string', 'example' => 'MTY4NzcxOTcwMjAzMDk2Nzc0MyM4MDM4****'."\n", 'title' => ''],
'TotalCount' => ['description' => 'The total number of access points.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidFilesystemType.NotSupport', 'errorMessage' => 'The API operation does not support the file system type.', 'description' => 'The API operation does not support the file system type.'],
],
403 => [
['errorCode' => 'InvalidProtocolType.NotSupported', 'errorMessage' => 'The specified protocol type does not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidAccessGroup.NotFound', 'errorMessage' => 'The specified AccessGroup does not exist.', 'description' => 'The permission group that you specified does not exist or has been deleted.'],
],
],
'staticInfo' => [
'substitutions' => ['NAS::2017-06-26::ListAccessPoints'],
'returnType' => 'synchronous',
],
'title' => 'Query access point information',
'summary' => 'Queries access point information.',
'description' => 'Only General-purpose NAS NFS file systems support this feature.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAccessPoints'],
],
],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeAccessPoints',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6299428C-3861-435D-AE54-9B330A00****\\",\\n \\"AccessPoints\\": [\\n {\\n \\"ARN\\": \\"acs:nas:cn-hangzhou:178321033379****:accesspoint/ap-ie15yd****\\",\\n \\"AccessGroup\\": \\"test\\",\\n \\"AccessPointId\\": \\"ap-ie15y*****\\\\n\\",\\n \\"AccessPointName\\": \\"test\\",\\n \\"CreateTime\\": \\"1709619668276167\\",\\n \\"DomainName\\": \\"ap-ie15ydanoz.001014****-w****.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"EnabledRam\\": false,\\n \\"FileSystemId\\": \\"31a8e4****\\\\n\\",\\n \\"ModifyTime\\": \\"1709619668276167\\",\\n \\"PosixUser\\": {\\n \\"PosixGroupId\\": 12,\\n \\"PosixUserId\\": 123,\\n \\"PosixSecondaryGroupIds\\": [\\n 0\\n ]\\n },\\n \\"RootPath\\": \\"/\\",\\n \\"RootPathPermission\\": {\\n \\"OwnerGroupId\\": 12,\\n \\"OwnerUserId\\": 1,\\n \\"Permission\\": \\"0755\\"\\n },\\n \\"RootPathStatus\\": \\"2\\",\\n \\"Status\\": \\"Active\\",\\n \\"VSwitchId\\": \\"vsw-2zevmwkwyztjuoffg****\\\\n\\",\\n \\"VpcId\\": \\"vpc-2zesj9afh3y518k9o****\\\\n\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"TestKey\\",\\n \\"Value\\": \\"TestValue\\"\\n }\\n ]\\n }\\n ],\\n \\"NextToken\\": \\"MTY4NzcxOTcwMjAzMDk2Nzc0MyM4MDM4****\\\\n\\",\\n \\"TotalCount\\": 20\\n}","type":"json"}]',
],
'DescribeAccessRules' => [
'summary' => 'Queries the information about rules in a permission group.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13946',
'abilityTreeNodes' => ['FEATUREnas2SBOJD'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'AccessGroupName',
'in' => 'query',
'schema' => ['description' => 'The name of the permission group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'classic-test', 'title' => ''],
],
[
'name' => 'AccessRuleId',
'in' => 'query',
'schema' => ['description' => 'The rule ID.'."\n", 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page.'."\n"
."\n"
.'Valid values: 1 to 100.'."\n"
."\n"
.'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'example' => '1', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The number of the page to return.'."\n"
."\n"
.'Pages start from page 1. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'FileSystemType',
'in' => 'query',
'schema' => [
'description' => 'The type of the file system.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* standard: General-purpose Apsara File Storage NAS (NAS) file system'."\n"
.'* extreme: Extreme NAS file system.'."\n",
'type' => 'string',
'required' => false,
'default' => 'standard',
'enum' => ['standard', 'extreme'],
'example' => 'standard',
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'TotalCount' => ['description' => 'The total number of rules.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '86D89E82-4297-4343-8E1E-A2495B35****', 'title' => ''],
'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'AccessRules' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'AccessRule' => [
'description' => 'The rules in the permission group.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'AccessRuleId' => ['description' => 'The ID of the rule.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''],
'SourceCidrIp' => ['description' => 'The IP address or CIDR block of the authorized object.'."\n", 'type' => 'string', 'example' => '10.0.*.*/**', 'title' => ''],
'Ipv6SourceCidrIp' => ['description' => 'The IPv6 address or CIDR block of the authorized object.'."\n", 'type' => 'string', 'example' => '2001:250:6000::***', 'title' => ''],
'RWAccess' => ['description' => 'The access permissions of the authorized object on the file system.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* RDWR (default): the read and write permissions.'."\n"
.'* RDONLY: the read-only permission.'."\n", 'type' => 'string', 'example' => 'RDWR', 'title' => ''],
'UserAccess' => ['description' => 'The access permissions for different types of users in the authorized object.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* no_squash: allows access from root users to the file system.'."\n"
.'* root_squash: grants root users the least permissions as the nobody user.'."\n"
.'* all_squash: grants all users the least permissions as the nobody user.'."\n"
."\n"
.'The nobody user has the least permissions in Linux and can access only the public content of the file system. This ensures the security of the file system.'."\n", 'type' => 'string', 'example' => 'no_squash', 'title' => ''],
'Priority' => ['description' => 'The priority of the rule.'."\n"
."\n"
.'If multiple rules are attached to the authorized object, the rule with the highest priority takes effect.'."\n"
."\n"
.'Valid values: 1 to 100. The value 1 indicates the highest priority.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'FileSystemType' => ['description' => 'The type of the file system.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* standard: General-purpose Apsara File Storage NAS (NAS) file system.'."\n"
.'* extreme: Extreme NAS file system.'."\n", 'type' => 'string', 'example' => 'standard', 'title' => ''],
'AccessGroupName' => ['description' => 'The name of the permission group.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''],
'RegionId' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"86D89E82-4297-4343-8E1E-A2495B35****\\",\\n \\"PageSize\\": 1,\\n \\"PageNumber\\": 1,\\n \\"AccessRules\\": {\\n \\"AccessRule\\": [\\n {\\n \\"AccessRuleId\\": \\"1\\",\\n \\"SourceCidrIp\\": \\"10.0.*.*/**\\",\\n \\"Ipv6SourceCidrIp\\": \\"2001:250:6000::***\\",\\n \\"RWAccess\\": \\"RDWR\\",\\n \\"UserAccess\\": \\"no_squash\\",\\n \\"Priority\\": 1,\\n \\"FileSystemType\\": \\"standard\\",\\n \\"AccessGroupName\\": \\"test\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
'title' => 'DescribeAccessRules',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-02-26T07:03:20.000Z', 'description' => 'Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAccessRules'],
],
],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeAccessRules',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'AccessGroup', 'arn' => 'acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}'],
],
],
],
],
'translator' => 'manual',
],
'DescribeAgenticSpaces' => [
'summary' => 'Queries an Agentic space.',
'methods' => ['post', 'get'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '55590',
'abilityTreeNodes' => ['FEATUREnasPWYFYN'],
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1ca404****', 'title' => ''],
],
[
'name' => 'Filters',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The collection of filter key information.',
'type' => 'array',
'items' => [
'description' => 'The filter key information.',
'type' => 'object',
'properties' => [
'Key' => [
'description' => 'The name of the filter key. Valid values:'."\n"
.'- AgenticSpaceIds',
'type' => 'string',
'enum' => ['AgenticSpaceIds'],
'required' => false,
'example' => 'AgenticSpaceIds',
'title' => '',
],
'Value' => ['description' => 'The value of the filter key. Wildcards are not supported.'."\n"
.'- AgenticSpaceIds: only a single ID is supported.', 'type' => 'string', 'required' => false, 'example' => '06229oypxjgox0u****', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'docRequired' => false,
'maxItems' => 5,
'title' => '',
'example' => '',
],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The query token. Set this parameter to the NextToken value returned in the previous API call.', 'type' => 'string', 'required' => false, 'example' => 'MTc3OTkzNTA0Mjg0NTc1MDI4OCM0MDQ0MzA****=', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of results per query.'."\n"
."\n"
.'Valid values: 10 to 100. Default value: 20.', 'type' => 'integer', 'format' => 'int64', 'maximum' => '100', 'minimum' => '10', 'default' => '20', 'required' => false, 'example' => '20', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'BC7C825C-5F65-4B56-BEF6-98C56C7C****', 'title' => ''],
'NextToken' => ['description' => 'The query token. Set this parameter to the NextToken value returned in the previous API call.', 'type' => 'string', 'example' => 'MTc2NTg1MTUyMzA1OTczNTc1OCM0NjQxMzQ****=', 'title' => ''],
'AgenticSpaces' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'AgenticSpace' => [
'description' => 'The AgenticSpace information.',
'type' => 'array',
'items' => [
'description' => 'The AgenticSpace information.',
'type' => 'object',
'properties' => [
'FileSystemId' => ['description' => 'The file system ID.', 'type' => 'string', 'example' => '0322djegiekcia5****', 'title' => ''],
'AgenticSpaceId' => ['description' => 'AgenticSpace Id。', 'type' => 'string', 'example' => 'agentic-229oypxjgpau2****', 'title' => ''],
'Description' => ['description' => 'The description of the AgenticSpace.', 'type' => 'string', 'example' => 'Description', 'title' => ''],
'FileSystemPath' => ['description' => 'The absolute path of the file.', 'type' => 'string', 'example' => '/test/', 'title' => ''],
'Azone' => ['description' => 'The zone ID.', 'type' => 'string', 'example' => 'cn-hangzhou-i', 'title' => ''],
'Status' => ['description' => 'The status of the AgenticSpace. Valid values:'."\n"
.'- Running', 'type' => 'string', 'example' => 'Running', 'title' => ''],
'CreateTimeUtc' => ['description' => 'The time when the AgenticSpace was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format.', 'type' => 'string', 'example' => '2026-06-10T10:08:08Z', 'title' => ''],
'UpdateTimeUtc' => ['description' => 'The time when the AgenticSpace was last updated. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format.', 'type' => 'string', 'example' => '2026-06-10T10:08:08Z', 'title' => ''],
'Quota' => [
'description' => 'The quota information.',
'type' => 'object',
'properties' => [
'FileCountLimit' => ['description' => 'The file count limit of the quota. Valid values:'."\n"
."\n"
.'- Minimum value: 10,000.'."\n"
."\n"
.'- Maximum value: 100,000,000.', 'type' => 'integer', 'format' => 'int64', 'example' => '10000000', 'title' => ''],
'SizeLimit' => ['description' => 'The total capacity limit of the quota. Unit: bytes.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- Minimum value: 10,737,418,240 (10 GiB).'."\n"
.'- Maximum value: 1,099,511,627,776,000 (1,024,000 GiB).'."\n"
.'- Increment: 1,073,741,824 (1 GiB).', 'type' => 'integer', 'format' => 'int64', 'example' => '10737418240', 'title' => ''],
],
'title' => '',
'example' => '',
],
'FileCountUsage' => ['description' => 'The file count usage.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''],
'SpaceUsage' => ['description' => 'The capacity usage. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '1024', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => 'The FileSystemId parameter is not specified.'],
['errorCode' => 'InvalidParameter.SortOrder', 'errorMessage' => 'Invalid sort order.', 'description' => 'Parameter SortOrder error.'],
['errorCode' => 'InvalidParameter.SortOrderField', 'errorMessage' => 'Invalid sort order field.', 'description' => 'Parameter SortOrderField error.'],
],
403 => [
['errorCode' => 'OperationDenied.FilesetNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => 'The file system does not support Fileset.'],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidFilterParam', 'errorMessage' => 'The specified Filter.N.Key is invalid.', 'description' => 'The specified Filter.N.Key parameter is invalid.'],
['errorCode' => 'InvalidFilterValue', 'errorMessage' => 'The specified Filter.N.Value is invalid.', 'description' => 'The specified Filter.N.Value parameter is invalid.'],
['errorCode' => 'InvalidParameter.InvalidNextToken', 'errorMessage' => 'The specified NextToken is invaild.', 'description' => ''],
['errorCode' => 'InvalidParameter.InvalidMaxResults', 'errorMessage' => 'The specified MaxResults is invalid.', 'description' => 'The specified MaxResults is invalid.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'Query an agentic space',
'description' => 'Applies to agentic-type file systems.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BC7C825C-5F65-4B56-BEF6-98C56C7C****\\",\\n \\"NextToken\\": \\"MTc2NTg1MTUyMzA1OTczNTc1OCM0NjQxMzQ****=\\",\\n \\"AgenticSpaces\\": {\\n \\"AgenticSpace\\": [\\n {\\n \\"FileSystemId\\": \\"0322djegiekcia5****\\",\\n \\"AgenticSpaceId\\": \\"agentic-229oypxjgpau2****\\",\\n \\"Description\\": \\"Description\\",\\n \\"FileSystemPath\\": \\"/test/\\",\\n \\"Azone\\": \\"cn-hangzhou-i\\",\\n \\"Status\\": \\"Running\\",\\n \\"CreateTimeUtc\\": \\"2026-06-10T10:08:08Z\\",\\n \\"UpdateTimeUtc\\": \\"2026-06-10T10:08:08Z\\",\\n \\"Quota\\": {\\n \\"FileCountLimit\\": 10000000,\\n \\"SizeLimit\\": 10737418240\\n },\\n \\"FileCountUsage\\": 100,\\n \\"SpaceUsage\\": 1024\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'DescribeAutoSnapshotPolicies' => [
'summary' => 'Queries automatic snapshot policies.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13947',
'abilityTreeNodes' => ['FEATUREnas5QOAQE'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'AutoSnapshotPolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the automatic snapshot policy.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sp-extreme-233e6****', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page.'."\n"
."\n"
.'Valid values: 1 to 100.'."\n"
."\n"
.'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number.'."\n"
."\n"
.'Pages start from page 1. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''],
],
[
'name' => 'FileSystemType',
'in' => 'query',
'schema' => [
'description' => 'The type of the file system.'."\n"
."\n"
.'Valid value: extreme, which indicates Extreme File Storage NAS (NAS) file systems.',
'type' => 'string',
'required' => false,
'example' => 'extreme',
'enum' => ['extreme'],
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'TotalCount' => ['description' => 'The total number of automatic snapshot policies.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''],
'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'AutoSnapshotPolicies' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'AutoSnapshotPolicy' => [
'description' => 'The queried automatic snapshot policies.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'TimePoints' => ['description' => 'The points in time at which auto snapshots are created.'."\n"
."\n"
.'Unit: hours.'."\n"
."\n"
.'Valid values: `0 to 23`. The values from 0 to 23 indicate a total of 24 hours from `00:00 to 23:00`. For example, 1 indicates 01:00. A maximum of 24 points in time can be returned. Multiple points in time are separated with commas (,).'."\n", 'type' => 'string', 'example' => '4,19', 'title' => ''],
'Status' => ['description' => 'The status of the automatic snapshot policy.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* Creating: The automatic snapshot policy is being created.'."\n"
.'* Available: The automatic snapshot policy is available.'."\n", 'type' => 'string', 'example' => 'Available', 'title' => ''],
'RepeatWeekdays' => ['description' => 'The days of a week on which auto snapshots are created.'."\n"
."\n"
.'Auto snapshots are created on a weekly basis.'."\n"
."\n"
.'Valid values: 1 to 7. The values from 1 to 7 indicate 7 days in a week from Monday to Sunday.'."\n", 'type' => 'string', 'example' => '1,5', 'title' => ''],
'AutoSnapshotPolicyName' => ['description' => 'The name of the automatic snapshot policy.'."\n", 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''],
'CreateTime' => ['description' => 'The time when the automatic snapshot policy was created.'."\n"
."\n"
.'The time follows the [ISO8601](https://www.iso.org/iso-8601-date-and-time-format.html) standard in the `yyyy-MM-ddTHH:mm:ssZ` format. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2014-04-21T12:08:52Z', 'title' => ''],
'AutoSnapshotPolicyId' => ['description' => 'The ID of the automatic snapshot policy.'."\n", 'type' => 'string', 'example' => 'sp-extreme-233e6****', 'title' => ''],
'RetentionDays' => ['description' => 'The retention period of auto snapshots.'."\n"
."\n"
.'Unit: days.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* \\-1: Auto snapshots are permanently retained. After the number of auto snapshots exceeds the upper limit, the earliest auto snapshot is automatically deleted.'."\n"
.'* 1 to 65536: Auto snapshots are retained for the specified days. After the retention period of auto snapshots expires, the auto snapshots are automatically deleted.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''],
'FileSystemNums' => ['description' => 'The number of file systems to which the automatic snapshot policy applies.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''],
'RegionId' => ['description' => 'The region ID of the automatic snapshot policy.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'FileSystemType' => ['description' => 'The type of the file system.'."\n", 'type' => 'string', 'example' => 'extreme', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 2,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"AutoSnapshotPolicies\\": {\\n \\"AutoSnapshotPolicy\\": [\\n {\\n \\"TimePoints\\": \\"4,19\\",\\n \\"Status\\": \\"Available\\",\\n \\"RepeatWeekdays\\": \\"1,5\\",\\n \\"AutoSnapshotPolicyName\\": \\"FinanceJoshua\\",\\n \\"CreateTime\\": \\"2014-04-21T12:08:52Z\\",\\n \\"AutoSnapshotPolicyId\\": \\"sp-extreme-233e6****\\",\\n \\"RetentionDays\\": 30,\\n \\"FileSystemNums\\": 2,\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"FileSystemType\\": \\"extreme\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 2\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\n 10\\n 1\\n \\n 4,19\\n Available\\n 1,5\\n FinanceJoshua\\n 2014-04-21T12:08:52Z\\n sp-extreme-233e6****\\n 30\\n 2\\n cn-hangzhou\\n \\n","errorExample":""}]',
'title' => 'DescribeAutoSnapshotPolicies',
'description' => '* The snapshot feature is in public preview and is provided free of charge. [File Storage NAS Service Level Agreement (SLA)](https://www.alibabacloud.com/help/legal/latest/network-attached-storage-service-level-agreement) is not guaranteed in public preview.'."\n"
.'* Only advanced Extreme NAS file systems support this feature.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-05-10T08:49:35.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAutoSnapshotPolicies'],
],
],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeAutoSnapshotPolicies',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'DescribeAutoSnapshotTasks' => [
'summary' => 'Queries automatic snapshot tasks.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13948',
'abilityTreeNodes' => ['FEATUREnas5QOAQE'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemIds',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n"
."\n"
.'You can specify a maximum of 100 file system IDs. If you want to query the snapshots of multiple file systems, you must separate the file system IDs with commas (,).'."\n", 'type' => 'string', 'required' => false, 'example' => 'extreme-233e6****,extreme -23vbp****,extreme -23vas****', 'title' => ''],
],
[
'name' => 'AutoSnapshotPolicyIds',
'in' => 'query',
'schema' => ['description' => 'The IDs of automatic snapshot policies.'."\n"
."\n"
.'You can specify a maximum of 100 policy IDs. If you want to query the tasks of multiple automatic snapshot policies, you must separate the policy IDs with commas (,).'."\n", 'type' => 'string', 'required' => false, 'example' => 'sp-extreme-233e6****,sp-extreme-233e6****, sp-extreme-233e6****', 'title' => ''],
],
[
'name' => 'FileSystemType',
'in' => 'query',
'schema' => [
'description' => 'The type of the file system.'."\n"
."\n"
.'Valid value: extreme, which indicates Extreme NAS file systems.'."\n",
'type' => 'string',
'required' => true,
'example' => 'extreme',
'enum' => ['extreme'],
'title' => '',
],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The page number.'."\n"
."\n"
.'Pages start from page 1. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '1', 'default' => '10', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page.'."\n"
."\n"
.'Valid values: 1 to 100.'."\n"
."\n"
.'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '10', 'default' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'TotalCount' => ['description' => 'The total number of automatic snapshot tasks.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '9', 'title' => ''],
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'AutoSnapshotTasks' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'AutoSnapshotTask' => [
'description' => 'The queried automatic snapshot tasks.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'SourceFileSystemId' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'example' => 'extreme-233e6****', 'title' => ''],
'AutoSnapshotPolicyId' => ['description' => 'The ID of the automatic snapshot policy.'."\n", 'type' => 'string', 'example' => 'sp-extreme-233e6****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 9,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"AutoSnapshotTasks\\": {\\n \\"AutoSnapshotTask\\": [\\n {\\n \\"SourceFileSystemId\\": \\"extreme-233e6****\\",\\n \\"AutoSnapshotPolicyId\\": \\"sp-extreme-233e6****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 9\\n 10\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n 1\\n \\n \\n extreme-233e6****\\n sp-extreme-233e6****\\n \\n \\n","errorExample":""}]',
'title' => 'DescribeAutoSnapshotTasks',
'description' => '* The snapshot feature is in public preview and is provided free of charge. [File Storage NAS Service Level Agreement (SLA)](https://www.alibabacloud.com/help/legal/latest/network-attached-storage-service-level-agreement) is not guaranteed in public preview.'."\n"
.'* Only advanced Extreme NAS file systems support the snapshot feature.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-09-05T09:23:00.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAutoSnapshotTasks'],
],
],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeAutoSnapshotTasks',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'DescribeBlackListClients' => [
'summary' => 'Queries the status of clients in the blacklist of a Cloud Parallel File Storage (CPFS) file system.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => true,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13949',
'abilityTreeNodes' => ['FEATUREnasI92PYN'],
'autoTest' => false,
'notSupportAutoTestReason' => '废弃接口',
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the file system resides.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cpfs-123458****', 'title' => ''],
],
[
'name' => 'ClientIP',
'in' => 'query',
'schema' => ['description' => 'The IP address of the client.'."\n", 'type' => 'string', 'required' => false, 'example' => '192.168.0.0', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'A70BEE5D-76D3-49FB-B58F-1F398211A5C3', 'title' => ''],
'Clients' => ['description' => 'The IDs of clients and the status of each client. This parameter contains a JSON object, for example, {"client1": "EVICTING","client2":"EVICTED"}.'."\n"
."\n"
.'Available client statuses include:'."\n"
."\n"
.'* EVICTING indicates that a client is being removed'."\n"
.'* EVICTED indicates that a client is removed'."\n"
.'* ACCEPTING indicates that the write access to the file system is being granted to a client'."\n"
.'* ACCEPTABLE indicates that the write access to the file system is granted to a client'."\n", 'type' => 'string', 'example' => '{"client1": "EVICTING","client2":"EVICTED"}', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', 'returnType' => 'synchronous'],
'title' => 'DescribeBlackListClients',
'description' => 'The API operation is available only for CPFS file systems.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-03-12T11:38:28.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeBlackListClients'],
],
],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeBlackListClients',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A70BEE5D-76D3-49FB-B58F-1F398211A5C3\\",\\n \\"Clients\\": \\"{\\\\\\"client1\\\\\\": \\\\\\"EVICTING\\\\\\",\\\\\\"client2\\\\\\":\\\\\\"EVICTED\\\\\\"}\\"\\n}","errorExample":""},{"type":"xml","example":"\\n A70BEE5D-76D3-49FB-B58F-1F398211A5C3\\n {\\"client1\\": \\"EVICTING\\",\\"client2\\":\\"EVICTED\\"}\\n","errorExample":""}]',
],
'DescribeDataFlowSubTasks' => [
'summary' => 'Queries data flow subtasks in batches.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '225738',
'abilityTreeNodes' => ['FEATUREnasPWYFYN'],
'autoTest' => false,
'notSupportAutoTestReason' => '特殊用户使用',
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bmcpfs-370lx1ev9ss27o0****'."\n", 'title' => ''],
],
[
'name' => 'Filters',
'in' => 'query',
'allowEmptyValue' => false,
'style' => 'repeatList',
'schema' => [
'description' => 'The filter that is used to query data streaming tasks.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => [
'description' => 'The filter name.'."\n"
."\n"
.'Valid value:'."\n"
."\n"
.'* DataFlowIds: filters data flow subtasks by data flow ID.'."\n"
.'* DataFlowTaskIds: filters data flow subtasks by data flow task ID.'."\n"
.'* DataFlowSubTaskIds: filters data flow subtasks by data streaming task ID.'."\n"
.'* Status: filters data flow subtasks by status.'."\n"
.'* SrcFilePath: filters data flow subtasks by source file path.'."\n"
.'* DstFilePath: filters data flow subtasks by destination file path.'."\n",
'type' => 'string',
'required' => false,
'enum' => ['DataFlowIds', 'DataFlowTaskIds', 'DataFlowSubTaskIds', 'Status', 'SrcFilePath', 'DstFilePath'],
'example' => 'DataFlowSubTaskIds',
'title' => '',
],
'Value' => ['description' => 'The filter value. This parameter does not support wildcards.'."\n"
."\n"
.'* If Key is set to DataFlowIds, set Value to a data flow ID or a part of the data flow ID. You can specify a data flow ID or a group of data flow IDs. You can specify a maximum of 10 data flow IDs. Example: `df-194433a5be31****` or `df-194433a512a2****,df-234533a5be31****`.'."\n"
.'* If Key is set to DataFlowTaskIds, set Value to a data flow task ID or a part of the data flow task ID. You can specify a data flow task ID or a group of data flow task IDs. You can specify a maximum of 10 data flow task IDs. For example, `task-29ee8e890f45****` or `task-29ee8e890f45****,task-38ae8e890f45****`.'."\n"
.'* If Key is set to DataFlowSubTaskIds, set Value to a data streaming task ID or a part of the data streaming task ID. You can specify a data streaming task ID or a group of data streaming task IDs. You can specify a maximum of 10 data streaming task IDs. For example, `subTaskId-370kyfmyknxcyzw****` or `subTaskId-247kyfmyknxcyzw****,subTaskId-256kyfmyknxcyzw****`.'."\n"
.'* If Key is set to Status, set Value to the status of the data flow task. The status can be EXPIRED, CREATED, RUNNING, COMPLETE, CANCELING, FAILED, or CANCELED. Combined query is supported.'."\n"
.'* If Key is set to SrcFilePath, set Value to the path of the source file. The path can be up to 1,023 characters in length.'."\n"
.'* If Key is set to DstFilePath, set Value to the path of the destination file. The path can be up to 1,023 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'subTaskId-370kyfmyknxcyzw****'."\n", 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 12,
'title' => '',
'example' => '',
],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", 'type' => 'string', 'required' => false, 'example' => 'iWk0AQAAAAAvY2FzZS8=', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of results for each query.'."\n"
."\n"
.'* Valid values: 20 to 100.'."\n"
.'* Default value: 20.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '100', 'minimum' => '10', 'default' => '20', 'example' => '20', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****', 'title' => ''],
'NextToken' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", 'type' => 'string', 'example' => 'pUJaUwAAAABhdGUyNTk1MQ==', 'title' => ''],
'DataFlowSubTask' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'DataFlowSubTask' => [
'description' => 'The details about data streaming tasks.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'FileSystemId' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'example' => 'bmcpfs-370lx1ev9ss27o0****'."\n", 'title' => ''],
'DataFlowId' => ['description' => 'The ID of the dataflow.'."\n", 'type' => 'string', 'example' => 'df-194433a5be31****'."\n", 'title' => ''],
'DataFlowTaskId' => ['description' => 'The ID of the dataflow task.'."\n", 'type' => 'string', 'example' => 'task-38aa8e890f45****', 'title' => ''],
'DataFlowSubTaskId' => ['description' => 'The ID of the data streaming task.'."\n", 'type' => 'string', 'example' => 'subTaskId-370kyfmyknxcyzw****'."\n", 'title' => ''],
'SrcFilePath' => ['description' => 'The path of the source file. Limits:'."\n"
."\n"
.'* The path must be 1 to 1,023 characters in length.'."\n"
.'* The path must be encoded in UTF-8.'."\n"
.'* The path must start with a forward slash (/).'."\n"
.'* The path must end with the file name.'."\n", 'type' => 'string', 'example' => '/test/file.png'."\n", 'title' => ''],
'DstFilePath' => ['description' => 'The path of the destination file. Limits:'."\n"
."\n"
.'* The path must be 1 to 1,023 characters in length.'."\n"
.'* The path must be encoded in UTF-8.'."\n"
.'* The path must start with a forward slash (/).'."\n"
.'* The path must end with the file name.'."\n", 'type' => 'string', 'example' => '/mnt/file.png'."\n", 'title' => ''],
'Status' => ['description' => 'The status of the data streaming task. The following information is displayed:'."\n"
."\n"
.'* EXPIRED: The task is terminated.'."\n"
.'* CREATED: The task is created.'."\n"
.'* RUNNING: The task is running.'."\n"
.'* COMPLETE: The task is complete.'."\n"
.'* CANCELING: The task is being canceled.'."\n"
.'* FAILED: The task failed to be executed.'."\n"
.'* CANCELED: The task is canceled.'."\n", 'type' => 'string', 'example' => 'FAILED', 'title' => ''],
'Progress' => ['description' => 'The progress of the data streaming task. Valid values: 0 to 10000.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10000', 'title' => ''],
'CreateTime' => ['description' => 'The time when the data streaming task was created.'."\n", 'type' => 'string', 'example' => '2024-07-01 19:59:29', 'title' => ''],
'StartTime' => ['description' => 'The time when the data streaming task started.'."\n", 'type' => 'string', 'example' => '2024-07-03 10:43:16', 'title' => ''],
'EndTime' => ['description' => 'The time when the data streaming task ended.'."\n", 'type' => 'string', 'example' => '2024-07-04 11:14:22', 'title' => ''],
'ErrorMsg' => ['description' => 'The error message returned when the task failed.'."\n"
."\n"
.'> If this parameter is not returned or the return value is empty, no error occurs.'."\n", 'type' => 'string', 'example' => 'file does not exist', 'title' => ''],
'ProgressStats' => [
'description' => 'The progress information about data streaming tasks.'."\n",
'type' => 'object',
'properties' => [
'BytesTotal' => ['description' => 'The amount of data scanned on the source. Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '68', 'title' => ''],
'BytesDone' => ['description' => 'The amount of data (including skipped data) for which the data flow task is complete. Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '68', 'title' => ''],
'ActualBytes' => ['description' => 'The actual amount of data for which the data flow task is complete. Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '68', 'title' => ''],
'AverageSpeed' => ['description' => 'The average flow velocity. Unit: bytes/s.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '34', 'title' => ''],
],
'title' => '',
'example' => '',
],
'FileDetail' => [
'description' => 'The information about the file.'."\n",
'type' => 'object',
'properties' => [
'ModifyTime' => ['description' => 'The time when the file was modified. The value is a UNIX timestamp. Unit: ns.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1725897600000000000', 'title' => ''],
'Size' => ['description' => 'The file size. Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '68', 'title' => ''],
'Checksum' => ['description' => 'The checksum. Format example: crc64:123456.'."\n", 'type' => 'string', 'example' => 'crc64:850309505450944****', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'InvalidFilesystemVersion.NotSupport', 'errorMessage' => 'This Api does not support this fileSystem version.', 'description' => 'This Api does not support this fileSystem version.'],
],
403 => [
['errorCode' => 'OperationDenied.DataFlowNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidParameter.InvalidNextToken', 'errorMessage' => 'The specified NextToken is invaild.', 'description' => ''],
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidDataFlow.NotFound', 'errorMessage' => 'The specified data flow does not exist.', 'description' => ''],
['errorCode' => 'InvalidParameter.InvalidMaxResults', 'errorMessage' => 'The specified MaxResults is invalid.', 'description' => ''],
['errorCode' => 'InvalidFilterParam', 'errorMessage' => 'The specified Filter.N.Key is invalid.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\",\\n \\"NextToken\\": \\"pUJaUwAAAABhdGUyNTk1MQ==\\",\\n \\"DataFlowSubTask\\": {\\n \\"DataFlowSubTask\\": [\\n {\\n \\"FileSystemId\\": \\"bmcpfs-370lx1ev9ss27o0****\\\\n\\",\\n \\"DataFlowId\\": \\"df-194433a5be31****\\\\n\\",\\n \\"DataFlowTaskId\\": \\"task-38aa8e890f45****\\",\\n \\"DataFlowSubTaskId\\": \\"subTaskId-370kyfmyknxcyzw****\\\\n\\",\\n \\"SrcFilePath\\": \\"/test/file.png\\\\n\\",\\n \\"DstFilePath\\": \\"/mnt/file.png\\\\n\\",\\n \\"Status\\": \\"FAILED\\",\\n \\"Progress\\": 10000,\\n \\"CreateTime\\": \\"2024-07-01 19:59:29\\",\\n \\"StartTime\\": \\"2024-07-03 10:43:16\\",\\n \\"EndTime\\": \\"2024-07-04 11:14:22\\",\\n \\"ErrorMsg\\": \\"file does not exist\\",\\n \\"ProgressStats\\": {\\n \\"BytesTotal\\": 68,\\n \\"BytesDone\\": 68,\\n \\"ActualBytes\\": 68,\\n \\"AverageSpeed\\": 34\\n },\\n \\"FileDetail\\": {\\n \\"ModifyTime\\": 1725897600000000000,\\n \\"Size\\": 68,\\n \\"Checksum\\": \\"crc64:850309505450944****\\"\\n }\\n }\\n ]\\n }\\n}","type":"json"}]',
'title' => 'DescribeDataFlowSubTasks',
'description' => '仅CPFS智算版2.6.0 及以上版本支持。您可以在控制台文件系统详情页面查看版本信息。',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDataFlowSubTasks'],
],
],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeDataFlowSubTasks',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'translator' => 'manual',
],
'DescribeDataFlowTasks' => [
'summary' => 'Retrieves data flow task details.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '49028',
'abilityTreeNodes' => ['FEATUREnasPWYFYN'],
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.'."\n"
."\n"
.'- CPFS General-purpose: The ID must start with `cpfs-`, such as cpfs-099394bd928c\\*\\*\\*\\*.'."\n"
."\n"
.'- CPFS for AI Computing: The ID must start with `bmcpfs-`, such as bmcpfs-290w65p03ok64ya\\*\\*\\*\\*.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bmcpfs-290w65p03ok64ya****'."\n", 'title' => ''],
],
[
'name' => 'Filters',
'in' => 'query',
'allowEmptyValue' => false,
'style' => 'repeatList',
'schema' => [
'description' => 'A collection of filters.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => [
'description' => 'The filter key.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- DataFlowIds: Filters by data flow ID.'."\n"
."\n"
.'- TaskIds: Filters by data flow task ID.'."\n"
."\n"
.'- Originator: Filters by originator.'."\n"
."\n"
.'- TaskActions: Filters by data flow task type.'."\n"
."\n"
.'- DataTypes: Filters by data type.'."\n"
."\n"
.'- Status: Filters by status.'."\n"
."\n"
.'- CreateTimeBegin: Filters data flow tasks created after the specified time.'."\n"
."\n"
.'- CreateTimeEnd: Filters data flow tasks created before the specified time.'."\n"
."\n"
.'- StartTimeBegin: Filters data flow tasks that started after the specified time.'."\n"
."\n"
.'- StartTimeEnd: Filters data flow tasks that started before the specified time.'."\n"
."\n"
.'- EndTimeBegin: Filters data flow tasks that ended after the specified time.'."\n"
."\n"
.'- EndTimeEnd: Filters data flow tasks that ended before the specified time.',
'type' => 'string',
'enum' => ['DataFlowIds', 'TaskIds', 'Originator', 'TaskActions', 'DataTypes', 'Status', 'CreateTimeBegin', 'CreateTimeEnd', 'StartTimeBegin', 'StartTimeEnd', 'EndTimeBegin', 'EndTimeEnd'],
'required' => false,
'example' => 'DataFlowIds',
'title' => '',
],
'Value' => ['description' => 'The filter value. This parameter does not support wildcards.'."\n"
."\n"
.'- When `Key` is `DataFlowIds`, specify one or more data flow IDs. You can specify up to 10 data flow IDs, separated by commas. For example, `df-194433a5be31****` or `df-194433a512a2****,df-234533a5be31****`.'."\n"
."\n"
.'- When `Key` is `TaskId`, specify one or more data flow task IDs. You can specify up to 10 data flow task IDs, separated by commas. For example, `task-38aa8e890f45****` or `task-38aa8e890f45****,task-29ae8e890f45****`.'."\n"
."\n"
.'- When `Key` is `TaskActions`, specify the data flow task type. Valid values are **Import**, **Export**, **Evict**, **Inventory**, **StreamImport**, and **StreamExport**. You can specify multiple values. CPFS for AI Computing supports only Import, Export, StreamImport, and StreamExport. StreamImport and StreamExport are available only in CPFS for AI Computing 2.6.0 and later.'."\n"
."\n"
.'- When `Key` is `DataTypes`, specify the data type of the data flow task. Valid values are MetaAndData, Metadata, and Data. You can specify multiple values.'."\n"
."\n"
.'- When `Key` is `Originator`, specify the originator of the data flow task. Valid values are User and System.'."\n"
."\n"
.'- When `Key` is `Status`, specify the status of the data flow task. Valid values are Pending, Executing, Failed, Completed, Canceling, and Canceled. You can specify multiple values.'."\n"
."\n"
.'- When `Key` is `CreateTimeBegin`, specify the earliest creation time. Use the `yyyy-MM-ddTHH:mmZ` format.'."\n"
."\n"
.'- When `Key` is `CreateTimeEnd`, specify the latest creation time. Use the `yyyy-MM-ddTHH:mmZ` format.'."\n"
."\n"
.'- When `Key` is `StartTimeBegin`, specify the earliest start time. Use the `yyyy-MM-ddTHH:mmZ` format.'."\n"
."\n"
.'- When `Key` is `StartTimeEnd`, specify the latest start time. Use the `yyyy-MM-ddTHH:mmZ` format.'."\n"
."\n"
.'- When `Key` is `EndTimeBegin`, specify the earliest end time. Use the `yyyy-MM-ddTHH:mmZ` format.'."\n"
."\n"
.'- When `Key` is `EndTimeEnd`, specify the latest end time. Use the `yyyy-MM-ddTHH:mmZ` format.', 'type' => 'string', 'required' => false, 'example' => 'df-194433a5be31****', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 12,
'title' => '',
'example' => '',
],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The pagination token for the next page of results. If the response is truncated, use this token in your next request to retrieve the subsequent page.', 'type' => 'string', 'required' => false, 'example' => 'TGlzdFJlc291cmNlU****mVzJjE1MTI2NjY4NzY5MTAzOTEmMiZORnI4NDhVeEtrUT0=', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The maximum number of results to return per page.'."\n"
."\n"
.'Valid values: 10 to 100.'."\n"
."\n"
.'Default value: 20.', 'type' => 'integer', 'format' => 'int64', 'maximum' => '100', 'minimum' => '10', 'default' => '20', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'WithReports',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to return report information.'."\n"
."\n"
.'- True (default): Includes reports in the response.'."\n"
."\n"
.'- False: Excludes reports from the response.'."\n"
."\n"
.'> * Set this parameter to False to speed up the query.'."\n"
.'>'."\n"
.'> * This parameter is supported only in CPFS for AI Computing.', 'type' => 'boolean', 'default' => 'true', 'required' => false, 'example' => 'True', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****', 'title' => ''],
'NextToken' => ['description' => 'If the response is truncated, use NextToken to retrieve the remaining results.', 'type' => 'string', 'example' => 'TGlzdFJlc291cmNlU****mVzJjE1MTI2NjY4NzY5MTAzOTEmMiZORnI4NDhVeEtrUT0=', 'title' => ''],
'TaskInfo' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Task' => [
'description' => 'A list of data flow tasks.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'FilesystemId' => ['description' => 'The file system ID.', 'type' => 'string', 'example' => 'bmcpfs-290w65p03ok64ya****', 'title' => ''],
'DataFlowId' => ['description' => 'The data flow ID.', 'type' => 'string', 'example' => 'df-194433a5be31****', 'title' => ''],
'TaskId' => ['description' => 'The data flow task ID.', 'type' => 'string', 'example' => 'task-38aa8e890f45****', 'title' => ''],
'SourceStorage' => ['description' => 'The access path of the source storage. The format is `://[:]`.'."\n"
."\n"
.'Where:'."\n"
."\n"
.'- `storage type`: The only supported type is `OSS`.'."\n"
."\n"
.'- `account id`: The UID of the account that owns the source storage.'."\n"
."\n"
.'- `path`: The name of the OSS bucket. The name must meet the following requirements:'."\n"
."\n"
.' - It must contain only lowercase letters, digits, and hyphens (-), and must start and end with a lowercase letter or a digit.'."\n"
."\n"
.' - Must be 128 characters or less.'."\n"
."\n"
.' - It must be encoded in UTF-8.'."\n"
."\n"
.'> * The OSS bucket must exist in the current region.'."\n"
.'>'."\n"
.'> * The `account id` parameter is supported only by CPFS computing edition 2.6.0 and later.', 'type' => 'string', 'example' => 'oss://178321033379****:bucket-01', 'title' => ''],
'FileSystemPath' => ['description' => 'The path of the fileset in the CPFS file system.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'- The path must be 2 to 1,024 characters long.'."\n"
."\n"
.'- The path must be encoded in UTF-8.'."\n"
."\n"
.'- The path must start and end with a forward slash (/).'."\n"
."\n"
.'- The path must be a fileset directory in the CPFS file system.'."\n"
."\n"
.'> This parameter is supported only by CPFS.', 'type' => 'string', 'example' => '/a/b/c/', 'title' => ''],
'Originator' => ['description' => 'The originator of the data flow task. Valid values:'."\n"
."\n"
.'- `User`: The task is initiated by a user.'."\n"
."\n"
.'- `System`: The task is an automatic update triggered by the CPFS system at a set interval.'."\n"
."\n"
.'> This parameter is supported only by CPFS.', 'type' => 'string', 'example' => 'User', 'title' => ''],
'TaskAction' => ['description' => 'The type of the data flow task. Valid values:'."\n"
."\n"
.'- `Import`: Imports data from the source storage to CPFS.'."\n"
."\n"
.'- `Export`: Exports data from CPFS to the source storage.'."\n"
."\n"
.'- `StreamImport`: Imports data from the source storage to CPFS as a streaming task.'."\n"
."\n"
.'- `StreamExport`: Exports data from CPFS to the source storage as a streaming task.'."\n"
."\n"
.'- `Evict`: Releases the data blocks of files in CPFS. After eviction, only the metadata of the files remains in the file system. You can still query the files, but their data blocks are cleared and no longer occupy storage capacity. When you access the file, CPFS reloads its data from the source storage on demand.'."\n"
."\n"
.'- `Inventory`: Generates a file inventory that lists files managed by the data flow and their cache status.'."\n"
."\n"
.'> `StreamImport` and `StreamExport` are supported only by CPFS computing edition 2.6.0 and later.', 'type' => 'string', 'example' => 'Import', 'title' => ''],
'DataType' => ['description' => 'The type of data that the data flow task operates on. Valid values:'."\n"
."\n"
.'- `Metadata`: The metadata of a file, such as its timestamp, ownership, and permissions. Only the file metadata is imported. You can see the file, but when you access the file data, CPFS loads the data from the source storage on demand.'."\n"
."\n"
.'- `Data`: The data blocks of a file.'."\n"
."\n"
.'- `MetaAndData`: The metadata and data blocks of a file.'."\n"
."\n"
.'> CPFS computing edition supports only the `MetaAndData` type.', 'type' => 'string', 'example' => 'MetaAndData ', 'title' => ''],
'Progress' => ['description' => 'The progress of the data flow task, based on the number of completed operations.', 'type' => 'integer', 'format' => 'int64', 'example' => '50', 'title' => ''],
'Status' => ['description' => 'The status of the data flow task. Valid values:'."\n"
."\n"
.'- `Pending`: The task is created and waiting to be executed.'."\n"
."\n"
.'- `Executing`: The task is in progress.'."\n"
."\n"
.'- `Failed`: The task has failed. Review the data flow task report for details on the cause.'."\n"
."\n"
.'- `Completed`: The task has finished. Review the data flow task report to verify the transfer.'."\n"
."\n"
.'- `Canceled`: The task was canceled before it could be completed.'."\n"
."\n"
.'- `Canceling`: The task is being canceled.', 'type' => 'string', 'example' => 'Failed', 'title' => ''],
'ReportPath' => ['description' => 'The path where the data flow task report is saved in the CPFS file system.'."\n"
."\n"
.'- For CPFS, task reports are generated in the `.dataflow_report` directory of the file system.'."\n"
."\n"
.'- For CPFS computing edition, this parameter returns an OSS download link for the task report.', 'type' => 'string', 'deprecated' => true, 'example' => '/path_in_cpfs/reportfile.cvs', 'title' => ''],
'CreateTime' => ['description' => 'The time when the task was created.', 'type' => 'string', 'example' => '2021-08-04 18:27:35', 'title' => ''],
'StartTime' => ['description' => 'The time when the task started.', 'type' => 'string', 'example' => '2021-08-04 18:27:35', 'title' => ''],
'EndTime' => ['description' => 'The time when the task ended.', 'type' => 'string', 'example' => '2021-08-04 18:27:35', 'title' => ''],
'FsPath' => ['description' => 'The intelligent directory path.', 'type' => 'string', 'example' => '/aa/', 'title' => ''],
'ConflictPolicy' => [
'description' => 'The conflict policy for files with the same name.'."\n"
."\n"
.'- `SKIP_THE_FILE`: Skips the file with the same name.'."\n"
."\n"
.'- `KEEP_LATEST`: Compares the update times and keeps the latest version.'."\n"
."\n"
.'- `OVERWRITE_EXISTING`: Overwrites the existing file.',
'type' => 'string',
'example' => 'KEEP_LATEST',
'enum' => ['SKIP_THE_FILE', 'KEEP_LATEST', 'OVERWRITE_EXISTING'],
'title' => '',
],
'Directory' => ['description' => 'The directory processed by the data flow task.', 'type' => 'string', 'title' => '', 'example' => '/path_in_cpfs/'],
'DstDirectory' => ['description' => 'The destination directory mapped to the data flow task.', 'type' => 'string', 'example' => '/path_in_cpfs/'."\n", 'title' => ''],
'ErrorMsg' => ['description' => 'The cause of the task exception.'."\n"
."\n"
.'> A null or empty value in this field indicates that no error occurred.', 'type' => 'string', 'example' => '{"ErrorKey":"PATH_NOT_ACCESSIBLE","ErrorDetail":"lstat /cpfs/370lx1ev9ss27o****/test/abcdfnotfound: no such file or directory"}', 'title' => ''],
'ProgressStats' => [
'description' => 'The progress details of the data flow task.',
'type' => 'object',
'properties' => [
'FilesTotal' => ['description' => 'The total number of files scanned at the source.', 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'title' => ''],
'FilesDone' => ['description' => 'The number of files that have been processed, including skipped files.', 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'title' => ''],
'ActualFiles' => ['description' => 'The number of files that were actually transferred.', 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'title' => ''],
'BytesTotal' => ['description' => 'The total amount of data scanned at the source, in bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '131092971520', 'title' => ''],
'BytesDone' => ['description' => 'The amount of data that has been processed, including data from skipped files, in bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '131092971520', 'title' => ''],
'ActualBytes' => ['description' => 'The amount of data that was actually transferred, in bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '131092971520', 'title' => ''],
'RemainTime' => ['description' => 'The estimated time remaining, in seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '437', 'title' => ''],
'AverageSpeed' => ['description' => 'The average transfer speed, in bytes/s.', 'type' => 'integer', 'format' => 'int64', 'example' => '342279299', 'title' => ''],
],
'title' => '',
'example' => '',
],
'Reports' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Report' => [
'description' => 'A list of reports.'."\n"
."\n"
.'> - Streaming tasks do not support reports.'."\n"
.'>'."\n"
.'> - When the `WithReport` parameter is `true`, this field contains report data for CPFS computing edition file systems.'."\n"
.'>'."\n"
.'> - The `WithReport` parameter is supported only by CPFS computing edition.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Name' => ['description' => 'The name of the report.'."\n"
."\n"
.'- CPFS:'."\n"
."\n"
.' `TotalFilesReport`: The task report.'."\n"
."\n"
.'- CPFS computing edition:'."\n"
."\n"
.' - `FailedFilesReport`: A report of files that failed to transfer.'."\n"
."\n"
.' - `SkippedFilesReport`: A report of files that were skipped.'."\n"
."\n"
.' - `SuccessFilesReport`: A report of files that transferred successfully.', 'type' => 'string', 'example' => 'TotalFilesReport', 'title' => ''],
'Path' => ['description' => 'The report URL.', 'type' => 'string', 'example' => 'https://a-hbr-temp-cn-hangzhou-staging.oss-cn-hangzhou.aliyuncs.com/temp/report/162319438359****/job-000bb6fwqficjbxk****/job-000bb6fwqficjbxk****_failed.zip?Expires=1721201422&OSSAccessKeyId=LTA****************&Signature=Fp%2BvauORTIVxooXY2tec6z0T%2Bp4%3D', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'Includes' => ['description' => 'The subdirectories to include in the task. The task processes only the contents within these directories.'."\n"
."\n"
.'> This feature is supported only by CPFS computing edition.', 'type' => 'string', 'example' => '["/test/","/test1/"]'."\n", 'title' => ''],
'TransferFileListPath' => ['description' => 'Specifies an OSS directory that contains a CSV file. The task synchronizes only the files listed in this CSV file.'."\n"
."\n"
.'> This feature is supported only by CPFS computing edition.', 'type' => 'string', 'example' => '/path_in_cpfs/'."\n", 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'InvalidFilesystemVersion.NotSupport', 'errorMessage' => 'This Api does not support this fileSystem version.', 'description' => 'This Api does not support this fileSystem version.'],
],
403 => [
['errorCode' => 'OperationDenied.DataFlowNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidParameter.InvalidNextToken', 'errorMessage' => 'The specified NextToken is invaild.', 'description' => ''],
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidDataFlow.NotFound', 'errorMessage' => 'The specified data flow does not exist.', 'description' => ''],
['errorCode' => 'InvalidParameter.InvalidMaxResults', 'errorMessage' => 'The specified MaxResults is invalid.', 'description' => ''],
['errorCode' => 'InvalidFilterParam', 'errorMessage' => 'The specified Filter.N.Key is invalid.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518948****\\",\\n \\"NextToken\\": \\"TGlzdFJlc291cmNlU****mVzJjE1MTI2NjY4NzY5MTAzOTEmMiZORnI4NDhVeEtrUT0=\\",\\n \\"TaskInfo\\": {\\n \\"Task\\": [\\n {\\n \\"FilesystemId\\": \\"bmcpfs-290w65p03ok64ya****\\",\\n \\"DataFlowId\\": \\"df-194433a5be31****\\",\\n \\"TaskId\\": \\"task-38aa8e890f45****\\",\\n \\"SourceStorage\\": \\"oss://178321033379****:bucket-01\\",\\n \\"FileSystemPath\\": \\"/a/b/c/\\",\\n \\"Originator\\": \\"User\\",\\n \\"TaskAction\\": \\"Import\\",\\n \\"DataType\\": \\"MetaAndData \\",\\n \\"Progress\\": 50,\\n \\"Status\\": \\"Failed\\",\\n \\"ReportPath\\": \\"/path_in_cpfs/reportfile.cvs\\",\\n \\"CreateTime\\": \\"2021-08-04 18:27:35\\",\\n \\"StartTime\\": \\"2021-08-04 18:27:35\\",\\n \\"EndTime\\": \\"2021-08-04 18:27:35\\",\\n \\"FsPath\\": \\"/aa/\\",\\n \\"ConflictPolicy\\": \\"KEEP_LATEST\\",\\n \\"Directory\\": \\"/path_in_cpfs/\\",\\n \\"DstDirectory\\": \\"/path_in_cpfs/\\\\n\\",\\n \\"ErrorMsg\\": \\"{\\\\\\"ErrorKey\\\\\\":\\\\\\"PATH_NOT_ACCESSIBLE\\\\\\",\\\\\\"ErrorDetail\\\\\\":\\\\\\"lstat /cpfs/370lx1ev9ss27o****/test/abcdfnotfound: no such file or directory\\\\\\"}\\",\\n \\"ProgressStats\\": {\\n \\"FilesTotal\\": 3,\\n \\"FilesDone\\": 3,\\n \\"ActualFiles\\": 3,\\n \\"BytesTotal\\": 131092971520,\\n \\"BytesDone\\": 131092971520,\\n \\"ActualBytes\\": 131092971520,\\n \\"RemainTime\\": 437,\\n \\"AverageSpeed\\": 342279299\\n },\\n \\"Reports\\": {\\n \\"Report\\": [\\n {\\n \\"Name\\": \\"TotalFilesReport\\",\\n \\"Path\\": \\"https://a-hbr-temp-cn-hangzhou-staging.oss-cn-hangzhou.aliyuncs.com/temp/report/162319438359****/job-000bb6fwqficjbxk****/job-000bb6fwqficjbxk****_failed.zip?Expires=1721201422&OSSAccessKeyId=LTA****************&Signature=Fp%2BvauORTIVxooXY2tec6z0T%2Bp4%3D\\"\\n }\\n ]\\n },\\n \\"Includes\\": \\"[\\\\\\"/test/\\\\\\",\\\\\\"/test1/\\\\\\"]\\\\n\\",\\n \\"TransferFileListPath\\": \\"/path_in_cpfs/\\\\n\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
'title' => 'DescribeDataFlowTasks',
'description' => 'Querying data flow tasks is supported only on CPFS 2.2.0 or later and CPFS AI Computing Edition 2.4.0 or later. You can find the version information on the file system details page in the console.',
'changeSet' => [
['createdAt' => '2024-09-09T01:49:11.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2024-02-29T02:03:33.000Z', 'description' => 'Error codes changed, Response parameters changed, Response parameters changed'],
['createdAt' => '2021-10-28T08:34:23.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeDataFlowTasks'],
],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeDataFlowTasks',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
],
'DescribeDataFlows' => [
'summary' => 'Queries the dataflows of a CPFS file system.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '49017',
'abilityTreeNodes' => ['FEATUREnasPWYFYN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n"
."\n"
.'* The IDs of CPFS file systems must start with `cpfs-`. Example: cpfs-125487\\*\\*\\*\\*.'."\n"
.'* The IDs of CPFS for Lingjun file systems must start with `bmcpfs-`. Example: bmcpfs-0015\\*\\*\\*\\*.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cpfs-099394bd928c****', 'title' => ''],
],
[
'name' => 'Filters',
'in' => 'query',
'allowEmptyValue' => false,
'style' => 'repeatList',
'schema' => [
'description' => 'The filter that is used to query dataflows.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => [
'description' => 'The filter name. Valid value:'."\n"
."\n"
.'* DataFlowIds: filters dataflow tasks by dataflow ID.'."\n"
.'* FsetIds: filters dataflows by fileset ID.'."\n"
.'* FileSystemPath: filters dataflows based on the path of a fileset in a CPFS file system.'."\n"
.'* SourceStorage: filters dataflows based on the access path of the source storage.'."\n"
.'* ThroughputList: filters dataflows based on dataflow throughput.'."\n"
.'* Description: filters dataflows based on the fileset description.'."\n"
.'* Status: filters dataflows based on dataflow status.'."\n",
'type' => 'string',
'required' => false,
'enum' => ['DataFlowIds', 'FsetIds', 'FileSystemPath', 'SourceStorage', 'ThroughputList', 'Description', 'Status', 'SourceStoragePath'],
'example' => 'FsetIds',
'title' => '',
],
'Value' => ['description' => 'The value of the filter. This parameter does not support wildcards.'."\n"
."\n"
.'* If Key is set to DataFlowIds, set Value to a dataflow ID or a part of the dataflow ID. You can specify a dataflow ID or a group of dataflow IDs. You can specify a maximum of 10 dataflow IDs. Example: `df-194433a5be31****` or `df-194433a512a2****,df-234533a5be31****`.'."\n"
.'* If Key is set to FsetIds, set Value to a fileset ID or a part of the fileset ID. You can specify a fileset ID or a group of fileset IDs. You can specify a maximum of 10 fileset IDs. For example, `fset-1902718ea0ae****` or `fset-235718ea0ae****,fset-5122718ea0ae****`.'."\n"
.'* If Key is set to FileSystemPath, set Value to the path or a part of the path of a fileset in a CPFS file system. The value of the parameter must be 1 to 1,024 characters in length.'."\n"
.'* If Key is set to SourceStorage, set Value to the access path or a part of the access path of the source storage. The path can be up to 1,024 characters in length.'."\n"
.'* If Key is set to ThroughputList, set Value to the dataflow throughput. Combined query is supported.'."\n"
.'* If Key is set to Description, set Value to a dataflow description or a part of the dataflow description.'."\n"
.'* If Key is set to Status, set Value to the dataflow status.'."\n"
.'* If Key is set to SourceStoragePath, set Value to the access path or a part of the access path of the source storage. The path can be up to 1,024 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FsetIds', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'docRequired' => false,
'maxItems' => 10,
'title' => '',
'example' => '',
],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TGlzdFJlc291cmNlU****mVzJjE1MTI2NjY4NzY5MTAzOTEmMiZORnI4NDhVeEtrUT0=', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of results for each query.'."\n"
."\n"
.'Valid values: 10 to 100. Default value: 20.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '100', 'minimum' => '10', 'default' => '20', 'example' => '20', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****', 'title' => ''],
'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n", 'type' => 'string', 'example' => 'TGlzdFJlc291cmNlU****mVzJjE1MTI2NjY4NzY5MTAzOTEmMiZORnI4NDhVeEtrUT0=', 'title' => ''],
'DataFlowInfo' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'DataFlow' => [
'description' => 'The dataflow details.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'FileSystemId' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'example' => 'cpfs-099394bd928c****', 'title' => ''],
'DataFlowId' => ['description' => 'The ID of the dataflow.'."\n", 'type' => 'string', 'example' => 'df-194433a5be31****', 'title' => ''],
'FsetId' => ['description' => 'The fileset ID.'."\n"
."\n"
.'> Only CPFS supports this parameter.', 'type' => 'string', 'example' => 'fset-1902718ea0ae****', 'title' => ''],
'Status' => ['description' => 'The dataflow status. The following information is displayed:'."\n"
."\n"
.'* Starting: The dataflow is being created or enabled.'."\n"
.'* Running: The dataflow has been created and is running properly.'."\n"
.'* Updating: The dataflow is being modified. For example, the dataflow throughput is increased and the automatic update interval is modified.'."\n"
.'* Deleting: The dataflow is being deleted.'."\n"
.'* Stopping: The dataflow is being disabled.'."\n"
.'* Stopped: The dataflow has been disabled.'."\n"
.'* Misconfigured: The dataflow configuration is abnormal. For example, the source storage is inaccessible, and the automatic update cannot be completed due to low dataflow throughput.'."\n", 'type' => 'string', 'example' => 'Running', 'title' => ''],
'ErrorMessage' => ['description' => 'The error message. Valid values:'."\n"
."\n"
.'* None (default): The dataflow status is normal.'."\n"
.'* SourceStorageUnreachable: The access path of the source storage is not found.'."\n"
.'* ThroughputTooLow: The dataflow throughput is low.'."\n", 'type' => 'string', 'example' => 'SourceStorageUnreachable', 'title' => ''],
'SourceStorage' => ['description' => 'The access path of the source storage. Format: `://[:]`.'."\n"
."\n"
.'Among them:'."\n"
."\n"
.'* storage type: Only OSS is supported.'."\n"
."\n"
.'* account id: The UID of the account of the source storage.'."\n"
."\n"
.'* path: The name of the OSS bucket.'."\n"
."\n"
.' * The name can contain only lowercase letters, digits, and hyphens (-). The name must start and end with a lowercase letter or digit.'."\n"
.' * The name must be 8 to 128 characters in length.'."\n"
.' * Must be encoded in UTF-8.'."\n"
.' * The name cannot start with http:// or https://.'."\n"
."\n"
.'> '."\n"
."\n"
.'* The OSS bucket must be an existing bucket in the region.'."\n"
."\n"
.'* Only CPFS for Lingjun V2.6.0 and later support the account id parameter.'."\n", 'type' => 'string', 'example' => 'oss://178321033379****:bucket-01', 'title' => ''],
'SourceSecurityType' => ['description' => 'The type of security mechanism for the source storage. This parameter must be specified if the source storage is accessed with a security mechanism. Valid value:'."\n"
."\n"
.'* Null (default): The OSS bucket can be accessed without a security mechanism.'."\n"
.'* SSL: The source storage must be accessed with an SSL certificate.'."\n", 'type' => 'string', 'example' => 'SSL', 'title' => ''],
'Throughput' => ['description' => 'The maximum dataflow throughput. Unit: MB/s. Valid value:'."\n"
."\n"
.'* 600'."\n"
.'* 1200'."\n"
.'* 1500'."\n"
."\n"
.'> '."\n"
."\n"
.'* The dataflow throughput must be less than the I/O throughput of the file system.'."\n"
."\n"
.'* Only CPFS supports this parameter.', 'type' => 'integer', 'format' => 'int64', 'example' => '600', 'title' => ''],
'Description' => ['description' => 'The description of the dataflow.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'* The name must be 2 to 128 characters in length and'."\n"
.'* start with a letter but cannot start with `http://` or `https://`.'."\n"
.'* The name can contain digits, letters, colons (:), underscores (\\_), and hyphens (-).'."\n", 'type' => 'string', 'example' => 'Bucket01数据流动', 'title' => ''],
'CreateTime' => ['description' => 'The time when the fileset was created.'."\n"
."\n"
.'The time follows the ISO 8601 standard in the `yyyy-MM-ddTHH:mm:ssZ` format.'."\n"
."\n"
.'> Only CPFS supports this parameter.', 'type' => 'string', 'example' => '2021-09-30T10:08:08Z', 'title' => ''],
'UpdateTime' => ['description' => 'The time when the fileset was last updated.'."\n"
."\n"
.'The time follows the ISO 8601 standard in the `yyyy-MM-ddTHH:mm:ssZ` format.'."\n"
."\n"
.'> Only CPFS supports this parameter.', 'type' => 'string', 'example' => '2021-09-30T10:08:08Z', 'title' => ''],
'AutoRefresh' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'AutoRefresh' => [
'description' => 'The details about automatic update policies.'."\n"
."\n"
.'> Only CPFS supports this parameter.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'RefreshPath' => ['description' => 'The automatic update directory. CPFS automatically checks whether the source data only in the directory is updated and imports the updated data.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'* The directory must be 2 to 1,024 characters in length.'."\n"
.'* The directory must be encoded in UTF-8.'."\n"
.'* The directory must start and end with a forward slash (/).'."\n"
."\n"
.'> The directory must be an existing directory in the CPFS file system and must be in a fileset where the dataflow is enabled.'."\n", 'type' => 'string', 'example' => '/prefix1/prefix2/', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'FileSystemPath' => ['description' => 'The directory of the fileset in the CPFS file system.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'* The directory must be 2 to 1024 characters in length.'."\n"
.'* The directory must be encoded in UTF-8.'."\n"
.'* The directory must start and end with a forward slash (/).'."\n"
.'* The directory must be a fileset directory in the CPFS file system.'."\n"
."\n"
.'> Only CPFS is supported.'."\n", 'type' => 'string', 'example' => '/a/b/c/', 'title' => ''],
'FsetDescription' => ['description' => 'The description of the automatic update.'."\n"
."\n"
.'> Only CPFS supports this parameter.', 'type' => 'string', 'example' => '自动更新01', 'title' => ''],
'AutoRefreshInterval' => ['description' => 'The automatic update interval. CPFS checks whether data is updated in the directory at the interval specified by this parameter. If data is updated, CPFS starts an automatic update task. Unit: minutes.'."\n"
."\n"
.'Valid values: 5 to 526600. Default value: 10.'."\n"
."\n"
.'> Only CPFS supports this parameter.', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''],
'AutoRefreshPolicy' => ['description' => 'The automatic update policy. The updated data in the source storage is imported into the CPFS file system based on the policy. The following information is displayed:'."\n"
."\n"
.'* None: Updated data in the source storage is not automatically imported into the CPFS file system. You can run a dataflow task to import the updated data from the source storage.'."\n"
.'* ImportChanged: Updated data in the source storage is automatically imported into the CPFS file system.'."\n"
."\n"
.'> Only CPFS is supported.'."\n", 'type' => 'string', 'example' => 'None', 'title' => ''],
'SourceStoragePath' => ['title' => '', 'description' => 'The access path in the bucket of the source storage.'."\n"
."\n"
.'> Only CPFS for Lingjun supports this parameter.'."\n", 'type' => 'string', 'deprecated' => false, 'required' => false, 'maxLength' => 1024, 'example' => '/prefix/'."\n"],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'InvalidFilesystemVersion.NotSupport', 'errorMessage' => 'This Api does not support this fileSystem version.', 'description' => 'This Api does not support this fileSystem version.'],
],
403 => [
['errorCode' => 'OperationDenied.DataFlowNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidFilterValue', 'errorMessage' => 'The specified parameter Filter.1.Value is invalid.', 'description' => ''],
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidFilterParam', 'errorMessage' => 'The specified Filter.N.Key is invalid.', 'description' => ''],
['errorCode' => 'InvalidParameter.InvalidMaxResults', 'errorMessage' => 'The specified MaxResults is invalid.', 'description' => ''],
['errorCode' => 'InvalidParameter.InvalidNextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518948****\\",\\n \\"NextToken\\": \\"TGlzdFJlc291cmNlU****mVzJjE1MTI2NjY4NzY5MTAzOTEmMiZORnI4NDhVeEtrUT0=\\",\\n \\"DataFlowInfo\\": {\\n \\"DataFlow\\": [\\n {\\n \\"FileSystemId\\": \\"cpfs-099394bd928c****\\",\\n \\"DataFlowId\\": \\"df-194433a5be31****\\",\\n \\"FsetId\\": \\"fset-1902718ea0ae****\\",\\n \\"Status\\": \\"Running\\",\\n \\"ErrorMessage\\": \\"SourceStorageUnreachable\\",\\n \\"SourceStorage\\": \\"oss://178321033379****:bucket-01\\",\\n \\"SourceSecurityType\\": \\"SSL\\",\\n \\"Throughput\\": 600,\\n \\"Description\\": \\"Bucket01数据流动\\",\\n \\"CreateTime\\": \\"2021-09-30T10:08:08Z\\",\\n \\"UpdateTime\\": \\"2021-09-30T10:08:08Z\\",\\n \\"AutoRefresh\\": {\\n \\"AutoRefresh\\": [\\n {\\n \\"RefreshPath\\": \\"/prefix1/prefix2/\\"\\n }\\n ]\\n },\\n \\"FileSystemPath\\": \\"/a/b/c/\\",\\n \\"FsetDescription\\": \\"自动更新01\\",\\n \\"AutoRefreshInterval\\": 10,\\n \\"AutoRefreshPolicy\\": \\"None\\",\\n \\"SourceStoragePath\\": \\"/prefix/\\\\n\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
'title' => 'DescribeDataFlows',
'description' => '- 仅CPFS 2.2.0及以上版本、CPFS智算版2.4.0及以上版本支持数据流动。您可以在控制台文件系统详情页面查看版本信息。'."\n"
.'- 筛选键(Filters)中,FsetIds、DataFlowlds、SourceStorage、ThroughputList、Status需要做全字匹配,FileSystemPath、Description、SourceStoragePath支持模糊匹配。'."\n"
.'- 支持组合查询。',
'changeSet' => [
['createdAt' => '2024-09-14T05:41:00.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-09-05T09:22:59.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2024-02-29T02:03:33.000Z', 'description' => 'Error codes changed, Request parameters changed, Response parameters changed'],
['createdAt' => '2021-10-28T08:34:23.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeDataFlows'],
],
],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeDataFlows',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'translator' => 'manual',
],
'DescribeDirQuotas' => [
'summary' => 'Queries the directory quotas of a file system.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13950',
'abilityTreeNodes' => ['FEATUREnasXEQXVN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'example' => '1ca404****', 'title' => ''],
],
[
'name' => 'Path',
'in' => 'query',
'schema' => ['description' => 'The absolute path of a directory.'."\n"
."\n"
.'If you do not specify this parameter, all directories for which quotas are created are returned.'."\n", 'type' => 'string', 'required' => false, 'example' => '/data/sub1', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page. Default value: 10.'."\n"
."\n"
.'Valid values: 1 to 100.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '1', 'default' => '10', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number.'."\n"
."\n"
.'Pages start from page 1. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'TotalCount' => ['description' => 'The total number of directories.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'DirQuotaInfos' => [
'description' => 'The queried directory quotas.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Status' => ['description' => 'The status of the quota created for the directory. Valid values: Initializing and Normal. The Initializing state indicates that the quota is being created. The Normal state indicates that the quota is created.'."\n", 'type' => 'string', 'example' => 'Normal', 'title' => ''],
'Path' => ['description' => 'The absolute path of a directory.'."\n", 'type' => 'string', 'example' => '/data/sub1', 'title' => ''],
'DirInode' => ['description' => 'The inode number of the directory.'."\n", 'type' => 'string', 'example' => '1123', 'title' => ''],
'UserQuotaInfos' => [
'description' => 'The information about quotas for all users.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'FileCountReal' => ['description' => 'The total number of files that a user has created in the directory.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '5100', 'title' => ''],
'UserType' => ['description' => 'The type of user. Valid values: Uid, Gid, and AllUsers.'."\n"
."\n"
.'* If Uid or Gid is returned, a value is returned for UserId.'."\n"
.'* If AllUsers is returned, UserId is empty.'."\n", 'type' => 'string', 'example' => 'Uid', 'title' => ''],
'FileCountLimit' => ['description' => 'The maximum number of files that a user can create in the directory.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10000', 'title' => ''],
'UserId' => ['description' => 'The ID of the user that you specify to create a quota for the directory. The value depends on the value of the UserType parameter. Valid values: Uid and Gid.'."\n", 'type' => 'string', 'example' => '500', 'title' => ''],
'SizeLimit' => ['description' => 'The maximum size of files that a user can create in the directory. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1024', 'title' => ''],
'QuotaType' => ['description' => 'The type of the quota. Valid values: Accounting and Enforcement.'."\n", 'type' => 'string', 'example' => 'Accounting', 'title' => ''],
'SizeReal' => ['description' => 'The total size of files that a user has created in the directory. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '800', 'title' => ''],
'SizeRealInByte' => ['description' => 'The total size of files that a user has created in the directory. Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '858995833870', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '5BC5CB97-9F28-42FE-84A4-0CD0DF42****', 'title' => ''],
'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"DirQuotaInfos\\": [\\n {\\n \\"Status\\": \\"Normal\\",\\n \\"Path\\": \\"/data/sub1\\",\\n \\"DirInode\\": \\"1123\\",\\n \\"UserQuotaInfos\\": [\\n {\\n \\"FileCountReal\\": 5100,\\n \\"UserType\\": \\"Uid\\",\\n \\"FileCountLimit\\": 10000,\\n \\"UserId\\": \\"500\\",\\n \\"SizeLimit\\": 1024,\\n \\"QuotaType\\": \\"Accounting\\",\\n \\"SizeReal\\": 800,\\n \\"SizeRealInByte\\": 858995833870\\n }\\n ]\\n }\\n ],\\n \\"RequestId\\": \\"5BC5CB97-9F28-42FE-84A4-0CD0DF42****\\",\\n \\"PageSize\\": 1,\\n \\"PageNumber\\": 1\\n}","errorExample":""},{"type":"xml","example":"\\n 1\\n \\n Normal\\n /data/sub1\\n 1123\\n \\n 5100\\n Uid\\n 10000\\n 500\\n 1024\\n Accounting\\n 800\\n \\n \\n 5BC5CB97-9F28-42FE-84A4-0CD0DF42****\\n 1\\n 1\\n","errorExample":""}]',
'title' => 'DescribeDirQuotas',
'description' => 'Only General-purpose NAS file systems support the directory quota feature.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-04-16T08:47:00.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-01-03T07:40:51.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '35', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDirQuotas'],
],
],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeDirQuotas',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
],
'DescribeFileSystemStatistics' => [
'summary' => 'Queries the statistics of file systems that are owned by the current account.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => true,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13952',
'abilityTreeNodes' => ['FEATUREnasI92PYN'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page.'."\n"
."\n"
.'Valid values: 1 to 100.'."\n"
."\n"
.'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number.'."\n"
."\n"
.'Pages start from page 1. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'FileSystems' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'FileSystem' => [
'description' => 'The queried file systems.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Status' => ['description' => 'The status of the file system.'."\n"
."\n"
.'This parameter is returned for Extreme NAS file systems and Cloud Parallel File Storage (CPFS) file systems. Valid values:'."\n"
."\n"
.'* Pending: The file system is being created or modified.'."\n"
.'* Running: The file system is available. Before you create a mount target for the file system, make sure that the file system is in the Running state.'."\n"
.'* Stopped: The file system is unavailable.'."\n"
.'* Extending: The file system is being scaled out.'."\n"
.'* Stopping: The file system is being disabled.'."\n"
.'* Deleting: The file system is being deleted.'."\n", 'type' => 'string', 'example' => 'Pending', 'title' => ''],
'Capacity' => ['description' => 'The capacity of the file system.'."\n"
."\n"
.'Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
'MeteredIASize' => ['description' => 'The storage usage of the Infrequent Access (IA) storage medium.'."\n"
."\n"
.'Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '362832', 'title' => ''],
'CreateTime' => ['description' => 'The time when the NAS file system was created.'."\n", 'type' => 'string', 'example' => '2017-05-27T15:43:06CST', 'title' => ''],
'ChargeType' => ['description' => 'The billing method.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* Subscription: The subscription billing method is used.'."\n"
.'* PayAsYouGo: The pay-as-you-go billing method is used.'."\n"
.'* Package: A storage plan is attached to the file system.'."\n", 'type' => 'string', 'example' => 'PayAsYouGo', 'title' => ''],
'StorageType' => ['description' => 'The storage type.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* Valid values for General-purpose NAS file systems: Capacity and Performance.'."\n"
.'* Valid values for Extreme NAS file systems: standard and advance.'."\n"
.'* Valid values for CPFS file systems: advance\\_100 (100 MB/s/TiB baseline) and advance\\_200 (200 MB/s/TiB baseline).'."\n", 'type' => 'string', 'example' => 'Performance', 'title' => ''],
'RegionId' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'FileSystemType' => ['description' => 'The type of the file system.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* standard: General-purpose NAS file system'."\n"
.'* extreme: Extreme NAS file system'."\n"
.'* cpfs: CPFS file system'."\n", 'type' => 'string', 'example' => 'standard', 'title' => ''],
'FileSystemId' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'example' => '109c04****', 'title' => ''],
'MeteredSize' => ['description' => 'The storage usage of the file system.'."\n"
."\n"
.'The value of this parameter is the maximum storage usage of the file system over the last hour. Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1611661312', 'title' => ''],
'Description' => ['description' => 'The description of the file system.'."\n", 'type' => 'string', 'example' => '31a8e48eda', 'title' => ''],
'ExpiredTime' => ['description' => 'The time when the file system expires.'."\n", 'type' => 'string', 'example' => '2017-08-27T15:43:06CST', 'title' => ''],
'ZoneId' => ['description' => 'The zone ID.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou-b', 'title' => ''],
'Packages' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Package' => [
'description' => 'The information about storage plans.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'StartTime' => ['description' => 'The start time of the validity period for the storage plan.'."\n", 'type' => 'string', 'example' => '2019-12-05T01:40:56Z', 'title' => ''],
'ExpiredTime' => ['description' => 'The end time of the validity period for the storage plan.'."\n", 'type' => 'string', 'example' => '2020-01-05T16:00:00Z', 'title' => ''],
'Size' => ['description' => 'The capacity of the storage plan.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '107374182400', 'title' => ''],
'PackageId' => ['description' => 'The ID of the storage plan.'."\n", 'type' => 'string', 'example' => 'naspackage-0be9c4b624-37****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'ProtocolType' => ['description' => 'The protocol type of the file system.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* NFS: Network File System (NFS)'."\n"
.'* SMB: Server Message Block (SMB)'."\n"
.'* cpfs: the protocol type supported by the CPFS file system'."\n", 'type' => 'string', 'example' => 'NFS', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'TotalCount' => ['description' => 'The total number of file system entries.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''],
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '9F088138-FD73-4B68-95CC-DFAD4D85****', 'title' => ''],
'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'FileSystemStatistics' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'FileSystemStatistic' => [
'description' => 'The statistics of file systems.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'FileSystemType' => ['description' => 'The type of the file system.'."\n", 'type' => 'string', 'example' => 'standard', 'title' => ''],
'MeteredSize' => ['description' => 'The storage usage of the file system.'."\n"
."\n"
.'The value of this parameter is the maximum storage usage of the file system over the last hour.'."\n"
."\n"
.'Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1611', 'title' => ''],
'ExpiringCount' => ['description' => 'The number of expiring file systems.'."\n"
."\n"
.'File systems whose expiration time is less than or equal to seven days away from the current time are counted.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'TotalCount' => ['description' => 'The number of file systems of the current type.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'ExpiredCount' => ['description' => 'The number of expired file systems.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => [
'substitutions' => ['NAS::2017-06-26::DescribeResourceStatistics'],
'returnType' => 'synchronous',
],
'responseDemo' => '[{"type":"json","example":"{\\n \\"FileSystems\\": {\\n \\"FileSystem\\": [\\n {\\n \\"Status\\": \\"Pending\\",\\n \\"Capacity\\": 1,\\n \\"MeteredIASize\\": 362832,\\n \\"CreateTime\\": \\"2017-05-27T15:43:06CST\\",\\n \\"ChargeType\\": \\"PayAsYouGo\\",\\n \\"StorageType\\": \\"Performance\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"FileSystemType\\": \\"standard\\",\\n \\"FileSystemId\\": \\"109c04****\\",\\n \\"MeteredSize\\": 1611661312,\\n \\"Description\\": \\"31a8e48eda\\",\\n \\"ExpiredTime\\": \\"2017-08-27T15:43:06CST\\",\\n \\"ZoneId\\": \\"cn-hangzhou-b\\",\\n \\"Packages\\": {\\n \\"Package\\": [\\n {\\n \\"StartTime\\": \\"2019-12-05T01:40:56Z\\",\\n \\"ExpiredTime\\": \\"2020-01-05T16:00:00Z\\",\\n \\"Size\\": 107374182400,\\n \\"PackageId\\": \\"naspackage-0be9c4b624-37****\\"\\n }\\n ]\\n },\\n \\"ProtocolType\\": \\"NFS\\"\\n }\\n ]\\n },\\n \\"TotalCount\\": 100,\\n \\"RequestId\\": \\"9F088138-FD73-4B68-95CC-DFAD4D85****\\",\\n \\"PageSize\\": 1,\\n \\"PageNumber\\": 1,\\n \\"FileSystemStatistics\\": {\\n \\"FileSystemStatistic\\": [\\n {\\n \\"FileSystemType\\": \\"standard\\",\\n \\"MeteredSize\\": 1611,\\n \\"ExpiringCount\\": 1,\\n \\"TotalCount\\": 10,\\n \\"ExpiredCount\\": 1\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"100\\n9F088138-FD73-4B68-95CC-DFAD4D85****\\n10000\\n1\\n\\n \\n 55\\n 0\\n standard\\n 200704\\n 0\\n \\n \\n 33\\n 0\\n extreme\\n 849346560\\n 0\\n \\n \\n 12\\n 0\\n cpfs\\n 0\\n 0\\n \\n","errorExample":""}]',
'title' => 'DescribeFileSystemStatistics',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-01-25T08:54:29.000Z', 'description' => 'Error codes changed'],
],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeFileSystemStatistics',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeFileSystemStatistics'],
],
],
],
'DescribeFileSystems' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13951',
'abilityTreeNodes' => ['FEATUREnasI92PYN'],
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.'."\n"
.'- General-purpose NAS: 31a8e4****.'."\n"
.'- Extreme NAS: must start with extreme-, such as extreme-0015****.'."\n"
.'- Cloud Parallel File Storage (CPFS) (locally redundant): must start with cpfs-, such as cpfs-125487****.'."\n"
.'- CPFS SE (zone-redundant): must start with cpfsse-, such as cpfsse-022c71b134****.', 'type' => 'string', 'required' => false, 'example' => '31a8e4****', 'title' => ''],
],
[
'name' => 'FileSystemType',
'in' => 'query',
'schema' => [
'description' => 'The file system type.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- all (default): queries all types.'."\n"
.'- standard: General-purpose NAS.'."\n"
.'- extreme: Extreme NAS.'."\n"
.'- cpfs: Cloud Parallel File Storage (CPFS) (locally redundant).'."\n"
.'- cpfsse: CPFS SE (zone-redundant).'."\n"
."\n"
.'> To query multiple types, separate them with commas (,).',
'enumValueTitles' => [],
'type' => 'string',
'required' => false,
'default' => 'all',
'enum' => [],
'example' => 'standard',
'title' => '',
],
],
[
'name' => 'VpcId',
'in' => 'query',
'schema' => ['description' => 'The virtual private cloud (VPC) ID.'."\n"
."\n"
.'The VPC must be the same as the VPC of the Elastic Computing Service (ECS) server to which you want to mount the file system.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1sevsgtqvk5gxbl****', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of file systems on each page during a paged query.'."\n"
."\n"
.'Valid values: 1 to 100.'."\n"
."\n"
.'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'example' => '1', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number of the file system list.'."\n"
."\n"
.'Start value (default value): 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'StorageType',
'in' => 'query',
'schema' => [
'type' => 'string',
'required' => false,
'description' => '',
'enum' => ['Premium', 'Performance', 'Capacity', 'advance', 'standard'],
'title' => '',
'example' => '',
],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tag information.',
'type' => 'array',
'items' => [
'description' => 'The tag information.',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'- Valid values of N: 1 to 20.'."\n"
.'- The tag key can be up to 128 characters in length.'."\n"
.'- The tag key cannot start with `aliyun` or `acs:`.'."\n"
.'- The tag key cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'testKey', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'- Valid values of N: 1 to 20.'."\n"
.'- The tag value can be up to 128 characters in length.'."\n"
.'- The tag value cannot start with `aliyun` or `acs:`.'."\n"
.'- The tag value cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => 'testValue', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 21,
'title' => '',
'example' => '',
],
],
[
'name' => 'ResourceGroupId',
'in' => 'query',
'schema' => ['description' => 'The resource group ID.'."\n"
."\n"
.'You can view the resource group ID in the [Resource Management console](https://resourcemanager.console.aliyun.com/resource-groups?).', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmwavnfef****'."\n", 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'FileSystems' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'FileSystem' => [
'description' => 'The file system list.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Status' => ['description' => 'The file system status. Valid values:'."\n"
.'- Pending: The file system is processing a task.'."\n"
.'- Running: The file system is active. You can perform subsequent operations (such as creating a mount target) only when the status is Running.'."\n"
.'- Stopped: The file system is unavailable.'."\n"
.'- Extending: The file system is being scaled out.'."\n"
.'- Stopping: The file system is being stopped.'."\n"
.'- Deleting: The file system is being deleted.', 'type' => 'string', 'example' => 'Pending', 'title' => ''],
'MeteredIASize' => ['description' => 'The storage usage of the IA storage class.'."\n"
."\n"
.'Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '362832', 'title' => ''],
'Capacity' => ['description' => 'The capacity of the file system.'."\n"
."\n"
.'Unit: GiB.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''],
'CreateTime' => ['description' => 'The time when the file system was created.', 'type' => 'string', 'example' => '2020-01-05T16:00:00Z', 'title' => ''],
'ChargeType' => ['description' => 'The billing method.'."\n"
."\n"
.'Valid values:'."\n"
.'- Subscription: subscription.'."\n"
.'- PayAsYouGo: pay-as-you-go.'."\n"
.'- Package: a storage plan is bound.', 'type' => 'string', 'example' => 'PayAsYouGo', 'title' => ''],
'Tags' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Tag' => [
'description' => 'The tag information of the file system.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'testKey', 'title' => ''],
'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'testValue', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'StorageType' => ['description' => 'The storage type.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- General-purpose NAS: Capacity, Performance, Premium'."\n"
.'- Extreme NAS: standard, advance'."\n"
.'- CPFS: advance_100 (100 MB/s/TiB baseline), advance_200 (200 MB/s/TiB baseline), economic'."\n"
.'- CPFS SE: advance_100 (100 MB/s/TiB baseline)', 'type' => 'string', 'example' => 'Performance', 'title' => ''],
'MeteredSize' => ['description' => 'The standard storage usage of the file system.'."\n"
."\n"
.'This is not a real-time value. It represents the maximum usage in the previous hour. Unit: bytes.'."\n"
.'> To view the total storage capacity of a file system, see [Query file system resource usage](~~250243~~).', 'type' => 'integer', 'format' => 'int64', 'example' => '1611661312', 'title' => ''],
'Description' => ['description' => 'The description of the file system.', 'type' => 'string', 'example' => 'test', 'title' => ''],
'Bandwidth' => ['description' => 'The bandwidth of the file system.'."\n"
."\n"
.'Unit: MB/s. This field is not returned for General-purpose NAS file systems.', 'type' => 'integer', 'format' => 'int64', 'example' => '150', 'title' => ''],
'SupportedFeatures' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'SupportedFeature' => [
'description' => 'The features supported by the file system.',
'type' => 'array',
'items' => ['description' => 'The feature supported by the file system.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- Lifecycle: lifecycle management.'."\n"
.'- ACL: access control list.'."\n"
.'- Ipv6: IPv6.'."\n"
."\n"
.'> Currently, only Extreme NAS file systems in the Chinese mainland regions support IPv6.', 'type' => 'string', 'example' => 'Lifecycle', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'Version' => ['description' => 'The version number of the file system.'."\n"
."\n"
.'This field applies to Extreme NAS and CPFS file systems.', 'type' => 'string', 'example' => '2.3.4', 'title' => ''],
'ProtocolType' => ['description' => 'The protocol type of the file system.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- NFS: NFS protocol.'."\n"
.'- SMB: SMB protocol.'."\n"
.'- cpfs: the protocol type supported by CPFS or CPFS SE file systems.', 'type' => 'string', 'example' => 'NFS', 'title' => ''],
'MountTargets' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'MountTarget' => [
'description' => 'The mount target information.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'VpcId' => ['description' => 'The VPC ID.', 'type' => 'string', 'example' => 'vpc-bp1sevsgtqvk5gxbl****', 'title' => ''],
'Status' => ['description' => 'The mount target status.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- Active: available.'."\n"
.'- Inactive: unavailable.'."\n"
.'- Pending: processing a task.'."\n"
.'- Deleting: being deleted.'."\n"
.'- Hibernating: entering hibernation.'."\n"
.'- Hibernated: hibernated.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
'ClientMasterNodes' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'ClientMasterNode' => [
'description' => 'The client management node information.'."\n"
."\n"
.'This parameter is returned only for CPFS file systems.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'EcsId' => ['description' => 'The ECS instance ID of the management node.', 'type' => 'string', 'example' => 'i-hp3i3odi5ory1buo****', 'title' => ''],
'DefaultPasswd' => ['description' => 'The default logon password of the management node.', 'type' => 'string', 'example' => '123456', 'title' => ''],
'EcsIp' => ['description' => 'The IP address of the ECS instance for the management node.', 'type' => 'string', 'example' => '192.168.1.0', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'MountTargetDomain' => ['description' => 'The mount target.', 'type' => 'string', 'example' => '109c042666-w****.cn-hangzhou.nas.aliyuncs.com', 'title' => ''],
'AccessGroupName' => ['description' => 'The name of the permission group used by the mount target.', 'type' => 'string', 'example' => 'test-001', 'title' => ''],
'DualStackMountTargetDomain' => ['description' => 'The dual-stack (IPv4 and IPv6) mount target.'."\n"
."\n"
.'> Only Extreme NAS file systems in the Chinese mainland regions support IPv6.', 'type' => 'string', 'example' => '174494b666-x****.dualstack.cn-hangzhou.nas.aliyuncs.com', 'title' => ''],
'VswId' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'vsw-bp1omfzsszekkvaxn****', 'title' => ''],
'Tags' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Tag' => [
'description' => 'The tag information of the mount target.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'testKey', 'title' => ''],
'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'testValue', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'NetworkType' => ['description' => 'The network type. The value is vpc, which indicates VPC.', 'type' => 'string', 'example' => 'vpc', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'KMSKeyId' => ['description' => 'The KMS key ID.', 'type' => 'string', 'example' => '0e478b7a-4262-4802-b8cb-00d3fb40****', 'title' => ''],
'AutoSnapshotPolicyId' => ['description' => 'The automatic snapshot policy ID.', 'type' => 'string', 'example' => 'sp-extreme-09npwxadu1eqvw****', 'title' => ''],
'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'FileSystemType' => ['description' => 'The file system type.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- standard: General-purpose NAS.'."\n"
.'- extreme: Extreme NAS.'."\n"
.'- cpfs: Cloud Parallel File Storage (CPFS) (locally redundant).'."\n"
.'- cpfsse: CPFS SE (zone-redundant).', 'type' => 'string', 'example' => 'standard', 'title' => ''],
'FileSystemId' => ['description' => 'The file system ID.', 'type' => 'string', 'example' => '109c04****', 'title' => ''],
'EncryptType' => ['description' => 'The encryption type.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- 0: not encrypted.'."\n"
.'- 1: NAS-managed key.'."\n"
.'- 2: custom key encryption.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'Ldap' => [
'description' => 'The LDAP configuration information.'."\n"
."\n"
.'This parameter is returned only for CPFS file systems.',
'type' => 'object',
'properties' => [
'BindDN' => ['description' => 'The distinguished name (DN) bound to LDAP.', 'type' => 'string', 'example' => 'cn=alibaba,dc=com', 'title' => ''],
'SearchBase' => ['description' => 'The LDAP search base.', 'type' => 'string', 'example' => 'dc=example', 'title' => ''],
'URI' => ['description' => 'The LDAP service address.', 'type' => 'string', 'example' => 'ldap://ldap.example.example', 'title' => ''],
],
'title' => '',
'example' => '',
],
'ExpiredTime' => ['description' => 'The expiration time of the file system.', 'type' => 'string', 'example' => '2020-01-05T16:00:00Z', 'title' => ''],
'ZoneId' => ['description' => 'The zone in which the file system resides.', 'type' => 'string', 'example' => 'cn-hangzhou-b', 'title' => ''],
'VpcId' => ['description' => 'The VPC ID.', 'type' => 'string', 'example' => 'vpc-bp1sevsgtqvk5gxbl****'."\n", 'title' => ''],
'VswIds' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'VswId' => [
'description' => 'The vSwitch information.',
'type' => 'array',
'items' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'vsw-bp1omfzsszekkvaxn****'."\n", 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'Packages' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Package' => [
'description' => 'The storage plan information.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'StartTime' => ['description' => 'The start time of the storage plan.', 'type' => 'string', 'example' => '2019-12-05T01:40:56Z', 'title' => ''],
'ExpiredTime' => ['description' => 'The expiration time of the storage plan.', 'type' => 'string', 'example' => '2020-01-05T16:00:00Z', 'title' => ''],
'Size' => ['description' => 'The capacity of the storage plan.'."\n"
.'Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '107374182400', 'title' => ''],
'PackageId' => ['description' => 'The storage plan ID.', 'type' => 'string', 'example' => 'naspackage-0be9c4b624-37****', 'title' => ''],
'PackageType' => ['description' => 'The storage plan type.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- ssd: Performance.'."\n"
.'- hybrid: Capacity.', 'type' => 'string', 'example' => 'hybrid', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'AccessPointCount' => ['description' => 'The number of access points.', 'type' => 'string', 'example' => '1', 'title' => ''],
'ResourceGroupId' => ['description' => 'The resource group ID.', 'type' => 'string', 'example' => 'rg-acfmwavnfef****'."\n", 'title' => ''],
'MeteredArchiveSize' => ['description' => 'The storage usage of the Archive storage class.'."\n"
."\n"
.'Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '1611661312', 'title' => ''],
'Options' => [
'description' => 'The options.',
'type' => 'object',
'properties' => [
'EnableOplock' => ['description' => 'Indicates whether the OpLock feature is enabled.'."\n"
.'Valid values:'."\n"
.'- true: Enabled.'."\n"
.'- false: Not enabled.'."\n"
.'> Only file systems that use the SMB Protocol Type support this feature.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'VscAccessPointAccessOnly' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
'EnableABE' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
],
'title' => '',
'example' => '',
],
'QuorumVswId' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'vsw-bp1omfzsszekkvaxn****', 'title' => ''],
'VscTarget' => ['description' => '> This parameter is not yet available.', 'type' => 'string', 'example' => 'cpfs-370y1tv921vpuj4****-000001.cn-wulanchabu.cpfs.aliyuncs.com', 'title' => ''],
'RedundancyType' => ['title' => '', 'description' => 'The storage redundancy type. This field has a value only for CPFS SE file systems.', 'type' => 'string', 'example' => 'LRS', 'default' => 'LRS'],
'RedundancyVSwitchIds' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'RedundancyVSwitchId' => [
'title' => '',
'description' => 'The list of zone-redundant vSwitch IDs.',
'type' => 'array',
'items' => ['title' => '', 'description' => 'The list of zone-redundant vSwitch IDs.'."\n"
.'This field has a value when RedundancyType is set to ZRS.', 'type' => 'string', 'example' => 'vsw-123xxx'],
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '035B3A3A-E514-4B41-B906-5D906CFB****', 'title' => ''],
'TotalCount' => ['description' => 'The total number of file systems.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'PageSize' => ['description' => 'The number of file systems on each page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'PageNumber' => ['description' => 'The page number of the file system list.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'Region.NotSupported', 'errorMessage' => 'The specified Region is not supported for this API now.', 'description' => 'The current region does not support this function.'],
],
404 => [
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'gatewayOptions' => [
'gatewayProtocols' => [],
],
'title' => 'Query file system information',
'summary' => 'Queries file system information.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2025-05-26T12:48:09.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2025-05-08T06:05:41.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2025-03-19T01:52:49.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2024-10-17T03:53:02.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2024-10-08T06:55:28.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-07-08T02:24:35.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2024-03-25T10:51:46.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-12-26T02:03:07.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2023-11-03T07:39:49.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2023-10-05T02:55:26.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-04-29T13:41:21.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2023-01-05T07:04:12.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2022-11-17T08:53:59.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2022-07-29T09:46:52.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeFileSystems'],
],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeFileSystems',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"FileSystems\\": {\\n \\"FileSystem\\": [\\n {\\n \\"Status\\": \\"Pending\\",\\n \\"MeteredIASize\\": 362832,\\n \\"Capacity\\": 100,\\n \\"CreateTime\\": \\"2020-01-05T16:00:00Z\\",\\n \\"ChargeType\\": \\"PayAsYouGo\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"testKey\\",\\n \\"Value\\": \\"testValue\\"\\n }\\n ]\\n },\\n \\"StorageType\\": \\"Performance\\",\\n \\"MeteredSize\\": 1611661312,\\n \\"Description\\": \\"test\\",\\n \\"Bandwidth\\": 150,\\n \\"SupportedFeatures\\": {\\n \\"SupportedFeature\\": [\\n \\"Lifecycle\\"\\n ]\\n },\\n \\"Version\\": \\"2.3.4\\",\\n \\"ProtocolType\\": \\"NFS\\",\\n \\"MountTargets\\": {\\n \\"MountTarget\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp1sevsgtqvk5gxbl****\\",\\n \\"Status\\": \\"Active\\",\\n \\"ClientMasterNodes\\": {\\n \\"ClientMasterNode\\": [\\n {\\n \\"EcsId\\": \\"i-hp3i3odi5ory1buo****\\",\\n \\"DefaultPasswd\\": \\"123456\\",\\n \\"EcsIp\\": \\"192.168.1.0\\"\\n }\\n ]\\n },\\n \\"MountTargetDomain\\": \\"109c042666-w****.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"AccessGroupName\\": \\"test-001\\",\\n \\"DualStackMountTargetDomain\\": \\"174494b666-x****.dualstack.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"VswId\\": \\"vsw-bp1omfzsszekkvaxn****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"testKey\\",\\n \\"Value\\": \\"testValue\\"\\n }\\n ]\\n },\\n \\"NetworkType\\": \\"vpc\\"\\n }\\n ]\\n },\\n \\"KMSKeyId\\": \\"0e478b7a-4262-4802-b8cb-00d3fb40****\\",\\n \\"AutoSnapshotPolicyId\\": \\"sp-extreme-09npwxadu1eqvw****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"FileSystemType\\": \\"standard\\",\\n \\"FileSystemId\\": \\"109c04****\\",\\n \\"EncryptType\\": 1,\\n \\"Ldap\\": {\\n \\"BindDN\\": \\"cn=alibaba,dc=com\\",\\n \\"SearchBase\\": \\"dc=example\\",\\n \\"URI\\": \\"ldap://ldap.example.example\\"\\n },\\n \\"ExpiredTime\\": \\"2020-01-05T16:00:00Z\\",\\n \\"ZoneId\\": \\"cn-hangzhou-b\\",\\n \\"VpcId\\": \\"vpc-bp1sevsgtqvk5gxbl****\\\\n\\",\\n \\"VswIds\\": {\\n \\"VswId\\": [\\n \\"vsw-bp1omfzsszekkvaxn****\\\\n\\"\\n ]\\n },\\n \\"Packages\\": {\\n \\"Package\\": [\\n {\\n \\"StartTime\\": \\"2019-12-05T01:40:56Z\\",\\n \\"ExpiredTime\\": \\"2020-01-05T16:00:00Z\\",\\n \\"Size\\": 107374182400,\\n \\"PackageId\\": \\"naspackage-0be9c4b624-37****\\",\\n \\"PackageType\\": \\"hybrid\\"\\n }\\n ]\\n },\\n \\"AccessPointCount\\": \\"1\\",\\n \\"ResourceGroupId\\": \\"rg-acfmwavnfef****\\\\n\\",\\n \\"MeteredArchiveSize\\": 1611661312,\\n \\"Options\\": {\\n \\"EnableOplock\\": true,\\n \\"VscAccessPointAccessOnly\\": false,\\n \\"EnableABE\\": false\\n },\\n \\"QuorumVswId\\": \\"vsw-bp1omfzsszekkvaxn****\\",\\n \\"VscTarget\\": \\"cpfs-370y1tv921vpuj4****-000001.cn-wulanchabu.cpfs.aliyuncs.com\\",\\n \\"RedundancyType\\": \\"LRS\\",\\n \\"RedundancyVSwitchIds\\": {\\n \\"RedundancyVSwitchId\\": [\\n \\"vsw-123xxx\\"\\n ]\\n }\\n }\\n ]\\n },\\n \\"RequestId\\": \\"035B3A3A-E514-4B41-B906-5D906CFB****\\",\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 1,\\n \\"PageNumber\\": 1\\n}","type":"json"}]',
],
'DescribeFilesets' => [
'summary' => 'Queries the list of created filesets.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '55590',
'abilityTreeNodes' => ['FEATUREnasPWYFYN'],
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.'."\n"
."\n"
.'- CPFS: The ID must start with `cpfs-`, such as cpfs-099394bd928c****.'."\n"
."\n"
.'- CPFS for Lingjun: The ID must start with `bmcpfs-`, such as bmcpfs-290w65p03ok64ya****.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bmcpfs-290w65p03ok64ya****', 'title' => ''],
],
[
'name' => 'Filters',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The filter key information for the filesets to query.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => [
'description' => 'The name of the filter key. Valid values:'."\n"
."\n"
.'- FsetIds: filters by fileset ID.'."\n"
.'- FileSystemPath: filters by the path of the fileset in the CPFS file system.'."\n"
.'- Description: filters by the description of the fileset.'."\n"
.'- QuotaExists: filters by whether a quota exists.'."\n"
.'> Only CPFS for Lingjun 2.7.0 and later support filtering by the QuotaExists parameter.',
'enumValueTitles' => ['FileSystemPath' => '根据 Fileset 在 CPFS 文件系统中的路径筛选', 'Description' => '根据 Fileset 的描述筛选', 'FsetIds' => '根据 Fileset ID 筛选', 'QuotaExists' => '根据 Quota 是否存在进行筛选'],
'type' => 'string',
'enum' => ['FsetIds', 'FileSystemPath', 'Description', 'QuotaExists'],
'required' => false,
'example' => 'FsetIds',
'title' => '',
],
'Value' => ['description' => 'The value of the filter key. Wildcards are not supported for this parameter.'."\n"
."\n"
.'- If Key is set to FsetIds, Value is set to a fileset ID. You can specify one or more fileset IDs, up to 10. Separate multiple values with commas (,). Example: `fset-1902718ea0ae****` or `fset-1902718ea0ae****,fset-3212718ea0ae****`.'."\n"
.'- If Key is set to FileSystemPath, Value is set to the full path or a partial path of the fileset in the CPFS file system. The value must be 2 to 1,024 characters in length and encoded in UTF-8.'."\n"
.'- If Key is set to Description, Value is set to the full description or a partial description of the fileset.'."\n"
.'- If Key is set to QuotaExists, Value is set to true or false. If you leave this parameter empty, all filesets are returned.', 'type' => 'string', 'required' => false, 'example' => 'fset-1902718ea0ae****', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'docRequired' => false,
'maxItems' => 5,
'title' => '',
'example' => '',
],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. If the response is truncated, you can use this token in the next request to retrieve the remaining results.', 'type' => 'string', 'required' => false, 'example' => 'TGlzdFJlc291cmNlU****mVzJjE1MTI2NjY4NzY5MTAzOTEmMiZORnI4NDhVeEtrUT0=', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of results per query.'."\n"
."\n"
.'Valid values: 10 to 100. Default value: 20.', 'type' => 'integer', 'format' => 'int64', 'maximum' => '100', 'minimum' => '10', 'default' => '20', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'OrderByField',
'in' => 'query',
'schema' => [
'description' => 'The field by which to sort the results.'."\n"
."\n"
.'- FileCountLimit: the quota file count limit.'."\n"
.'- SizeLimit: the quota capacity limit.'."\n"
.'- FileCountUsage: the file count usage.'."\n"
.'- SpaceUsage: the capacity usage.',
'enumValueTitles' => ['SpaceUsage' => 'capacity usage.', 'FileCountLimit' => 'quota file count limit.', 'SizeLimit' => 'quota capacity limit.', 'FileCountUsage' => 'file count usage.'],
'type' => 'string',
'enum' => ['SpaceUsage', 'FileCountUsage', 'SizeLimit', 'FileCountLimit'],
'required' => false,
'example' => 'FileCountLimit',
'title' => '',
],
],
[
'name' => 'SortOrder',
'in' => 'query',
'schema' => [
'description' => 'The sort order. Valid values:'."\n"
."\n"
.'- asc (default): ascending order, which sorts results from smallest to largest.'."\n"
.'- desc: descending order, which sorts results from largest to smallest.'."\n"
.'> This parameter takes effect only when the OrderByField parameter is specified.',
'enumValueTitles' => ['asc' => 'ascending order.', 'desc' => 'descending order.'],
'type' => 'string',
'enum' => ['asc', 'desc'],
'required' => false,
'example' => 'asc',
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****', 'title' => ''],
'NextToken' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. If the response is truncated, you can use this token in the next request to retrieve the remaining results.', 'type' => 'string', 'example' => 'TGlzdFJlc291cmNlU****mVzJjE1MTI2NjY4NzY5MTAzOTEmMiZORnI4NDhVeEtrUT0=', 'title' => ''],
'FileSystemId' => ['description' => 'The file system ID.'."\n"
."\n"
.'- CPFS: The ID must start with `cpfs-`, such as cpfs-099394bd928c****.'."\n"
."\n"
.'- CPFS for Lingjun: The ID must start with `bmcpfs-`, such as bmcpfs-290w65p03ok64ya****.', 'type' => 'string', 'deprecated' => true, 'example' => 'bmcpfs-290w65p03ok64ya****', 'title' => ''],
'Entries' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Entrie' => [
'description' => 'The collection of fileset information.',
'type' => 'array',
'items' => [
'description' => 'The collection of file information.',
'type' => 'object',
'properties' => [
'Description' => ['description' => 'The description of the fileset.', 'type' => 'string', 'example' => 'test', 'title' => ''],
'FileSystemPath' => ['description' => 'The path of the fileset.', 'type' => 'string', 'example' => 'pathtoroot/fset', 'title' => ''],
'FsetId' => ['description' => 'Fileset ID。', 'type' => 'string', 'example' => 'fset-1902718ea0ae****', 'title' => ''],
'Status' => ['description' => 'The status of the fileset. Valid values:'."\n"
."\n"
.'- CREATING: The fileset is being created.'."\n"
.'- CREATED: The fileset is created and running as expected. '."\n"
.'- RELEASING: The fileset is being released.'."\n"
.'- RELEASED: The fileset is deleted.', 'type' => 'string', 'example' => 'CREATED', 'title' => ''],
'CreateTime' => ['description' => 'The time when the fileset was created.'."\n"
."\n"
.'The time follows the ISO 8601 standard in the `yyyy-MM-ddTHH:mm:ssZ` format.', 'type' => 'string', 'example' => '2021-09-30T10:08:08Z', 'title' => ''],
'UpdateTime' => ['description' => 'The time when the fileset was last updated.'."\n"
."\n"
.'The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format.', 'type' => 'string', 'example' => '2021-09-30T10:08:08Z', 'title' => ''],
'DeletionProtection' => ['description' => 'The deletion protection property, which specifies whether the instance can be released by using the console or the [DeleteFileset](~~2402263~~) operation.'."\n"
."\n"
.'- true: Deletion protection is enabled.'."\n"
.'- false: Deletion protection is disabled.'."\n"
."\n"
.'> This property applies only to manual release operations and does not apply to system-initiated release operations.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'FileCountUsage' => ['description' => 'The file count usage.'."\n"
.'> Only CPFS for Lingjun 2.7.0 and later support this parameter.', 'type' => 'integer', 'format' => 'int64', 'example' => '1024', 'title' => ''],
'SpaceUsage' => ['description' => 'The capacity usage. Unit: bytes.'."\n"
.'> Only CPFS for Lingjun 2.7.0 and later support this parameter.', 'type' => 'integer', 'format' => 'int64', 'example' => '1024', 'title' => ''],
'Quota' => [
'description' => 'The quota information.'."\n"
.'> Only CPFS for Lingjun 2.7.0 and later support this parameter.',
'type' => 'object',
'properties' => [
'SizeLimit' => ['description' => 'The quota capacity limit. Unit: bytes.'."\n"
."\n"
.' - Minimum value: 10,737,418,240 (10 GiB).'."\n"
."\n"
.' - Increment: 1,073,741,824 (1 GiB).', 'type' => 'integer', 'format' => 'int64', 'example' => '10737418240', 'title' => ''],
'FileCountLimit' => ['description' => 'The quota file count limit.'."\n"
.'Valid values:'."\n"
."\n"
.' - Minimum value: 10,000.'."\n"
."\n"
.' - Maximum value: 10,000,000,000.', 'type' => 'integer', 'format' => 'int64', 'example' => '10000', 'title' => ''],
],
'title' => '',
'example' => '',
],
'FileSystemId' => ['description' => 'The file system ID.'."\n"
."\n"
.'- CPFS: The ID must start with `cpfs-`, such as cpfs-099394bd928c****.'."\n"
."\n"
.'- CPFS for Lingjun: The ID must start with `bmcpfs-`, such as bmcpfs-290w65p03ok64ya****.', 'type' => 'string', 'example' => 'bmcpfs-290w65p03ok64ya****', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'InvalidParameter.SortOrder', 'errorMessage' => 'Invalid sort order.', 'description' => 'Parameter SortOrder error.'],
['errorCode' => 'InvalidParameter.SortOrderField', 'errorMessage' => 'Invalid sort order field.', 'description' => 'Parameter SortOrderField error.'],
],
403 => [
['errorCode' => 'OperationDenied.FilesetNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidFilterParam', 'errorMessage' => 'The specified Filter.N.Key is invalid.', 'description' => ''],
['errorCode' => 'InvalidFilterValue', 'errorMessage' => 'The specified Filter.N.Value is invalid.', 'description' => ''],
['errorCode' => 'InvalidParameter.InvalidNextToken', 'errorMessage' => 'The specified NextToken is invaild.', 'description' => ''],
['errorCode' => 'InvalidParameter.InvalidMaxResults', 'errorMessage' => 'The specified MaxResults is invalid.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518948****\\",\\n \\"NextToken\\": \\"TGlzdFJlc291cmNlU****mVzJjE1MTI2NjY4NzY5MTAzOTEmMiZORnI4NDhVeEtrUT0=\\",\\n \\"FileSystemId\\": \\"bmcpfs-290w65p03ok64ya****\\",\\n \\"Entries\\": {\\n \\"Entrie\\": [\\n {\\n \\"Description\\": \\"test\\",\\n \\"FileSystemPath\\": \\"pathtoroot/fset\\",\\n \\"FsetId\\": \\"fset-1902718ea0ae****\\",\\n \\"Status\\": \\"CREATED\\",\\n \\"CreateTime\\": \\"2021-09-30T10:08:08Z\\",\\n \\"UpdateTime\\": \\"2021-09-30T10:08:08Z\\",\\n \\"DeletionProtection\\": true,\\n \\"FileCountUsage\\": 1024,\\n \\"SpaceUsage\\": 1024,\\n \\"Quota\\": {\\n \\"SizeLimit\\": 10737418240,\\n \\"FileCountLimit\\": 10000\\n },\\n \\"FileSystemId\\": \\"bmcpfs-290w65p03ok64ya****\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
'title' => 'Query filesets',
'description' => '- Only CPFS 2.2.0 and later and CPFS for Lingjun 2.7.0 and later support filesets. You can view the version information on the file system details page in the console.'."\n"
."\n"
.'- In the filter keys (Filters), FsetIds requires an exact match, while FileSystemPath and Description support fuzzy match.'."\n"
.'- Combination queries are supported.',
'changeSet' => [
['createdAt' => '2025-01-20T08:17:37.000Z', 'description' => 'Error codes changed, Request parameters changed'],
['createdAt' => '2024-10-24T08:25:56.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2024-05-31T02:47:37.000Z', 'description' => 'Response parameters changed, Response parameters changed'],
['createdAt' => '2021-10-28T12:49:17.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2021-10-28T08:36:25.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeFilesets'],
],
],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeFilesets',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
],
'DescribeFilesystemsAssociatedHpnZones' => [
'summary' => 'Retrieves the list of HpnZones for a file system. Access performance is optimal when compute nodes are located in one of the associated HpnZones.',
'methods' => ['get', 'post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '191084',
'abilityTreeNodes' => ['FEATUREnasOIBEFL'],
'autoTest' => false,
'notSupportAutoTestReason' => '特殊客户使用',
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the file system resides.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'Filesystems',
'in' => 'query',
'style' => 'json',
'schema' => [
'description' => 'The collection of file system IDs.'."\n"
."\n"
.'> The maximum number of elements in the set must be less than or equal to 20.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'FileSystemId' => ['description' => 'The ID of the CPFS for Lingjun file system. Must start with `bmcpfs-`. Example: bmcpfs-290w65p03ok64ya\\*\\*\\*\\*.'."\n", 'type' => 'string', 'required' => false, 'example' => 'bmcpfs-290t15yn4uo8lid****'."\n", 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'Request ID.'."\n", 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****', 'title' => ''],
'Filesystems' => [
'description' => 'The list of HpnZones associated with the file system.'."\n",
'type' => 'array',
'items' => [
'description' => 'The HpnZone associated with the file system.'."\n",
'type' => 'object',
'properties' => [
'AssociatedHpnZones' => [
'description' => 'The list of HpnZones supported by the file system.'."\n",
'type' => 'array',
'items' => ['description' => 'The HpnZone supported by the file system.'."\n", 'type' => 'string', 'example' => 'A2', 'title' => ''],
'title' => '',
'example' => '',
],
'ZoneId' => ['description' => 'The zone ID.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou-k', 'title' => ''],
'FileSystemId' => ['description' => 'The ID of the CPFS for Lingjun file system.'."\n", 'type' => 'string', 'example' => 'bmcpfs-290t15yn4uo8lid****', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidFilesystemType.NotSupport', 'errorMessage' => 'This Api does not support this fileSystem type.', 'description' => 'The current interface does not support this type of file system.'],
],
404 => [
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'DescribeFilesystemsAssociatedHpnZones',
'description' => '- 仅支持CPFS智算版文件系统。'."\n"
.'- 此接口为批量接口,每次最多允许查询 20 个文件系统。',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\",\\n \\"Filesystems\\": [\\n {\\n \\"AssociatedHpnZones\\": [\\n \\"A2\\"\\n ],\\n \\"ZoneId\\": \\"cn-hangzhou-k\\",\\n \\"FileSystemId\\": \\"bmcpfs-290t15yn4uo8lid****\\"\\n }\\n ]\\n}","type":"json"}]',
'translator' => 'manual',
],
'DescribeFilesystemsVscAttachInfo' => [
'summary' => 'Queries the virtual storage channel information associated with a file system.',
'path' => '',
'methods' => ['post', 'get'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '191088',
'abilityTreeNodes' => ['FEATUREnasOIBEFL'],
'autoTest' => false,
'notSupportAutoTestReason' => '特殊账号使用',
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'ResourceIds',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The ID information of file systems and virtual storage channels. A maximum of 10 entries can be specified per batch.',
'type' => 'array',
'items' => [
'description' => 'The ID information of file systems and virtual storage channels. A maximum of 10 entries can be specified per batch.',
'type' => 'object',
'properties' => [
'FileSystemId' => ['description' => 'The file system ID.', 'type' => 'string', 'required' => false, 'example' => 'bmcpfs-290t15yn4uo8lid****'."\n", 'title' => ''],
'VscId' => ['description' => 'The virtual storage channel ID.', 'type' => 'string', 'required' => false, 'example' => 'vsc-8vb864o3ppwfvh****'."\n", 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => true,
'minItems' => 1,
'title' => '',
'example' => '',
],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The query token. Set the value to the NextToken value returned in the previous API call.', 'type' => 'string', 'required' => false, 'example' => 'TGlzdFJlc291cmNlU****mVzJjE1MTI2NjY4NzY5MTAzOTEmMiZORnI4NDhVeEtrUT0=', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'allowEmptyValue' => false,
'schema' => ['description' => 'The number of results for each query.'."\n"
."\n"
.'Valid values: 10 to 100.'."\n"
.'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'required' => false, 'example' => '10', 'title' => ''],
],
[
'name' => 'RoleChain',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The role chain.'."\n"
.'>Required only for cross-account scenarios.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'RoleType' => ['description' => 'The role type. Valid values: service and user.', 'type' => 'string', 'required' => false, 'example' => 'service', 'title' => ''],
'RoleArn' => ['description' => 'The resource descriptor of the specified role. Format: acs:ram::$accountID:role/$roleName.', 'type' => 'string', 'required' => false, 'example' => 'acs:ram::123472233814****:role/aliyunnasclientvsc****', 'title' => ''],
'AssumeRoleFor' => ['description' => 'The UID of the Alibaba Cloud account, which specifies the account on whose behalf the service assumes the role.', 'type' => 'string', 'required' => false, 'example' => '101522855006****', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'title' => '',
'description' => '',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'BC7C825C-5F65-4B56-BEF6-98C56C7C****', 'title' => ''],
'NextToken' => ['description' => 'The query token. Set the value to the NextToken value returned in the previous API call.', 'type' => 'string', 'example' => 'TGlzdFJlc291cmNlU****mVzJjE1MTI2NjY4NzY5MTAzOTEmMiZORnI4NDhVeEtrUT0=', 'title' => ''],
'TotalCount' => ['description' => 'The total number of association entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'MaxResults' => ['description' => 'The number of entries returned per query.'."\n"
."\n"
.'Valid values: 10 to 1000.'."\n"
."\n"
.'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'VscAttachInfo' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'VscAttachInfo' => [
'description' => 'The collection of data for file systems associated with vchannels.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'FileSystemId' => ['description' => 'The file system ID.', 'type' => 'string', 'example' => 'bmcpfs-290t15yn4uo8lid****'."\n", 'title' => ''],
'VscId' => ['description' => 'The virtual storage channel ID.', 'type' => 'string', 'example' => 'vsc-8vb864o3ppwfvh****'."\n", 'title' => ''],
'Status' => ['description' => 'The status of the file system associated with the vchannel. Valid values:'."\n"
."\n"
.'- Attaching: Being associated.'."\n"
.'- Attached: Associated.'."\n"
.'- Detaching: Being dissociated.'."\n"
.'- Detached: Dissociated.'."\n"
.'- Failed: Association failed.', 'type' => 'string', 'example' => 'Attached', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'The parameter is invalid.', 'description' => 'Illegal parameter.'],
['errorCode' => 'InvalidParameter.ResourceIds', 'errorMessage' => 'Invalid ResourceIds, can not be empty or batch size large than 10.', 'description' => ''],
['errorCode' => 'InvalidParameter.FileSystem', 'errorMessage' => 'Invalid FileSystem in ResourceIds.', 'description' => ''],
['errorCode' => 'InvalidFilesystemType.NotSupport', 'errorMessage' => 'This Api does not support this fileSystem type.', 'description' => 'The current interface does not support this type of file system.'],
['errorCode' => 'InvalidParameter.VscId', 'errorMessage' => 'Invalid VscId in ResourceIds.', 'description' => ''],
['errorCode' => 'InvalidParameter.VscIds', 'errorMessage' => 'Invalid VscId in ResourceIds.VscIds must be the same.', 'description' => ''],
['errorCode' => 'Ram.AddRamParamFailed', 'errorMessage' => 'Ram check has failed due to param invalid, please check param.', 'description' => ''],
['errorCode' => 'FeatureOrAPI.NotSupported', 'errorMessage' => 'The Feature/API is not supported in this region now.', 'description' => ''],
],
403 => [
['errorCode' => 'Forbbiden.Ram', 'errorMessage' => 'User not authorized to operate on the specified resource, or this API doesn\'t support RAM.', 'description' => 'The user is not authorized to operate the specified resource, or the API does not support RAM.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'Query virtual storage channel information associated with a file system',
'description' => '- Only CPFS for Lingjun supports this feature.'."\n"
.'- Batch execution is supported. In batch execution mode, only one VscId can be associated with multiple FileSystemIds, which means the values of ResourceIds.VscId must be the same.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeFilesystemsVscAttachInfo',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'Vsc', 'arn' => 'acs:eflo:{#regionId}:{#accountId}:vsc/{#VscId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BC7C825C-5F65-4B56-BEF6-98C56C7C****\\",\\n \\"NextToken\\": \\"TGlzdFJlc291cmNlU****mVzJjE1MTI2NjY4NzY5MTAzOTEmMiZORnI4NDhVeEtrUT0=\\",\\n \\"TotalCount\\": 1,\\n \\"MaxResults\\": 10,\\n \\"VscAttachInfo\\": {\\n \\"VscAttachInfo\\": [\\n {\\n \\"FileSystemId\\": \\"bmcpfs-290t15yn4uo8lid****\\\\n\\",\\n \\"VscId\\": \\"vsc-8vb864o3ppwfvh****\\\\n\\",\\n \\"Status\\": \\"Attached\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'DescribeLifecyclePolicies' => [
'summary' => 'Retrieves a list of lifecycle management policies.',
'methods' => ['get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13954',
'abilityTreeNodes' => ['FEATUREnas7AL8PW', 'FEATUREnasEER7AI'],
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '31a8e4****', 'title' => ''],
],
[
'name' => 'LifecyclePolicyName',
'in' => 'query',
'schema' => ['description' => 'The lifecycle policy name. Naming rules:'."\n"
."\n\n"
.'The name must be 3 to 64 characters in length, start with a letter, and can contain letters, digits, underscores (_), or hyphens (-).'."\n"
."\n"
.'>Optional for General-purpose NAS file systems. If specified, this parameter takes precedence. If not specified, LifecyclePolicyId is used instead.', 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'lifecyclepolicy_01', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of lifecycle management policies on each page.'."\n"
."\n"
.'Valid values: 1 to 100.'."\n"
."\n"
.'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number of the list.'."\n"
."\n"
.'Start value (default value): 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'StorageType',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => [
'description' => 'The storage class type. Valid values:'."\n"
.'- InfrequentAccess: IA storage class.'."\n"
.'- Archive: Archive storage class.'."\n"
.'> If StorageType is not specified, all lifecycle policies are returned.',
'enumValueTitles' => ['Archive' => 'Archive storage class.', 'InfrequentAccess' => 'IA storage class.'],
'type' => 'string',
'enum' => ['InfrequentAccess', 'Archive', 'Capacity', 'Performance'],
'required' => false,
'example' => 'InfrequentAccess',
'title' => '',
],
],
[
'name' => 'LifecyclePolicyId',
'in' => 'query',
'schema' => ['title' => '', 'description' => 'The ID of the lifecycle policy.', 'type' => 'string', 'example' => 'lc-xxx', 'required' => false],
],
[
'name' => 'LifecyclePolicyType',
'in' => 'query',
'schema' => [
'title' => '',
'description' => 'The policy type.'."\n"
."\n"
.'Valid values:'."\n"
.'- Auto: automatic execution'."\n"
.'- OnDemand: on-demand execution'."\n"
.'>Only CPFS for Lingjun supports this parameter.',
'enumValueTitles' => ['Auto' => 'Automatic execution.', 'OnDemand' => 'On-demand execution.'],
'type' => 'string',
'example' => 'Auto',
'enum' => ['Auto', 'OnDemand'],
'required' => false,
],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['title' => '', 'description' => 'The description of the policy.'."\n"
.'>Only CPFS for Lingjun supports this parameter.', 'type' => 'string', 'example' => '描述', 'required' => false],
],
[
'name' => 'Path',
'in' => 'query',
'schema' => ['title' => '', 'description' => 'Filters results by path.'."\n"
.'>Only CPFS for Lingjun supports this parameter.', 'type' => 'string', 'example' => '/abc/', 'required' => false],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'TotalCount' => ['description' => 'The total number of lifecycle management policies.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'BC7C825C-5F65-4B56-BEF6-98C56C7C****', 'title' => ''],
'PageSize' => ['description' => 'The number of lifecycle management policies on each page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'PageNumber' => ['description' => 'The page number of the list.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'LifecyclePolicies' => [
'description' => 'The collection of lifecycle management policy information.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'FileSystemId' => ['description' => 'The file system ID.', 'type' => 'string', 'example' => '31a8e4****', 'title' => ''],
'LifecycleRuleName' => ['description' => 'The management rule associated with the lifecycle management policy.'."\n"
."\n"
.'Valid values:'."\n"
.'- DEFAULT_ATIME_14: files not accessed in the last 14 days'."\n"
.'- DEFAULT_ATIME_30: files not accessed in the last 30 days'."\n"
.'- DEFAULT_ATIME_60: files not accessed in the last 60 days'."\n"
.'- DEFAULT_ATIME_90: files not accessed in the last 90 days.', 'type' => 'string', 'example' => 'DEFAULT_ATIME_14', 'title' => ''],
'CreateTime' => ['description' => 'The time when the lifecycle management policy was created.'."\n"
."\n"
.'The time follows the ISO 8601 standard in the format: `yyyy-MM-ddTHH:mm:ssZ`.', 'type' => 'string', 'example' => '2019-10-30T10:08:08Z', 'title' => ''],
'Path' => ['description' => 'The absolute path of the single directory configured in the lifecycle management policy.', 'type' => 'string', 'example' => '/pathway/to/folder', 'title' => ''],
'StorageType' => ['description' => 'The storage class type. Valid values:'."\n"
.'- InfrequentAccess: IA storage class.'."\n"
.'- Archive: Archive storage class.', 'type' => 'string', 'example' => 'InfrequentAccess', 'title' => ''],
'LifecyclePolicyName' => ['description' => 'The lifecycle management policy name.', 'type' => 'string', 'example' => 'lifecyclepolicy_01', 'title' => ''],
'Paths' => [
'description' => 'The list of absolute paths of multiple directories configured in the lifecycle management policy.',
'type' => 'array',
'items' => ['description' => 'The list of absolute paths of multiple directories configured in the lifecycle management policy.', 'type' => 'string', 'example' => '["/path1","/path2"]', 'title' => ''],
'title' => '',
'example' => '',
],
'LifecyclePolicyId' => ['title' => '', 'description' => 'The ID of the lifecycle policy.', 'type' => 'string', 'example' => 'lc-xxx'],
'Description' => ['title' => '', 'description' => 'The description of the policy.', 'type' => 'string', 'example' => '描述'],
'LifecyclePolicyType' => ['title' => '', 'description' => 'The policy type.', 'type' => 'string', 'example' => 'Auto'],
'TransitRules' => [
'title' => '',
'description' => 'The data transit rules for files.',
'type' => 'array',
'items' => [
'title' => '',
'description' => 'The data transit rules for files.',
'type' => 'object',
'properties' => [
'Attribute' => ['title' => '', 'description' => 'The attribute of the transit rule.', 'type' => 'string', 'example' => 'Atime'],
'Threshold' => ['title' => '', 'description' => 'The threshold of the transit rule.', 'type' => 'string', 'example' => '3'],
],
'example' => '',
],
'example' => '',
],
'RetrieveRules' => [
'title' => '',
'description' => 'The data retrieval rules for files.',
'type' => 'array',
'items' => [
'title' => '',
'description' => 'The data retrieval rules for files.',
'type' => 'object',
'properties' => [
'Attribute' => ['title' => '', 'description' => 'The attribute of the retrieval rule.', 'type' => 'string', 'example' => 'RetrieveType'],
'Threshold' => ['title' => '', 'description' => 'The threshold of the retrieval rule.', 'type' => 'string', 'example' => 'All'],
],
'example' => '',
],
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
404 => [
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 10,\\n \\"RequestId\\": \\"BC7C825C-5F65-4B56-BEF6-98C56C7C****\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"LifecyclePolicies\\": [\\n {\\n \\"FileSystemId\\": \\"31a8e4****\\",\\n \\"LifecycleRuleName\\": \\"DEFAULT_ATIME_14\\",\\n \\"CreateTime\\": \\"2019-10-30T10:08:08Z\\",\\n \\"Path\\": \\"/pathway/to/folder\\",\\n \\"StorageType\\": \\"InfrequentAccess\\",\\n \\"LifecyclePolicyName\\": \\"lifecyclepolicy_01\\",\\n \\"Paths\\": [\\n \\"[\\\\\\"/path1\\\\\\",\\\\\\"/path2\\\\\\"]\\"\\n ],\\n \\"LifecyclePolicyId\\": \\"lc-xxx\\",\\n \\"Description\\": \\"描述\\",\\n \\"LifecyclePolicyType\\": \\"Auto\\",\\n \\"TransitRules\\": [\\n {\\n \\"Attribute\\": \\"Atime\\",\\n \\"Threshold\\": \\"3\\"\\n }\\n ],\\n \\"RetrieveRules\\": [\\n {\\n \\"Attribute\\": \\"RetrieveType\\",\\n \\"Threshold\\": \\"All\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]',
'title' => 'Query lifecycle management policies',
'description' => 'Only General-purpose NAS file systems and CPFS for Lingjun support this feature.',
'changeSet' => [
['createdAt' => '2025-05-08T06:05:41.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2025-03-27T03:42:10.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2025-03-19T01:52:49.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2024-03-25T10:51:46.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2021-04-08T08:36:16.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLifecyclePolicies'],
],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeLifecyclePolicies',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'LifecyclePolicy', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
],
'DescribeLifecyclePolicyLogs' => [
'methods' => ['get', 'post'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREnasZ6WBFV'],
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bmcpfs-030wldnqm8evtpy****', 'title' => ''],
],
[
'name' => 'LifecyclePolicyId',
'in' => 'query',
'schema' => ['description' => 'The lifecycle policy ID.', 'type' => 'string', 'required' => true, 'example' => 'lc-xxx', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of log entries to return on each page.'."\n"
."\n"
.'Value range: 1–100. Default: 10.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'required' => false, 'example' => '10', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The number of the page to return.'."\n"
."\n"
.'Starts from 1. Default: 1.', 'type' => 'integer', 'format' => 'int32', 'minimum' => '1', 'default' => '1', 'required' => false, 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'BC7C825C-5F65-4B56-BEF6-98C56C7C****', 'title' => ''],
'Success' => ['description' => 'Specifies whether the request succeeded.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- `true`: The request succeeded.'."\n"
."\n"
.'- `false`: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'LifecyclePolicyLogs' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Status' => ['description' => 'The status of the task. Valid values:'."\n"
."\n"
.'- `PENDING`: The task is initializing.'."\n"
."\n"
.'- `RUNNING`: The task is running.'."\n"
."\n"
.'- `STOPPED`: The task is stopped.'."\n"
."\n"
.'- `FINISHED`: The task is complete.'."\n"
."\n"
.'- `FAILED`: The task failed.', 'type' => 'string', 'example' => 'RUNNING', 'title' => ''],
'Paths' => [
'type' => 'array',
'items' => ['description' => 'An execution path of the task.', 'type' => 'string', 'example' => '/path1', 'title' => ''],
'description' => 'The execution paths of the task.',
'title' => '',
'example' => '',
],
'StorageType' => ['description' => 'The storage tier. Valid values:'."\n"
."\n"
.'- `InfrequentAccess`: Infrequent Access (default).'."\n"
."\n"
.'- `Archive`: Archive Storage.', 'type' => 'string', 'example' => 'InfrequentAccess', 'title' => ''],
'TransitRules' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Attribute' => ['description' => 'The attribute of the rule.'."\n"
."\n"
.'Valid value:'."\n"
."\n"
.'- `Atime`: The last access time of a file.', 'type' => 'string', 'example' => 'Atime', 'title' => ''],
'Threshold' => ['description' => 'The rule threshold.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- If `Attribute` is set to `Atime`, this parameter specifies the number of days since a file was last accessed. The value must be an integer from 1 to 365.', 'type' => 'string', 'example' => '3', 'title' => ''],
],
'description' => 'A transition rule for file data.',
'title' => '',
'example' => '',
],
'description' => 'The transition rules for file data.',
'title' => '',
'example' => '',
],
'RetrieveRules' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Attribute' => ['description' => 'The attribute of the rule. Valid value:'."\n"
."\n"
.'- `RetrieveType`: The retrieval method.', 'type' => 'string', 'example' => 'RetrieveType', 'title' => ''],
'Threshold' => ['description' => 'The threshold of the rule. Valid values:'."\n"
."\n"
.'- If `Attribute` is set to `RetrieveType`:'."\n"
."\n"
.' - `AfterVisit`: Data is retrieved on a best-effort basis when accessed. This value is available only if `LifecyclePolicyType` is set to `Auto`.'."\n"
."\n"
.' - `All`: All data is retrieved. This value is available only if `LifecyclePolicyType` is set to `OnDemand`.', 'type' => 'string', 'example' => 'All', 'title' => ''],
],
'description' => 'A retrieval rule for file data.',
'title' => '',
'example' => '',
],
'description' => 'The retrieval rules for file data.',
'title' => '',
'example' => '',
],
'CreateTime' => ['description' => 'The time when the task was created. The time is displayed in UTC and is in the `yyyy-MM-ddTHH:mm:ssZ` format.', 'type' => 'string', 'example' => '2025-10-20T02:25:07Z', 'title' => ''],
'Summary' => ['description' => 'The task summary.', 'type' => 'string', 'example' => 'Total tasks: 100000, success tasks: 100000', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'description' => 'The execution logs of the lifecycle policy.',
'title' => '',
'example' => '',
],
'TotalCount' => ['description' => 'The total number of logs.', 'type' => 'integer', 'format' => 'int32', 'example' => '36', 'title' => ''],
'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidLifecyclePolicy.NotFound', 'errorMessage' => 'The specified LifecyclePolicy does not exist.', 'description' => 'The specified LifecyclePolicy does not exist.'],
],
404 => [
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
],
],
'title' => 'DescribeLifecyclePolicyLogs',
'summary' => 'Queries the execution logs of a lifecycle policy, returning up to 1,000 entries from the last 90 days. This feature is only available for CPFS AI Computing Edition.',
'description' => 'Queries the execution logs of a lifecycle policy. You can query up to 1,000 log entries from the last 90 days. Only CPFS (AI Computing Edition) supports this operation.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BC7C825C-5F65-4B56-BEF6-98C56C7C****\\",\\n \\"Success\\": true,\\n \\"LifecyclePolicyLogs\\": [\\n {\\n \\"Status\\": \\"RUNNING\\",\\n \\"Paths\\": [\\n \\"/path1\\"\\n ],\\n \\"StorageType\\": \\"InfrequentAccess\\",\\n \\"TransitRules\\": [\\n {\\n \\"Attribute\\": \\"Atime\\",\\n \\"Threshold\\": \\"3\\"\\n }\\n ],\\n \\"RetrieveRules\\": [\\n {\\n \\"Attribute\\": \\"RetrieveType\\",\\n \\"Threshold\\": \\"All\\"\\n }\\n ],\\n \\"CreateTime\\": \\"2025-10-20T02:25:07Z\\",\\n \\"Summary\\": \\"Total tasks: 100000, success tasks: 100000\\"\\n }\\n ],\\n \\"TotalCount\\": 36,\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10\\n}","type":"json"}]',
],
'DescribeLogAnalysis' => [
'summary' => 'Lists the log analysis configurations in log analysis.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13955',
'abilityTreeNodes' => ['FEATUREnasA0C6YC'],
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of file systems on each page in a paging query. Valid values: 1 to 100. Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'example' => '1', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number of the file system list. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'FileSystemType',
'in' => 'query',
'schema' => [
'description' => 'The file system type.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- standard: General-purpose NAS'."\n"
.'- extreme: Extreme NAS'."\n"
.'- all (default): all types.',
'enumValueTitles' => ['all' => 'all file systems.', 'standard' => 'General-purpose NAS.', 'bmcpfs' => 'Cloud Paralleled File System intelligent computing edition.', 'extreme' => 'Extreme NAS.'],
'type' => 'string',
'default' => 'all',
'enum' => ['all', 'standard', 'extreme', 'bmcpfs'],
'required' => false,
'example' => 'all',
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'TotalCount' => ['description' => 'The total number of log analysis entries in the region.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'PageSize' => ['description' => 'The number of log analysis entries on each page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'C84F77AF-3DE5-48F1-B19B-37FCBE24****', 'title' => ''],
'PageNumber' => ['description' => 'The page number of the log analysis entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'Analyses' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Analysis' => [
'description' => 'The collection of log analysis entries.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'MetaKey' => ['description' => 'The file system ID.', 'type' => 'string', 'example' => '0c7154xxxx', 'title' => ''],
'MetaValue' => [
'description' => 'The log analysis information of the specified file system.',
'type' => 'object',
'properties' => [
'RoleArn' => ['description' => 'The role that File Storage NAS uses to access Simple Log Service.', 'type' => 'string', 'example' => 'acs:ram::162165525211xxxx:role/aliyunnaslogarchiverole', 'title' => ''],
'Region' => ['description' => 'The region where the dedicated Logstore for file system operation logs resides.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
'Logstore' => ['description' => 'The name of the dedicated Logstore that stores NAS operation logs.', 'type' => 'string', 'example' => 'nas-nfs', 'title' => ''],
'Project' => ['description' => 'The name of the project where the dedicated Logstore for file system operation logs resides.', 'type' => 'string', 'example' => 'nas-1746495857602745-cn-hangzhou', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'Code' => ['description' => 'The return code.', 'type' => 'string', 'example' => '200', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 10,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"C84F77AF-3DE5-48F1-B19B-37FCBE24****\\",\\n \\"PageNumber\\": 1,\\n \\"Analyses\\": {\\n \\"Analysis\\": [\\n {\\n \\"MetaKey\\": \\"0c7154xxxx\\",\\n \\"MetaValue\\": {\\n \\"RoleArn\\": \\"acs:ram::162165525211xxxx:role/aliyunnaslogarchiverole\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"Logstore\\": \\"nas-nfs\\",\\n \\"Project\\": \\"nas-1746495857602745-cn-hangzhou\\"\\n }\\n }\\n ]\\n },\\n \\"Code\\": \\"200\\"\\n}","type":"json"}]',
'title' => 'Retrieve log analysis information',
'changeSet' => [
['createdAt' => '2024-09-09T01:49:11.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-06-05T02:09:27.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2023-01-03T06:46:50.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeLogAnalysis'],
],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeLogAnalysis',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'DescribeMountTargets' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13957',
'abilityTreeNodes' => ['FEATUREnasOIBEFL'],
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n"
."\n"
.'- general-purpose NAS: 31a8e4\\*\\*\\*\\*.'."\n"
."\n"
.'- Extreme NAS: The ID must start with `extreme-`. Example: extreme-0015\\*\\*\\*\\*.'."\n"
."\n"
.'- CPFS: The ID must start with `cpfs-`. Example: cpfs-125487\\*\\*\\*\\*.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1ca404****', 'title' => ''],
],
[
'name' => 'MountTargetDomain',
'in' => 'query',
'schema' => ['description' => 'The domain name of the mount target.', 'type' => 'string', 'required' => false, 'example' => '1ca404****-x****.cn-hangzhou.nas.aliyuncs.com', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of mount targets to return per page.'."\n"
."\n"
.'Valid values: 1 to 100.'."\n"
."\n"
.'Default value: 10.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'example' => '1', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number to return.'."\n"
."\n"
.'The value must be 1 or greater. Default value: 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'DualStackMountTargetDomain',
'in' => 'query',
'schema' => ['description' => 'The dual-stack (IPv4 and IPv6) domain name of the mount target.'."\n"
."\n"
.'> Currently, only Extreme NAS file systems in Chinese mainland regions support IPv6.', 'type' => 'string', 'required' => false, 'example' => '1ca404****-x****.dualstack.cn-hangzhou.nas.aliyuncs.com', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'TotalCount' => ['description' => 'The total number of mount targets.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '3BAB90FD-B4A0-48DA-9F09-2B963510****', 'title' => ''],
'PageSize' => ['description' => 'The number of mount targets per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'PageNumber' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'MountTargets' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'MountTarget' => [
'description' => 'A list of mount targets.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'VpcId' => ['description' => 'The ID of the VPC.', 'type' => 'string', 'example' => 'vpc-2zesj9afh3y518k9o****', 'title' => ''],
'Status' => ['description' => 'The status of the mount target.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- Active: The mount target is available.'."\n"
."\n"
.'- Inactive: The mount target is unavailable.'."\n"
."\n"
.'- Pending: The mount target is being created.'."\n"
."\n"
.'- Deleting: The mount target is being deleted.'."\n"
."\n"
.'- Hibernating: The mount target is hibernating.'."\n"
."\n"
.'- Hibernated: The mount target is hibernated.'."\n"
."\n"
.'> You can mount a file system only when the mount target is Active.', 'type' => 'string', 'example' => 'Active', 'title' => ''],
'ClientMasterNodes' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'ClientMasterNode' => [
'description' => 'A list of client management nodes.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'EcsId' => ['description' => 'The ID of the ECS instance that serves as a management node.', 'type' => 'string', 'example' => 'i-hp3i3odi5ory1buo****', 'title' => ''],
'DefaultPasswd' => ['description' => 'The default login password.', 'type' => 'string', 'example' => '12****', 'title' => ''],
'EcsIp' => ['description' => 'The IP address of the ECS instance that serves as a management node.', 'type' => 'string', 'example' => '192.168.1.0', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => 'A collection of client management nodes.',
'title' => '',
'example' => '',
],
'MountTargetDomain' => ['description' => 'The domain name of the IPv4 mount target.', 'type' => 'string', 'example' => '1ca404****-w****.cn-hangzhou.nas.aliyuncs.com', 'title' => ''],
'AccessGroup' => ['description' => 'The name of the permission group for the mount target.', 'type' => 'string', 'example' => 'DEFAULT_VPC_GROUP_NAME', 'title' => ''],
'DualStackMountTargetDomain' => ['description' => 'The domain name of the dual-stack mount target.', 'type' => 'string', 'example' => '1ca404****-x****.dualstack.cn-hangzhou.nas.aliyuncs.com', 'title' => ''],
'VswId' => ['description' => 'The ID of the VSwitch.', 'type' => 'string', 'example' => 'vsw-2zevmwkwyztjuoffg****', 'title' => ''],
'Tags' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Tag' => [
'description' => 'A list of tags attached to the mount target. A mount target can have up to 20 tags, and each tag key must be unique.',
'type' => 'array',
'items' => [
'description' => 'The tag.',
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The tag key.'."\n"
."\n"
.'- A tag key cannot be an empty string.'."\n"
."\n"
.'- The tag key can be up to 128 characters long.'."\n"
."\n"
.'- The tag key cannot start with `aliyun` or `acs:`.'."\n"
."\n"
.'- The tag key cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'nastest', 'title' => ''],
'Value' => ['description' => 'The tag value.'."\n"
."\n"
.'Restrictions:'."\n"
."\n"
.'- The tag value can be up to 128 characters long.'."\n"
."\n"
.'- The tag value cannot contain `http://` or `https://`.', 'type' => 'string', 'example' => 'mounttargettest', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'NetworkType' => ['description' => 'The network type of the mount target. The value is always **Vpc**.', 'type' => 'string', 'example' => 'Vpc', 'title' => ''],
'IPVersion' => ['description' => 'The IP version supported by the mount target.'."\n"
."\n"
.'- IPv4: The mount target supports only IPv4.'."\n"
."\n"
.'- DualStack: The mount target supports both IPv4 and IPv6.', 'type' => 'string', 'example' => 'IPv4', 'title' => ''],
'AccessPointAccessOnly' => ['description' => 'Indicates whether the file system can be accessed only by using an access point.'."\n"
."\n"
.'- `true`: The file system can be accessed only by using an access point.'."\n"
."\n"
.'- `false`: The file system can be accessed by using the domain name of the mount target.', 'type' => 'boolean', 'title' => '', 'example' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => 'A collection of mount targets.',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidFileSystem.NotsupportedIPv6', 'errorMessage' => 'The file system does not support IPv6.', 'description' => 'The file system does not support IPv6.'],
],
404 => [
['errorCode' => 'InvalidMountTarget.NotFound', 'errorMessage' => 'The specified mount target does not exist.', 'description' => 'The specified mount target does not exist.'],
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'DescribeMountTargets',
'summary' => 'Retrieves information about mount targets.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2025-05-07T01:17:20.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2024-11-04T01:56:26.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2023-04-17T13:40:58.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2022-05-23T09:19:39.000Z', 'description' => 'Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeMountTargets'],
],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeMountTargets',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"3BAB90FD-B4A0-48DA-9F09-2B963510****\\",\\n \\"PageSize\\": 1,\\n \\"PageNumber\\": 1,\\n \\"MountTargets\\": {\\n \\"MountTarget\\": [\\n {\\n \\"VpcId\\": \\"vpc-2zesj9afh3y518k9o****\\",\\n \\"Status\\": \\"Active\\",\\n \\"ClientMasterNodes\\": {\\n \\"ClientMasterNode\\": [\\n {\\n \\"EcsId\\": \\"i-hp3i3odi5ory1buo****\\",\\n \\"DefaultPasswd\\": \\"12****\\",\\n \\"EcsIp\\": \\"192.168.1.0\\"\\n }\\n ]\\n },\\n \\"MountTargetDomain\\": \\"1ca404****-w****.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"AccessGroup\\": \\"DEFAULT_VPC_GROUP_NAME\\",\\n \\"DualStackMountTargetDomain\\": \\"1ca404****-x****.dualstack.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"VswId\\": \\"vsw-2zevmwkwyztjuoffg****\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"nastest\\",\\n \\"Value\\": \\"mounttargettest\\"\\n }\\n ]\\n },\\n \\"NetworkType\\": \\"Vpc\\",\\n \\"IPVersion\\": \\"IPv4\\",\\n \\"AccessPointAccessOnly\\": false\\n }\\n ]\\n }\\n}","type":"json"}]',
],
'DescribeMountedClients' => [
'summary' => 'Queries the clients on which a file system is mounted.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13956',
'abilityTreeNodes' => ['FEATUREnasOIBEFL'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of IP addresses to return on each page.'."\n"
."\n"
.'Valid values: 1 to 100.'."\n"
."\n"
.'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''],
],
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '31a8e4****', 'title' => ''],
],
[
'name' => 'ClientIP',
'in' => 'query',
'schema' => ['description' => 'The IP address of the client.'."\n"
."\n"
.'* If you specify an IP address, the operation checks whether the client list includes this IP address. If the client list includes the IP address, the operation returns the IP address. If the client list does not include the IP address, the operation returns an empty list.'."\n"
.'* If you do not specify an IP address, the operation returns the IP addresses of all clients that have accessed the specified NAS file system within the last minute.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '10.10.10.1', 'title' => ''],
],
[
'name' => 'MountTargetDomain',
'in' => 'query',
'schema' => ['description' => 'The domain name of the mount target.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1111222****95.cn-hangzhou.nas.aliyuncs.com', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number.'."\n"
."\n"
.'Pages start from page 1. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'TotalCount' => ['description' => 'The total number of IP addresses.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'A70BEE5D-76D3-49FB-B58F-1F398211****', 'title' => ''],
'PageSize' => ['description' => 'The number of IP addresses returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'Clients' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Client' => [
'description' => 'The queried clients.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'ClientIP' => ['description' => 'The IP address of the client.'."\n", 'type' => 'string', 'example' => '10.10.10.1', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 10,\\n \\"RequestId\\": \\"A70BEE5D-76D3-49FB-B58F-1F398211****\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"Clients\\": {\\n \\"Client\\": [\\n {\\n \\"ClientIP\\": \\"10.10.10.1\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
'title' => 'DescribeMountedClients',
'description' => '- 仅通用型NAS支持该接口。'."\n"
.'- 客户端列表显示近一分钟对文件系统有读写访问的客户端IP,部分已挂载而没有访问文件系统的客户端IP可能不在此列表中显示。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeMountedClients'],
],
],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeMountedClients',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
'translator' => 'manual',
],
'DescribeNfsAcl' => [
'summary' => 'Queries whether the NFS ACL feature is enabled for a file system.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13958',
'abilityTreeNodes' => ['FEATUREnasWJVZ38'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '206614xxxx', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'A1098673-1746-505E-A5F1-08527B7EDBDF', 'title' => ''],
'Acl' => [
'description' => 'The information about the ACL feature.'."\n",
'type' => 'object',
'properties' => [
'Enabled' => ['description' => 'Indicates whether the NFS ACL feature is enabled.'."\n"
."\n"
.'* true: The NFS ACL feature is enabled.'."\n"
.'* false: The NFS ACL feature is disabled.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A1098673-1746-505E-A5F1-08527B7EDBDF\\",\\n \\"Acl\\": {\\n \\"Enabled\\": true\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n A1098673-1746-505E-A5F1-08527B7EDBDF\\n \\n true\\n \\n","errorExample":""}]',
'title' => 'DescribeNfsAcl',
'description' => '仅通用型NAS NFS协议文件系统支持该功能。',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNfsAcl'],
],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeNfsAcl',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
],
'DescribeProtocolMountTarget' => [
'summary' => 'Queries the export directories of a protocol service.',
'methods' => ['get', 'post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '124960',
'abilityTreeNodes' => ['FEATUREnasQ7YV89', 'FEATUREnas0GUIX5'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'NextToken',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'aBcdg==', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => ['description' => 'The number of results for each query.'."\n"
."\n"
.'* Value values: 10 to 100.'."\n"
.'* Default value: 20.'."\n", 'type' => 'integer', 'format' => 'int64', 'maximum' => '100', 'minimum' => '10', 'default' => '20', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cpfs-099394bd928c****', 'title' => ''],
],
[
'name' => 'Filters',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The filter that is used to query the export directories of the protocol service.'."\n",
'type' => 'array',
'items' => [
'description' => 'The filter that is used to query the export directories of the protocol service.'."\n",
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The filter name.'."\n"
."\n"
.'* ProtocolServiceIds: Filters export directories by protocol service ID.'."\n"
.'* ExportIds: Filters export directories by export directory ID.'."\n"
.'* VpcIds: Filters export directories by VPC ID.'."\n"
.'* FsetIds: Filters export directories by fileset ID.'."\n"
.'* Paths: Filters export directories based on the path of the file system corresponding to the mount target.'."\n"
.'* AccessGroupNames: Filters export directories by permission group name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'ExportIds', 'title' => ''],
'Value' => ['description' => 'The filter value. This parameter does not support wildcards.'."\n"
."\n"
.'* If Key is set to ProtocolServiceIds, set Value to a protocol service ID. You can specify a maximum of 10 protocol service IDs. Example: `ptc-12345678` or `ptc-12345678,ptc-12345679`.'."\n"
.'* If Key is set to ExportIds, set Value to an export directory ID. You can specify a maximum of 10 export directory IDs. Example: `exp-12345678` or `exp-12345678,exp-12345679`.'."\n"
.'* If Key is set to VpcIds, set Value to a VPC ID of the protocol service. You can specify a maximum of 10 VPC IDs. Example: `vpc-12345678` or `vpc-12345678,vpc-12345679`.'."\n"
.'* If Key is set to FsetIds, set Value to a fileset ID. You can specify a maximum of 10 fileset IDs. Example: `fset-12345678` or `fset-12345678,fset-12345679`.'."\n"
.'* If Key is set to Paths, set Value to a path of the file system corresponding to the mount target. You can specify a maximum of 10 paths. Example: `/cpfs/mnt_1/` or `/cpfs/mnt_1/,/cpfs/mnt_2/`.'."\n"
.'* If Key is set to AccessGroupNames, set Value to a permission group name for the protocol service. You can specify a maximum of 10 permission group names. Example: `ag-12345678` or `ag-12345678,ag-12345679`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'exp-19abf5beab8d****, exp-19acf6beaf7d****', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 5,
'title' => '',
'example' => '',
],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How do I ensure the idempotence?](~~25693~~)'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'maxLength' => 64, 'minLength' => 1, 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'ProtocolServiceIds',
'in' => 'query',
'schema' => ['description' => 'Protocol service ID list'."\n", 'type' => 'string', 'example' => 'ptc-123xxx', 'title' => '', 'required' => false],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0****'],
'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n", 'type' => 'string', 'example' => 'aBcdeg==', 'title' => ''],
'ProtocolMountTargets' => [
'description' => 'The export directories of the protocol service.'."\n",
'type' => 'array',
'items' => [
'description' => 'The export directory of the protocol service.'."\n",
'type' => 'object',
'properties' => [
'ExportId' => ['description' => 'The ID of the export directory for the protocol service.'."\n", 'type' => 'string', 'example' => 'exp-19abf5beab8d****', 'title' => ''],
'ProtocolMountTargetDomain' => ['description' => 'The domain name of the export directory for the protocol service.'."\n", 'type' => 'string', 'example' => 'cpfs-123****.cn-hangzhou.cpfs.aliyuncs.com', 'title' => ''],
'ProtocolType' => ['description' => 'The protocol type supported by the protocol service.'."\n", 'type' => 'string', 'example' => 'NFS', 'title' => ''],
'VpcId' => ['description' => 'The VPC ID of the export directory for the protocol service.'."\n", 'type' => 'string', 'example' => 'vpc-2vct297b8157bth9z****', 'title' => ''],
'VSwitchId' => ['description' => 'The vSwitch ID of the export directory for the protocol service.'."\n", 'type' => 'string', 'example' => 'vsw-2vc3c2lybvdllxyq4****', 'title' => ''],
'FsetId' => ['description' => 'The fileset ID of the export directory for the protocol service.'."\n", 'type' => 'string', 'example' => 'fset-1902718ea0ae****', 'title' => ''],
'Path' => ['description' => 'The export directory of the protocol service.'."\n", 'type' => 'string', 'example' => '/path/', 'title' => ''],
'AccessGroupName' => ['description' => 'The permission group that is associated with the export directory of the protocol service.'."\n", 'type' => 'string', 'example' => 'DEFAULT_VPC_GROUP_NAME', 'title' => ''],
'CreateTime' => ['description' => 'The time when the export directory of the protocol service was created.'."\n", 'type' => 'string', 'example' => '2018-12-12T07:28:38Z', 'title' => ''],
'Status' => ['description' => 'The status of the mount target.'."\n", 'type' => 'string', 'example' => 'CREATING', 'title' => ''],
'ProtocolServiceId' => ['description' => 'The ID of the protocol service.'."\n", 'type' => 'string', 'example' => 'ptc-123****', 'title' => ''],
'Description' => ['description' => 'The description of the export directory for the protocol service.'."\n", 'type' => 'string', 'example' => '此协议服务导出目录的描述。', 'title' => ''],
'VSwitchIds' => [
'title' => '',
'description' => 'A list of IDs for the zone-redundant vSwitches.'."\n",
'type' => 'array',
'items' => ['description' => 'A list of IDs for the zone-redundant vSwitches.'."\n", 'type' => 'string', 'example' => 'vsw-123xxx', 'title' => ''],
'example' => '',
],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
],
404 => [
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidParameter.InvalidNextToken', 'errorMessage' => 'The specified NextToken is invaild.', 'description' => ''],
['errorCode' => 'InvalidParameter.InvalidMaxResults', 'errorMessage' => 'The specified MaxResults is invalid.', 'description' => ''],
['errorCode' => 'InvalidFilterValue', 'errorMessage' => 'The specified Filter.N.Value is invalid.', 'description' => ''],
['errorCode' => 'InvalidFilterParam', 'errorMessage' => 'The specified Filter.N.Key is invalid.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0****\\",\\n \\"NextToken\\": \\"aBcdeg==\\",\\n \\"ProtocolMountTargets\\": [\\n {\\n \\"ExportId\\": \\"exp-19abf5beab8d****\\",\\n \\"ProtocolMountTargetDomain\\": \\"cpfs-123****.cn-hangzhou.cpfs.aliyuncs.com\\",\\n \\"ProtocolType\\": \\"NFS\\",\\n \\"VpcId\\": \\"vpc-2vct297b8157bth9z****\\",\\n \\"VSwitchId\\": \\"vsw-2vc3c2lybvdllxyq4****\\",\\n \\"FsetId\\": \\"fset-1902718ea0ae****\\",\\n \\"Path\\": \\"/path/\\",\\n \\"AccessGroupName\\": \\"DEFAULT_VPC_GROUP_NAME\\",\\n \\"CreateTime\\": \\"2018-12-12T07:28:38Z\\",\\n \\"Status\\": \\"CREATING\\",\\n \\"ProtocolServiceId\\": \\"ptc-123****\\",\\n \\"Description\\": \\"此协议服务导出目录的描述。\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-123xxx\\"\\n ]\\n }\\n ]\\n}","type":"json"}]',
'title' => 'DescribeProtocolMountTarget',
'description' => '该接口仅适用于CPFS文件系统。',
'changeSet' => [
['createdAt' => '2022-04-28T09:25:04.000Z', 'description' => 'OpenAPI offline'],
['createdAt' => '2022-04-28T09:25:04.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeProtocolMountTarget'],
],
],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeProtocolMountTarget',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
'translator' => 'manual',
],
'DescribeProtocolService' => [
'summary' => 'Queries the information about protocol services.',
'methods' => ['get', 'post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '124567',
'abilityTreeNodes' => ['FEATUREnasQ7YV89', 'FEATUREnas0GUIX5'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'ProtocolServiceIds',
'in' => 'query',
'schema' => ['description' => 'The ID of the protocol service.'."\n"
."\n"
.'* Format: CSV.'."\n"
.'* Limit: You can specify a maximum of 10 protocol service IDs.'."\n", 'type' => 'string', 'docRequired' => false, 'required' => false, 'example' => 'ptc-197ed6a00f2b****,ptc-196ed6a00f2b****', 'title' => ''],
],
[
'name' => 'Status',
'in' => 'query',
'schema' => ['description' => 'The status of the protocol service.'."\n"
."\n"
.'Format: CSV.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* Creating: The protocol service is being created.'."\n"
.'* Starting: The protocol service is being started.'."\n"
.'* Running: The protocol service is running.'."\n"
.'* Updating: The protocol service is being updated.'."\n"
.'* Deleting: The protocol service is being deleted.'."\n"
.'* Stopping: The protocol service is being stopped.'."\n"
.'* Stopped: The protocol service is stopped.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'Running,Updating', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => [
'description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request. You must specify the token that is obtained from the previous query as the value of NextToken.'."\n",
'type' => 'string',
'required' => false,
'enum' => [],
'example' => 'aBcdg==',
'title' => '',
],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of results for each query.'."\n"
."\n"
.'* Maximum value: 100.'."\n"
.'* Minimum value: 10.'."\n"
.'* Default value: 20.'."\n", 'type' => 'integer', 'format' => 'int64', 'maximum' => '100', 'minimum' => '10', 'default' => '20', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => [
'description' => 'The ID of the file system.'."\n",
'type' => 'string',
'required' => true,
'docRequired' => true,
'enum' => [],
'example' => 'cpfs-099394bd928c****',
'title' => '',
],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The description or a part of the description of the protocol service.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'* The description must be 2 to 128 characters in length.'."\n"
.'* The description must start with a letter and cannot start with `http://` or `https://`.'."\n"
.'* The description can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n", 'type' => 'string', 'maxLength' => 128, 'minLength' => 2, 'required' => false, 'example' => '此协议服务的描述', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How do I ensure the idempotence?](~~25693~~)'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'maxLength' => 64, 'minLength' => 1, 'required' => false, 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'],
'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n", 'type' => 'string', 'example' => 'aBcdeg==', 'title' => ''],
'ProtocolServices' => [
'description' => 'The information about protocol service list.'."\n",
'type' => 'array',
'items' => [
'description' => 'The information about the protocol service.'."\n",
'type' => 'object',
'properties' => [
'FileSystemId' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'example' => 'cpfs-099394bd928c****', 'title' => ''],
'ProtocolServiceId' => ['description' => 'The ID of the protocol service.'."\n", 'type' => 'string', 'example' => 'ptc-197ed6a00f2b****', 'title' => ''],
'ProtocolSpec' => ['description' => 'The specification of the protocol service.'."\n"
."\n"
.'* Valid value: General.'."\n"
.'* Default value: General.'."\n", 'type' => 'string', 'example' => 'General', 'title' => ''],
'ProtocolThroughput' => ['description' => 'The throughput of the protocol service. Unit: MB/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''],
'InstanceRAM' => ['description' => 'The memory cache size of the protocol service. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''],
'InstanceBaseThroughput' => ['description' => 'The base throughput of the protocol service. Unit: MB/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''],
'InstanceBurstThroughput' => ['description' => 'The burst throughput of the protocol service. Unit: MB/s.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''],
'MountTargetCount' => ['description' => 'The total number of CPFS directories and filesets exported in the protocol service.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''],
'ProtocolType' => ['description' => 'The protocol type supported by the protocol service.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* NFS: The protocol service supports access over the Network File System (NFS) protocol.'."\n", 'type' => 'string', 'example' => 'NFS', 'title' => ''],
'Status' => ['description' => 'The status of the protocol service.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* Creating: The protocol service is being created.'."\n"
.'* Starting: The protocol service is being started.'."\n"
.'* Running: The protocol service is running.'."\n"
.'* Updating: The protocol service is being updated.'."\n"
.'* Deleting: The protocol service is being deleted.'."\n"
.'* Stopping: The protocol service is being stopped.'."\n"
.'* Stopped: The protocol service is stopped.'."\n", 'type' => 'string', 'example' => 'Running', 'title' => ''],
'Description' => ['description' => 'The description of the protocol service.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'* The description must be 2 to 128 characters in length.'."\n"
.'* The description must start with a letter and cannot start with `http://` or `https://`.'."\n"
.'* The description can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n", 'type' => 'string', 'example' => '此协议服务的描述', 'title' => ''],
'CreateTime' => ['description' => 'The time when the protocol service was created. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2018-12-12T07:28:38Z', 'title' => ''],
'ModifyTime' => ['description' => 'The time when the protocol service was modified. The time is displayed in UTC.'."\n", 'type' => 'string', 'example' => '2018-12-12T07:28:38Z', 'title' => ''],
'VpcId' => ['description' => 'The VPC ID associated with the protocol service.'."\n", 'type' => 'string', 'example' => 'vpc-123xxx', 'title' => ''],
'VSwitchId' => ['description' => 'The VSW ID associated with the protocol service.'."\n", 'type' => 'string', 'example' => 'vsw-123xxx', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'InvalidParam.TooManyProtocolServiceIds', 'errorMessage' => 'Too many protocol service ids given.', 'description' => ''],
],
403 => [
['errorCode' => 'InvalidStatus.NotSupported', 'errorMessage' => 'The specified protocol service status does not support.', 'description' => ''],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidParameter.InvalidNextToken', 'errorMessage' => 'The specified NextToken is invaild.', 'description' => ''],
['errorCode' => 'InvalidParameter.InvalidMaxResults', 'errorMessage' => 'The specified MaxResults is invalid.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\",\\n \\"NextToken\\": \\"aBcdeg==\\",\\n \\"ProtocolServices\\": [\\n {\\n \\"FileSystemId\\": \\"cpfs-099394bd928c****\\",\\n \\"ProtocolServiceId\\": \\"ptc-197ed6a00f2b****\\",\\n \\"ProtocolSpec\\": \\"General\\",\\n \\"ProtocolThroughput\\": 500,\\n \\"InstanceRAM\\": 0,\\n \\"InstanceBaseThroughput\\": 100,\\n \\"InstanceBurstThroughput\\": 100,\\n \\"MountTargetCount\\": 5,\\n \\"ProtocolType\\": \\"NFS\\",\\n \\"Status\\": \\"Running\\",\\n \\"Description\\": \\"此协议服务的描述\\",\\n \\"CreateTime\\": \\"2018-12-12T07:28:38Z\\",\\n \\"ModifyTime\\": \\"2018-12-12T07:28:38Z\\",\\n \\"VpcId\\": \\"vpc-123xxx\\",\\n \\"VSwitchId\\": \\"vsw-123xxx\\"\\n }\\n ]\\n}","type":"json"}]',
'title' => 'DescribeProtocolService',
'description' => '该接口仅适用于CPFS文件系统。',
'changeSet' => [
['createdAt' => '2022-04-28T09:25:04.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeProtocolService'],
],
],
'ramActions' => [
[
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeProtocolService',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
'translator' => 'manual',
],
'DescribeRegions' => [
'summary' => 'Queries the regions in which File Storage NAS is available.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13959',
'abilityTreeNodes' => ['FEATUREnasQG6YBL'],
],
'parameters' => [
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page.'."\n"
."\n"
.'Valid values: 1 to 100.'."\n"
."\n"
.'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '10', 'example' => '10', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number.'."\n"
."\n"
.'Pages start from page 1. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'FileSystemType',
'in' => 'query',
'schema' => [
'description' => 'The type of the file system.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* all: all types of file systems'."\n"
.'* standard (default): General-purpose NAS file system'."\n"
.'* extreme: Extreme NAS file system'."\n"
.'* cpfs: Cloud Parallel File Storage (CPFS) file system'."\n"
."\n"
.'> CPFS file systems are available only on the China site (aliyun.com).'."\n",
'type' => 'string',
'required' => false,
'default' => 'standard',
'enum' => ['standard', 'extreme', 'cpfs', 'all'],
'example' => 'standard',
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'TotalCount' => ['description' => 'The total number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'A70BEE5D-76D3-49FB-B58F-1F398211****', 'title' => ''],
'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'Regions' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Region' => [
'description' => 'The queried regions.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'LocalName' => ['description' => 'The region name.'."\n", 'type' => 'string', 'example' => 'East China 1', 'title' => ''],
'RegionEndpoint' => ['description' => 'The endpoint for the region.'."\n", 'type' => 'string', 'example' => 'nas.cn-hangzhou.aliyuncs.com', 'title' => ''],
'RegionId' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"TotalCount\\": 1,\\n \\"RequestId\\": \\"A70BEE5D-76D3-49FB-B58F-1F398211****\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"Regions\\": {\\n \\"Region\\": [\\n {\\n \\"LocalName\\": \\"East China 1\\",\\n \\"RegionEndpoint\\": \\"nas.cn-hangzhou.aliyuncs.com\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
'title' => 'DescribeRegions',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-11-04T01:56:27.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '10000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRegions'],
],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeRegions',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'translator' => 'manual',
],
'DescribeSmbAcl' => [
'summary' => 'Queries the information about the access control list (ACL) feature of a Server Message Block (SMB) file system that resides in an Active Directory (AD) domain.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13960',
'abilityTreeNodes' => ['FEATUREnasWJVZ38'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '31a8e4****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****', 'title' => ''],
'Acl' => [
'description' => 'The information about the ACL feature.'."\n",
'type' => 'object',
'properties' => [
'EnableAnonymousAccess' => ['description' => 'Indicates whether the file system allows anonymous access. Valid values:'."\n"
."\n"
.'* true: The file system allows anonymous access.'."\n"
.'* false: The file system does not allow anonymous access.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'Enabled' => ['description' => 'Indicates whether the ACL feature is enabled. Valid values:'."\n"
."\n"
.'* true: The ACL feature is enabled.'."\n"
.'* false: The ACL feature is disabled.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'EncryptData' => ['description' => 'Indicates whether encryption in transit is enabled. Valid values:'."\n"
."\n"
.'* true: Encryption in transit is enabled.'."\n"
.'* false: Encryption in transit is disabled.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'RejectUnencryptedAccess' => ['description' => 'Indicates whether the file system denies access from non-encrypted clients. Valid values:'."\n"
."\n"
.'* true: The file system denies access from non-encrypted clients.'."\n"
.'* false: The file system allows access from non-encrypted clients.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'SuperAdminSid' => ['description' => 'The ID of a super admin.'."\n", 'type' => 'string', 'example' => 'S-1-0-0', 'title' => ''],
'HomeDirPath' => ['description' => 'The home directory of each user.'."\n", 'type' => 'string', 'example' => '/home', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\",\\n \\"Acl\\": {\\n \\"EnableAnonymousAccess\\": true,\\n \\"Enabled\\": true,\\n \\"EncryptData\\": true,\\n \\"RejectUnencryptedAccess\\": true,\\n \\"SuperAdminSid\\": \\"S-1-0-0\\",\\n \\"HomeDirPath\\": \\"/home\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 98696EF0-1607-4E9D-B01D-F20930B6****\\n \\n Kerberos\\n true\\n true\\n true\\n true\\n S-1-0-0\\n /home\\n \\n","errorExample":""}]',
'title' => 'DescribeSmbAcl',
'changeSet' => [
['createdAt' => '2022-08-05T02:39:08.000Z', 'description' => 'Response parameters changed'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeSmbAcl',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeSmbAcl'],
],
],
],
'DescribeSnapshots' => [
'summary' => 'Queries the information about one or more snapshots of a file system.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13961',
'abilityTreeNodes' => ['FEATUREnas5QOAQE'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemType',
'in' => 'query',
'schema' => [
'description' => 'The type of the file system.'."\n"
."\n"
.'Valid value: extreme, which indicates Extreme File Storage NAS (NAS) file systems.',
'type' => 'string',
'required' => false,
'example' => 'extreme',
'enum' => ['extreme'],
'title' => '',
],
],
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => false, 'example' => 'extreme-22f****', 'title' => ''],
],
[
'name' => 'SnapshotIds',
'in' => 'query',
'schema' => ['description' => 'The snapshot IDs.'."\n"
."\n"
.'You can specify a maximum of 100 snapshot IDs. You must separate snapshot IDs with commas (,).'."\n", 'type' => 'string', 'required' => false, 'example' => 's-extreme-67pxwk9aevrkr****,s-extreme-snapsho****,s-extreme-6tmsbas6ljhwh****', 'title' => ''],
],
[
'name' => 'SnapshotName',
'in' => 'query',
'schema' => ['description' => 'The snapshot name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''],
],
[
'name' => 'SnapshotType',
'in' => 'query',
'schema' => [
'description' => 'The type of the snapshot.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* auto: auto snapshot'."\n"
.'* user: manual snapshot'."\n"
.'* all (default): all snapshot types'."\n",
'type' => 'string',
'required' => false,
'example' => 'all',
'default' => 'all',
'enum' => ['auto', 'user', 'all'],
'title' => '',
],
],
[
'name' => 'Status',
'in' => 'query',
'schema' => [
'description' => 'The status of the snapshot.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* progressing: The snapshot is being created.'."\n"
.'* accomplished: The snapshot is created.'."\n"
.'* failed: The snapshot fails to be created.'."\n"
.'* all (default): all snapshot states.'."\n",
'type' => 'string',
'required' => false,
'example' => 'all',
'default' => 'all',
'enum' => ['progressing', 'accomplished', 'failed', 'all'],
'title' => '',
],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page.'."\n"
."\n"
.'Valid values: 1 to 100.'."\n"
."\n"
.'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number.'."\n"
."\n"
.'Pages start from page 1. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'TotalCount' => ['description' => 'The total number of snapshots returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '36', 'title' => ''],
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
'PageSize' => ['description' => 'The number of entries per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'Snapshots' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Snapshot' => [
'description' => 'The details about snapshots.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Status' => ['description' => 'The status of the snapshot.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* progressing: The snapshot is being created.'."\n"
.'* accomplished: The snapshot is created.'."\n"
.'* failed: The snapshot fails to be created.'."\n", 'type' => 'string', 'example' => 'accomplished', 'title' => ''],
'Progress' => ['description' => 'The progress of the snapshot creation. The value of this parameter is expressed as a percentage.'."\n", 'type' => 'string', 'example' => '100', 'title' => ''],
'CreateTime' => ['description' => 'The time when the snapshot was created.'."\n"
."\n"
.'The time follows the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) standard in UTC. The time is displayed in the `yyyy-MM-ddThh:mmZ` format.'."\n", 'type' => 'string', 'example' => '2014-07-24T13:00:52Z', 'title' => ''],
'SourceFileSystemId' => ['description' => 'The ID of the source file system.'."\n"
."\n"
.'This parameter is retained even if the source file system of the snapshot is deleted.'."\n", 'type' => 'string', 'example' => 'extreme-012****', 'title' => ''],
'RetentionDays' => ['description' => 'The retention period of the auto snapshot.'."\n"
."\n"
.'Unit: days.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* \\-1: Auto snapshots are permanently retained. After the number of auto snapshots exceeds the upper limit, the earliest auto snapshot is automatically deleted.'."\n"
.'* 1 to 65536: Auto snapshots are retained for the specified days. After the retention period of auto snapshots expires, the auto snapshots are automatically deleted.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '30', 'title' => ''],
'RemainTime' => ['description' => 'The remaining time that is required to create the snapshot.'."\n"
."\n"
.'Unit: seconds.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '38', 'title' => ''],
'SourceFileSystemSize' => ['description' => 'The capacity of the source file system.'."\n"
."\n"
.'Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '2000', 'title' => ''],
'SourceFileSystemVersion' => ['description' => 'The version of the source file system.'."\n", 'type' => 'string', 'example' => '1', 'title' => ''],
'SnapshotName' => ['description' => 'The snapshot name.'."\n"
."\n"
.'If you specify a name to create a snapshot, the name of the snapshot is returned. Otherwise, no value is returned for this parameter.'."\n", 'type' => 'string', 'example' => 'FinanceJoshua', 'title' => ''],
'EncryptType' => ['description' => 'Indicates whether the snapshot is encrypted.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* 0: The snapshot is not encrypted.'."\n"
.'* 1: The snapshot is encrypted.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'Description' => ['description' => 'The description of the snapshot.'."\n", 'type' => 'string', 'example' => 'FinanceDept', 'title' => ''],
'SnapshotId' => ['description' => 'The snapshot ID.'."\n", 'type' => 'string', 'example' => 's-extreme-snapsho****', 'title' => ''],
'FileSystemType' => ['description' => 'The type of the file system.'."\n", 'type' => 'string', 'example' => 'extreme', 'title' => ''],
'SnapshotType' => ['description' => 'The snapshot type. Valid values:'."\n"
."\n"
.'* auto: automatically created snapshots'."\n"
.'* user: manually created snapshots'."\n", 'type' => 'string', 'example' => 'user', 'title' => ''],
'CompletedTime' => ['description' => 'The time when snapshot creation was complete.'."\n"
."\n"
.'The time follows the [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html) standard in UTC. The time is displayed in the `yyyy-MM-ddThh:mmZ` format.'."\n"
."\n"
.'> This parameter is valid only when the snapshot is created. During snapshot creation, the value of this parameter is the same as that of CreateTime.'."\n", 'type' => 'string', 'example' => '2014-07-24T13:10:52Z', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 36,\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"Snapshots\\": {\\n \\"Snapshot\\": [\\n {\\n \\"Status\\": \\"accomplished\\",\\n \\"Progress\\": \\"100\\",\\n \\"CreateTime\\": \\"2014-07-24T13:00:52Z\\",\\n \\"SourceFileSystemId\\": \\"extreme-012****\\",\\n \\"RetentionDays\\": 30,\\n \\"RemainTime\\": 38,\\n \\"SourceFileSystemSize\\": 2000,\\n \\"SourceFileSystemVersion\\": \\"1\\",\\n \\"SnapshotName\\": \\"FinanceJoshua\\",\\n \\"EncryptType\\": 1,\\n \\"Description\\": \\"FinanceDept\\",\\n \\"SnapshotId\\": \\"s-extreme-snapsho****\\",\\n \\"FileSystemType\\": \\"extreme\\",\\n \\"SnapshotType\\": \\"user\\",\\n \\"CompletedTime\\": \\"2014-07-24T13:10:52Z\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 36\\n 10\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n 1\\n \\n \\n accomplished\\n \\n FinanceDept\\n 1\\n 2014-07-24T13:00:52Z\\n extreme-012****\\n 30\\n FinanceJoshua\\n s-extreme-snapsho****\\n 2000\\n 1\\n 38\\n \\n \\n","errorExample":""}]',
'title' => 'DescribeSnapshots',
'description' => '* The snapshot feature is in public preview and is provided free of charge. [File Storage NAS Service Level Agreement (SLA)](https://www.alibabacloud.com/help/legal/latest/network-attached-storage-service-level-agreement) is not guaranteed in public preview.'."\n"
.'* Only advanced Extreme NAS file systems support this feature.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-12-19T09:33:28.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2024-05-10T08:49:35.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeSnapshots'],
],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeSnapshots',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'Snapshot', 'arn' => 'acs:nas:{#regionId}:{#accountId}:snapshot/*'],
],
],
],
],
],
'DescribeStoragePackages' => [
'summary' => 'You can call the DescribeStoragePackages operation to query the list of storage plans.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13962',
'abilityTreeNodes' => ['FEATUREnasI92PYN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of storage plans to return on each page.'."\n"
."\n"
.'Valid values: 1 to 100.'."\n"
."\n"
.'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => ''],
],
[
'name' => 'UseUTCDateTime',
'in' => 'query',
'schema' => ['description' => 'Specifies whether the time to return is in UTC.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* true (default): returns UTC time.'."\n"
.'* false: returns UNIX timestamp.'."\n", 'type' => 'boolean', 'required' => false, 'minimum' => '1', 'example' => 'true', 'default' => 'true', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The number of the page to return.'."\n"
."\n"
.'Pages start from page 1. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'TotalCount' => ['description' => 'The number of storage plans.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''],
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '035B3A3A-E514-4B41-B906-5D906CFB****', 'title' => ''],
'PageSize' => ['description' => 'The number of storage plans returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'PageNumber' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'Packages' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Package' => [
'description' => 'The list of storage plans.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Status' => ['description' => 'The status of the storage plan.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* free: The storage plan is not bound to a file system. You can bind the storage plan to a file system of the same storage type.'."\n"
.'* bound: The storage plan is bound to a file system.'."\n", 'type' => 'string', 'example' => 'free', 'title' => ''],
'FileSystemId' => ['description' => 'The ID of the file system that is bound to the storage plan.'."\n", 'type' => 'string', 'example' => '109c****66', 'title' => ''],
'StartTime' => ['description' => 'The start time of the validity period for the storage plan.'."\n", 'type' => 'string', 'example' => '2019-12-05T01:40:56Z', 'title' => ''],
'ExpiredTime' => ['description' => 'The end time of the validity period for the storage plan.'."\n", 'type' => 'string', 'example' => '2020-01-05T16:00:00Z', 'title' => ''],
'Size' => ['description' => 'The capacity of the storage plan.'."\n"
."\n"
.'Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''],
'StorageType' => ['description' => 'The type of the storage plan.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* Performance'."\n"
.'* Capacity'."\n", 'type' => 'string', 'example' => 'Capacity', 'title' => ''],
'PackageId' => ['description' => 'The ID of the storage plan.'."\n", 'type' => 'string', 'example' => 'naspackage-@string(\'*****\', *)-@string(\'*****\', *)', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 3,\\n \\"RequestId\\": \\"035B3A3A-E514-4B41-B906-5D906CFB****\\",\\n \\"PageSize\\": 1,\\n \\"PageNumber\\": 1,\\n \\"Packages\\": {\\n \\"Package\\": [\\n {\\n \\"Status\\": \\"free\\",\\n \\"FileSystemId\\": \\"109c****66\\",\\n \\"StartTime\\": \\"2019-12-05T01:40:56Z\\",\\n \\"ExpiredTime\\": \\"2020-01-05T16:00:00Z\\",\\n \\"Size\\": 10,\\n \\"StorageType\\": \\"Capacity\\",\\n \\"PackageId\\": \\"naspackage-@string(\'*****\', *)-@string(\'*****\', *)\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"3\\n1\\n035B3A3A-E514-4B41-B906-5D906CFB****\\n1\\n\\n \\n free\\n Capacity\\n 10\\n 2020-01-05T16:00:00Z\\n 2019-12-05T01:40:56Z\\n 109c****66\\n naspackage-@string(\'*****\', *)-@string(\'*****\', *)\\n \\n","errorExample":""}]',
'title' => 'DescribeStoragePackages',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-01-29T14:24:12.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeStoragePackages'],
],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeStoragePackages',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'DescribeZones' => [
'summary' => 'Queries all zones in a region and the file system types that are supported in each zone.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13964',
'abilityTreeNodes' => ['FEATUREnasQG6YBL'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where you want to query zones.'."\n"
."\n"
.'You can call the DescribeRegions operation to query the latest region list.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'FileSystemType',
'in' => 'query',
'schema' => ['description' => 'The type of the file system.'."\n"
."\n"
.'Valid value:'."\n"
."\n"
.'* standard: General-purpose Apsara File Storage NAS (NAS) file system'."\n"
.'* extreme: Extreme NAS file system.'."\n"
.'* cpfs: CPFS file system.'."\n", 'type' => 'string', 'required' => false, 'default' => 'standard', 'example' => 'standard', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'A70BEE5D-76D3-49FB-B58F-1F398211****', 'title' => ''],
'Zones' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Zone' => [
'description' => 'The queried zones.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Performance' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Protocol' => [
'description' => 'This parameter is reserved. You can ignore this parameter.'."\n",
'type' => 'array',
'items' => ['description' => 'This parameter is reserved. You can ignore this parameter.'."\n", 'type' => 'string', 'example' => 'nfs', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'Capacity' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'Protocol' => [
'description' => 'This parameter is reserved. You can ignore this parameter.'."\n",
'type' => 'array',
'items' => ['description' => 'This parameter is reserved. You can ignore this parameter.'."\n", 'type' => 'string', 'example' => 'nfs', 'title' => ''],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'ZoneId' => ['description' => 'The zone ID.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou-b', 'title' => ''],
'InstanceTypes' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'InstanceType' => [
'description' => 'The details about file system types.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'StorageType' => ['description' => 'The storage type.'."\n"
."\n"
.'* If the FileSystemType parameter is set to standard, the storage type is Performance or Capacity.'."\n"
.'* If the FileSystemType parameter is set to extreme, the storage type is standard or advance.'."\n"
.'* If the FileSystemType parameter is set to cpfs, the storage type is advance\\_100 (100 MB/s/TiB baseline) or advance\\_200 (200 MB/s/TiB baseline).'."\n", 'type' => 'string', 'example' => 'Capacity', 'title' => ''],
'ProtocolType' => ['description' => 'The protocol type.'."\n"
."\n"
.'* If the FileSystemType parameter is set to standard, the protocol type is nfs or smb.'."\n"
.'* If the FileSystemType parameter is set to extreme, the protocol type is nfs.'."\n"
.'* If the FileSystemType parameter is set to cpfs, the protocol type is cpfs.'."\n", 'type' => 'string', 'example' => 'nfs', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
404 => [
['errorCode' => 'InvalidRegionId.NotFound', 'errorMessage' => 'The specified Region is not found.', 'description' => ''],
],
500 => [
['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A70BEE5D-76D3-49FB-B58F-1F398211****\\",\\n \\"Zones\\": {\\n \\"Zone\\": [\\n {\\n \\"Performance\\": {\\n \\"Protocol\\": [\\n \\"nfs\\"\\n ]\\n },\\n \\"Capacity\\": {\\n \\"Protocol\\": [\\n \\"nfs\\"\\n ]\\n },\\n \\"ZoneId\\": \\"cn-hangzhou-b\\",\\n \\"InstanceTypes\\": {\\n \\"InstanceType\\": [\\n {\\n \\"StorageType\\": \\"Capacity\\",\\n \\"ProtocolType\\": \\"nfs\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]',
'title' => 'DescribeZones',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeZones'],
],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeZones',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'translator' => 'manual',
],
'DetachVscFromFilesystems' => [
'summary' => 'Dissociates a VSC device from a file system.',
'path' => '',
'methods' => ['post', 'get'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREnasI92PYN'],
'autoTest' => false,
'notSupportAutoTestReason' => '特定账户使用',
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'ResourceIds',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The ID information of the file system and virtual storage channel. A maximum of 10 entries can be specified per batch.',
'type' => 'array',
'items' => [
'description' => 'The ID information of the file system and virtual storage channel. A maximum of 10 entries can be specified per batch.',
'type' => 'object',
'properties' => [
'FileSystemId' => ['description' => 'The file system ID.', 'type' => 'string', 'required' => false, 'example' => 'bmcpfs-290t15yn4uo8lid****'."\n", 'title' => ''],
'VscId' => ['description' => 'The virtual storage channel ID.', 'type' => 'string', 'required' => false, 'example' => 'vsc-8vb864o3ppwfvh****'."\n", 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => true,
'docRequired' => true,
'title' => '',
'example' => '',
],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the RequestId of the API request as the ClientToken. The RequestId may differ for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'RoleChain',
'in' => 'query',
'style' => 'flat',
'schema' => [
'description' => 'The role chain.'."\n"
.'> This parameter is required only for cross-account scenarios.',
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'RoleType' => ['description' => 'The role type. Valid values: service and user.', 'type' => 'string', 'required' => false, 'example' => 'service', 'title' => ''],
'RoleArn' => ['description' => 'The resource descriptor of the specified role. Format: acs:ram::$accountID:role/$roleName.', 'type' => 'string', 'required' => false, 'example' => 'acs:ram::123472233814****:role/aliyunnasclientvsc****', 'title' => ''],
'AssumeRoleFor' => ['description' => 'The UID of the Alibaba Cloud account on whose behalf the service assumes the role.', 'type' => 'string', 'required' => false, 'example' => '528394183225****', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => false,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'title' => '',
'description' => '',
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****', 'title' => ''],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParameter', 'errorMessage' => 'The parameter is invalid.', 'description' => 'Illegal parameter.'],
['errorCode' => 'InvalidParameter.FileSystem', 'errorMessage' => 'Invalid FileSystem in ResourceIds.', 'description' => ''],
['errorCode' => 'InvalidParameter.ResourceIds', 'errorMessage' => 'Invalid ResourceIds, can not be empty or batch size large than 10.', 'description' => ''],
['errorCode' => 'InvalidFilesystemType.NotSupport', 'errorMessage' => 'This Api does not support this fileSystem type.', 'description' => 'The current interface does not support this type of file system.'],
['errorCode' => 'InvalidParameter.VscId', 'errorMessage' => 'Invalid VscId in ResourceIds.', 'description' => ''],
['errorCode' => 'InvalidParameter.VscIds', 'errorMessage' => 'Invalid VscId in ResourceIds.VscIds must be the same.', 'description' => ''],
['errorCode' => 'Ram.AddRamParamFailed', 'errorMessage' => 'Ram check has failed due to param invalid, please check param.', 'description' => ''],
['errorCode' => 'FeatureOrAPI.NotSupported', 'errorMessage' => 'The Feature/API is not supported in this region now.', 'description' => ''],
],
403 => [
['errorCode' => 'Forbbiden.Ram', 'errorMessage' => 'User not authorized to operate on the specified resource, or this API doesn\'t support RAM.', 'description' => 'The user is not authorized to operate the specified resource, or the API does not support RAM.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'Dissociate a VSC device from a file system',
'description' => '- Only CPFS for Lingjun supports this feature.'."\n"
.'- Batch operations are supported. In batch mode, only one VscId can be associated with multiple FileSystemIds. This means the ResourceIds.VscId values must be the same.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:DetachVscFromFilesystems',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'Vsc', 'arn' => 'acs:eflo:{#regionId}:{#accountId}:vsc/{#VscId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518948****\\"\\n}","type":"json"}]',
],
'DisableAndCleanRecycleBin' => [
'summary' => 'Disables and empties the recycle bin of a General-purpose NAS file system.',
'methods' => ['get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'high',
'chargeType' => 'paid',
'abilityTreeCode' => '14454',
'abilityTreeNodes' => ['FEATUREnas0A1PB1'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1ca404****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '9E15E394-38A6-457A-A62A-D9797C9A****'],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
],
403 => [
['errorCode' => 'OperationDenied.RecycleBinDisabled', 'errorMessage' => 'The operation is denied because the recycle bin is disabled.', 'description' => 'The operation is denied because the recycle bin is disabled.'],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9E15E394-38A6-457A-A62A-D9797C9A****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 9E15E394-38A6-457A-A62A-D9797C9A****\\n","errorExample":""}]',
'title' => 'DisableAndCleanRecycleBin',
'description' => '* Only General-purpose NAS file systems support this operation.'."\n"
.'* If you disable the recycle bin, all files in the recycle bin are permanently deleted.'."\n"
.'* If you disable and then enable the recycle bin, the recycle bin is empty. You cannot retrieve the deleted files.'."\n",
'changeSet' => [
['createdAt' => '2021-06-02T07:10:58.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableAndCleanRecycleBin'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:DisableAndCleanRecycleBin',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
],
'DisableNfsAcl' => [
'summary' => 'Disables the NFS ACL feature for a file system.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '13965',
'abilityTreeNodes' => ['FEATUREnasWJVZ38'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '91fcdxxxx', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '24487C24-AE54-57EC-B4E4-4EDEEEB83B01', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"24487C24-AE54-57EC-B4E4-4EDEEEB83B01\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 24487C24-AE54-57EC-B4E4-4EDEEEB83B01\\n","errorExample":""}]',
'title' => 'DisableNfsAcl',
'description' => '仅通用型NAS NFS协议文件系统支持该功能。',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableNfsAcl'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:DisableNfsAcl',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
],
'DisableSmbAcl' => [
'summary' => 'Disables the access control list (ACL) feature for a Server Message Block (SMB) file system that resides in an Active Directory (AD) domain.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '13966',
'abilityTreeNodes' => ['FEATUREnasWJVZ38'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1ca404****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 98696EF0-1607-4E9D-B01D-F20930B6****\\n","errorExample":""}]',
'title' => 'DisableSmbAcl',
'changeSet' => [
['createdAt' => '2021-12-17T06:24:59.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableSmbAcl'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:DisableSmbAcl',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
],
'EnableNfsAcl' => [
'summary' => 'Enables the NFS ACL feature for a file system.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '13967',
'abilityTreeNodes' => ['FEATUREnasWJVZ38'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '43f264xxxx', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '29F4F360-A6A8-561A-A45B-A0F6882969BA', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"29F4F360-A6A8-561A-A45B-A0F6882969BA\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 29F4F360-A6A8-561A-A45B-A0F6882969BA\\n","errorExample":""}]',
'title' => 'EnableNfsAcl',
'description' => '仅通用型NAS NFS协议文件系统支持该功能。',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableNfsAcl'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:EnableNfsAcl',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
],
'EnableRecycleBin' => [
'summary' => 'Enables the recycle bin feature for a file system.',
'methods' => ['get', 'post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '14453',
'abilityTreeNodes' => ['FEATUREnasI92PYN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system for which you want to enable the recycle bin feature.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1ca404****', 'title' => ''],
],
[
'name' => 'ReservedDays',
'in' => 'query',
'schema' => ['description' => 'The retention period of the files in the recycle bin. Unit: days.'."\n"
."\n"
.'Valid values: 1 to 180.'."\n"
."\n"
.'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '180', 'minimum' => '1', 'example' => '3', 'default' => '3', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '9E15E394-38A6-457A-A62A-D9797C9A****'],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
],
403 => [
['errorCode' => 'OperationDenied.RecycleBinEnabled', 'errorMessage' => 'The recycle bin is already enabled.', 'description' => 'The recycle bin is already enabled.'],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9E15E394-38A6-457A-A62A-D9797C9A****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 9E15E394-38A6-457A-A62A-D9797C9A****\\n","errorExample":""}]',
'title' => 'EnableRecycleBin',
'description' => 'Only General-purpose NAS file systems support this operation.'."\n",
'changeSet' => [
['createdAt' => '2021-06-02T07:10:28.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableRecycleBin'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:EnableRecycleBin',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
],
'EnableSmbAcl' => [
'summary' => 'Enables the access control list (ACL) feature for a Server Message Block (SMB) file system that resides in an Active Directory (AD) domain.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '13968',
'abilityTreeNodes' => ['FEATUREnasWJVZ38'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '31a8e4****', 'title' => ''],
],
[
'name' => 'Keytab',
'in' => 'query',
'schema' => ['description' => 'The string that is generated after the system encodes the keytab file by using Base64.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'BQIAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAQAIqIx6v7p11oUAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAwAIqIx6v7p11oUAAABPAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAFwAQnQZWB3RAPHU7PMIJyBWePAAAAF8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQASACAGJ7F0s+bcBjf6jD5HlvlRLmPSOW+qDZe0Qk0lQcf8WwAAAE8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQARABDdFmanrSIatnDDhxxxxx', 'title' => ''],
],
[
'name' => 'KeytabMd5',
'in' => 'query',
'schema' => ['description' => 'The string that is generated after the system encodes the keytab file by using MD5.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'E3CCF7E2416DF04FA958AA4513EAxxxx', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 98696EF0-1607-4E9D-B01D-F20930B6****\\n","errorExample":""}]',
'title' => 'EnableSmbAcl',
'changeSet' => [
['createdAt' => '2022-08-05T02:39:08.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2022-07-18T02:03:58.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2021-12-17T06:24:59.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableSmbAcl'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:EnableSmbAcl',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
],
'GetAgenticSpace' => [
'path' => '',
'methods' => ['get', 'post'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREnasXEQXVN'],
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '06229oypxjgox0u****', 'title' => ''],
],
[
'name' => 'AgenticSpaceId',
'in' => 'query',
'schema' => ['description' => 'AgenticSpace Id。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'agentic-229oypxjgpau2****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => '',
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0D****3E'],
'AgenticSpace' => [
'description' => 'The AgenticSpace information.',
'type' => 'object',
'properties' => [
'FileSystemId' => ['description' => 'The file system ID.', 'type' => 'string', 'example' => '06229oypxjgox0u****', 'title' => ''],
'AgenticSpaceId' => ['description' => 'AgenticSpace Id。', 'type' => 'string', 'example' => 'agentic-229oypxjgpau2****', 'title' => ''],
'Description' => ['description' => 'AgenticSpace Description。', 'type' => 'string', 'example' => 'AgenticSpace Description。', 'title' => ''],
'FileSystemPath' => ['description' => 'The absolute path of the file.', 'type' => 'string', 'example' => '/test/', 'title' => ''],
'Azone' => ['description' => 'The zone ID.', 'type' => 'string', 'example' => 'cn-hangzhou-i', 'title' => ''],
'Status' => ['description' => 'The status of the AgenticSpace. Valid values:'."\n"
.'- Running', 'type' => 'string', 'example' => 'Running', 'title' => ''],
'CreateTimeUtc' => ['description' => 'The time when the AgenticSpace was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format.', 'type' => 'string', 'example' => '2026-06-10T10:08:08Z', 'title' => ''],
'UpdateTimeUtc' => ['description' => 'The time when the AgenticSpace was last updated. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format.', 'type' => 'string', 'example' => '2026-06-10T10:08:08Z', 'title' => ''],
'Quota' => [
'description' => 'The quota information.',
'type' => 'object',
'properties' => [
'SizeLimit' => ['description' => 'The total capacity limit of the quota. Unit: bytes.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- Minimum value: 10,737,418,240 (10 GiB).'."\n"
.'- Maximum value: 1,099,511,627,776,000 (1024000 GiB).'."\n"
.'- Step: 1,073,741,824 (1 GiB).', 'type' => 'integer', 'format' => 'int64', 'example' => '10737418240', 'title' => ''],
'FileCountLimit' => ['description' => 'The file count limit of the quota. Valid values:'."\n"
."\n"
.'- Minimum value: 10,000.'."\n"
."\n"
.'- Maximum value: 100,000,000.', 'type' => 'integer', 'format' => 'int64', 'example' => '10000000', 'title' => ''],
],
'title' => '',
'example' => '',
],
'FileCountUsage' => ['description' => 'The number of files used.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''],
'SpaceUsage' => ['description' => 'The capacity usage. Unit: bytes.', 'type' => 'integer', 'format' => 'int64', 'example' => '1024', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => 'The FileSystemId parameter is not specified.'],
],
403 => [
['errorCode' => 'OperationDenied.FilesetNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => 'The file system does not support Fileset.'],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified filesystem does not exist.', 'description' => 'The specified file system does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'Query an agentic space',
'summary' => 'Queries an Agentic space.',
'description' => 'Applicable to agentic-type file systems.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0D****3E\\",\\n \\"AgenticSpace\\": {\\n \\"FileSystemId\\": \\"06229oypxjgox0u****\\",\\n \\"AgenticSpaceId\\": \\"agentic-229oypxjgpau2****\\",\\n \\"Description\\": \\"AgenticSpace Description。\\",\\n \\"FileSystemPath\\": \\"/test/\\",\\n \\"Azone\\": \\"cn-hangzhou-i\\",\\n \\"Status\\": \\"Running\\",\\n \\"CreateTimeUtc\\": \\"2026-06-10T10:08:08Z\\",\\n \\"UpdateTimeUtc\\": \\"2026-06-10T10:08:08Z\\",\\n \\"Quota\\": {\\n \\"SizeLimit\\": 10737418240,\\n \\"FileCountLimit\\": 10000000\\n },\\n \\"FileCountUsage\\": 100,\\n \\"SpaceUsage\\": 1024\\n }\\n}","type":"json"}]',
],
'GetDirectoryOrFileProperties' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '19614',
'abilityTreeNodes' => ['FEATUREnasZ6WBFV'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '31a8e4****', 'title' => ''],
],
[
'name' => 'Path',
'in' => 'query',
'schema' => ['description' => 'The absolute path of the directory or file.'."\n"
."\n"
.'The path must start with a forward slash (/) and must be an existing path in the mount target.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '/pathway/to/folder', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'Entry' => [
'description' => 'The properties of the directory or file.',
'type' => 'object',
'properties' => [
'Type' => ['description' => 'The type of the returned entry.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- File: The entry is a file.'."\n"
."\n"
.'- Directory: The entry is a directory.', 'type' => 'string', 'example' => 'File', 'title' => ''],
'HasInfrequentAccessFile' => ['description' => 'Indicates whether the directory contains an Infrequent Access (IA) file.'."\n"
."\n"
.'This parameter is returned only if Type is set to Directory.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- true: The directory contains at least one IA file.'."\n"
."\n"
.'- false: The directory does not contain IA files.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'MTime' => ['description' => 'The time when the file was last modified.'."\n"
."\n"
.'The time is displayed in the ISO 8601 standard format and is returned in UTC. Format: YYYY-MM-DDThh:mm:ssZ.'."\n"
."\n"
.'This parameter is returned only if Type is set to File.', 'type' => 'string', 'example' => '2021-02-11T10:08:08Z', 'title' => ''],
'ATime' => ['description' => 'The time when the file was last accessed.'."\n"
."\n"
.'The time is displayed in the ISO 8601 standard format and is returned in UTC. Format: YYYY-MM-DDThh:mm:ssZ.'."\n"
."\n"
.'This parameter is returned only if Type is set to File.', 'type' => 'string', 'example' => '2021-02-01T10:08:08Z', 'title' => ''],
'Size' => ['description' => 'The size of the file.'."\n"
."\n"
.'Unit: bytes.'."\n"
."\n"
.'This parameter is returned only if Type is set to File.', 'type' => 'integer', 'format' => 'int64', 'example' => '1024', 'title' => ''],
'CTime' => ['description' => 'The time when the metadata of the file was last modified.'."\n"
."\n"
.'The time is displayed in the ISO 8601 standard format and is returned in UTC. Format: YYYY-MM-DDThh:mm:ssZ.'."\n"
."\n"
.'This parameter is returned only if Type is set to File.', 'type' => 'string', 'example' => '2021-02-11T10:08:10Z', 'title' => ''],
'StorageType' => ['description' => 'The storage type of the file.'."\n"
."\n"
.'This parameter is returned only if Type is set to File.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- Standard: General-purpose NAS file systems'."\n"
."\n"
.'- InfrequentAccess: IA storage medium', 'type' => 'string', 'example' => 'InfrequentAccess', 'title' => ''],
'Name' => ['description' => 'The name of the file or directory.', 'type' => 'string', 'example' => 'file.txt', 'title' => ''],
'RetrieveTime' => ['description' => 'The time when the last data retrieval task was run.'."\n"
."\n"
.'The time is displayed in the ISO 8601 standard format and is returned in UTC. Format: YYYY-MM-DDThh:mm:ssZ.'."\n"
."\n"
.'This parameter is returned only if Type is set to File.', 'type' => 'string', 'example' => '2021-02-11T10:08:08Z', 'title' => ''],
'Inode' => ['description' => 'The inode of the file or directory.', 'type' => 'string', 'example' => '40', 'title' => ''],
'HasArchiveFile' => ['description' => 'Indicates whether the directory contains an archive file.'."\n"
."\n"
.'This parameter is returned only if Type is set to Directory.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- true: The directory contains at least one archive file.'."\n"
."\n"
.'- false: The directory does not contain archive files.', 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'OfflineDuration' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'title' => '', 'example' => ''],
'OfflineUnchangedDuration' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'title' => '', 'example' => ''],
],
'title' => '',
'example' => '',
],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
404 => [
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidParameter.PathNotExist', 'errorMessage' => 'The specified path does not exist.', 'description' => 'The specified path does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'GetDirectoryOrFileProperties',
'summary' => 'Checks if a specified directory contains infrequent access or archive storage files, or if a specified file is an infrequent access or archive storage file.',
'description' => 'This operation is available only for general-purpose NAS file systems.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-03-25T10:51:46.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2021-04-08T08:36:16.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetDirectoryOrFileProperties'],
],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:GetDirectoryOrFileProperties',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Entry\\": {\\n \\"Type\\": \\"File\\",\\n \\"HasInfrequentAccessFile\\": true,\\n \\"MTime\\": \\"2021-02-11T10:08:08Z\\",\\n \\"ATime\\": \\"2021-02-01T10:08:08Z\\",\\n \\"Size\\": 1024,\\n \\"CTime\\": \\"2021-02-11T10:08:10Z\\",\\n \\"StorageType\\": \\"InfrequentAccess\\",\\n \\"Name\\": \\"file.txt\\",\\n \\"RetrieveTime\\": \\"2021-02-11T10:08:08Z\\",\\n \\"Inode\\": \\"40\\",\\n \\"HasArchiveFile\\": false,\\n \\"OfflineDuration\\": 0,\\n \\"OfflineUnchangedDuration\\": 0\\n },\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518948****\\"\\n}","type":"json"}]',
],
'GetFileset' => [
'summary' => 'Queries the information about the created fileset.',
'path' => '',
'methods' => ['get', 'post'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREnasPWYFYN'],
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n"
."\n"
.'* The IDs of CPFS file systems must start with `cpfs-`. Example: cpfs-125487\\*\\*\\*\\*.'."\n"
.'* The IDs of CPFS for Lingjun file systems must start with `bmcpfs-`. Example: bmcpfs-0015\\*\\*\\*\\*.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cpfs-099394bd928c****', 'title' => ''],
],
[
'name' => 'FsetId',
'in' => 'query',
'schema' => ['description' => 'The fileset ID.'."\n"
."\n"
.'> This parameter is required for CPFS file systems.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'fset-1902718ea0ae****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Response information'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'BC7C825C-5F65-4B56-BEF6-98C56C7C****'],
'Data' => [
'description' => 'The response parameters.'."\n",
'type' => 'object',
'properties' => [
'Description' => ['description' => 'The description of the fileset.'."\n", 'type' => 'string', 'example' => 'Description', 'title' => ''],
'FileSystemPath' => ['description' => 'The directory of the fileset in the CPFS file system.'."\n", 'type' => 'string', 'example' => 'pathtoroot/fset/', 'title' => ''],
'FsetId' => ['description' => 'The fileset ID.'."\n"
."\n"
.'> This parameter is required for CPFS file systems.'."\n", 'type' => 'string', 'example' => 'fset-03250e8fe78d****', 'title' => ''],
'Status' => ['description' => 'The fileset status. Valid values:'."\n"
."\n"
.'* CREATING: The fileset is being created.'."\n"
.'* CREATED: The fileset has been created and is running properly.'."\n"
.'* RELEASING: The fileset is being released.'."\n"
.'* RELEASED: The fileset has been deleted.'."\n", 'type' => 'string', 'example' => 'CREATED', 'title' => ''],
'CreateTime' => ['description' => 'The time when the fileset was created.'."\n"
."\n"
.'Return format: `yyyy-MM-dd HH:mm:ss`'."\n", 'type' => 'string', 'example' => '2025-11-21 12:49:25', 'title' => ''],
'UpdateTime' => ['description' => 'The time when the fileset was last updated.'."\n"
."\n"
.'Return format: `yyyy-MM-dd HH:mm:ss`'."\n", 'type' => 'string', 'example' => '2025-11-22 12:49:25', 'title' => ''],
'DeletionProtection' => ['description' => 'Specifies whether the fileset is protected from being released through the console or the [DeleteFileset](~~2402263~~) operation.'."\n"
."\n"
.'* true: Enables release protection. The fileset cannot be released.'."\n"
.'* false (default): Disables release protection. The fileset can be released.'."\n"
."\n"
.'> This parameter can protect filesets only against manual releases, but not against automatic releases.'."\n", 'type' => 'boolean', 'example' => 'false', 'title' => ''],
'FileCountUsage' => ['description' => 'The usage of the file quantity.'."\n"
."\n"
.'> Only CPFS for LINGJUN V2.7.0 and later support this parameter.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1024', 'title' => ''],
'SpaceUsage' => ['description' => 'The capacity usage. Unit: bytes.'."\n"
."\n"
.'> Only CPFS for Lingjun V2.7.0 and later support this parameter.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1024', 'title' => ''],
'Quota' => [
'description' => 'The quota information.'."\n"
."\n"
.'> Only CPFS for Lingjun V2.7.0 and later support this parameter.'."\n",
'type' => 'object',
'properties' => [
'SizeLimit' => ['description' => 'The total quota capacity limit. Unit: bytes.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* Minimum value: 10,737,418,240 (10 GiB).'."\n"
.'* Step size: 1,073,741,824 (1 GiB).'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10,737,418,240', 'title' => ''],
'FileCountLimit' => ['description' => 'The file quantity quota. Valid values:'."\n"
."\n"
.'* Minimum value: 10,000.'."\n"
.'* Maximum value: 10,000,000,000.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10001', 'title' => ''],
],
'title' => '',
'example' => '',
],
'FileSystemId' => ['description' => 'The ID of the file system.'."\n"
."\n"
.'* The IDs of CPFS file systems must start with `cpfs-`. Example: cpfs-125487\\*\\*\\*\\*.'."\n"
.'* The IDs of CPFS for Lingjun file systems must start with `bmcpfs-`. Example: bmcpfs-0015\\*\\*\\*\\*.'."\n", 'type' => 'string', 'example' => 'cpfs-0244729a8ef8****', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
],
403 => [
['errorCode' => 'OperationDenied.FilesetNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified filesystem does not exist.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'GetFileset',
'description' => '仅CPFS 2.2.0和CPFS智算版2.7.0及以上版本支持Fileset。您可以在控制台文件系统详情页面查看版本信息。',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:GetFileset',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BC7C825C-5F65-4B56-BEF6-98C56C7C****\\",\\n \\"Data\\": {\\n \\"Description\\": \\"Description\\",\\n \\"FileSystemPath\\": \\"pathtoroot/fset/\\",\\n \\"FsetId\\": \\"fset-03250e8fe78d****\\",\\n \\"Status\\": \\"CREATED\\",\\n \\"CreateTime\\": \\"2025-11-21 12:49:25\\",\\n \\"UpdateTime\\": \\"2025-11-22 12:49:25\\",\\n \\"DeletionProtection\\": false,\\n \\"FileCountUsage\\": 1024,\\n \\"SpaceUsage\\": 1024,\\n \\"Quota\\": {\\n \\"SizeLimit\\": 0,\\n \\"FileCountLimit\\": 10001\\n },\\n \\"FileSystemId\\": \\"cpfs-0244729a8ef8****\\"\\n }\\n}","type":"json"}]',
'translator' => 'manual',
],
'GetProtocolMountTarget' => [
'summary' => 'Query the export directory information of the protocol service',
'methods' => ['get', 'post'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '124960',
'abilityTreeNodes' => ['FEATUREnasQ7YV89', 'FEATUREnas0GUIX5'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'NextToken',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'M18xMA==', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => ['description' => 'The number of results for each query.'."\n"
."\n"
.'Valid values: 10 to 100. Default value: 20.'."\n", 'type' => 'integer', 'format' => 'int64', 'maximum' => '100', 'minimum' => '10', 'default' => '20', 'required' => false, 'example' => '20', 'title' => ''],
],
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n"
."\n"
.'* The IDs of CPFS file systems must start with `cpfs-`. Example: cpfs-125487\\*\\*\\*\\*.'."\n"
.'* The IDs of CPFS for Lingjun file systems must start with `bmcpfs-`. Example: bmcpfs-0015\\*\\*\\*\\*.'."\n"
.'* The IDs of CPFS SE file systems must start with `cpfsse-`. Example: cpfsse-022c71b134\\*\\*\\*\\*.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cpfs-099394bd928c****', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'A client-generated, case-sensitive token that you can use to ensure the idempotency of the request. The token must be unique for each request.'."\n"
."\n"
.'It must be an ASCII string with a maximum length of 64 characters. For more information, see [How to ensure idempotence](~~25693~~).'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'maxLength' => 64, 'minLength' => 1, 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'ProtocolServiceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the protocol service.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ptc-197ed6a00f2b****', 'title' => ''],
],
[
'name' => 'ExportId',
'in' => 'query',
'schema' => ['description' => 'The ID of the export directory for the protocol service.'."\n", 'type' => 'string', 'required' => true, 'example' => 'exp-19abf5beab8d****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '6299428C-3861-435D-AE54-9B330A00****'],
'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results.'."\n", 'type' => 'string', 'example' => 'M18xMA==', 'title' => ''],
'ProtocolMountTarget' => [
'description' => 'Information of the export directory for the protocol service'."\n",
'type' => 'object',
'properties' => [
'ExportId' => ['description' => 'The ID of the export directory.'."\n", 'type' => 'string', 'example' => 'exp-19abf5beab8d****', 'title' => ''],
'ProtocolMountTargetDomain' => ['description' => 'The domain name of the export directory for the protocol service.'."\n", 'type' => 'string', 'example' => 'cpfs-0229cb80bcc0****-x******.cn-*****.cpfs.aliyuncs.com', 'title' => ''],
'ProtocolType' => ['description' => 'The protocol type of the file system.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* NFS: Network File System (NFS)'."\n"
.'* SMB: Server Message Block (SMB)'."\n"
.'* cpfs: The protocol type supported by the CPFS file system.'."\n", 'type' => 'string', 'example' => 'NFS', 'title' => ''],
'VpcId' => ['description' => 'The VPC ID of the export directory.'."\n", 'type' => 'string', 'example' => 'vpc-bp1h5mxoqfuo3xurf****', 'title' => ''],
'VSwitchId' => ['description' => 'The vSwitch ID of the export directory.'."\n", 'type' => 'string', 'example' => 'vsw-8vb2qjnxs6hiobzve****', 'title' => ''],
'VSwitchIds' => [
'description' => 'The vSwitch ID list of the export directory.'."\n",
'type' => 'array',
'items' => ['description' => 'The vSwitch ID of the export directory.'."\n", 'type' => 'string', 'example' => 'vsw-bp1q3ro8erikjjrb2****', 'title' => ''],
'title' => '',
'example' => '',
],
'FsetId' => ['description' => 'The fileset ID.'."\n", 'type' => 'string', 'example' => 'fset-299b4ca04de8****', 'title' => ''],
'Path' => ['description' => 'The path of the CPFS directory that was queried.'."\n"
."\n"
.'Format:'."\n"
."\n"
.'* Must be 1 to 1,024 characters in length.'."\n"
.'* Must be encoded in UTF-8.'."\n"
.'* Must start and end with a forward slash (/). The root directory is `/`.'."\n", 'type' => 'string', 'example' => '/', 'title' => ''],
'AccessGroupName' => ['description' => 'The name of the permission group.'."\n"
."\n"
.'Default permission group: DEFAULT\\\\_VPC\\\\_GROUP\\\\_NAME'."\n", 'type' => 'string', 'example' => 'DEFAULT_VPC_GROUP_NAME', 'title' => ''],
'CreateTime' => ['description' => 'The time when the export directory was created. Return format: yyyy-MM-dd HH:mm:ss'."\n", 'type' => 'string', 'example' => '2025-12-22 17:49:25', 'title' => ''],
'Status' => ['description' => 'The status of the export directory. Valid values:'."\n"
."\n"
.'* CREATING: The export directory is being created.'."\n"
.'* AVAILABLE : The export directory is available.'."\n"
.'* MODIFYING: The export directory is being modified.'."\n"
.'* DELETING: The export directory is being deleted.'."\n"
.'* STOPPING: The export directory is being stopped.'."\n", 'type' => 'string', 'example' => 'AVAILABLE', 'title' => ''],
'Description' => ['description' => 'The description of the export directory.'."\n", 'type' => 'string', 'example' => '此协议服务导出的描述。', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingExportId', 'errorMessage' => 'ExportId is mandatory for this action.', 'description' => ''],
],
404 => [
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'Resource.NotFound', 'errorMessage' => 'The specified resource does not exist.', 'description' => 'The specified resource does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'GetProtocolMountTarget',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:GetProtocolMountTarget',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6299428C-3861-435D-AE54-9B330A00****\\",\\n \\"NextToken\\": \\"M18xMA==\\",\\n \\"ProtocolMountTarget\\": {\\n \\"ExportId\\": \\"exp-19abf5beab8d****\\",\\n \\"ProtocolMountTargetDomain\\": \\"cpfs-0229cb80bcc0****-x******.cn-*****.cpfs.aliyuncs.com\\",\\n \\"ProtocolType\\": \\"NFS\\",\\n \\"VpcId\\": \\"vpc-bp1h5mxoqfuo3xurf****\\",\\n \\"VSwitchId\\": \\"vsw-8vb2qjnxs6hiobzve****\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1q3ro8erikjjrb2****\\"\\n ],\\n \\"FsetId\\": \\"fset-299b4ca04de8****\\",\\n \\"Path\\": \\"/\\",\\n \\"AccessGroupName\\": \\"DEFAULT_VPC_GROUP_NAME\\",\\n \\"CreateTime\\": \\"2025-12-22 17:49:25\\",\\n \\"Status\\": \\"AVAILABLE\\",\\n \\"Description\\": \\"此协议服务导出的描述。\\"\\n }\\n}","type":"json"}]',
'translator' => 'manual',
],
'GetRecycleBinAttribute' => [
'summary' => 'Queries the recycle bin configurations of a General-purpose NAS file system.',
'methods' => ['get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '14459',
'abilityTreeNodes' => ['FEATUREnas0A1PB1'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1ca404****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '9E15E394-38A6-457A-A62A-D9797C9A****'],
'RecycleBinAttribute' => [
'description' => 'The description of the recycle bin.'."\n",
'type' => 'object',
'properties' => [
'Size' => ['description' => 'The size of the files that are dumped to the recycle bin. Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''],
'SecondarySize' => ['description' => 'The size of the Infrequent Access (IA) data that is dumped to the recycle bin. Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''],
'Status' => ['description' => 'The status of the recycle bin.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* Enable: The recycle bin is enabled.'."\n"
.'* Disable: The recycle bin is disabled.'."\n", 'type' => 'string', 'example' => 'Disable', 'title' => ''],
'ReservedDays' => ['description' => 'The retention period of the files in the recycle bin. Unit: days.'."\n"
."\n"
.'If the recycle bin is disabled, 0 is returned for this parameter.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''],
'EnableTime' => ['description' => 'The time at which the recycle bin was enabled.'."\n", 'type' => 'string', 'example' => '2021-05-30T10:08:08Z', 'title' => ''],
'ArchiveSize' => ['description' => 'The size of the archived data that is dumped to the recycle bin. Unit: bytes.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1611661312', 'title' => ''],
],
'title' => '',
'example' => '',
],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
],
404 => [
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9E15E394-38A6-457A-A62A-D9797C9A****\\",\\n \\"RecycleBinAttribute\\": {\\n \\"Size\\": 100,\\n \\"SecondarySize\\": 100,\\n \\"Status\\": \\"Disable\\",\\n \\"ReservedDays\\": 0,\\n \\"EnableTime\\": \\"2021-05-30T10:08:08Z\\",\\n \\"ArchiveSize\\": 1611661312\\n }\\n}","errorExample":""},{"type":"xml","example":"\\n 9E15E394-38A6-457A-A62A-D9797C9A****\\n \\n 100\\n 100\\n Disable\\n 0\\n 2021-05-30T10:08:08Z\\n \\n","errorExample":""}]',
'title' => 'GetRecycleBinAttribute',
'description' => 'Only General-purpose File Storage NAS (NAS) file systems support this operation.',
'changeSet' => [
['createdAt' => '2024-08-14T02:36:48.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2021-06-02T07:10:56.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2021-06-02T07:10:56.000Z', 'description' => 'Response parameters changed'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:GetRecycleBinAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetRecycleBinAttribute'],
],
],
],
'ListAccessPoints' => [
'summary' => '',
'methods' => ['get', 'post'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'list',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '189598',
'abilityTreeNodes' => ['FEATUREnas0MLWQI', 'FEATUREnas3DACY7', 'FEATUREnas71NBOZ', 'FEATUREnas5IJRRZ'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['type' => 'string', 'required' => true, 'description' => '', 'example' => '0913nx15amuix9a****', 'title' => ''],
],
[
'name' => 'Filters',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Name' => [
'type' => 'string',
'example' => 'AccessPointId',
'enum' => ['AccessPointId', 'AgenticSpaceId', 'AccessGroup'],
'title' => '',
'description' => '',
'required' => false,
'enumValueTitles' => ['AccessGroup' => '权限组名称', 'AccessPointId' => '接入点ID', 'AgenticSpaceId' => 'Agentic空间ID'],
],
'Value' => ['type' => 'string', 'example' => 'TestValue', 'title' => '', 'description' => '', 'required' => false],
],
'title' => '',
'description' => '',
'required' => false,
'example' => '',
],
'maxItems' => 21,
'title' => '',
'description' => '',
'required' => false,
'example' => '',
],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'example' => 'MTY4NzcxOTcwMjAzMDk2Nzc0MyM4MDM4****', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'description' => '', 'example' => '10', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['type' => 'string', 'required' => true, 'title' => '', 'description' => '', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****'],
'AccessPoints' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'ARN' => ['type' => 'string', 'description' => '', 'example' => 'acs:nas:cn-hangzhou:178321033379****:accesspoint/ap-ie15yd****', 'title' => ''],
'AccessGroup' => ['type' => 'string', 'description' => '', 'example' => 'DEFAULT_VPC_GROUP_NAME', 'title' => ''],
'AccessPointId' => ['type' => 'string', 'description' => '', 'example' => 'ap-ie15y*****'."\n", 'title' => ''],
'AccessPointName' => ['type' => 'string', 'description' => '', 'example' => 'test', 'title' => ''],
'CreateTime' => ['type' => 'string', 'description' => '', 'example' => '2026-03-28T06:32:14Z', 'title' => ''],
'DomainName' => ['type' => 'string', 'description' => '', 'example' => 'ap-ie15ydanoz.001014****-w****.cn-hangzhou.nas.aliyuncs.com', 'title' => ''],
'EnabledRam' => ['type' => 'boolean', 'description' => '', 'example' => 'false', 'title' => ''],
'FileSystemId' => ['type' => 'string', 'description' => '', 'example' => '091yj49baxscll2****', 'title' => ''],
'ModifyTime' => ['type' => 'string', 'description' => '', 'example' => '2026-06-24T02:10:23Z', 'title' => ''],
'PosixUser' => [
'type' => 'object',
'properties' => [
'PosixGroupId' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'example' => '10', 'title' => ''],
'PosixUserId' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'example' => '156', 'title' => ''],
'PosixSecondaryGroupIds' => [
'type' => 'array',
'items' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'example' => '[100,123]', 'title' => ''],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
'RootPath' => ['type' => 'string', 'description' => '', 'example' => '/', 'title' => ''],
'RootPathPermission' => [
'type' => 'object',
'properties' => [
'OwnerGroupId' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'example' => '12', 'title' => ''],
'OwnerUserId' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'example' => '1', 'title' => ''],
'Permission' => ['type' => 'string', 'description' => '', 'example' => '0755', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'RootPathStatus' => ['type' => 'string', 'description' => '', 'example' => '2', 'title' => ''],
'Status' => ['type' => 'string', 'description' => '', 'example' => 'Active', 'title' => ''],
'VSwitchId' => ['type' => 'string', 'description' => '', 'example' => 'vsw-2zevmwkwyztjuoffg****'."\n", 'title' => ''],
'VpcId' => ['type' => 'string', 'description' => '', 'example' => 'vpc-2zesj9afh3y518k9o****'."\n", 'title' => ''],
'Tags' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => ['type' => 'string', 'example' => 'TestKey', 'title' => '', 'description' => ''],
'Value' => ['type' => 'string', 'example' => 'TestValue', 'title' => '', 'description' => ''],
],
'title' => '',
'description' => '',
'example' => '',
],
'title' => '',
'description' => '',
'example' => '',
],
'AgenticSpaceId' => ['type' => 'string', 'description' => '', 'example' => 'agentic-229oypxjgpau2****', 'title' => ''],
'CreateTimeUtc' => ['type' => 'string', 'description' => '', 'example' => '2026-06-10T10:08:08Z', 'title' => ''],
'ModifyTimeUtc' => ['type' => 'string', 'description' => '', 'example' => '2026-06-10T10:08:08Z', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'description' => '',
'title' => '',
'example' => '',
],
'NextToken' => ['type' => 'string', 'description' => '', 'example' => '52frCAAAAABoZS90cm****==', 'title' => ''],
'TotalCount' => ['type' => 'integer', 'format' => 'int32', 'description' => '', 'example' => '20', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidFilesystemType.NotSupport', 'errorMessage' => 'The API operation does not support the file system type.', 'description' => 'The API operation does not support the file system type.'],
],
403 => [
['errorCode' => 'InvalidProtocolType.NotSupported', 'errorMessage' => 'The specified protocol type does not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidAccessGroup.NotFound', 'errorMessage' => 'The specified AccessGroup does not exist.', 'description' => 'The permission group that you specified does not exist or has been deleted.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => '',
'description' => '仅通用型 NAS NFS 协议文件系统支持。',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\",\\n \\"AccessPoints\\": [\\n {\\n \\"ARN\\": \\"acs:nas:cn-hangzhou:178321033379****:accesspoint/ap-ie15yd****\\",\\n \\"AccessGroup\\": \\"DEFAULT_VPC_GROUP_NAME\\",\\n \\"AccessPointId\\": \\"ap-ie15y*****\\\\n\\",\\n \\"AccessPointName\\": \\"test\\",\\n \\"CreateTime\\": \\"2026-03-28T06:32:14Z\\",\\n \\"DomainName\\": \\"ap-ie15ydanoz.001014****-w****.cn-hangzhou.nas.aliyuncs.com\\",\\n \\"EnabledRam\\": false,\\n \\"FileSystemId\\": \\"091yj49baxscll2****\\",\\n \\"ModifyTime\\": \\"2026-06-24T02:10:23Z\\",\\n \\"PosixUser\\": {\\n \\"PosixGroupId\\": 10,\\n \\"PosixUserId\\": 156,\\n \\"PosixSecondaryGroupIds\\": [\\n 0\\n ]\\n },\\n \\"RootPath\\": \\"/\\",\\n \\"RootPathPermission\\": {\\n \\"OwnerGroupId\\": 12,\\n \\"OwnerUserId\\": 1,\\n \\"Permission\\": \\"0755\\"\\n },\\n \\"RootPathStatus\\": \\"2\\",\\n \\"Status\\": \\"Active\\",\\n \\"VSwitchId\\": \\"vsw-2zevmwkwyztjuoffg****\\\\n\\",\\n \\"VpcId\\": \\"vpc-2zesj9afh3y518k9o****\\\\n\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"TestKey\\",\\n \\"Value\\": \\"TestValue\\"\\n }\\n ],\\n \\"AgenticSpaceId\\": \\"agentic-229oypxjgpau2****\\",\\n \\"CreateTimeUtc\\": \\"2026-06-10T10:08:08Z\\",\\n \\"ModifyTimeUtc\\": \\"2026-06-10T10:08:08Z\\"\\n }\\n ],\\n \\"NextToken\\": \\"52frCAAAAABoZS90cm****==\\",\\n \\"TotalCount\\": 20\\n}","type":"json"}]',
],
'ListDirectoriesAndFiles' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '19613',
'abilityTreeNodes' => ['FEATUREnas0A1PB1', 'FEATUREnasZ6WBFV'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '31a8e4****', 'title' => ''],
],
[
'name' => 'Path',
'in' => 'query',
'schema' => ['description' => 'The absolute path of the directory.'."\n"
."\n"
.'The path must start with a forward slash (/) and exist on the mount target.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '/pathway/to/folder', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'A continuation token used to retrieve the next page of results when the response is truncated.', 'type' => 'string', 'required' => false, 'example' => 'TGlzdFJlc291cmNlU****mVzJjE1MTI2NjY4NzY5MTAzOTEmMiZORnI4NDhVeEtrUT0= ', 'title' => ''],
],
[
'name' => 'StorageType',
'in' => 'query',
'schema' => [
'description' => 'The storage type.'."\n"
."\n"
.'- `InfrequentAccess`: infrequent access.'."\n"
."\n"
.'- `Archive`: archive storage.'."\n"
."\n"
.'- `All`: all storage types.'."\n"
."\n"
.'> If you set `StorageType` to `All`, you must set `DirectoryOnly` to `true`.',
'type' => 'string',
'required' => true,
'docRequired' => true,
'enum' => ['InfrequentAccess', 'All', 'Archive'],
'example' => 'InfrequentAccess',
'title' => '',
],
],
[
'name' => 'DirectoryOnly',
'in' => 'query',
'schema' => ['description' => 'Whether to list only directories.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- `false` (default): Lists both directories and files.'."\n"
."\n"
.'- `true`: Lists only directories.'."\n"
."\n"
.'> If you set `StorageType` to `All`, you must set `DirectoryOnly` to `true`.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The maximum number of directories or files to return per page.'."\n"
."\n"
.'Value range: 10–128'."\n"
."\n"
.'Default value: 100', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '128', 'minimum' => '10', 'default' => '100', 'example' => '100', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'NextToken' => ['description' => 'The pagination token. If the response is truncated, include this token in the next request to retrieve the next page of results.', 'type' => 'string', 'example' => 'TGlzdFJlc291cmNlU****mVzJjE1MTI2NjY4NzY5MTAzOTEmMiZORnI4NDhVeEtrUT0=', 'title' => ''],
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****', 'title' => ''],
'Entries' => [
'description' => 'The list of directory and file entries.',
'type' => 'array',
'items' => [
'description' => 'A directory or file entry.',
'type' => 'object',
'properties' => [
'Type' => ['description' => 'The type of the entry.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- `File`: a file'."\n"
."\n"
.'- `Directory`: a directory', 'type' => 'string', 'example' => 'File', 'title' => ''],
'HasInfrequentAccessFile' => ['description' => 'Specifies whether the directory contains any infrequent access files.'."\n"
."\n"
.'This parameter is returned only when `Type` is `Directory`.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- `true`: Yes'."\n"
."\n"
.'- `false`: No', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
'Ctime' => ['description' => 'The metadata change time (ctime) of the file.'."\n"
."\n"
.'The time is in the ISO 8601 format: `yyyy-MM-ddTHH:mm:ssZ`.'."\n"
."\n"
.'This parameter is returned only when `Type` is `File`.', 'type' => 'string', 'example' => '2021-02-11T10:08:10Z', 'title' => ''],
'Mtime' => ['description' => 'The last modification time (mtime) of the file.'."\n"
."\n"
.'The time is in the ISO 8601 format: `yyyy-MM-ddTHH:mm:ssZ`.'."\n"
."\n"
.'This parameter is returned only when `Type` is `File`.', 'type' => 'string', 'example' => '2021-02-11T10:08:08Z', 'title' => ''],
'Size' => ['description' => 'The size of the file, in bytes.'."\n"
."\n"
.'This parameter is returned only when `Type` is `File`.'."\n"
."\n"
.'This value is returned and is meaningful only when Type is File.', 'type' => 'integer', 'format' => 'int64', 'example' => '1024', 'title' => ''],
'StorageType' => ['description' => 'The storage class of the file.'."\n"
."\n"
.'This parameter is returned only when `Type` is `File`.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- `InfrequentAccess`'."\n"
."\n"
.'- `Archive`', 'type' => 'string', 'example' => 'InfrequentAccess', 'title' => ''],
'Atime' => ['description' => 'The last access time (atime) of the file.'."\n"
."\n"
.'The time is in the ISO 8601 format: `yyyy-MM-ddTHH:mm:ssZ`.'."\n"
."\n"
.'This parameter is returned only when `Type` is `File`.', 'type' => 'string', 'example' => '2021-02-01T10:08:08Z', 'title' => ''],
'Name' => ['description' => 'The name of the file or directory.', 'type' => 'string', 'example' => 'file.txt', 'title' => ''],
'RetrieveTime' => ['description' => 'The last data retrieval time.'."\n"
."\n"
.'The time is in the ISO 8601 format: `yyyy-MM-ddTHH:mm:ssZ`.'."\n"
."\n"
.'This parameter is returned only when `Type` is `File`.', 'type' => 'string', 'example' => '2021-02-11T10:08:08Z', 'title' => ''],
'Inode' => ['description' => 'The inode of the file or directory.', 'type' => 'string', 'example' => '66', 'title' => ''],
'FileId' => ['description' => 'The ID of the file or directory.', 'type' => 'string', 'example' => '66', 'title' => ''],
'Owner' => ['description' => 'The owner of the file or directory. This parameter is returned only when `ProtocolType` is `SMB` and access control is enabled.', 'type' => 'string', 'example' => '37862c****', 'title' => ''],
'HasArchiveFile' => ['description' => 'Specifies whether the directory contains any archive files.'."\n"
."\n"
.'This parameter is returned only when `Type` is `Directory`.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- `true`: Yes'."\n"
."\n"
.'- `false`: No', 'type' => 'string', 'example' => 'true', 'title' => ''],
'OfflineDuration' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'title' => '', 'example' => ''],
'OfflineUnchangedDuration' => ['type' => 'integer', 'format' => 'int64', 'description' => '', 'title' => '', 'example' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationDenied.InvalidNextToken', 'errorMessage' => 'The specified NextToken is invalid.', 'description' => 'The specified NextToken is invalid.'],
],
404 => [
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidParameter.PathNotExist', 'errorMessage' => 'The specified path does not exist.', 'description' => 'The specified path does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'ListDirectoriesAndFiles',
'summary' => 'Lists Infrequent Access files and the subdirectories that contain them from a specified directory on a General-purpose NAS file system.',
'description' => 'Only general-purpose NAS file systems support this feature.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-03-25T10:51:46.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2022-07-15T06:43:28.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2021-04-08T08:36:16.000Z', 'description' => 'OpenAPI offline'],
['createdAt' => '2021-04-08T08:36:16.000Z', 'description' => 'Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDirectoriesAndFiles'],
],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:ListDirectoriesAndFiles',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"TGlzdFJlc291cmNlU****mVzJjE1MTI2NjY4NzY5MTAzOTEmMiZORnI4NDhVeEtrUT0=\\",\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518948****\\",\\n \\"Entries\\": [\\n {\\n \\"Type\\": \\"File\\",\\n \\"HasInfrequentAccessFile\\": true,\\n \\"Ctime\\": \\"2021-02-11T10:08:10Z\\",\\n \\"Mtime\\": \\"2021-02-11T10:08:08Z\\",\\n \\"Size\\": 1024,\\n \\"StorageType\\": \\"InfrequentAccess\\",\\n \\"Atime\\": \\"2021-02-01T10:08:08Z\\",\\n \\"Name\\": \\"file.txt\\",\\n \\"RetrieveTime\\": \\"2021-02-11T10:08:08Z\\",\\n \\"Inode\\": \\"66\\",\\n \\"FileId\\": \\"66\\",\\n \\"Owner\\": \\"37862c****\\",\\n \\"HasArchiveFile\\": \\"true\\",\\n \\"OfflineDuration\\": 0,\\n \\"OfflineUnchangedDuration\\": 0\\n }\\n ]\\n}","type":"json"}]',
],
'ListLifecycleRetrieveJobs' => [
'summary' => 'Queries data retrieval tasks.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '19612',
'abilityTreeNodes' => ['FEATUREnas7AL8PW', 'FEATUREnasEER7AI', 'FEATUREnasZ6WBFV'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries to return on each page.'."\n"
."\n"
.'Valid values: 1 to 100.'."\n"
."\n"
.'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The number of the page to return.'."\n"
."\n"
.'Pages start from page 1. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''],
],
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => false, 'example' => '31a8e4****', 'title' => ''],
],
[
'name' => 'Status',
'in' => 'query',
'schema' => [
'description' => 'The status of the data retrieval task. Valid values:'."\n"
."\n"
.'* active: The task is running.'."\n"
.'* canceled: The task is canceled.'."\n"
.'* completed: The task is completed.'."\n"
.'* failed: The task has failed.'."\n",
'type' => 'string',
'required' => false,
'example' => 'completed',
'default' => '',
'enum' => ['active', 'canceled', 'completed', 'failed'],
'title' => '',
],
],
[
'name' => 'StorageType',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => [
'description' => 'The storage class.'."\n"
."\n"
.'* InfrequentAccess: the Infrequent Access (IA) storage class.'."\n"
.'* Archive: the Archive storage class.'."\n"
."\n"
.'> If the StorageType parameter is not specified, data retrieval tasks of all types are returned.'."\n",
'type' => 'string',
'required' => false,
'example' => 'InfrequentAccess',
'enum' => ['InfrequentAccess', 'Archive'],
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'TotalCount' => ['description' => 'The total number of data retrieval tasks.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'BC7C825C-5F65-4B56-BEF6-98C56C7C****', 'title' => ''],
'PageSize' => ['description' => 'The number of entries returned per page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''],
'PageNumber' => ['description' => 'The page number of the returned page.'."\n", 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''],
'LifecycleRetrieveJobs' => [
'description' => 'The details about the data retrieval tasks.'."\n",
'type' => 'array',
'items' => [
'description' => '',
'type' => 'object',
'properties' => [
'FileSystemId' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'example' => '31a8e4****', 'title' => ''],
'Status' => ['description' => 'The status of the data retrieval task. Valid values:'."\n"
."\n"
.'* active: The task is running.'."\n"
.'* canceled: The task is canceled.'."\n"
.'* completed: The task is completed.'."\n"
.'* failed: The task has failed.'."\n", 'type' => 'string', 'example' => 'completed', 'title' => ''],
'DiscoveredFileCount' => ['description' => 'The total number of files that are read in the data retrieval task.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''],
'UpdateTime' => ['description' => 'The time when the task was updated.'."\n"
."\n"
.'The time follows the ISO 8601 standard in the `yyyy-MM-ddTHH:mm:ssZ` format.'."\n", 'type' => 'string', 'example' => '2021-02-30T11:08:08Z', 'title' => ''],
'Paths' => [
'description' => 'The execution path of the data retrieval task.'."\n",
'type' => 'array',
'items' => ['description' => 'The directories or files that are retrieved.'."\n"
."\n"
.'Each path starts with a forward slash (/) and exists in the mount target.'."\n", 'type' => 'string', 'example' => '["/pathway/to/folder","/pathway/to/folder","/pathway/to/folder"]', 'title' => ''],
'title' => '',
'example' => '',
],
'RetrievedFileCount' => ['description' => 'The total number of files that are retrieved.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '80', 'title' => ''],
'JobId' => ['description' => 'The ID of the data retrieval task.'."\n", 'type' => 'string', 'example' => 'lrj-nfstest-ia-160****853-hshvw', 'title' => ''],
'CreateTime' => ['description' => 'The time when the task was created.'."\n"
."\n"
.'The time follows the ISO 8601 standard in the `yyyy-MM-ddTHH:mm:ssZ` format.'."\n", 'type' => 'string', 'example' => '2021-02-30T10:08:08Z', 'title' => ''],
'StorageType' => ['description' => 'The storage class.'."\n"
."\n"
.'* InfrequentAccess: the IA storage class.'."\n"
.'* Archive: the Archive storage class.'."\n", 'type' => 'string', 'example' => 'InfrequentAccess', 'title' => ''],
],
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
404 => [
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 10,\\n \\"RequestId\\": \\"BC7C825C-5F65-4B56-BEF6-98C56C7C****\\",\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"LifecycleRetrieveJobs\\": [\\n {\\n \\"FileSystemId\\": \\"31a8e4****\\",\\n \\"Status\\": \\"completed\\",\\n \\"DiscoveredFileCount\\": 100,\\n \\"UpdateTime\\": \\"2021-02-30T11:08:08Z\\",\\n \\"Paths\\": [\\n \\"[\\\\\\"/pathway/to/folder\\\\\\",\\\\\\"/pathway/to/folder\\\\\\",\\\\\\"/pathway/to/folder\\\\\\"]\\"\\n ],\\n \\"RetrievedFileCount\\": 80,\\n \\"JobId\\": \\"lrj-nfstest-ia-160****853-hshvw\\",\\n \\"CreateTime\\": \\"2021-02-30T10:08:08Z\\",\\n \\"StorageType\\": \\"InfrequentAccess\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 10\\n BC7C825C-5F65-4B56-BEF6-98C56C7C****\\n 10\\n 1\\n \\n 31a8e4****\\n completed\\n 100\\n 2021-02-30T11:08:08Z\\n [\\"/pathway/to/folder\\",\\"/pathway/to/folder\\",\\"/pathway/to/folder\\"]\\n 80\\n lrj-nfstest-ia-160****853-hshvw\\n 2021-02-30T10:08:08Z\\n \\n","errorExample":""}]',
'title' => 'ListLifecycleRetrieveJobs',
'description' => 'Only General-purpose NAS file systems support this operation.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-03-25T11:38:01.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2021-04-08T08:36:16.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListLifecycleRetrieveJobs'],
],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:ListLifecycleRetrieveJobs',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
],
'ListRecentlyRecycledDirectories' => [
'summary' => 'Queries the directories that are recently deleted.',
'methods' => ['get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '14465',
'abilityTreeNodes' => ['FEATUREnasI92PYN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1ca404****', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request.'."\n"
."\n"
.'If not all directories are returned in a query, the return value of the NextToken parameter is not empty. In this case, you can specify a valid value for the NextToken parameter to continue the query.'."\n", 'type' => 'string', 'required' => false, 'example' => '1256****25', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of directories to return for each query.'."\n"
."\n"
.'Valid values: 10 to 1000.'."\n"
."\n"
.'Default value: 100.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '1000', 'minimum' => '10', 'example' => '100', 'default' => '100', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '9E15E394-38A6-457A-A62A-D9797C9A****'],
'NextToken' => ['title' => 'Id of the request', 'description' => 'A pagination token.'."\n"
."\n"
.'If not all directories are returned in a query, the return value of the NextToken parameter is not empty. In this case, you can specify a valid value for the NextToken parameter to continue the query.'."\n", 'type' => 'string', 'example' => '1256****25'],
'Entries' => [
'description' => 'The information about the directories that are recently deleted.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'FileId' => ['description' => 'The ID of the directory.'."\n", 'type' => 'string', 'example' => '04***08', 'title' => ''],
'Path' => ['description' => 'The absolute path to the directory.'."\n", 'type' => 'string', 'example' => '/a/b', 'title' => ''],
'Name' => ['description' => 'The name of the directory.'."\n", 'type' => 'string', 'example' => 'b', 'title' => ''],
'LastDeleteTime' => ['description' => 'The time when the directory was last deleted.'."\n", 'type' => 'string', 'example' => '2021-05-30T10:08:08Z', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', 'errorMessage' => 'KMS is not authorized.', 'description' => 'KMS is not authorized.'],
['errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', 'errorMessage' => 'The CMK needs to be enabled.', 'description' => 'The CMK needs to be enabled.'],
],
404 => [
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidParameter.InvalidNextToken', 'errorMessage' => 'The specified NextToken is invaild.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9E15E394-38A6-457A-A62A-D9797C9A****\\",\\n \\"NextToken\\": \\"1256****25\\",\\n \\"Entries\\": [\\n {\\n \\"FileId\\": \\"04***08\\",\\n \\"Path\\": \\"/a/b\\",\\n \\"Name\\": \\"b\\",\\n \\"LastDeleteTime\\": \\"2021-05-30T10:08:08Z\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"\\n 9E15E394-38A6-457A-A62A-D9797C9A****\\n 1256****25\\n \\n 04***08\\n /a/b\\n b\\n 2021-05-30T10:08:08Z\\n \\n","errorExample":""}]',
'title' => 'ListRecentlyRecycledDirectories',
'description' => 'Only General-purpose NAS file systems support this operation.'."\n",
'changeSet' => [
['createdAt' => '2021-06-02T07:10:56.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListRecentlyRecycledDirectories'],
],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:ListRecentlyRecycledDirectories',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
],
'ListRecycleBinJobs' => [
'summary' => 'Queries the jobs of the recycle bin.',
'methods' => ['get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '14463',
'abilityTreeNodes' => ['FEATUREnasI92PYN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1ca404****', 'title' => ''],
],
[
'name' => 'JobId',
'in' => 'query',
'schema' => ['description' => 'The job ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'rb-15****ed-r-1625****2441', 'title' => ''],
],
[
'name' => 'PageSize',
'in' => 'query',
'schema' => ['description' => 'The number of entries per page.'."\n"
."\n"
.'Valid values: 1 to 100.'."\n"
."\n"
.'Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'example' => '10', 'default' => '10', 'title' => ''],
],
[
'name' => 'PageNumber',
'in' => 'query',
'schema' => ['description' => 'The page number.'."\n"
."\n"
.'Pages start from page 1. Default value: 1.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'minimum' => '1', 'example' => '1', 'default' => '1', 'title' => ''],
],
[
'name' => 'Status',
'in' => 'query',
'schema' => [
'description' => 'The job status. Valid values:'."\n"
."\n"
.'* Running: The job is running.'."\n"
.'* Defragmenting: The job is defragmenting data.'."\n"
.'* PartialSuccess: The job is partially completed.'."\n"
.'* Success: The job is completed.'."\n"
.'* Fail: The job failed.'."\n"
.'* Cancelled: The job is canceled.'."\n"
.'* all (default)'."\n",
'type' => 'string',
'required' => false,
'example' => 'All',
'default' => 'All',
'enum' => ['Running', 'Defragmenting', 'PartialSuccess', 'Success', 'Fail', 'Cancelled', 'All'],
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '9E15E394-38A6-457A-A62A-D9797C9A****'],
'TotalCount' => ['description' => 'The total number of jobs.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
'PageNumber' => ['description' => 'The page number.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''],
'PageSize' => ['description' => 'The number of jobs returned per page.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''],
'Jobs' => [
'description' => 'The information about the jobs of the recycle bin.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Id' => ['description' => 'The job ID.'."\n", 'type' => 'string', 'example' => '8C****C54', 'title' => ''],
'Type' => ['description' => 'The type of the job. Valid values:'."\n"
."\n"
.'* Restore: a file restoration job'."\n"
.'* Delete: a file deletion job'."\n", 'type' => 'string', 'example' => 'Restore', 'title' => ''],
'FileId' => ['description' => 'The ID of the file or directory in the job.'."\n", 'type' => 'string', 'example' => '04***08', 'title' => ''],
'Status' => ['description' => 'The status of the job. Valid values:'."\n"
."\n"
.'* Running: The job is running.'."\n"
.'* Defragmenting: The job is defragmenting data.'."\n"
.'* PartialSuccess: The job is partially completed.'."\n"
.'* Success: The job is completed.'."\n"
.'* Fail: The job failed.'."\n"
.'* Cancelled: The job is canceled.', 'type' => 'string', 'example' => 'Fail', 'title' => ''],
'ErrorCode' => ['description' => 'The error code returned.'."\n"
."\n"
.'A valid value is returned only if you set the Status parameter to Fail or PartialSuccess.'."\n", 'type' => 'string', 'example' => 'InvalidFileId.NotFound', 'title' => ''],
'Progress' => ['description' => 'The progress of the job.'."\n"
."\n"
.'Valid values: 1 to 100.'."\n", 'type' => 'string', 'example' => '100', 'title' => ''],
'CreateTime' => ['description' => 'The time when the job was created.'."\n", 'type' => 'string', 'example' => '2021-05-30T10:08:08Z', 'title' => ''],
'FileName' => ['description' => 'The name of the file or directory that is associated with the job.'."\n", 'type' => 'string', 'example' => 'test001', 'title' => ''],
'ErrorMessage' => ['description' => 'The error message.'."\n"
."\n"
.'A valid value is returned only if you set the Status parameter to Fail or PartialSuccess.'."\n", 'type' => 'string', 'example' => 'The Target File or Directory does not exist.', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'InvalidStatus', 'errorMessage' => 'Specified parameter Status is not valid.', 'description' => 'The specified parameter Status is invalid.'],
],
404 => [
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidJobId.NotFound', 'errorMessage' => 'The specified JobId(%JobId) does not exist.', 'description' => 'The specified JobId (%JobId) does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9E15E394-38A6-457A-A62A-D9797C9A****\\",\\n \\"TotalCount\\": 1,\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"Jobs\\": [\\n {\\n \\"Id\\": \\"8C****C54\\",\\n \\"Type\\": \\"Restore\\",\\n \\"FileId\\": \\"04***08\\",\\n \\"Status\\": \\"Fail\\",\\n \\"ErrorCode\\": \\"InvalidFileId.NotFound\\",\\n \\"Progress\\": \\"100\\",\\n \\"CreateTime\\": \\"2021-05-30T10:08:08Z\\",\\n \\"FileName\\": \\"test001\\",\\n \\"ErrorMessage\\": \\"The Target File or Directory does not exist.\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]',
'title' => 'ListRecycleBinJobs',
'description' => '* Only General-purpose NAS file systems support this operation.'."\n"
.'* You can query a maximum of 50 jobs that are recently executed.'."\n",
'changeSet' => [
['createdAt' => '2021-06-02T07:10:56.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListRecycleBinJobs'],
],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:ListRecycleBinJobs',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
],
'ListRecycledDirectoriesAndFiles' => [
'summary' => 'Queries deleted files or directories.',
'methods' => ['get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '14464',
'abilityTreeNodes' => ['FEATUREnasI92PYN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1ca404****', 'title' => ''],
],
[
'name' => 'FileId',
'in' => 'query',
'schema' => ['description' => 'The ID of the directory that you want to query.'."\n"
."\n"
.'You can call the [ListRecentlyRecycledDirectories ](~~2412173~~)operation to query the file ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '04***08', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request.'."\n"
."\n"
.'If all the files and directories are incompletely returned in a query, the return value of the NextToken parameter is not empty. In this case, you can specify a valid value for the NextToken parameter to continue the query.'."\n", 'type' => 'string', 'required' => false, 'example' => '1256****25', 'title' => ''],
],
[
'name' => 'MaxResults',
'in' => 'query',
'schema' => ['description' => 'The number of files or directories to return for each query.'."\n"
."\n"
.'Valid values: 10 to 1000.'."\n"
."\n"
.'Default value: 100.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '1000', 'minimum' => '10', 'example' => '100', 'default' => '100', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****'],
'NextToken' => ['title' => 'Id of the request', 'description' => 'A pagination token.'."\n"
."\n"
.'If all the files and directories are incompletely returned in a query, the return value of the NextToken parameter is not empty. In this case, you can specify a valid value for the NextToken parameter to continue the query.'."\n", 'type' => 'string', 'example' => '无'],
'Entries' => [
'description' => 'The information about files or directories in the recycle bin.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'FileId' => ['description' => 'The IDs of the files or directories.'."\n", 'type' => 'string', 'example' => '04***08', 'title' => ''],
'Type' => ['description' => 'The type of the returned object. Valid values:'."\n"
."\n"
.'* File'."\n"
.'* Directory'."\n", 'type' => 'string', 'example' => 'File', 'title' => ''],
'Name' => ['description' => 'The name of the file or directory before it was deleted.'."\n", 'type' => 'string', 'example' => 'test001', 'title' => ''],
'DeleteTime' => ['description' => 'The time when the file or directory was deleted.'."\n", 'type' => 'string', 'example' => '2021-05-30T10:08:08Z', 'title' => ''],
'Inode' => ['description' => 'The inode of the file or directory.'."\n", 'type' => 'string', 'example' => '04***08', 'title' => ''],
'ATime' => ['description' => 'The time when the file or directory was last accessed.'."\n", 'type' => 'string', 'example' => '2019-10-30T10:08:08Z', 'title' => ''],
'MTime' => ['description' => 'The time when the file or directory was last modified.'."\n", 'type' => 'string', 'example' => '2019-10-30T10:08:08Z', 'title' => ''],
'CTime' => ['description' => 'The time when the metadata was last modified.'."\n", 'type' => 'string', 'example' => '2019-10-30T10:08:08Z', 'title' => ''],
'Size' => ['description' => 'The size of the file. Unit: bytes.'."\n"
."\n"
.'The value 0 is returned for this parameter if Directory is returned for the Type parameter.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1073741824', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', 'errorMessage' => 'KMS is not authorized.', 'description' => 'KMS is not authorized.'],
['errorCode' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', 'errorMessage' => 'The CMK needs to be enabled.', 'description' => 'The CMK needs to be enabled.'],
],
404 => [
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidFileId.NotFound', 'errorMessage' => 'The specified FileId(%FileId) does not exist.', 'description' => 'The specified FileId (%FileId) does not exist.'],
['errorCode' => 'InvalidParameter.InvalidNextToken', 'errorMessage' => 'The specified NextToken is invaild.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\",\\n \\"NextToken\\": \\"无\\",\\n \\"Entries\\": [\\n {\\n \\"FileId\\": \\"04***08\\",\\n \\"Type\\": \\"File\\",\\n \\"Name\\": \\"test001\\",\\n \\"DeleteTime\\": \\"2021-05-30T10:08:08Z\\",\\n \\"Inode\\": \\"04***08\\",\\n \\"ATime\\": \\"2019-10-30T10:08:08Z\\",\\n \\"MTime\\": \\"2019-10-30T10:08:08Z\\",\\n \\"CTime\\": \\"2019-10-30T10:08:08Z\\",\\n \\"Size\\": 1073741824\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]',
'title' => 'ListRecycledDirectoriesAndFiles',
'description' => 'Only General-purpose NAS file systems support this operation.'."\n",
'changeSet' => [
['createdAt' => '2021-06-02T07:10:56.000Z', 'description' => 'Request parameters changed'],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:ListRecycledDirectoriesAndFiles',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListRecycledDirectoriesAndFiles'],
],
],
],
'ListTagResources' => [
'summary' => 'Queries tags.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13971',
'abilityTreeNodes' => ['FEATUREnasI92PYN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'ResourceType',
'in' => 'query',
'schema' => ['description' => 'The type of the resource. Valid values:'."\n"
."\n"
.'* filesystem'."\n"
.'* accesspoint'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'filesystem', 'title' => ''],
],
[
'name' => 'NextToken',
'in' => 'query',
'schema' => ['description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n", 'type' => 'string', 'required' => false, 'example' => '无', 'title' => ''],
],
[
'name' => 'ResourceId',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The ID of the resource.'."\n"
."\n"
.'The ID of the destination resource. Valid values of N: 1 to 50.'."\n",
'type' => 'array',
'items' => ['description' => 'The resource ID.'."\n"
."\n"
.'* Sample ID of a General-purpose NAS file system: 31a8e4\\*\\*\\*\\*.'."\n"
.'* The IDs of Extreme NAS file systems must start with extreme-, for example, extreme-0015\\*\\*\\*\\*.'."\n"
.'* The IDs of CPFS file systems must start with cpfs-. Example: cpfs-125487\\*\\*\\*\\*.'."\n"
.'* Access Point: An access point created under a General-purpose NAS, associated with the specified file system ID, such as ‘31a8e4\\*\\*\\*\\*/ap-896m22\\*\\*\\*\\*’.'."\n", 'type' => 'string', 'required' => false, 'example' => '03e08484f0', 'title' => ''],
'required' => false,
'example' => '03e08484f0',
'maxItems' => 51,
'title' => '',
],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tags of the reserved instance. The array may contain up to 20 tags. If the array contains multiple tags, each tag key is unique.'."\n",
'type' => 'array',
'items' => [
'description' => 'The tag.'."\n",
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The key of a tag.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'* The tag key cannot be null or an empty string.'."\n"
.'* The tag value can be up to 128 characters in length.'."\n"
.'* The tag value cannot start with `aliyun` or `acs:`.'."\n"
.'* The tag value cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'nastest', 'title' => ''],
'Value' => ['description' => 'The value of a tag.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'* The tag value can be up to 128 characters in length.'."\n"
.'* The tag value cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'filetest', 'title' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
'required' => false,
'maxItems' => 21,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'NextToken' => ['description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. If the value of this parameter is null, no queries are performed after the current query.'."\n", 'type' => 'string', 'example' => ' 无', 'title' => ''],
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****', 'title' => ''],
'TagResources' => [
'type' => 'object',
'itemNode' => true,
'properties' => [
'TagResource' => [
'description' => 'The list of resources.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'ResourceType' => ['description' => 'The resource type.'."\n", 'type' => 'string', 'example' => 'filesystem', 'title' => ''],
'TagValue' => ['description' => 'The tag value.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''],
'ResourceId' => ['description' => 'The resource ID.'."\n", 'type' => 'string', 'example' => 'i-2zebd226fxed6h4iadhe', 'title' => ''],
'TagKey' => ['description' => 'The tag key.'."\n", 'type' => 'string', 'example' => 'test1', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'MissingParameter.ResourceIdOrTag', 'errorMessage' => 'Either ResourceId or Tag must be specified.', 'description' => 'Either ResourceId or Tag must be specified.'],
['errorCode' => 'InvalidNextToken', 'errorMessage' => 'The NextToken is invalid.', 'description' => 'The NextToken is invalid.'],
['errorCode' => 'NumberExceed.ResourceIds', 'errorMessage' => 'The maximum number of ResourceIds is exceeded. The maximum is 50.', 'description' => 'The maximum number of resource ID is exceeded. The maximum is 50.'],
['errorCode' => 'MissingParameter.ResourceIds', 'errorMessage' => 'You must specify ResourceIds.', 'description' => 'You must specify ResourceId.'],
['errorCode' => 'Duplicate.ResourceId', 'errorMessage' => 'The request contains duplicated ResourceId.', 'description' => 'ResourceId cannot be duplicated.'],
['errorCode' => 'NumberExceed.Tags', 'errorMessage' => 'The maximum number of Tags is exceeded. The maximum is 20.', 'description' => 'The maximum number of Tags is exceeded. The maximum is 20.'],
['errorCode' => 'Duplicate.TagKey', 'errorMessage' => 'The Tag.N.Key contains a duplicated key.', 'description' => 'The specified TagKey is duplicated.'],
['errorCode' => 'InvalidResourceId.NotFound', 'errorMessage' => 'The ResourceId does not exist.', 'description' => 'The specified ResourceId does not exist.'],
['errorCode' => 'InvalidParameter.TagKey', 'errorMessage' => 'The specified Tag.n.Key is invalid.', 'description' => 'The specified TagKey is invalid.'],
['errorCode' => 'InvalidParameter.TagValue', 'errorMessage' => 'The specified Tag.n.Value is invalid.', 'description' => 'The specified TagValue is invalid.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\" 无\\",\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518948****\\",\\n \\"TagResources\\": {\\n \\"TagResource\\": [\\n {\\n \\"ResourceType\\": \\"filesystem\\",\\n \\"TagValue\\": \\"test\\",\\n \\"ResourceId\\": \\"i-2zebd226fxed6h4iadhe\\",\\n \\"TagKey\\": \\"test1\\"\\n }\\n ]\\n }\\n}","type":"json"}]',
'title' => 'ListTagResources',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'],
],
],
'ramActions' => [
[
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:ListTagResources',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'translator' => 'manual',
],
'ModifyAccessGroup' => [
'summary' => 'Modifies a permission group.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13973',
'abilityTreeNodes' => ['FEATUREnas2SBOJD'],
'autoTest' => true,
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'AccessGroupName',
'in' => 'query',
'schema' => ['description' => 'The name of the permission group.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'* The name must be 3 to 64 characters in length.'."\n"
.'* The name must start with a letter and can contain letters, digits, underscores (\\_), and hyphens (-).'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-test', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The description of the permission group.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'* By default, the description of the permission group is the same as the name of the permission group. The description must be 2 to 128 characters in length.'."\n"
.'* The description must start with a letter and cannot start with `http://` or `https://`.'."\n"
.'* The description can contain digits, colons (:), underscores (\\_), and hyphens (-).'."\n", 'type' => 'string', 'required' => false, 'example' => 'vpc-test', 'title' => ''],
],
[
'name' => 'FileSystemType',
'in' => 'query',
'schema' => [
'description' => 'The type of the file system.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* standard (default): General-purpose NAS file system'."\n"
.'* extreme: Extreme NAS file system'."\n",
'type' => 'string',
'required' => false,
'default' => 'standard',
'enum' => ['standard', 'extreme'],
'example' => 'standard',
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'ED2AE737-9D50-4CA4-B0DA-31BD610C****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ED2AE737-9D50-4CA4-B0DA-31BD610C****\\"\\n}","type":"json"}]',
'title' => 'ModifyAccessGroup',
'description' => '默认权限组(DEFAULT_VPC_GROUP_NAME)不支持修改。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-09-05T09:22:55.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyAccessGroup'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyAccessGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'AccessGroup', 'arn' => 'acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}'],
],
],
],
],
'translator' => 'manual',
],
'ModifyAccessPoint' => [
'summary' => 'Modifies access point information.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '189621',
'abilityTreeNodes' => ['FEATUREnas5IJRRZ'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1ca404****', 'title' => ''],
],
[
'name' => 'AccessPointId',
'in' => 'query',
'schema' => ['description' => 'The access point ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ap-ie15yd****', 'title' => ''],
],
[
'name' => 'AccessPointName',
'in' => 'query',
'schema' => ['description' => 'The access point name.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
[
'name' => 'AccessGroup',
'in' => 'query',
'schema' => ['description' => 'The permission group name.'."\n"
."\n"
.'This parameter is required when the file system is a General-purpose NAS file system.'."\n"
."\n"
.'Default permission group: DEFAULT_VPC_GROUP_NAME (the default VPC permission group).'."\n"
.'> Agentic file systems do not support this parameter.', 'type' => 'string', 'required' => false, 'example' => 'DEFAULT_VPC_GROUP_NAME', 'title' => ''],
],
[
'name' => 'EnabledRam',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable the RAM policy. Valid values:'."\n"
."\n"
.'- true: Enabled.'."\n"
.'- false (default): Not enabled.'."\n"
."\n"
.'> After you enable the access point RAM policy, all Resource Access Management (RAM) users are denied access to mount and access data through the access point by default. You must grant the corresponding access permissions through authorization and mount and access data through the access point. After you disable the RAM policy, the access point allows anonymity mounting.'."\n"
."\n"
.'> Agentic file systems do not support this parameter.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => '',
'description' => 'Schema of Response',
'type' => 'object',
'properties' => [
'RequestId' => ['title' => '', 'description' => 'The request ID.', 'type' => 'string', 'required' => true, 'example' => '70EACC9C-D07A-4A34-ADA4-77506C42****'."\n"],
],
'example' => '',
],
],
],
'errorCodes' => [
404 => [
['errorCode' => 'InvalidAccessPointId.NotFound', 'errorMessage' => 'The access point id does not exist.', 'description' => 'The specified APid does not exist.'],
['errorCode' => 'InvalidAccessGroup.NotFound', 'errorMessage' => 'The specified AccessGroup does not exist.', 'description' => 'The permission group that you specified does not exist or has been deleted.'],
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"70EACC9C-D07A-4A34-ADA4-77506C42****\\\\n\\"\\n}","type":"json"}]',
'title' => 'Modify access point information',
'description' => 'Only General-purpose NAS NFS file systems support this feature.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyAccessPoint'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyAccessPoint',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'ModifyAccessRule' => [
'summary' => 'Modifies a rule in a permission group.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '13974',
'abilityTreeNodes' => ['FEATUREnas2SBOJD'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'AccessGroupName',
'in' => 'query',
'schema' => ['description' => 'The name of the permission group.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'vpc-test', 'title' => ''],
],
[
'name' => 'AccessRuleId',
'in' => 'query',
'schema' => ['description' => 'The rule ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1', 'title' => ''],
],
[
'name' => 'SourceCidrIp',
'in' => 'query',
'schema' => ['description' => 'The IP address or CIDR block of the authorized object.'."\n"
."\n"
.'You must set this parameter to an IP address or CIDR block.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => '192.0.**.**', 'title' => ''],
],
[
'name' => 'RWAccessType',
'in' => 'query',
'schema' => [
'description' => 'The access permissions of the authorized object on the file system.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* RDWR (default): the read and write permissions.'."\n"
.'* RDONLY: the read-only permission.'."\n",
'type' => 'string',
'required' => false,
'default' => 'RDWR',
'enum' => ['RDWR', 'RDONLY'],
'example' => 'RDWR',
'title' => '',
],
],
[
'name' => 'UserAccessType',
'in' => 'query',
'schema' => [
'description' => 'The access permissions for different types of users in the authorized object.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* no_squash: allows access from root users to the file system.'."\n"
.'* root_squash: grants root users the least permissions as the nobody user.'."\n"
.'* all_squash: grants all users the least permissions as the nobody user.'."\n"
."\n"
.'The nobody user has the least permissions in Linux and can access only the public content of the file system. This ensures the security of the file system.'."\n",
'type' => 'string',
'required' => false,
'default' => 'no_squash',
'enum' => ['no_squash', 'root_squash', 'all_squash'],
'example' => 'all_squash',
'title' => '',
],
],
[
'name' => 'Priority',
'in' => 'query',
'schema' => ['description' => 'The priority of the rule.'."\n"
."\n"
.'Valid values: 1 to 100.'."\n"
."\n"
.'Default value: 1, which indicates the highest priority.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '100', 'minimum' => '1', 'default' => '1', 'example' => '1', 'title' => ''],
],
[
'name' => 'FileSystemType',
'in' => 'query',
'schema' => [
'description' => 'The type of the file system.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* standard: General-purpose Apsara File Storage NAS (NAS) file system'."\n"
.'* extreme: Extreme NAS file system.'."\n",
'type' => 'string',
'required' => false,
'default' => 'standard',
'enum' => ['standard', 'extreme'],
'example' => 'standard',
'title' => '',
],
],
[
'name' => 'Ipv6SourceCidrIp',
'in' => 'query',
'schema' => ['description' => 'The IPv6 address or CIDR block of the authorized object.'."\n"
."\n"
.'You must set this parameter to an IPv6 IP address or CIDR block.'."\n"
."\n"
.'> * Only Extreme NAS file systems that reside in the China (Hohhot) region support IPv6.'."\n"
.'>* Only permission groups that reside in virtual private clouds (VPCs) support IPv6.'."\n"
.'>* This parameter is unavailable if you specify the SourceCidrIp parameter.', 'type' => 'string', 'required' => false, 'example' => 'fe80::3d4a:80fd:f05d:****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '6299428C-3861-435D-AE54-9B330A00****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidParam.Ipv6SourceCidrIp', 'errorMessage' => 'IPv6 address verification failed.', 'description' => 'IPv6 address verification failed.'],
['errorCode' => 'InvalidParam.SourceCidrIp', 'errorMessage' => 'IPv4 address verification failed.', 'description' => 'IPv4 address verification failed.'],
['errorCode' => 'InvalidParam.IPv4AndIPv6MutuallyExclusive', 'errorMessage' => 'You cannot configure IPv4 and IPv6 at the same time.', 'description' => 'You cannot configure IPv4 and IPv6 at the same time.'],
['errorCode' => 'InvalidAccessGroup.NotsupportedIPv6', 'errorMessage' => 'The access group does not support IPv6.', 'description' => 'The access group does not support IPv6.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6299428C-3861-435D-AE54-9B330A00****\\"\\n}","type":"json"}]',
'title' => 'ModifyAccessRule',
'description' => '默认权限组(DEFAULT_VPC_GROUP_NAME)中的规则不支持修改。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-02-26T07:03:21.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyAccessRule'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyAccessRule',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'AccessGroup', 'arn' => 'acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}'],
],
],
],
],
'translator' => 'manual',
],
'ModifyAgenticSpace' => [
'methods' => ['post', 'get'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '55631',
'abilityTreeNodes' => ['FEATUREnasXEQXVN'],
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '31a8e4****', 'title' => ''],
],
[
'name' => 'AgenticSpaceId',
'in' => 'query',
'schema' => ['description' => 'AgenticSpace Id。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'agentic-229oypxjgpau2****', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'allowEmptyValue' => false,
'schema' => ['description' => 'The description of the AgenticSpace.', 'type' => 'string', 'required' => false, 'example' => 'Agentic Space Description', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run for this request.'."\n"
."\n"
.'A dry run checks parameter validity and resource availability without actually modifying the instance or incurring charges.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- true: Sends a check request without modifying the instance. The check items include whether required parameters are specified, request format, business limits, and NAS resource availability. If the check fails, the corresponding error is returned. If the check passes, HTTP status code 200 is returned, but FileSystemId is empty.'."\n"
.'- false (default): Sends a normal request and directly modifies the instance after the check passes.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'Ensures the idempotence of the request. Generate a unique parameter value from your client to ensure that the value is unique across different requests.'."\n"
."\n"
.'ClientToken supports only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the RequestId of the API request as the ClientToken. The RequestId may differ for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'BC7C825C-5F65-4B56-BEF6-98C56C7C****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => 'The FileSystemId parameter is not specified.'],
['errorCode' => 'MissingFsetId', 'errorMessage' => 'FsetId is mandatory for this action.', 'description' => 'The Fileset ID parameter is not specified.'],
['errorCode' => 'InvalidFilesetId.NotFound', 'errorMessage' => 'Invalid FilesetId.', 'description' => 'Fileset does not exist'],
],
403 => [
['errorCode' => 'OperationDenied.DependencyViolation', 'errorMessage' => 'The operation is denied due to dependancy violation.', 'description' => 'The conditions for this operation are not met.'],
['errorCode' => 'OperationDenied.FilesetNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => 'The file system does not support Fileset.'],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidFsetId.NotFound', 'errorMessage' => 'The specified Fileset ID does not exist.', 'description' => 'The specified fileset does not exist.'],
],
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
'title' => 'Modify an agentic space',
'summary' => 'Modifies an Agentic space.',
'description' => 'Applicable to agentic file systems.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BC7C825C-5F65-4B56-BEF6-98C56C7C****\\"\\n}","type":"json"}]',
'gatewayOptions' => [
'gatewayProtocols' => [],
],
],
'ModifyAutoSnapshotPolicy' => [
'summary' => 'An automatic snapshot policy is modified. After you modify an automatic snapshot policy that is applied to a file system, the modification immediately applies to subsequent snapshots that are created for the file system.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13975',
'abilityTreeNodes' => ['FEATUREnas5QOAQE'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'AutoSnapshotPolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the automatic snapshot policy.'."\n"
."\n"
.'You can call the DescribeAutoSnapshotPolicies operation to view available automatic snapshot policies.'."\n", 'type' => 'string', 'required' => true, 'example' => 'sp-extreme-233e6****', 'title' => ''],
],
[
'name' => 'AutoSnapshotPolicyName',
'in' => 'query',
'schema' => ['description' => 'The name of the automatic snapshot policy. If you do not specify this parameter, the policy name is not changed.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'* The name must be 2 to 128 characters in length.'."\n"
.'* The name must start with a letter.'."\n"
.'* The name can contain digits, letters, colons (:), underscores (\\_), and hyphens (-). It cannot start with `http://` or `https://`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'FinanceJoshua', 'title' => ''],
],
[
'name' => 'RepeatWeekdays',
'in' => 'query',
'schema' => ['description' => 'The days of a week on which auto snapshots are created.'."\n"
."\n"
.'Cycle: week.'."\n"
."\n"
.'Valid values: 1 to 7. The value 1 indicates Monday. If you want to create multiple auto snapshots within a week, you can specify multiple days from Monday to Sunday and separate the days with commas (,). You can specify a maximum of seven days.'."\n", 'type' => 'string', 'required' => false, 'example' => '1,7', 'title' => ''],
],
[
'name' => 'RetentionDays',
'in' => 'query',
'schema' => ['description' => 'The retention period of auto snapshots.'."\n"
."\n"
.'Unit: days.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* \\-1 (default): Auto snapshots are permanently retained. After the number of auto snapshots exceeds the upper limit, the earliest auto snapshot is automatically deleted.'."\n"
.'* 1 to 65536: Auto snapshots are retained for the specified number of days. After the retention period of auto snapshots expires, the auto snapshots are automatically deleted.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '65536', 'minimum' => '-1', 'example' => '30', 'default' => '-1', 'title' => ''],
],
[
'name' => 'TimePoints',
'in' => 'query',
'schema' => ['description' => 'The points in time at which auto snapshots are created.'."\n"
."\n"
.'Unit: hours.'."\n"
."\n"
.'Valid values: 0 to 23. The values from 0 to 23 indicate a total of 24 hours from 00:00 to 23:00. For example, the value 1 indicates 01:00. If you want to create multiple auto snapshots within a day, you can specify multiple points in time and separate the points in time with commas (,). You can specify a maximum of 24 points in time.'."\n", 'type' => 'string', 'required' => false, 'example' => '0,1', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n"
."\n"
.'Every response returns a unique request ID regardless of whether the request is successful.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\n","errorExample":""}]',
'title' => 'ModifyAutoSnapshotPolicy',
'description' => '* The snapshot feature is in public preview and is provided free of charge. [File Storage NAS Service Level Agreement (SLA)](https://www.alibabacloud.com/help/legal/latest/network-attached-storage-service-level-agreement) is not guaranteed in public preview.'."\n"
.'* Only advanced Extreme NAS file systems support this feature.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-09-05T09:22:54.000Z', 'description' => 'Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyAutoSnapshotPolicy'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyAutoSnapshotPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'ModifyDataFlow' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '49026',
'abilityTreeNodes' => ['FEATUREnasPWYFYN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.'."\n"
."\n"
.'- CPFS: The ID must start with `cpfs-`, such as cpfs-125487\\*\\*\\*\\*.'."\n"
."\n"
.'- CPFS for Lingjun: The ID must start with `bmcpfs-`, such as bmcpfs-0015\\*\\*\\*\\*.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cpfs-099394bd928c****', 'title' => ''],
],
[
'name' => 'DataFlowId',
'in' => 'query',
'schema' => ['description' => 'The data flow ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'df-194433a5be31****', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'allowEmptyValue' => false,
'schema' => ['description' => 'The description of the data flow. '."\n"
."\n"
.'Limits:'."\n"
."\n"
.'- The description must be 2 to 128 characters in length.'."\n"
.'- The description must start with a letter and cannot start with http:// or https://.'."\n"
.'- The description can contain digits, colons (:), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'Bucket01数据流动', 'title' => ''],
],
[
'name' => 'Throughput',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => [
'description' => 'The maximum transmission bandwidth of the data flow. Unit: MB/s.'."\n"
.'Valid values: '."\n"
."\n"
.'- 600'."\n"
.'- 1200'."\n"
.'- 1500'."\n"
."\n"
.'> The transmission bandwidth of the data flow must be less than the I/O bandwidth of the file system. This parameter is required when the file system type is CPFS.',
'type' => 'integer',
'format' => 'int64',
'enum' => ['600', '1200', '1500', '2000'],
'required' => false,
'example' => '600',
'title' => '',
],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run for this request.'."\n"
."\n"
.'A dry run checks parameter validity and resource availability without actually creating the instance or incurring charges.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- true: Sends a check request without creating the instance. The check items include whether required parameters are specified, the request format, business limitations, and NAS inventory. If the check fails, the corresponding error is returned. If the check passes, HTTP status code 200 is returned, but FileSystemId is empty.'."\n"
.'- false (default): Sends a normal request. After the check passes, the instance is directly created.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'Ensures the idempotency of the request. Generate a parameter value from your client to ensure that the value is unique across different requests.'."\n"
."\n"
.'ClientToken supports only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotency](~~25693~~).'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the RequestId of the API request as the ClientToken. The RequestId may differ for each API request.', 'type' => 'string', 'maxLength' => 64, 'minLength' => 1, 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => 'The FileSystemId parameter is not specified.'],
['errorCode' => 'MissingDataFlowId', 'errorMessage' => 'DataFlowId is mandatory for this action.', 'description' => 'The DataFlowId parameter is not specified.'],
],
403 => [
['errorCode' => 'OperationDenied.DependencyViolation', 'errorMessage' => 'The operation is denied due to dependancy violation.', 'description' => 'The conditions for this operation are not met.'],
['errorCode' => 'OperationDenied.NoStock', 'errorMessage' => 'The operation is denied due to no stock.', 'description' => ''],
['errorCode' => 'OperationDenied.ConflictOperation', 'errorMessage' => 'The operation is denied due to a conflict with an ongoing operation.', 'description' => 'The dataflow cannot be created because it conflicts with the current file system operation.'],
['errorCode' => 'OperationDenied.InvalidState', 'errorMessage' => 'The operation is not permitted when the status is processing.', 'description' => 'The operation is not permitted when the status is processing.'],
['errorCode' => 'OperationDenied.DataFlowNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => 'The file system does not support dataflow.'],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidDataFlow.NotFound', 'errorMessage' => 'The specified data flow does not exist.', 'description' => 'The specified dataflow does not exist.'],
['errorCode' => 'InvalidThroughput.OutOfBounds', 'errorMessage' => 'Throughput is out of bounds.', 'description' => 'The specified Throughput is not within the valid range.'],
['errorCode' => 'InvalidDescription.InvalidFormat', 'errorMessage' => 'Description format is invalid.', 'description' => 'The format of the specified description is invalid.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'Modify a data flow',
'summary' => 'Modifies the attributes of a data flow.',
'description' => '- CPFS 2.2.0 and later and CPFS for Lingjun 2.4.0 and later support data flows.'."\n"
.'- You can modify the properties of a data flow only when the data flow is in the `Running (Normal)` state.'."\n"
.'- Modifying a data flow typically takes 2 to 5 minutes. You can call [DescribeDataFlows](~~2402270~~) to query the status of the data flow modification.'."\n"
.'- CPFS data flow specifications:'."\n"
.' - Data flow bandwidth (Throughput) supports three specifications: 600 MB/s, 1,200 MB/s, and 1,500 MB/s. The data flow bandwidth refers to the maximum transmission bandwidth that can be achieved when the data flow imports or exports data.'."\n"
.' - Inventory check: When DryRun is set to true, you can verify whether the resources required to modify the data flow with the specified specifications are sufficient.'."\n"
.'- CPFS billing'."\n"
."\n"
.' Modifying the data flow bandwidth (Throughput) involves data flow bandwidth billing. Familiarize yourself with the billable methods of CPFS in advance. For more details, see [CPFS billing](~~111858~~).'."\n"
."\n"
.' Settings for the data stream property can affect billing.',
'changeSet' => [
['createdAt' => '2024-06-03T06:50:00.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2021-10-28T08:34:23.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyDataFlow'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyDataFlow',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\"\\n}","type":"json"}]',
],
'ModifyDataFlowAutoRefresh' => [
'summary' => 'Modifies an AutoRefresh configuration of a dataflow.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '59400',
'abilityTreeNodes' => ['FEATUREnasPWYFYN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cpfs-099394bd928c****', 'title' => ''],
],
[
'name' => 'DataFlowId',
'in' => 'query',
'schema' => ['description' => 'The ID of the dataflow.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'df-194433a5be31****', 'title' => ''],
],
[
'name' => 'AutoRefreshPolicy',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => [
'description' => 'The automatic update policy. The updated data in the source storage is imported into the CPFS file system based on the policy. The following information is displayed:'."\n"
."\n"
.'* None: Updated data in the source storage is not automatically imported into the CPFS file system. You can run a dataflow task to import the updated data from the source storage.'."\n"
.'* ImportChanged: Updated data in the source storage is automatically imported into the CPFS file system.'."\n",
'type' => 'string',
'required' => false,
'enum' => ['None', 'ImportChanged'],
'example' => 'None',
'title' => '',
],
],
[
'name' => 'AutoRefreshInterval',
'in' => 'query',
'schema' => ['description' => 'The automatic update interval. CPFS checks whether data is updated in the directory at the interval specified by this parameter. If data is updated, CPFS starts an automatic update task. Unit: minute.'."\n"
."\n"
.'Valid values: 5 to 526600. Default value: 10.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '525600', 'minimum' => '5', 'example' => '10', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run.'."\n"
."\n"
.'During the dry run, the system checks whether the request parameters are valid and whether the requested resources are available. During the dry run, no fileset quota is canceled and no fee is incurred.'."\n"
."\n"
.'Valid value:'."\n"
."\n"
.'* true: performs a dry run. The system checks the required parameters, request syntax, service limits, and available Apsara File Storage NAS (NAS) resources. Otherwise, an error message is returned. If the request passes the dry run, the HTTP status code 200 is returned. No value is returned for the FileSystemId parameter.'."\n"
.'* false (default): performs a dry run and sends the request. If the request passes the dry run, a fileset is created.'."\n", 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingDataFlowId', 'errorMessage' => 'DataFlowId is mandatory for this action.', 'description' => ''],
],
403 => [
['errorCode' => 'OperationDenied.DependencyViolation', 'errorMessage' => 'The operation is denied due to dependancy violation.', 'description' => ''],
['errorCode' => 'OperationDenied.ConflictOperation', 'errorMessage' => 'The operation is denied due to a conflict with an ongoing operation.', 'description' => ''],
['errorCode' => 'OperationDenied.DataFlowNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidDataFlow.NotFound', 'errorMessage' => 'The specified data flow does not exist.', 'description' => ''],
['errorCode' => 'InvalidRefreshPolicy.InvalidParameter', 'errorMessage' => 'Refresh policy is invalid.', 'description' => ''],
['errorCode' => 'InvalidRefreshInterval.OutOfBounds', 'errorMessage' => 'Refresh interval is out of bounds.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\"\\n}","type":"json"}]',
'title' => 'ModifyDataFlowAutoRefresh',
'description' => '- 该接口仅适用于CPFS文件系统。'."\n"
.'- 仅CPFS 2.2.0及以上版本支持数据流动。您可以在控制台文件系统详情页面查看版本信息。'."\n"
.'- 仅支持修改`Running(正常`)、`Stopped(停止)`状态数据流动的自动更新配置。'."\n"
."\n"
.'- 修改自动更新配置一般耗时2~5分钟,您可以通过[DescribeDataFlows](~~2402270~~)查询修改自动更新任务的状态。',
'changeSet' => [
['createdAt' => '2024-09-05T09:22:54.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2021-11-23T06:46:17.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2021-10-28T08:34:23.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyDataFlowAutoRefresh'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyDataFlowAutoRefresh',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'translator' => 'manual',
],
'ModifyFileSystem' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13976',
'abilityTreeNodes' => ['FEATUREnasI92PYN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n"
."\n"
.'- General-purpose NAS: For example, `31a8e4****`.'."\n"
."\n"
.'- Extreme NAS: The ID must start with `extreme-`. For example, `extreme-0015****`.'."\n"
."\n"
.'- CPFS: The ID must start with `cpfs-`. For example, `cpfs-125487****`.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1ca404****', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The description of the file system.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'- The description must be 2 to 128 characters.'."\n"
."\n"
.'- It must start with an uppercase or lowercase letter or a Chinese character, and cannot start with `http://` or `https://`.'."\n"
."\n"
.'- It can contain digits, colons (:), underscores (\\_), and hyphens (-).', 'type' => 'string', 'required' => false, 'example' => 'NAS-test-1', 'title' => ''],
],
[
'name' => 'Options',
'in' => 'query',
'style' => 'json',
'schema' => [
'description' => 'Additional options for the file system.',
'type' => 'object',
'properties' => [
'EnableOplock' => ['description' => 'Specifies whether to enable OpLock. Valid values:'."\n"
."\n"
.'- true: Enables OpLock.'."\n"
."\n"
.'- false: Disables OpLock.'."\n"
."\n"
.'> This feature is available only for file systems that use the SMB protocol.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''],
'EnableABE' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
'VscAccessPointAccessOnly' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''],
],
'required' => false,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '5BC5CB97-9F28-42FE-84A4-0CD0DF42****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'ModifyFileSystem',
'summary' => 'Modifies the description of a file system.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-07-08T02:24:35.000Z', 'description' => 'Request parameters changed, Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyFileSystem'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyFileSystem',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5BC5CB97-9F28-42FE-84A4-0CD0DF42****\\"\\n}","type":"json"}]',
],
'ModifyFileset' => [
'summary' => 'Modifies a fileset.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '55631',
'abilityTreeNodes' => ['FEATUREnasPWYFYN'],
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n"
."\n"
.'* The IDs of CPFS file systems must start with `cpfs-`. Example: cpfs-099394bd928c\\*\\*\\*\\*.'."\n"
.'* The IDs of CPFS for LINGJUN file systems must start with `bmcpfs-`. Example: bmcpfs-290w65p03ok64ya\\*\\*\\*\\*.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bmcpfs-290w65p03ok64ya****', 'title' => ''],
],
[
'name' => 'FsetId',
'in' => 'query',
'schema' => ['description' => 'The fileset ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'fset-1902718ea0ae****', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'allowEmptyValue' => false,
'schema' => ['description' => 'The fileset description.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request.'."\n"
."\n"
.'During the dry run, the system checks whether the request parameters are valid and whether the requested resources are available. During the dry run, no fileset is modified and no fees incurred.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* true: performs only a dry run. The system checks the required parameters, request syntax, service limits, and Apsara File Storage NAS (NAS) inventory data. If the request fails the dry run, an error message is returned. If the request passes the dry run, the HTTP status code 200 is returned.'."\n"
.'* false (default): performs a dry run and sends the request. If the request passes the dry run, the specified fileset is modified.'."\n", 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
[
'name' => 'DeletionProtection',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => ['description' => 'Specifies whether to enable deletion protection to allow you to release the fileset by using the console or by calling the [DeleteFileset](~~2402263~~) operation. Valid values:'."\n"
."\n"
.'* true: enables release protection.'."\n"
.'* false: disables release protection.'."\n"
."\n"
.'> This parameter can protect filesets only against manual releases, but not against automatic releases.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How do I ensure the idempotence?](~~25693~~)'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingFsetId', 'errorMessage' => 'FsetId is mandatory for this action.', 'description' => ''],
['errorCode' => 'InvalidFilesetId.NotFound', 'errorMessage' => 'Invalid FilesetId.', 'description' => 'Fileset does not exist'],
],
403 => [
['errorCode' => 'OperationDenied.DependencyViolation', 'errorMessage' => 'The operation is denied due to dependancy violation.', 'description' => ''],
['errorCode' => 'OperationDenied.FilesetNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidFsetId.NotFound', 'errorMessage' => 'The specified Fileset ID does not exist.', 'description' => ''],
],
],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518948****\\"\\n}","type":"json"}]',
'title' => 'ModifyFileset',
'description' => '仅支持CPFS 2.2.0和CPFS智算版2.7.0及以上版本修改Fileset信息。',
'changeSet' => [
['createdAt' => '2024-10-24T08:25:56.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-05-31T02:47:37.000Z', 'description' => 'Request parameters changed, Response parameters changed'],
['createdAt' => '2022-08-22T02:34:43.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2021-10-28T08:36:25.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyFileset'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyFileset',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'Fileset', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'translator' => 'manual',
],
'ModifyLDAPConfig' => [
'summary' => 'Used to modify LDAP configuration.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => true,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREnasQ7YV89', 'FEATUREnas0GUIX5'],
'autoTest' => false,
'notSupportAutoTestReason' => 'cpfs1.0支持的功能,仅支持存量用户使用',
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'example' => '109c042666', 'title' => ''],
],
[
'name' => 'URI',
'in' => 'query',
'schema' => ['description' => 'The LDAP service address.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ldap://ldap.example.example', 'title' => ''],
],
[
'name' => 'BindDN',
'in' => 'query',
'schema' => ['description' => 'The LDAP entry.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'cn=alibaba,dc=com', 'title' => ''],
],
[
'name' => 'SearchBase',
'in' => 'query',
'schema' => ['description' => 'The LDAP search base.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'dc=example', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '5B4511A7-C99E-4071-AA8C-32E2529DA963', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [],
'staticInfo' => ['noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', 'returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5B4511A7-C99E-4071-AA8C-32E2529DA963\\"\\n}","errorExample":""},{"type":"xml","example":"5B4511A7-C99E-4071-AA8C-32E2529DA963","errorExample":""}]',
'title' => '用于修改LDAP配置',
'description' => 'The API operation is available only for Cloud Parallel File Storage (CPFS) file systems.'."\n",
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyLDAPConfig'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyLDAPConfig',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
],
'ModifyLifecyclePolicy' => [
'summary' => 'Modifies a lifecycle policy.',
'methods' => ['post', 'get', 'put'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeNodes' => ['FEATUREnasZ6WBFV'],
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '31a8e4****', 'title' => ''],
],
[
'name' => 'LifecyclePolicyName',
'in' => 'query',
'schema' => ['description' => 'The name of the lifecycle policy.'."\n"
."\n"
.'The name must be 3 to 64 characters in length and can contain letters, digits, underscores (\\_), and hyphens (-). The name must start with a letter.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => 'lifecyclepolicy_01', 'title' => ''],
],
[
'name' => 'Path',
'in' => 'query',
'schema' => ['description' => 'The absolute path of a directory with which the lifecycle policy is associated.'."\n"
."\n"
.'The path must start with a forward slash (/) and must be a path that exists in the mount target.'."\n", 'type' => 'string', 'required' => false, 'example' => '/pathway/to/folder', 'title' => ''],
],
[
'name' => 'LifecycleRuleName',
'in' => 'query',
'schema' => [
'description' => 'The management rule that is associated with the lifecycle policy.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* DEFAULT_ATIME\\_14: Files not accessed for 14 days.'."\n"
.'* DEFAULT_ATIME\\_30: Files not accessed for 30 days.'."\n"
.'* DEFAULT_ATIME\\_60: Files not accessed for 60 days.'."\n"
.'* DEFAULT_ATIME\\_90: Files not accessed for 90 days.'."\n"
.'* DEFAULT_ATIME\\_180: Files not accessed for 180 days. DEFAULT_ATIME\\_180 is supported only when the StorageType parameter is set to Archive.'."\n"
."\n"
.'> If an IA policy has already been set for the directory, any subsequent archival policy must have a longer duration than the IA policy.'."\n",
'type' => 'string',
'required' => false,
'enum' => ['DEFAULT_ATIME_14', 'DEFAULT_ATIME_30', 'DEFAULT_ATIME_60', 'DEFAULT_ATIME_90', 'DEFAULT_ATIME_180'],
'example' => 'DEFAULT_ATIME_14',
'title' => '',
],
],
[
'name' => 'StorageType',
'in' => 'query',
'schema' => [
'description' => 'The storage class.'."\n"
."\n"
.'* InfrequentAccess: the Infrequent Access (IA) storage class.'."\n"
.'* Archive: the Archive storage class.'."\n",
'type' => 'string',
'required' => false,
'default' => 'InfrequentAccess',
'enum' => ['InfrequentAccess', 'Archive', 'Capacity', 'Performance'],
'example' => 'InfrequentAccess',
'title' => '',
],
],
[
'name' => 'LifecyclePolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the lifecycle policy.'."\n", 'type' => 'string', 'example' => 'lc-xxx', 'title' => '', 'required' => false],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'BC7C825C-5F65-4B56-BEF6-98C56C7C****', 'title' => ''],
'Success' => ['description' => 'Indicates whether the request was successful.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidLifecyclePolicy.NotFound', 'errorMessage' => 'The specified LifecyclePolicy does not exist.', 'description' => 'The specified LifecyclePolicy does not exist.'],
],
404 => [
['errorCode' => 'InvalidLifecycleRule.NotFound', 'errorMessage' => 'The specified LifecycleRule does not exist.', 'description' => 'The specified LifecycleRule does not exist.'],
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BC7C825C-5F65-4B56-BEF6-98C56C7C****\\",\\n \\"Success\\": true\\n}","type":"json"}]',
'title' => 'ModifyLifecyclePolicy',
'description' => '仅通用型NAS文件系统支持该功能。',
'changeSet' => [
['createdAt' => '2025-05-08T06:05:41.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2025-03-19T01:52:49.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2024-03-25T10:51:46.000Z', 'description' => 'Request parameters changed'],
['createdAt' => '2021-04-08T08:36:16.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyLifecyclePolicy'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyLifecyclePolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'LifecyclePolicy', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'translator' => 'manual',
],
'ModifyMountTarget' => [
'summary' => 'Modifies the properties of a mount target.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '13979',
'abilityTreeNodes' => ['FEATUREnasOIBEFL'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n"
."\n"
.'- For a General-purpose NAS file system, the ID is similar to `31a8e4****`.'."\n"
."\n"
.'- For an Extreme NAS file system, the ID must start with `extreme-`, for example, `extreme-0015****`.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1ca404****', 'title' => ''],
],
[
'name' => 'MountTargetDomain',
'in' => 'query',
'schema' => ['description' => 'The domain name of the IPv4 mount target.', 'type' => 'string', 'required' => false, 'docRequired' => true, 'example' => '1ca404a666-w****.cn-hangzhou.nas.aliyuncs.com', 'title' => ''],
],
[
'name' => 'AccessGroupName',
'in' => 'query',
'schema' => ['description' => 'The name of the access group that is associated with the mount target.', 'type' => 'string', 'required' => false, 'example' => 'classic-test', 'title' => ''],
],
[
'name' => 'Status',
'in' => 'query',
'schema' => [
'description' => 'The status of the mount target.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- Active: The mount target is available.'."\n"
."\n"
.'- Inactive: The mount target is unavailable.'."\n"
."\n"
.'> You can change the status of a mount target only if the mount target is attached to a General-purpose NAS file system.',
'type' => 'string',
'required' => false,
'enum' => ['Active', 'Inactive'],
'example' => 'Inactive',
'title' => '',
],
],
[
'name' => 'DualStackMountTargetDomain',
'in' => 'query',
'schema' => ['description' => 'The domain name of the dual-stack mount target.'."\n"
."\n"
.'> The IPv6 feature is available only for Extreme NAS file systems in the Chinese mainland.', 'type' => 'string', 'required' => false, 'example' => '174494b666-x****.dualstack.cn-hangzhou.nas.aliyuncs.com', 'title' => ''],
],
[
'name' => 'AccessPointAccessOnly',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => ['type' => 'boolean', 'title' => '', 'description' => '', 'example' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'FF387D95-34C4-4879-B65A-99D1FA1B****', 'title' => ''],
],
'description' => 'The response object.',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidFileSystem.NotsupportedIPv6', 'errorMessage' => 'The file system does not support IPv6.', 'description' => 'The file system does not support IPv6.'],
['errorCode' => 'InvalidParam.MountTargetDomain', 'errorMessage' => 'The specified mount target domain does not exist.', 'description' => 'The specified mount target domain does not exist.'],
['errorCode' => 'InvalidParam.DualStackMountTargetDomain', 'errorMessage' => 'The specified dual stack mount target domain does not exist.', 'description' => 'The specified dual stack mount point does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'title' => 'ModifyMountTarget',
'description' => 'This operation applies only to mount targets on General-purpose NAS and Extreme NAS file systems.',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyMountTarget'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyMountTarget',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"FF387D95-34C4-4879-B65A-99D1FA1B****\\"\\n}","type":"json"}]',
],
'ModifyProtocolMountTarget' => [
'summary' => 'Modifies the export directory parameters of a protocol service. Only the description can be modified. The virtual private cloud (VPC) ID and vSwitch ID cannot be changed. To change these IDs, you must delete the export directory and create a new one.',
'methods' => ['post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '124957',
'abilityTreeNodes' => ['FEATUREnasQ7YV89', 'FEATUREnas0GUIX5'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'ProtocolServiceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the protocol service.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ptc-197ed6a00f2b****', 'title' => ''],
],
[
'name' => 'ExportId',
'in' => 'query',
'schema' => ['description' => 'The ID of the export directory for the protocol service.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'exp-19abf5beab8d****', 'title' => ''],
],
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'deprecated' => false, 'required' => true, 'docRequired' => true, 'example' => 'cpfs-099394bd928c****', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The description of the export directory for the protocol service.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'* The description must be 2 to 128 characters in length.'."\n"
.'* The description must start with a letter but cannot start with `http://` or `https://`.'."\n"
.'* The description can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n", 'type' => 'string', 'required' => false, 'example' => '此导出目录的描述信息', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. The dry run checks parameter validity and prerequisites. The dry run does not modify the specified export directory or incur fees.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* true: performs only a dry run. The system checks the required parameters, request syntax, and service limits. If the request fails the dry run, an error message is returned. If the request passes the dry run, the HTTP status code 200 is returned.'."\n"
.'* false (default): performs a dry run and sends the request.'."\n", 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'true', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How do I ensure the idempotence?](~~25693~~)'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'maxLength' => 64, 'minLength' => 1, 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E'],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingExportId', 'errorMessage' => 'ExportId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingAccessGroupName', 'errorMessage' => 'AccessGroupName is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingProtocolServiceId', 'errorMessage' => 'ProtocolServiceId is mandatory for this action.', 'description' => ''],
],
403 => [
['errorCode' => 'Instance.IncorrectStatus', 'errorMessage' => 'The specified instance is in an incorrect status.', 'description' => ''],
['errorCode' => 'OperationDenied.InvalidMntStatus', 'errorMessage' => 'The operation is denied due to invalid protocol mount targte status.', 'description' => ''],
['errorCode' => 'OperationDenied.InvalidPtcStatus', 'errorMessage' => 'The operation is denied due to invalid protocol service status.', 'description' => ''],
['errorCode' => 'OperationDenied.InvalidState', 'errorMessage' => 'The operation is denied due to invalid file system state.', 'description' => ''],
['errorCode' => 'OperationDenied.NotSupported', 'errorMessage' => 'The operation is denied due to not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidProtocolService.NotFound', 'errorMessage' => 'The specified protocol service does not exist.', 'description' => ''],
['errorCode' => 'InvalidExportId.NotFound', 'errorMessage' => 'The specified ExportId does not exist.', 'description' => ''],
['errorCode' => 'InvalidAccessGroupName.NotFound', 'errorMessage' => 'The specified access group does not exist.', 'description' => ''],
['errorCode' => 'InvalidAccessGroupName.NotAccessRule', 'errorMessage' => 'There has no rule in access group.', 'description' => ''],
['errorCode' => 'InvalidDescription.InvalidFormat', 'errorMessage' => 'Description format is invalid.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3C83E\\"\\n}","type":"json"}]',
'title' => 'ModifyProtocolMountTarget',
'description' => '该接口仅适用于CPFS文件系统。',
'changeSet' => [
['createdAt' => '2022-04-28T09:25:04.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyProtocolMountTarget'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyProtocolMountTarget',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
'translator' => 'manual',
],
'ModifyProtocolService' => [
'summary' => 'Modifies a protocol service. You can modify the description of a protocol service.',
'methods' => ['post'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '124952',
'abilityTreeNodes' => ['FEATUREnasQ7YV89', 'FEATUREnas0GUIX5'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'ProtocolServiceId',
'in' => 'query',
'schema' => ['description' => 'The ID of the protocol service.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'ptc-197ed6a00f2b****', 'title' => ''],
],
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => [
'description' => 'The ID of the file system.'."\n",
'type' => 'string',
'required' => true,
'docRequired' => true,
'enum' => [],
'example' => 'cpfs-099394bd928c****',
'title' => '',
],
],
[
'name' => 'Description',
'in' => 'query',
'allowEmptyValue' => true,
'schema' => ['description' => 'The description of the protocol service.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'* The description must be 2 to 128 characters in length.'."\n"
.'* The description must start with a letter and cannot start with `http://` or `https://`.'."\n"
.'* The description can contain letters, digits, colons (:), underscores (\\_), and hyphens (-).'."\n", 'type' => 'string', 'required' => false, 'example' => '此协议服务的描述信息', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request. The dry run checks parameter validity and prerequisites. The dry run does not modify a file system or incur fees.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* true: performs only a dry run and does not modify the protocol service. The system checks the request format, service limits, prerequisites, and whether the required parameters are specified. If the request fails the dry run, an error message is returned. If the request passes the dry run, a 200 HTTP status code is returned.'."\n"
.'* false (default): performs a dry run and performs the actual request. If the request passes the dry run, the service protocol is modified.'."\n", 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How do I ensure the idempotence?](~~25693~~)'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'maxLength' => 64, 'minLength' => 1, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****'],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingProtocolServiceId', 'errorMessage' => 'ProtocolServiceId is mandatory for this action.', 'description' => ''],
],
403 => [
['errorCode' => 'Instance.IncorrectStatus', 'errorMessage' => 'The specified instance is in an incorrect status.', 'description' => ''],
['errorCode' => 'InvalidProtocolSpec.NotSupported', 'errorMessage' => 'The specified protocol spec does not supported.', 'description' => ''],
['errorCode' => 'PermissionDenied.ThroughputInvalid', 'errorMessage' => 'Standard protocol service should not specified throughput.', 'description' => ''],
['errorCode' => 'InvalidVSwitchId.IpShortage', 'errorMessage' => 'The specified vswitch ip shortage.', 'description' => ''],
['errorCode' => 'OperationDenied.InvalidPtcStatus', 'errorMessage' => 'The operation is denied due to invalid protocol service status.', 'description' => ''],
['errorCode' => 'OperationDenied.InvalidState', 'errorMessage' => 'The operation is denied due to invalid file system state.', 'description' => ''],
['errorCode' => 'OperationDenied.NotSupported', 'errorMessage' => 'The operation is denied due to not supported.', 'description' => ''],
['errorCode' => 'PermissionDenied.CLThroughputInvalid', 'errorMessage' => 'Throughput of caching protocol service is invalid.', 'description' => ''],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidProtocolService.NotFound', 'errorMessage' => 'The specified protocol service does not exist.', 'description' => ''],
['errorCode' => 'InvalidDescription.InvalidFormat', 'errorMessage' => 'Description format is invalid.', 'description' => ''],
['errorCode' => 'OperationDenied.NoStock', 'errorMessage' => 'The operation is denied due to no stock.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\"\\n}","type":"json"}]',
'title' => 'ModifyProtocolService',
'description' => '该接口仅适用于CPFS文件系统。',
'changeSet' => [
['createdAt' => '2022-04-28T09:25:04.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyProtocolService'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyProtocolService',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
'translator' => 'manual',
],
'ModifySmbAcl' => [
'summary' => 'Updates the information about the access control list (ACL) feature of a Server Message Block (SMB) file system that resides in an Active Directory (AD) domain.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13980',
'abilityTreeNodes' => ['FEATUREnasWJVZ38'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1ca404****', 'title' => ''],
],
[
'name' => 'Keytab',
'in' => 'query',
'schema' => ['description' => 'The string that is generated after the system encodes the keytab file by using Base64.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'BQIAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAQAIqIx6v7p11oUAAABHAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAAwAIqIx6v7p11oUAAABPAAIADUFMSUFEVEVTVC5DT00ABGNpZnMAGXNtYnNlcnZlcjI0LmFsaWFkdGVzdC5jb20AAAABAAAAAAEAFwAQnQZWB3RAPHU7PMIJyBWePAAAAF8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQASACAGJ7F0s+bcBjf6jD5HlvlRLmPSOW+qDZe0Qk0lQcf8WwAAAE8AAgANQUxJQURURVNULkNPTQAEY2lmcwAZc21ic2VydmVyMjQuYWxpYWR0ZXN0LmNvbQAAAAEAAAAAAQARABDdFmanrSIatnDDh****', 'title' => ''],
],
[
'name' => 'KeytabMd5',
'in' => 'query',
'schema' => ['description' => 'The string that is generated after the system encodes the keytab file by using MD5.'."\n", 'type' => 'string', 'required' => false, 'docRequired' => false, 'example' => 'E3CCF7E2416DF04FA958AA4513EA****', 'title' => ''],
],
[
'name' => 'EnableAnonymousAccess',
'in' => 'query',
'allowEmptyValue' => false,
'schema' => ['description' => 'Specifies whether to allow anonymous access. Valid values:'."\n"
."\n"
.'* true: The file system allows anonymous access.'."\n"
.'* false (default): The file system denies anonymous access.'."\n", 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'false', 'default' => 'false', 'title' => ''],
],
[
'name' => 'EncryptData',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to enable encryption in transit. Valid values:'."\n"
."\n"
.'* true: enables encryption in transit.'."\n"
.'* false (default): disables encryption in transit.'."\n", 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'false', 'default' => 'false', 'title' => ''],
],
[
'name' => 'RejectUnencryptedAccess',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to deny access from non-encrypted clients. Valid values:'."\n"
."\n"
.'* true: The file system denies access from non-encrypted clients.'."\n"
.'* false (default): The file system allows access from non-encrypted clients.'."\n", 'type' => 'boolean', 'required' => false, 'docRequired' => false, 'example' => 'false', 'default' => 'false', 'title' => ''],
],
[
'name' => 'SuperAdminSid',
'in' => 'query',
'schema' => ['description' => 'The ID of a super admin. The ID must meet the following requirements:'."\n"
."\n"
.'* The ID starts with `S` and does not contain letters except S.'."\n"
.'* The ID contains at least three hyphens (-) as delimiters.'."\n"
."\n"
.'Examples: `S-1-5-22` and `S-1-5-22-23`.'."\n", 'type' => 'string', 'required' => false, 'example' => 'S-1-5-22', 'title' => ''],
],
[
'name' => 'HomeDirPath',
'in' => 'query',
'schema' => ['description' => 'The home directory of each user. Each user-specific home directory must meet the following requirements:'."\n"
."\n"
.'* Each segment starts with a forward slash (/) or a backward slash (\\\\).'."\n"
.'* Each segment does not contain the following special characters: `<>":|?*`.'."\n"
.'* Each segment is 0 to 255 characters in length.'."\n"
.'* The total length is 0 to 32,767 characters.'."\n"
."\n"
.'For example, if you create a user named A and the home directory is `/home`, the file system automatically creates a directory named `/home/A` when User A logs on to the file system. If the `/home/A` directory already exists, the file system does not create the directory.'."\n"
."\n"
.'> User A must have the permissions to create folders in the \\home directory. Otherwise, the file system cannot create the `/home/A` directory when User A logs on to the file system.'."\n", 'type' => 'string', 'required' => false, 'example' => '/home', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n 98696EF0-1607-4E9D-B01D-F20930B6***\\n","errorExample":""}]',
'title' => 'ModifySmbAcl',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifySmbAcl'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifySmbAcl',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
],
'OpenNASService' => [
'summary' => 'Activates the NAS service.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
[
'PrivateKey' => [],
],
[
'BearerToken' => [],
],
[
'APP' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'none',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13981',
'abilityTreeNodes' => ['FEATUREnasVB8QSJ'],
'autoTest' => false,
'notSupportAutoTestReason' => '开通服务接口',
'tenantRelevance' => 'publicInformation',
],
'parameters' => [],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '427DB0B3-9436-4A3C-B2BC-B961F95E****', 'title' => ''],
'OrderId' => ['description' => 'The order ID for enabling the service.', 'type' => 'string', 'example' => '20671870151****', 'title' => ''],
'AccessDeniedDetail' => ['description' => 'The access denied details.', 'type' => 'string', 'example' => '{'."\n"
.' "PolicyType": "AccountLevelIdentityBasedPolicy",'."\n"
.' "AuthPrincipalOwnerId": "178321033379****",'."\n"
.' "EncodedDiagnosticMessage": "AJpt/382mjxDSIYIqa/cUIFvOg9tajlLyN+LJA0C78kWfKIl****",'."\n"
.' "AuthPrincipalType": "SubUser",'."\n"
.' "AuthPrincipalDisplayName": "21794847602038****",'."\n"
.' "NoPermissionType": "ImplicitDeny",'."\n"
.' "AuthAction": "nas:OpenNASService"'."\n"
.' }', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'ORDER.OPEND', 'errorMessage' => 'You have already open the service. Go to the console to start using it.', 'description' => 'you have activated the nas service.'],
['errorCode' => 'InvalidIntlAccount.NotComplete', 'errorMessage' => 'Intl account is not complete.', 'description' => 'The basic information of the international station account is not complete.'],
],
500 => [
['errorCode' => 'OpenNasService.GetCommodityInfoFail', 'errorMessage' => 'Fail to get commodity info for open nas service.', 'description' => 'unable to obtain the product information of the open nas service.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"427DB0B3-9436-4A3C-B2BC-B961F95E****\\",\\n \\"OrderId\\": \\"20671870151****\\",\\n \\"AccessDeniedDetail\\": \\"{\\\\n \\\\\\"PolicyType\\\\\\": \\\\\\"AccountLevelIdentityBasedPolicy\\\\\\",\\\\n \\\\\\"AuthPrincipalOwnerId\\\\\\": \\\\\\"178321033379****\\\\\\",\\\\n \\\\\\"EncodedDiagnosticMessage\\\\\\": \\\\\\"AJpt/382mjxDSIYIqa/cUIFvOg9tajlLyN+LJA0C78kWfKIl****\\\\\\",\\\\n \\\\\\"AuthPrincipalType\\\\\\": \\\\\\"SubUser\\\\\\",\\\\n \\\\\\"AuthPrincipalDisplayName\\\\\\": \\\\\\"21794847602038****\\\\\\",\\\\n \\\\\\"NoPermissionType\\\\\\": \\\\\\"ImplicitDeny\\\\\\",\\\\n \\\\\\"AuthAction\\\\\\": \\\\\\"nas:OpenNASService\\\\\\"\\\\n }\\"\\n}","type":"json"}]',
'title' => 'OpenNASService',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2025-03-25T07:41:44.000Z', 'description' => 'Error codes changed'],
['createdAt' => '2024-08-23T02:49:52.000Z', 'description' => 'Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OpenNASService'],
],
],
'ramActions' => [
[
'operationType' => 'none',
'ramAction' => [
'action' => 'nas:OpenNASService',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'RemoveClientFromBlackList' => [
'summary' => 'Remove the client from the blacklist.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => true,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13982',
'abilityTreeNodes' => ['FEATUREnas2SBOJD'],
'autoTest' => false,
'notSupportAutoTestReason' => '弃用接口',
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'RegionId',
'in' => 'query',
'schema' => ['description' => 'The ID of the region where the file system resides.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-hangzhou', 'title' => ''],
],
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cpfs-00d91ca404a348****', 'title' => ''],
],
[
'name' => 'ClientIP',
'in' => 'query',
'schema' => ['description' => 'The IP address of a client to remove from the blacklist.'."\n", 'type' => 'string', 'required' => true, 'example' => '192.168.0.0', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'This parameter ensures the idempotency of each request. A ClientToken is generated for each client. Make sure that each ClientToken is unique between different requests. The parameter can be a maximum of 64 characters in length and contain only ASCII characters.'."\n"
."\n"
.'For more information, see [How to ensure idempotence](https://www.alibabacloud.com/help/doc-detail/25693.htm).'."\n", 'type' => 'string', 'required' => true, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => 'A70BEE5D-76D3-49FB-B58F-1F398211****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', 'returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A70BEE5D-76D3-49FB-B58F-1F398211****\\"\\n}","errorExample":""},{"type":"xml","example":"\\n A70BEE5D-76D3-49FB-B58F-1F398211****\\n","errorExample":""}]',
'title' => 'RemoveClientFromBlackList',
'description' => 'The API operation is available only for CPFS file systems.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-03-12T11:38:28.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveClientFromBlackList'],
],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:RemoveClientFromBlackList',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
],
'RemoveTags' => [
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => true,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13983',
'abilityTreeNodes' => ['FEATUREnasI92PYN'],
'autoTest' => false,
'notSupportAutoTestReason' => '弃用接口',
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['type' => 'string', 'required' => true, 'docRequired' => true],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => ['type' => 'string', 'required' => false],
'Value' => ['type' => 'string', 'required' => false],
],
],
'required' => true,
'maxItems' => 10,
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['type' => 'string'],
],
],
],
],
'staticInfo' => [
'substitutions' => ['NAS::2017-06-26::UntagResources'],
'returnType' => 'synchronous',
],
'changeSet' => [
['createdAt' => '2024-09-05T09:23:08.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"\\"\\n}","type":"json"}]',
],
'ResetFileSystem' => [
'summary' => 'Rolls back a file system to a snapshot of the file system.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'high',
'chargeType' => 'paid',
'abilityTreeCode' => '13984',
'abilityTreeNodes' => ['FEATUREnas5QOAQE', 'FEATUREnas6KFX9N'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the advanced Extreme NAS file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'extreme-012dd****', 'title' => ''],
],
[
'name' => 'SnapshotId',
'in' => 'query',
'schema' => ['description' => 'The snapshot ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 's-extreme-snapsho****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","errorExample":""},{"type":"xml","example":"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****","errorExample":""}]',
'title' => 'ResetFileSystem',
'description' => '* The snapshot feature is in public preview and is provided free of charge. [File Storage NAS Service Level Agreement (SLA)](https://www.alibabacloud.com/help/legal/latest/network-attached-storage-service-level-agreement) is not guaranteed in public preview.'."\n"
.'* Only advanced Extreme NAS file systems support this feature.'."\n"
.'* The file system must be in the Running state.'."\n"
.'* To roll back a file system to a snapshot, you must specify the ID of the snapshot that is created from the file system.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-09-05T09:23:07.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ResetFileSystem'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ResetFileSystem',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'RetryLifecycleRetrieveJob' => [
'summary' => 'Retries failed a data retrieval task.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '19611',
'abilityTreeNodes' => ['FEATUREnasZ6WBFV'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'JobId',
'in' => 'query',
'schema' => ['description' => 'The ID of the data retrieval task.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'lrj-nfstest-ia-160****853-hshvw', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'BC7C825C-5F65-4B56-BEF6-98C56C7C****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'OperationDenied.LifecycleRetrieveJobNotFailed', 'errorMessage' => 'The specified LifecycleRetrieveJob has not failed.', 'description' => 'The specified LifecycleRetrieveJob has not failed.'],
['errorCode' => 'OperationDenied.LifecycleRetrieveJobCountLimitExceeded', 'errorMessage' => 'The maximum number of LifecycleRetrieveJobs is exceeded.', 'description' => 'The maximum number of LifecycleRetrieveJobs is exceeded.'],
],
404 => [
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidLifecycleRetrieveJob.NotFound', 'errorMessage' => 'The specified LifecycleRetrieveJob does not exist.', 'description' => 'The specified LifecycleRetrieveJob does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BC7C825C-5F65-4B56-BEF6-98C56C7C****\\"\\n}","errorExample":""},{"type":"xml","example":"BC7C825C-5F65-4B56-BEF6-98C56C7C****","errorExample":""}]',
'title' => 'RetryLifecycleRetrieveJob',
'description' => 'Only General-purpose NAS file systems support this operation.'."\n",
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2021-04-08T08:36:16.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RetryLifecycleRetrieveJob'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:RetryLifecycleRetrieveJob',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
],
],
'SetAgenticSpaceQuota' => [
'methods' => ['post', 'get'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '238301',
'abilityTreeNodes' => ['FEATUREnasXEQXVN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1ca404****', 'title' => ''],
],
[
'name' => 'AgenticSpaceId',
'in' => 'query',
'schema' => ['description' => 'AgenticSpace Id。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'agentic-229oypxjgpau2****', 'title' => ''],
],
[
'name' => 'FileCountLimit',
'in' => 'query',
'schema' => ['description' => 'The file count limit for the quota. Valid values:'."\n"
."\n"
.'- Minimum value: 10,000.'."\n"
."\n"
.'- Maximum value: 100,000,000.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10000', 'title' => ''],
],
[
'name' => 'SizeLimit',
'in' => 'query',
'schema' => ['description' => 'The total capacity limit for the quota. Unit: bytes.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- Minimum value: 10,737,418,240 (10 GiB).'."\n"
.'- Maximum value: 1,099,511,627,776,000 (1,024,000 GiB).'."\n"
.'- Step: 1,073,741,824 (1 GiB).', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10737418240', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run for this request. A dry run checks parameter validity and dependencies without actually modifying the instance or incurring charges.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- true: Sends a dry run request without modifying the protocol service. The check items include required parameters, request format, and business dependency conditions. If the check fails, the corresponding error is returned. If the check passes, HTTP status code 200 is returned.'."\n"
.'- false (default): Sends a normal request. After the check passes, the protocol service is directly modified.', 'type' => 'boolean', 'default' => 'false', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'Ensures the idempotency of the request. Generate a unique parameter value from your client to ensure that the value is unique across different requests.'."\n"
."\n"
.'ClientToken supports only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotency](~~25693~~).'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the RequestId of the API request as the ClientToken. The RequestId may differ for each API request.', 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '473469C7-AA6F-4DC5-B3DB-A3DC0DE3****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => 'The FileSystemId parameter is not specified.'],
['errorCode' => 'MissingFsetId', 'errorMessage' => 'FsetId is mandatory for this action.', 'description' => 'The Fileset ID parameter is not specified.'],
['errorCode' => 'Quota.Invalid.Limit', 'errorMessage' => 'Quota limit is invalid.', 'description' => 'Invalid quota.'],
['errorCode' => 'Quota.Exceed.Limit', 'errorMessage' => 'Quota exceed limit.', 'description' => 'The quota is below the Fileset limit.'],
['errorCode' => 'InvalidFilesetId.NotFound', 'errorMessage' => 'Invalid FilesetId.', 'description' => 'Fileset does not exist'],
],
403 => [
['errorCode' => 'OperationDenied.DependencyViolation', 'errorMessage' => 'The operation is denied due to dependancy violation.', 'description' => 'The conditions for this operation are not met.'],
['errorCode' => 'OperationDenied.FilesetNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => 'The file system does not support Fileset.'],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidFsetId.NotFound', 'errorMessage' => 'The specified Fileset ID does not exist.', 'description' => 'The specified fileset does not exist.'],
],
429 => [
['errorCode' => 'Throttling.Api', 'errorMessage' => 'Request was denied due to api flow control.', 'description' => 'The request is throttled.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
'title' => 'Set agentic space quota',
'summary' => 'Sets the quota for an Agentic space.',
'description' => 'Applies to agentic-type file systems.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"473469C7-AA6F-4DC5-B3DB-A3DC0DE3****\\"\\n}","type":"json"}]',
'gatewayOptions' => [
'gatewayProtocols' => [],
],
],
'SetDirQuota' => [
'summary' => 'Creates a directory quota for a file system.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'high',
'chargeType' => 'free',
'abilityTreeCode' => '13985',
'abilityTreeNodes' => ['FEATUREnasXEQXVN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1ca404****', 'title' => ''],
],
[
'name' => 'Path',
'in' => 'query',
'schema' => ['description' => 'The absolute path of the directory in the file system.'."\n"
."\n"
.'> * You can set quotas only for the directories that have been created in a NAS file system. The path of the directory that you specify for a quota is the absolute path of the directory in the NAS file system, but not the local path of the compute node, such as an Elastic Compute Service (ECS) instance or a container.'."\n"
.'> * Directories whose names contain Chinese characters are not supported.', 'type' => 'string', 'required' => true, 'example' => '/data/sub1', 'title' => ''],
],
[
'name' => 'QuotaType',
'in' => 'query',
'schema' => [
'description' => 'The type of the quota.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* Accounting: a statistical quota. If you set this parameter to Accounting, NAS calculates only the storage usage of the directory.'."\n"
.'* Enforcement: a restricted quota. If you set this parameter to Enforcement and the storage usage exceeds the quota, you can no longer create files or subdirectories for the directory, or write data to the directory.'."\n",
'type' => 'string',
'required' => true,
'example' => 'Accounting',
'enum' => ['Accounting', 'Enforcement'],
'title' => '',
],
],
[
'name' => 'UserType',
'in' => 'query',
'schema' => [
'description' => 'The type of the user.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* Uid: user ID'."\n"
.'* Gid: user group ID'."\n"
.'* AllUsers: all users'."\n",
'type' => 'string',
'required' => true,
'example' => 'Uid',
'enum' => ['Uid', 'Gid', 'AllUsers'],
'title' => '',
],
],
[
'name' => 'UserId',
'in' => 'query',
'schema' => ['description' => 'The UID or GID of the user for whom you want to set a directory quota.'."\n"
."\n"
.'This parameter is required and valid only if the UserType parameter is set to Uid or Gid.'."\n"
."\n"
.'Examples:'."\n"
."\n"
.'* If you want to set a directory quota for a user whose UID is 500, set the UserType parameter to Uid and set the UserId parameter to 500.'."\n"
.'* If you want to set a directory quota for a user group whose GID is 100, set the UserType parameter to Gid and set the UserId parameter to 100.'."\n", 'type' => 'string', 'required' => false, 'example' => '500', 'title' => ''],
],
[
'name' => 'SizeLimit',
'in' => 'query',
'schema' => ['description' => 'The size of files that a user can create in the directory.'."\n"
."\n"
.'Unit: GiB.'."\n"
."\n"
.'If you set the QuotaType parameter to Enforcement, you must specify at least one of the SizeLimit and FileCountLimit parameters.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '10000000', 'minimum' => '0', 'example' => '1024', 'title' => ''],
],
[
'name' => 'FileCountLimit',
'in' => 'query',
'schema' => ['description' => 'The number of files that a user can create in the directory.'."\n"
."\n"
.'This number includes the number of files, subdirectories, and special files.'."\n"
."\n"
.'If you set the QuotaType parameter to Enforcement, you must specify at least one of the SizeLimit and FileCountLimit parameters.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'maximum' => '1000000000', 'minimum' => '0', 'example' => '10000', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '5BC5CB97-9F28-42FE-84A4-0CD0DF42****', 'title' => ''],
'Success' => ['description' => 'Indicates whether the request was successful.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* true'."\n"
.'* false'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
404 => [
['errorCode' => 'InvalidParameter.DirPathNotExist', 'errorMessage' => 'The Dir Path does not exist', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5BC5CB97-9F28-42FE-84A4-0CD0DF42****\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"94CA5264-2C30-4D83-865D-B1CF2BE2****\\ntrue","errorExample":""}]',
'title' => 'SetDirQuota',
'description' => 'Only General-purpose File Storage NAS (NAS) file systems support the directory quota feature.',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-09-05T09:22:53.000Z', 'description' => 'Response parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetDirQuota'],
],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:SetDirQuota',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
],
'SetFilesetQuota' => [
'summary' => 'Sets the quota for a fileset.',
'methods' => ['post', 'get'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '238301',
'abilityTreeNodes' => ['FEATUREnasXEQXVN'],
'autoTest' => false,
'notSupportAutoTestReason' => '特殊用户支持的API',
'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the CPFS for LINGJUN file system. The IDs of CPFS for LINGJUN file systems must start with `bmcpfs-`. Example: bmcpfs-290w65p03ok64ya\\*\\*\\*\\*.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bmcpfs-290w65p03ok64ya****', 'title' => ''],
],
[
'name' => 'FsetId',
'in' => 'query',
'schema' => ['description' => 'The fileset ID.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'fset-1902718ea0ae****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run. The dry run checks parameter validity and prerequisites. The dry run does not delete the specified quota or incur fees.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* true: performs only a dry run. The system checks the required parameters, request syntax, and service limits. If the request fails the dry run, an error code is returned. If the request passes the dry run, the HTTP status code 200 is returned.'."\n"
.'* false (default): performs a dry run and sends the request. If the request passes the dry run, the quota is deleted.'."\n", 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How do I ensure the idempotence?](~~25693~~)'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
[
'name' => 'FileCountLimit',
'in' => 'query',
'schema' => ['description' => 'The number of files of the quota. Valid values:'."\n"
."\n"
.'* Minimum value: 10,000.'."\n"
.'* Maximum value: 10,000,000,000.'."\n"
."\n"
.'> If you do not specify this parameter, the number of files is unlimited.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10000', 'title' => ''],
],
[
'name' => 'SizeLimit',
'in' => 'query',
'schema' => ['description' => 'The total capacity of the quota. Unit: bytes.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* Minimum value: 10,737,418,240 (10 GiB).'."\n"
.'* Step size: 1,073,741,824 (1 GiB).'."\n"
."\n"
.'> If you do not specify this parameter, the capacity is unlimited.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10737418240', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingFsetId', 'errorMessage' => 'FsetId is mandatory for this action.', 'description' => ''],
['errorCode' => 'Quota.Invalid.Limit', 'errorMessage' => 'Quota limit is invalid.', 'description' => 'Invalid quota.'],
['errorCode' => 'Quota.Exceed.Limit', 'errorMessage' => 'Quota exceed limit.', 'description' => 'The quota is below the Fileset limit.'],
['errorCode' => 'InvalidFilesetId.NotFound', 'errorMessage' => 'Invalid FilesetId.', 'description' => 'Fileset does not exist'],
],
403 => [
['errorCode' => 'OperationDenied.DependencyViolation', 'errorMessage' => 'The operation is denied due to dependancy violation.', 'description' => ''],
['errorCode' => 'OperationDenied.FilesetNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidFsetId.NotFound', 'errorMessage' => 'The specified Fileset ID does not exist.', 'description' => ''],
],
429 => [
['errorCode' => 'Throttling.Api', 'errorMessage' => 'Request was denied due to api flow control.', 'description' => 'The request is throttled.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'eventInfo' => [
'enable' => false,
'eventNames' => [],
],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518948****\\"\\n}","type":"json"}]',
'title' => 'SetFilesetQuota',
'description' => '- 仅CPFS智算版2.7.0及以上版本支持为文件集设置配额。'."\n"
.'- Fileset容量配额,最小起步10 GiB,扩容单位为1 GiB。'."\n"
.'- Fileset最多支持100亿个文件或目录,最小起步10000,扩容单位为1。'."\n"
.'- 修改目录配额时,设置的配额容量或文件数必须高于已使用容量或文件数。'."\n"
.'- 容量限制和文件数限制至少填写其中一项。'."\n"
.'- 配额的统计有15分钟的延迟,当前的实际使用量15分钟之后才会生效。',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetFilesetQuota'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:SetFilesetQuota',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'Fileset', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'translator' => 'manual',
],
'StartDataFlow' => [
'summary' => 'Enables a dataflow.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '49022',
'abilityTreeNodes' => ['FEATUREnasPWYFYN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cpfs-099394bd928c****', 'title' => ''],
],
[
'name' => 'DataFlowId',
'in' => 'query',
'schema' => ['description' => 'The ID of the dataflow.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'df-194433a5be31****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform only a dry run, without performing the actual request.'."\n"
."\n"
.'During the dry run, the system checks whether the request parameters are valid and whether the requested resources are available. The dry run does not enable the specified dataflow or incur fees.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* true: performs only a dry run. The system checks the required parameters, request syntax, service limits, and available NAS resources. If the request fails the dry run, an error message is returned. If the request passes the dry run, the HTTP status code 200 is returned.'."\n"
.'* false (default): performs a dry run and sends the request. If the request passes the dry run, the specified dataflow is enabled.'."\n", 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How do I ensure the idempotence?](~~25693~~)'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'maxLength' => 64, 'minLength' => 1, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingDataFlowId', 'errorMessage' => 'DataFlowId is mandatory for this action.', 'description' => ''],
],
403 => [
['errorCode' => 'OperationDenied.InvalidState', 'errorMessage' => 'The operation is not permitted when the status is processing.', 'description' => 'The operation is not permitted when the status is processing.'],
['errorCode' => 'OperationDenied.DependencyViolation', 'errorMessage' => 'The operation is denied due to dependancy violation.', 'description' => ''],
['errorCode' => 'OperationDenied.NoStock', 'errorMessage' => 'The operation is denied due to no stock.', 'description' => ''],
['errorCode' => 'OperationDenied.ConflictOperation', 'errorMessage' => 'The operation is denied due to a conflict with an ongoing operation.', 'description' => ''],
['errorCode' => 'OperationDenied.DataFlowNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidDataFlow.NotFound', 'errorMessage' => 'The specified data flow does not exist.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\"\\n}","type":"json"}]',
'title' => 'StartDataFlow',
'description' => '- 该接口仅适用于CPFS文件系统。'."\n"
.'- 仅CPFS 2.2.0及以上版本支持数据流动。您可以在控制台文件系统详情页面查看版本信息。'."\n"
.'- 只能启动`Stopped(停止)`状态的数据流动。'."\n"
.'- 当DryRun为`true`时,可校验启动该规格的数据流动的资源是否充足。如果库存资源不足,数据流动则无法启动。'."\n"
.'- 启动数据流动一般耗时2~5分钟,您可通过[DescribeDataFlows](~~2402270~~)查询数据流动状态。',
'changeSet' => [
['createdAt' => '2024-09-05T09:22:53.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2021-10-28T08:34:23.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartDataFlow'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:StartDataFlow',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'translator' => 'manual',
],
'StartLifecyclePolicyExecution' => [
'summary' => 'Starts the execution of a lifecycle policy.',
'methods' => ['post'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeNodes' => ['FEATUREnasZ6WBFV'],
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The file system ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bmcpfs-0015****', 'title' => ''],
],
[
'name' => 'LifecyclePolicyId',
'in' => 'query',
'schema' => ['description' => 'The lifecycle policy ID.', 'type' => 'string', 'required' => true, 'example' => 'lc-xxx', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '70EACC9C-D07A-4A34-ADA4-77506C42****', 'title' => ''],
'Success' => ['description' => 'Indicates whether the request was successful.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- true: The request was successful.'."\n"
."\n"
.'- false: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidLifecyclePolicy.NotFound', 'errorMessage' => 'The specified LifecyclePolicy does not exist.', 'description' => 'The specified LifecyclePolicy does not exist.'],
['errorCode' => 'Lifecycle.RunningTask.Exist', 'errorMessage' => 'There are running tasks for this lifecycle policy.', 'description' => 'A file system supports only 2 OnDemand lifecycle policies in operation.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
],
403 => [
['errorCode' => 'OperationDenied.LifecycleLogsCountsExceeded', 'errorMessage' => 'The amount of Lifecycle Logs has reached its limits.', 'description' => 'The OnDemand lifecycle policy only supports 1 run.'],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
],
],
'title' => 'StartLifecyclePolicyExecution',
'description' => 'This operation is supported only when the `LifecyclePolicyType` of a lifecycle policy is set to `OnDemand` for a CPFS AI-Computing Edition file system.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"70EACC9C-D07A-4A34-ADA4-77506C42****\\",\\n \\"Success\\": true\\n}","type":"json"}]',
],
'StopDataFlow' => [
'summary' => 'Disables a dataflow.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '49021',
'abilityTreeNodes' => ['FEATUREnasPWYFYN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cpfs-099394bd928c****', 'title' => ''],
],
[
'name' => 'DataFlowId',
'in' => 'query',
'schema' => ['description' => 'The ID of the dataflow.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'df-194433a5be31****', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run.'."\n"
."\n"
.'During the dry run, the system checks whether the request parameters are valid and whether the requested resources are available. During the dry run, no fileset quota is canceled and no fee is incurred.'."\n"
."\n"
.'Valid value:'."\n"
."\n"
.'* true: performs a dry run. The system checks the required parameters, request syntax, service limits, and available Apsara File Storage NAS (NAS) resources. Otherwise, an error message is returned. If the request passes the dry run, the HTTP status code 200 is returned. No value is returned for the FileSystemId parameter.'."\n"
.'* false (default): performs a dry run and sends the request. If the request passes the dry run, the fileset quota is canceled.'."\n", 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'false', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How to ensure idempotence](~~25693~~).'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'maxLength' => 64, 'minLength' => 1, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
['errorCode' => 'MissingDataFlowId', 'errorMessage' => 'DataFlowId is mandatory for this action.', 'description' => ''],
],
403 => [
['errorCode' => 'OperationDenied.InvalidState', 'errorMessage' => 'The operation is not permitted when the status is processing.', 'description' => 'The operation is not permitted when the status is processing.'],
['errorCode' => 'OperationDenied.DependencyViolation', 'errorMessage' => 'The operation is denied due to dependancy violation.', 'description' => ''],
['errorCode' => 'OperationDenied.ConflictOperation', 'errorMessage' => 'The operation is denied due to a conflict with an ongoing operation.', 'description' => ''],
['errorCode' => 'OperationDenied.DataFlowNotSupported', 'errorMessage' => 'The operation is not supported.', 'description' => ''],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
['errorCode' => 'InvalidDataFlow.NotFound', 'errorMessage' => 'The specified data flow does not exist.', 'description' => ''],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\"\\n}","type":"json"}]',
'title' => 'StopDataFlow',
'description' => '- 该接口仅适用于CPFS文件系统。'."\n"
.'- 仅CPFS 2.2.0及以上版本支持数据流动。您可以在控制台文件系统详情页面查看版本信息。'."\n"
.'- 只能停用`Running(正常)`状态的数据流动。'."\n"
.'- 停用后,不可在数据流动上创建数据流动任务。如果配置了自动更新,源端发生的数据更新也不会同步到CPFS上。'."\n"
.'- 停用后,由于资源被回收,数据流动带宽将不再计费,但重新启动数据流动可能因为库存不足导致启动失败。'."\n"
.'- 停用数据流动一般耗时2~5分钟,您可通过[DescribeDataFlows](~~2402271~~)查询数据流动状态。',
'changeSet' => [
['createdAt' => '2024-09-05T09:22:53.000Z', 'description' => 'Response parameters changed'],
['createdAt' => '2021-10-28T08:34:23.000Z', 'description' => 'OpenAPI offline'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopDataFlow'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:StopDataFlow',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'translator' => 'manual',
],
'StopLifecyclePolicyExecution' => [
'summary' => 'Stops the execution of a lifecycle policy.',
'methods' => ['post'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeNodes' => ['FEATUREnasZ6WBFV'],
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bmcpfs-290w65p03ok64ya****', 'title' => ''],
],
[
'name' => 'LifecyclePolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the lifecycle policy.', 'type' => 'string', 'required' => true, 'example' => 'lc-xxx', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n"
."\n"
.'A request ID is returned regardless of whether the call succeeds.', 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****', 'title' => ''],
'Success' => ['description' => 'Indicates whether the request succeeded.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- true: The request succeeded.'."\n"
."\n"
.'- false: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidLifecyclePolicy.NotFound', 'errorMessage' => 'The specified LifecyclePolicy does not exist.', 'description' => 'The specified LifecyclePolicy does not exist.'],
],
404 => [
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
],
],
'title' => 'StopLifecyclePolicyExecution',
'description' => 'This operation applies only when the LifecyclePolicyType parameter of a lifecycle management policy for a CPFS file system is set to OnDemand.',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\",\\n \\"Success\\": true\\n}","type":"json"}]',
],
'TagResources' => [
'summary' => 'Creates tags and binds the tags to file systems.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13986',
'abilityTreeNodes' => ['FEATUREnasI92PYN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'ResourceType',
'in' => 'query',
'schema' => ['description' => 'The resource type. Set the value to filesystem.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'filesystem', 'title' => ''],
],
[
'name' => 'ResourceId',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The resource IDs. Valid values of N: 1 to 50.',
'type' => 'array',
'items' => ['description' => 'The ID of the file system.'."\n"
."\n"
.'* Sample ID of a General-purpose NAS file system: 31a8e4\\*\\*\\*\\*.'."\n"
.'* The IDs of Extreme NAS file systems must start with `extreme-`, for example, `extreme-0015****`.'."\n"
.'* The IDs of CPFS file systems must start with `cpfs-`, for example, `cpfs-125487****`.'."\n"
."\n"
.'> * You can bind a tag to one or more file systems. You can specify up to 50 file system IDs.'."\n"
.'> * CPFS file systems are available only on the China site (aliyun.com).', 'type' => 'string', 'required' => false, 'example' => '31a8e4****', 'title' => ''],
'required' => true,
'example' => '03e08484f0',
'maxItems' => 51,
'title' => '',
],
],
[
'name' => 'Tag',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The details about the tags.'."\n",
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Key' => ['description' => 'The key of tag N to add to the resource.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'* The tag key cannot be left empty.'."\n"
.'* Valid values of N: 1 to 20.'."\n"
.'* The tag key must be 1 to 128 characters in length.'."\n"
.'* The tag key cannot start with `aliyun` or `acs:`.'."\n"
.'* The tag key cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => true, 'example' => 'nastest', 'title' => ''],
'Value' => ['description' => 'The value of tag N to add to the resource.'."\n"
."\n"
.'Limits:'."\n"
."\n"
.'* Valid values of N: 1 to 20.'."\n"
.'* The tag value must be 1 to 128 characters in length.'."\n"
.'* The tag value cannot start with `aliyun` or `acs:`.'."\n"
.'* The tag value cannot contain `http://` or `https://`.'."\n", 'type' => 'string', 'required' => true, 'example' => 'filetest', 'title' => ''],
],
'required' => false,
'description' => '',
'title' => '',
'example' => '',
],
'required' => true,
'maxItems' => 21,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'NumberExceed.ResourceIds', 'errorMessage' => 'The maximum number of ResourceIds is exceeded. The maximum is 50.', 'description' => 'The maximum number of resource ID is exceeded. The maximum is 50.'],
['errorCode' => 'MissingParameter.ResourceIds', 'errorMessage' => 'You must specify ResourceIds.', 'description' => 'You must specify ResourceId.'],
['errorCode' => 'Duplicate.ResourceId', 'errorMessage' => 'The request contains duplicated ResourceId.', 'description' => 'ResourceId cannot be duplicated.'],
['errorCode' => 'NumberExceed.Tags', 'errorMessage' => 'The maximum number of Tags is exceeded. The maximum is 20.', 'description' => 'The maximum number of Tags is exceeded. The maximum is 20.'],
['errorCode' => 'Duplicate.TagKey', 'errorMessage' => 'The Tag.N.Key contains a duplicated key.', 'description' => 'The specified TagKey is duplicated.'],
['errorCode' => 'InvalidResourceId.NotFound', 'errorMessage' => 'The ResourceId does not exist.', 'description' => 'The specified ResourceId does not exist.'],
['errorCode' => 'InvalidParameter.TagKey', 'errorMessage' => 'The specified Tag.n.Key is invalid.', 'description' => 'The specified TagKey is invalid.'],
['errorCode' => 'InvalidParameter.TagValue', 'errorMessage' => 'The specified Tag.n.Value is invalid.', 'description' => 'The specified TagValue is invalid.'],
['errorCode' => 'CustomTag.NumberExceed', 'errorMessage' => 'The maximum number of system tags for each resource is 20.', 'description' => 'The maximum number of user tags for each resource is 20.'],
],
403 => [
['errorCode' => 'OperationDenied.KeyValueNotNull', 'errorMessage' => 'The key value cannot be null.', 'description' => 'You must specify tag value.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518948****\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 2D69A58F-345C-4FDE-88E4-BF518948****\\r\\n","errorExample":""}]',
'title' => 'TagResources',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'],
],
],
'ramActions' => [
[
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:TagResources',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
],
'UntagResources' => [
'summary' => 'Removes tags from a file system.',
'methods' => ['post', 'get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'delete',
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '13987',
'abilityTreeNodes' => ['FEATUREnasI92PYN'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'ResourceType',
'in' => 'query',
'schema' => ['description' => 'The resource type.'."\n"
."\n"
.'Set the value to filesystem.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'filesystem', 'title' => ''],
],
[
'name' => 'All',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to remove all tags from the file system.'."\n"
."\n"
.'This parameter is valid only if the TagKey.N parameter is not specified.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* true: All tags are removed from the file system. If the file system does not have tags, a success message is returned.'."\n"
.'* false (default): No tags are removed from the file system and a success message is returned.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''],
],
[
'name' => 'ResourceId',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The resource IDs. Valid values of N: 1 to 50.'."\n",
'type' => 'array',
'items' => ['description' => 'The ID of the file system.'."\n"
."\n"
.'* Sample ID of a General-purpose NAS file system: 31a8e4\\*\\*\\*\\*.'."\n"
.'* The IDs of Extreme NAS file systems must start with extreme-, for example, extreme-0015\\*\\*\\*\\*.'."\n"
.'* The IDs of Cloud Parallel File Storage (CPFS) file systems must start with gcpfs-g, for example, cpfs-125487\\*\\*\\*\\*.'."\n"
."\n"
.'> CPFS file systems are available only on the China site (aliyun.com).'."\n", 'type' => 'string', 'required' => false, 'example' => '31a8e4****', 'title' => ''],
'required' => true,
'example' => '03e08484f0',
'maxItems' => 51,
'title' => '',
],
],
[
'name' => 'TagKey',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'description' => 'The tag keys of the resources. Valid values of N: 1 to 20.'."\n",
'type' => 'array',
'items' => ['description' => 'The tag key of the file system.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''],
'required' => false,
'example' => 'nastest',
'maxItems' => 21,
'title' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '2D69A58F-345C-4FDE-88E4-BF518948****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'NumberExceed.ResourceIds', 'errorMessage' => 'The maximum number of ResourceIds is exceeded. The maximum is 50.', 'description' => 'The maximum number of resource ID is exceeded. The maximum is 50.'],
['errorCode' => 'Duplicate.ResourceId', 'errorMessage' => 'The request contains duplicated ResourceId.', 'description' => 'ResourceId cannot be duplicated.'],
['errorCode' => 'MissingParameter.ResourceIds', 'errorMessage' => 'You must specify ResourceIds.', 'description' => 'You must specify ResourceId.'],
['errorCode' => 'InvalidParameter.TagKey', 'errorMessage' => 'The specified Tag.n.Key is invalid.', 'description' => 'The specified TagKey is invalid.'],
['errorCode' => 'InvalidParameter.TagValue', 'errorMessage' => 'The specified Tag.n.Value is invalid.', 'description' => 'The specified TagValue is invalid.'],
['errorCode' => 'Duplicate.TagKey', 'errorMessage' => 'The Tag.N.Key contains a duplicated key.', 'description' => 'The specified TagKey is duplicated.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2D69A58F-345C-4FDE-88E4-BF518948****\\"\\n}","errorExample":""},{"type":"xml","example":"\\r\\n 2D69A58F-345C-4FDE-88E4-BF518948****\\r\\n","errorExample":""}]',
'title' => 'UntagResources',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'],
],
],
'ramActions' => [
[
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:UntagResources',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
],
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
],
'UpdateLifecyclePolicy' => [
'summary' => 'Updates the rules of a lifecycle policy. This operation is supported only for CPFS for AI file systems. The `UpdateLifecyclePolicy` operation overwrites the entire policy. Omitting an optional parameter deletes its corresponding configuration. To add a rule to an existing policy, call the `DescribeLifecyclePolicies` operation to retrieve the current policy, append the new rule, and then call `UpdateLifecyclePolicy` with the updated configuration.',
'methods' => ['post'],
'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeNodes' => ['FEATUREnasZ6WBFV'],
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'bmcpfs-290w65p03ok64y*****', 'title' => ''],
],
[
'name' => 'StorageType',
'in' => 'query',
'schema' => [
'description' => 'The storage tier.'."\n"
."\n"
.'- `InfrequentAccess`: The Infrequent Access storage tier. This is the default value.'."\n"
."\n"
.'- `Archive`: The Archive storage tier.',
'type' => 'string',
'required' => false,
'default' => 'InfrequentAccess',
'enum' => ['InfrequentAccess'],
'example' => 'InfrequentAccess',
'title' => '',
],
],
[
'name' => 'LifecyclePolicyId',
'in' => 'query',
'schema' => ['description' => 'The ID of the lifecycle policy.'."\n"
."\n"
.'> This parameter is required for CPFS for AI file systems.', 'type' => 'string', 'required' => true, 'example' => 'lsp-bp1234567890ab****', 'title' => ''],
],
[
'name' => 'Description',
'in' => 'query',
'schema' => ['description' => 'The description of the lifecycle policy.'."\n"
."\n"
.'The description must be 3 to 64 characters long and must start with a letter. It can contain letters, digits, underscores (\\_), and hyphens (-).'."\n"
."\n"
.'> This parameter is supported only for CPFS for AI file systems.', 'type' => 'string', 'required' => false, 'example' => 'Lifecycle policy description', 'title' => ''],
],
[
'name' => 'Paths',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'type' => 'array',
'items' => ['description' => 'The absolute path of a directory to which the lifecycle policy applies.'."\n"
."\n"
.'You can specify 1 to 10 paths. Each path must start with a forward slash (/) and be an existing path in the mount target.', 'type' => 'string', 'required' => false, 'example' => '/path1', 'title' => ''],
'maxItems' => 100,
'description' => 'The absolute paths of the directories to which the lifecycle policy applies.',
'required' => false,
'title' => '',
'example' => '',
],
],
[
'name' => 'TransitRules',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Attribute' => ['description' => 'The rule attribute.'."\n"
."\n"
.'Valid value:'."\n"
."\n"
.'- `Atime`: The last access time of a file.', 'type' => 'string', 'required' => false, 'example' => 'Atime', 'title' => ''],
'Threshold' => ['description' => 'The rule threshold.'."\n"
."\n"
.'Valid value:'."\n"
."\n"
.'- If `Attribute` is set to `Atime`, this parameter specifies the number of days since a file was last accessed. The value must be between 1 and 365.', 'type' => 'string', 'required' => false, 'example' => '3', 'title' => ''],
],
'description' => 'A transition rule for the files.',
'required' => false,
'title' => '',
'example' => '',
],
'maxItems' => 1,
'description' => 'The transition rule for files. You can specify only one transition rule.'."\n"
."\n"
.'> This parameter is supported only for CPFS for AI file systems when `LifecyclePolicyType` is set to `Auto`.',
'required' => false,
'title' => '',
'example' => '',
],
],
[
'name' => 'RetrieveRules',
'in' => 'query',
'style' => 'repeatList',
'schema' => [
'type' => 'array',
'items' => [
'type' => 'object',
'properties' => [
'Attribute' => ['description' => 'The rule attribute. Valid value:'."\n"
."\n"
.'- `RetrieveType`: The retrieval method.', 'type' => 'string', 'required' => false, 'example' => 'RetrieveType', 'title' => ''],
'Threshold' => [
'description' => 'The retrieval method. Valid values:'."\n"
."\n"
.'- If `Attribute` is set to `RetrieveType`:'."\n"
."\n"
.' - `AfterVisit`: Retrieves data on a best-effort basis after a file is accessed. This value is valid only when `LifecyclePolicyType` is `Auto`.'."\n"
."\n"
.' - `All`: Retrieves all data. This value is valid only when `LifecyclePolicyType` is `OnDemand`.',
'enumValueTitles' => ['All' => '', 'AfterVisit' => ''],
'type' => 'string',
'required' => false,
'example' => 'All',
'title' => '',
],
],
'description' => 'A retrieval rule for the files.',
'required' => false,
'title' => '',
'example' => '',
],
'maxItems' => 1,
'description' => 'The retrieval rule for files. You can specify only one retrieval rule.'."\n"
."\n"
.'> This parameter is supported only for CPFS for AI file systems.',
'required' => false,
'title' => '',
'example' => '',
],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****', 'title' => ''],
'Success' => ['description' => 'Indicates whether the request succeeded.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'- true: The request succeeded.'."\n"
."\n"
.'- false: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''],
],
'description' => 'The response object.',
'title' => '',
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'InvalidLifecyclePolicy.NotFound', 'errorMessage' => 'The specified LifecyclePolicy does not exist.', 'description' => 'The specified LifecyclePolicy does not exist.'],
],
404 => [
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
],
],
'title' => 'UpdateLifecyclePolicy',
'changeSet' => [],
'flowControl' => [
'flowControlList' => [],
],
'ramActions' => [],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\",\\n \\"Success\\": true\\n}","type":"json"}]',
],
'UpdateRecycleBinAttribute' => [
'summary' => 'Modifies the retention period of data in the recycle bin of a file system.',
'methods' => ['get'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '14458',
'abilityTreeNodes' => ['FEATUREnas0A1PB1'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '1ca404****', 'title' => ''],
],
[
'name' => 'ReservedDays',
'in' => 'query',
'schema' => ['description' => 'The retention period of the files in the recycle bin. Unit: days.'."\n"
."\n"
.'Valid values: 1 to 180.'."\n"
."\n"
.'Default value: 3.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'maximum' => '180', 'minimum' => '1', 'example' => '3', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'Schema of Response',
'description' => 'Schema of Response'."\n",
'type' => 'object',
'properties' => [
'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'BC7C825C-5F65-4B56-BEF6-98C5****546E'],
],
'example' => '',
],
],
],
'errorCodes' => [
400 => [
['errorCode' => 'IllegalCharacters', 'errorMessage' => 'The parameter contains illegal characters.', 'description' => 'The parameter contains illegal characters.'],
['errorCode' => 'MissingFileSystemId', 'errorMessage' => 'FileSystemId is mandatory for this action.', 'description' => ''],
],
403 => [
['errorCode' => 'OperationDenied.RecycleBinDisabled', 'errorMessage' => 'The operation is denied because the recycle bin is disabled.', 'description' => 'The operation is denied because the recycle bin is disabled.'],
],
[
['errorCode' => 'InvalidFileSystem.NotFound', 'errorMessage' => 'The specified file system does not exist.', 'description' => 'The specified file system does not exist.'],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BC7C825C-5F65-4B56-BEF6-98C5****546E\\"\\n}","errorExample":""},{"type":"xml","example":"\\n BC7C825C-5F65-4B56-BEF6-98C5****546E\\n","errorExample":""}]',
'title' => 'UpdateRecycleBinAttribute',
'description' => 'Only General-purpose NAS file systems support this operation.'."\n",
'changeSet' => [
['createdAt' => '2021-06-02T07:10:56.000Z', 'description' => 'Request parameters changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateRecycleBinAttribute'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:UpdateRecycleBinAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
],
],
'UpgradeFileSystem' => [
'summary' => 'Scales up an Extreme NAS file system or a Cloud Parallel File Storage (CPFS) file system.',
'methods' => ['post', 'get', 'put'],
'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
'operationType' => 'write',
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
'riskType' => 'high',
'chargeType' => 'paid',
'abilityTreeCode' => '13988',
'abilityTreeNodes' => ['FEATUREnasCF11NZ', 'FEATUREnasQ7YV89', 'FEATUREnas6KFX9N', 'FEATUREnas0GUIX5'],
'autoTest' => true,
'tenantRelevance' => 'tenant',
],
'parameters' => [
[
'name' => 'FileSystemId',
'in' => 'query',
'schema' => ['description' => 'The ID of the file system.'."\n"
."\n"
.'* The IDs of Extreme NAS file systems must start with `extreme-`, for example, extreme-0015\\*\\*\\*\\*.'."\n"
.'* The IDs of CPFS file systems must start with `cpfs-`. Example: cpfs-125487\\*\\*\\*\\*.'."\n", 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'extreme-0015****', 'title' => ''],
],
[
'name' => 'Capacity',
'in' => 'query',
'schema' => ['description' => 'The desired capacity of the file system.'."\n"
."\n"
.'The desired capacity of the file system must be greater than the original capacity of the file system. Unit: GiB.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'docRequired' => true, 'example' => '100', 'title' => ''],
],
[
'name' => 'DryRun',
'in' => 'query',
'schema' => ['description' => 'Specifies whether to perform a dry run.'."\n"
."\n"
.'During the dry run, the system checks whether the request parameters are valid and whether the requested resources are available. During the dry run, no file system is created and no fee is incurred.'."\n"
."\n"
.'Valid values:'."\n"
."\n"
.'* true: performs a dry run. The system checks the required parameters, request syntax, limits, and available NAS resources. If the request fails the dry run, an error message is returned. If the request passes the dry run, the HTTP status code 200 is returned. No value is returned for the FileSystemId parameter.'."\n"
.'* false (default): performs a dry run and sends the request. If the request passes the dry run, a file system is created.'."\n", 'type' => 'boolean', 'required' => false, 'docRequired' => true, 'default' => 'false', 'example' => 'true', 'title' => ''],
],
[
'name' => 'ClientToken',
'in' => 'query',
'schema' => ['description' => 'The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests.'."\n"
."\n"
.'The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see [How do I ensure the idempotence?](~~25693~~)'."\n"
."\n"
.'> If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.'."\n", 'type' => 'string', 'required' => false, 'example' => '123e4567-e89b-12d3-a456-42665544****', 'title' => ''],
],
],
'responses' => [
200 => [
'schema' => [
'type' => 'object',
'properties' => [
'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '98696EF0-1607-4E9D-B01D-F20930B6****', 'title' => ''],
],
'description' => '',
'title' => '',
'example' => '',
],
],
],
'staticInfo' => ['returnType' => 'synchronous'],
'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"98696EF0-1607-4E9D-B01D-F20930B6****\\"\\n}","type":"json"}]',
'title' => 'UpgradeFileSystem',
'description' => '- 仅支持极速型NAS文件系统和CPFS文件系统扩容。'."\n"
.'- 通用型NAS按需自动扩容,无须使用本API。',
'requestParamsDescription' => ' ',
'responseParamsDescription' => ' ',
'extraInfo' => ' ',
'changeSet' => [
['createdAt' => '2024-09-14T05:41:00.000Z', 'description' => 'Error codes changed'],
],
'flowControl' => [
'flowControlList' => [
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpgradeFileSystem'],
],
],
'ramActions' => [
[
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:UpgradeFileSystem',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
'additionalActions' => [],
],
],
'translator' => 'manual',
],
],
'endpoints' => [
['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'nas.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'nas.cn-wulanchabu.aliyuncs.com', 'vpc' => 'nas-vpc.cn-wulanchabu.aliyuncs.com'],
['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'nas.cn-beijing.aliyuncs.com', 'endpoint' => 'nas.cn-beijing.aliyuncs.com', 'vpc' => 'nas-vpc.cn-beijing.aliyuncs.com'],
['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'nas.cn-shanghai.aliyuncs.com', 'endpoint' => 'nas.cn-shanghai.aliyuncs.com', 'vpc' => 'nas-vpc.cn-shanghai.aliyuncs.com'],
['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'nas.cn-hongkong.aliyuncs.com', 'endpoint' => 'nas.cn-hongkong.aliyuncs.com', 'vpc' => 'nas-vpc.cn-hongkong.aliyuncs.com'],
['regionId' => 'cn-heyuan', 'regionName' => 'China (Heyuan)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'nas.cn-heyuan.aliyuncs.com', 'endpoint' => 'nas.cn-heyuan.aliyuncs.com', 'vpc' => 'nas-vpc.cn-heyuan.aliyuncs.com'],
['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'nas.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'nas.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'nas-vpc.cn-zhangjiakou.aliyuncs.com'],
['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'nas.cn-shenzhen.aliyuncs.com', 'endpoint' => 'nas.cn-shenzhen.aliyuncs.com', 'vpc' => 'nas-vpc.cn-shenzhen.aliyuncs.com'],
['regionId' => 'ap-northeast-2', 'regionName' => 'South Korea (Seoul)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'nas.ap-northeast-2.aliyuncs.com', 'endpoint' => 'nas.ap-northeast-2.aliyuncs.com', 'vpc' => 'nas-vpc.ap-northeast-2.aliyuncs.com'],
['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'nas.ap-northeast-1.aliyuncs.com', 'endpoint' => 'nas.ap-northeast-1.aliyuncs.com', 'vpc' => 'nas-vpc.ap-northeast-1.aliyuncs.com'],
['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'nas.cn-chengdu.aliyuncs.com', 'endpoint' => 'nas.cn-chengdu.aliyuncs.com', 'vpc' => 'nas-vpc.cn-chengdu.aliyuncs.com'],
['regionId' => 'cn-guangzhou', 'regionName' => 'China (Guangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'nas.cn-guangzhou.aliyuncs.com', 'endpoint' => 'nas.cn-guangzhou.aliyuncs.com', 'vpc' => 'nas-vpc.cn-guangzhou.aliyuncs.com'],
['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'nas.ap-southeast-1.aliyuncs.com', 'endpoint' => 'nas.ap-southeast-1.aliyuncs.com', 'vpc' => 'nas-vpc.ap-southeast-1.aliyuncs.com'],
['regionId' => 'ap-southeast-3', 'regionName' => 'Malaysia (Kuala Lumpur)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'nas.ap-southeast-3.aliyuncs.com', 'endpoint' => 'nas.ap-southeast-3.aliyuncs.com', 'vpc' => 'nas-vpc.ap-southeast-3.aliyuncs.com'],
['regionId' => 'cn-huhehaote', 'regionName' => 'China (Hohhot)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'nas.cn-huhehaote.aliyuncs.com', 'endpoint' => 'nas.cn-huhehaote.aliyuncs.com', 'vpc' => 'nas-vpc.cn-huhehaote.aliyuncs.com'],
['regionId' => 'ap-southeast-5', 'regionName' => 'Indonesia (Jakarta)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'nas.ap-southeast-5.aliyuncs.com', 'endpoint' => 'nas.ap-southeast-5.aliyuncs.com', 'vpc' => 'nas-vpc.ap-southeast-5.aliyuncs.com'],
['regionId' => 'ap-southeast-6', 'regionName' => 'Philippines (Manila)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'nas.ap-southeast-6.aliyuncs.com', 'endpoint' => 'nas.ap-southeast-6.aliyuncs.com', 'vpc' => 'nas-vpc.ap-southeast-6.aliyuncs.com'],
['regionId' => 'ap-southeast-7', 'regionName' => 'Thailand (Bangkok)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'nas.ap-southeast-7.aliyuncs.com', 'endpoint' => 'nas.ap-southeast-7.aliyuncs.com', 'vpc' => 'nas-vpc.ap-southeast-7.aliyuncs.com'],
['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'nas.cn-hangzhou.aliyuncs.com', 'endpoint' => 'nas.cn-hangzhou.aliyuncs.com', 'vpc' => 'nas-vpc.cn-hangzhou.aliyuncs.com'],
['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'nas.us-east-1.aliyuncs.com', 'endpoint' => 'nas.us-east-1.aliyuncs.com', 'vpc' => 'nas-vpc.us-east-1.aliyuncs.com'],
['regionId' => 'eu-west-1', 'regionName' => 'UK (London)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'nas.eu-west-1.aliyuncs.com', 'endpoint' => 'nas.eu-west-1.aliyuncs.com', 'vpc' => 'nas-vpc.eu-west-1.aliyuncs.com'],
['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'nas.us-west-1.aliyuncs.com', 'endpoint' => 'nas.us-west-1.aliyuncs.com', 'vpc' => 'nas-vpc.us-west-1.aliyuncs.com'],
['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'nas.eu-central-1.aliyuncs.com', 'endpoint' => 'nas.eu-central-1.aliyuncs.com', 'vpc' => 'nas-vpc.eu-central-1.aliyuncs.com'],
['regionId' => 'me-east-1', 'regionName' => 'UAE (Dubai)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'nas.me-east-1.aliyuncs.com', 'endpoint' => 'nas.me-east-1.aliyuncs.com', 'vpc' => 'nas-vpc.me-east-1.aliyuncs.com'],
['regionId' => 'me-central-1', 'regionName' => 'Saudi Arabia (Riyadh)', 'areaId' => 'middleEast', 'areaName' => 'Middle East', 'public' => 'nas.me-central-1.aliyuncs.com', 'endpoint' => 'nas.me-central-1.aliyuncs.com', 'vpc' => 'nas-vpc.me-central-1.aliyuncs.com'],
['regionId' => 'cn-hangzhou-finance', 'regionName' => 'China East 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'nas.cn-hangzhou-finance.aliyuncs.com', 'endpoint' => 'nas.cn-hangzhou-finance.aliyuncs.com', 'vpc' => 'nas-vpc.cn-hangzhou-finance.aliyuncs.com'],
['regionId' => 'cn-shenzhen-finance-1', 'regionName' => 'China South 1 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'nas.cn-shenzhen-finance-1.aliyuncs.com', 'endpoint' => 'nas.cn-shenzhen-finance-1.aliyuncs.com', 'vpc' => 'nas-vpc.cn-shenzhen-finance-1.aliyuncs.com'],
['regionId' => 'cn-beijing-finance-1', 'regionName' => 'China North 2 Finance (Preview)', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'nas.cn-beijing-finance-1.aliyuncs.com', 'endpoint' => 'nas.cn-beijing-finance-1.aliyuncs.com', 'vpc' => 'nas-vpc.cn-beijing-finance-1.aliyuncs.com'],
['regionId' => 'cn-shanghai-finance-1', 'regionName' => 'China East 2 Finance', 'areaId' => 'industryCloud', 'areaName' => 'Industry Cloud', 'public' => 'nas.cn-shanghai-finance-1.aliyuncs.com', 'endpoint' => 'nas.cn-shanghai-finance-1.aliyuncs.com', 'vpc' => 'nas-vpc.cn-shanghai-finance-1.aliyuncs.com'],
],
'errorCodes' => [
['code' => 'AssumeRoleFailed', 'message' => 'Failed to assume the role.', 'http_code' => 400, 'description' => 'Role assumption failed.'],
['code' => 'BadRequest', 'message' => 'BadRequest', 'http_code' => 400, 'description' => 'The request is invalid.'],
['code' => 'Capacity.NotEqual.SnapshotFileSystem', 'message' => 'The set file system capacity is not equal to the snapshot source file system capacity.', 'http_code' => 400, 'description' => 'The set file system capacity is not equal to the snapshot source file system capacity.'],
['code' => 'COMMODITY.INVALID_COMPONENT', 'message' => 'Order configuration parameters do not meet the verification conditions, please re-match the product.', 'http_code' => 400, 'description' => 'Order configuration parameters do not meet the verification conditions, please re-match the product.'],
['code' => 'CustomTag.NumberExceed', 'message' => 'The maximum number of system tags for each resource is 20.', 'http_code' => 400, 'description' => 'The maximum number of user tags for each resource is 20.'],
['code' => 'DataFlow.Bucket.AccessDenied', 'message' => 'Bucket access denied.', 'http_code' => 403, 'description' => 'Data flow authentication error.'],
['code' => 'DataFlow.Bucket.NotExist', 'message' => 'Bucket does not exist.', 'http_code' => 404, 'description' => 'The bucket does not exist.'],
['code' => 'DataFlow.Bucket.RegionUnmatched', 'message' => 'The bucket and file system are not in the same region.', 'http_code' => 400, 'description' => 'The bucket is inconsistent with the filesystem region.'],
['code' => 'DescVscAttachInfo.InvalidParam', 'message' => 'DescVscAttachInfo param mountPointId, instanceIds, vscIds could only have one and must have one.', 'http_code' => 403, 'description' => 'mountPointId,instanceIds, there can only be one vscIds input, and there must be one.'],
['code' => 'Disabled', 'message' => 'Your account does not open Nas Service yet or balance is insufficient.', 'http_code' => 423, 'description' => 'File Storage NAS has not been activated for your account, or your account balance is insufficient.'],
['code' => 'DryRunOperation', 'message' => 'The request is validated with DryRun flag set.', 'http_code' => 400, 'description' => 'The request is validated with DryRun flag set.'],
['code' => 'Duplicate.ResourceId', 'message' => 'The request contains duplicated ResourceId.', 'http_code' => 400, 'description' => 'ResourceId cannot be duplicated.'],
['code' => 'Duplicate.TagKey', 'message' => 'The Tag.N.Key contains a duplicated key.', 'http_code' => 400, 'description' => 'The specified TagKey is duplicated.'],
['code' => 'ENIRamRole.NotAuth', 'message' => 'The service you purchased requires authorization. Please authorize it first.', 'http_code' => 403, 'description' => 'The service you purchased requires authorization. Please authorize it first.'],
['code' => 'EntityNotExist.ResourceGroup', 'message' => 'The resource group does not exist.', 'http_code' => 404, 'description' => 'The resource group does not exist.'],
['code' => 'EntityNotExist.ResourceId', 'message' => 'The resource does not exist.', 'http_code' => 404, 'description' => 'The specified resource does not exist.'],
['code' => 'Fileset.Path.Duplicate', 'message' => 'Fileset path is duplicate.', 'http_code' => 400, 'description' => 'Fileset path is duplicate.'],
['code' => 'Fileset.Path.Exist', 'message' => 'Fileset already exist.', 'http_code' => 400, 'description' => 'Fileset path already exists.'],
['code' => 'Fileset.Path.Nested', 'message' => 'Fileset path is nested.', 'http_code' => 400, 'description' => 'Fileset path is nested.'],
['code' => 'Fileset.Path.NotExist', 'message' => 'Fileset.Path.Not.Exist.', 'http_code' => 400, 'description' => 'Fileset parent directory path does not exist.'],
['code' => 'Fileset.Status.Invalid', 'message' => 'Fileset status is invalid.', 'http_code' => 400, 'description' => 'Invalid Fileset state.'],
['code' => 'FileSystem.CountLimit.Reach', 'message' => 'FileSystem count limit.', 'http_code' => 400, 'description' => 'The maximum number of file systems has been reached.'],
['code' => 'Forbbiden', 'message' => 'Permission Denied', 'http_code' => 403, 'description' => 'You do not have sufficient permissions.'],
['code' => 'Forbbiden.Ram', 'message' => 'User not authorized to operate on the specified resource, or this API doesn\'t support RAM.', 'http_code' => 403, 'description' => 'The user is not authorized to operate the specified resource, or the API does not support RAM.'],
['code' => 'Fset.IncorrectStatus', 'message' => 'The specified fset is in an incorrect status.', 'http_code' => 404, 'description' => 'The specified fileset is unavailable.'],
['code' => 'GrayCondition.NotMet', 'message' => 'Your request does not meet the gray condition.', 'http_code' => 400, 'description' => 'Your request does not meet the grayscale criteria.'],
['code' => 'IdempotentParameterMismatch', 'message' => 'The same client token was passed in to different parameters.', 'http_code' => 400, 'description' => 'The same client token was passed in to different parameters.'],
['code' => 'IllegalCharacters', 'message' => 'The parameter contains illegal characters.', 'http_code' => 400, 'description' => 'The parameter contains illegal characters.'],
['code' => 'Instance.IncorrectStatus', 'message' => 'The specified instance is in an incorrect status.', 'http_code' => 403, 'description' => 'The operation is not allowed in the current state.'],
['code' => 'Insufficient.Inventory', 'message' => 'The inventory is insufficient now.', 'http_code' => 400, 'description' => 'The inventory is insufficient now.'],
['code' => 'InsufficientInventory', 'message' => 'Current inventory is insufficient.', 'http_code' => 403, 'description' => 'Current inventory is insufficient.'],
['code' => 'InvaildZone.NotExist', 'message' => 'The zone does not exist.', 'http_code' => 400, 'description' => 'The zone does not exist.'],
['code' => 'InvalidAccessGroup.NotFound', 'message' => 'The specified AccessGroup does not exist.', 'http_code' => 404, 'description' => 'The permission group that you specified does not exist or has been deleted.'],
['code' => 'InvalidAccessGroup.NotsupportedIPv6', 'message' => 'The access group does not support IPv6.', 'http_code' => 400, 'description' => 'The access group does not support IPv6.'],
['code' => 'InvalidAccessGroupName.NotAccessRule', 'message' => 'There has no rule in access group.', 'http_code' => 404, 'description' => 'No rules exist in the specified permission group.'],
['code' => 'InvalidAccessGroupName.NotFound', 'message' => 'The specified access group does not exist.', 'http_code' => 404, 'description' => 'The specified permission group does not exist.'],
['code' => 'InvalidAccessPointId.NotFound', 'message' => 'The access point id does not exist.', 'http_code' => 404, 'description' => 'The specified APid does not exist.'],
['code' => 'InvalidAccessRule.NotFound', 'message' => 'The specified AccessRule does not exist.', 'http_code' => 404, 'description' => 'The permission rule that you specified does not exist or has been deleted.'],
['code' => 'InvalidAccountStatus.NotEnoughBalance', 'message' => 'Your account does not have enough balance.', 'http_code' => 403, 'description' => 'Your account balance is insufficient.'],
['code' => 'InvalidAuthMethod.NotSupport', 'message' => 'This Api does not support this auth method.', 'http_code' => 400, 'description' => 'This API does not support this authentication method.'],
['code' => 'InvalidAutoRefresh.TooManyAutoRefreshes', 'message' => 'The number of auto refreshes exceeds the limit.', 'http_code' => 404, 'description' => 'The number of specified automatic update configurations exceeds the limit.'],
['code' => 'InvalidAutoSnapshotPolicyId.NotEmpty', 'message' => 'The specified auto snapshot policy also has a file system reference.', 'http_code' => 403, 'description' => 'The specified automatic snapshot policy has been referenced by the file system.'],
['code' => 'InvalidAZone.NotFound', 'message' => 'The specified AZone inventory is insufficient.', 'http_code' => 404, 'description' => 'The specified zone is out of stock.'],
['code' => 'InvalidAzone.NotSupport', 'message' => 'Invalid azone not support specified protocol or storage.', 'http_code' => 400, 'description' => 'The zone does not support the specified protocol type or storage specification.'],
['code' => 'InvalidDataFlow.NotFound', 'message' => 'The specified data flow does not exist.', 'http_code' => 404, 'description' => 'The specified dataflow does not exist.'],
['code' => 'InvalidDataType.NotSupported', 'message' => 'The data type is not supported.', 'http_code' => 404, 'description' => 'The specified data type is not supported.'],
['code' => 'InvalidDescription.InvalidFormat', 'message' => 'Description format is invalid.', 'http_code' => 404, 'description' => 'The format of the specified description is invalid.'],
['code' => 'InvalidEcsInstance.NotFound', 'message' => 'The specified EcsInstanceId does not exist.', 'http_code' => 404, 'description' => 'The specified ECS instance does not exist.'],
['code' => 'InvalidEcsInstanceTypeWithNasProtocolType.NotMatch', 'message' => 'The ECS Linux instance can only mount NFS file system. The ECS Windows instance can only mount SMB file system.', 'http_code' => 403, 'description' => 'The ECS Linux instance can only mount NFS file system. The ECS Windows instance can only mount SMB file system.'],
['code' => 'InvalidExportId.NotFound', 'message' => 'The specified ExportId does not exist.', 'http_code' => 404, 'description' => 'The specified protocol service export directory does not exist.'],
['code' => 'InvalidFileId.NotDirectory', 'message' => 'The specified FileId is not directory.', 'http_code' => 403, 'description' => 'The specified FileId is not a directory.'],
['code' => 'InvalidFileId.NotFound', 'message' => 'The specified FileId(%FileId) does not exist.', 'http_code' => 404, 'description' => 'The specified FileId (%FileId) does not exist.'],
['code' => 'InvalidFileset.NotEmpty', 'message' => 'The specified fileset is not empty.', 'http_code' => 403, 'description' => 'The specified file set is not empty.'],
['code' => 'InvalidFilesetId.NotFound', 'message' => 'Invalid FilesetId.', 'http_code' => 400, 'description' => 'Fileset does not exist'],
['code' => 'InvalidFilesetPath.InvalidParameter', 'message' => 'Fileset path is invalid.', 'http_code' => 404, 'description' => 'The specified fileset path is invalid.'],
['code' => 'InvalidFileSystem.AlreadyExisted', 'message' => 'The specified file system already exists.', 'http_code' => 403, 'description' => 'The specified file system already exists.'],
['code' => 'InvalidFileSystem.NotFound', 'message' => 'The specified filesystem does not exist.', 'http_code' => 404, 'description' => 'The specified file system does not exist.'],
['code' => 'InvalidFileSystem.NotFound', 'message' => 'The specified file system does not exist.', 'http_code' => 404, 'description' => 'The specified file system does not exist.'],
['code' => 'InvalidFileSystem.NotsupportedIPv6', 'message' => 'The file system does not support IPv6.', 'http_code' => 400, 'description' => 'The file system does not support IPv6.'],
['code' => 'InvalidFileSystemPath.InvalidCharacters', 'message' => 'The specified fileset path contains invalid characters.', 'http_code' => 404, 'description' => 'The specified file system path contains invalid characters.'],
['code' => 'InvalidFileSystemPath.InvalidCharacters', 'message' => 'The specified idir parent path contains invalid characters.', 'http_code' => 404, 'description' => 'The specified file system path contains invalid characters.'],
['code' => 'InvalidFileSystemPath.InvalidCharacters', 'message' => 'The specified filesystem path contains invalid characters.', 'http_code' => 403, 'description' => 'The specified file system path contains invalid characters.'],
['code' => 'InvalidFileSystemPath.NotDirectory', 'message' => 'The specified idir parent path is not directory.', 'http_code' => 404, 'description' => 'The specified parent directory is not a directory.'],
['code' => 'InvalidFileSystemPath.NotFound', 'message' => 'The specified idir parent path does not exist.', 'http_code' => 404, 'description' => 'The specified parent directory does not exist.'],
['code' => 'InvalidFileSystemPath.ParentNotFound', 'message' => 'The specified parent path does not exist.', 'http_code' => 404, 'description' => 'The specified parent directory does not exist.'],
['code' => 'InvalidFileSystemStatus.Ordering', 'message' => 'The filesystem is ordering now, please check it later.', 'http_code' => 400, 'description' => 'The file system is in production, please check later.'],
['code' => 'InvalidFilesystemType.NotSupport', 'message' => 'The API operation does not support the file system type.', 'http_code' => 400, 'description' => 'The API operation does not support the file system type.'],
['code' => 'InvalidFilesystemType.NotSupport', 'message' => 'This Api does not support this fileSystem type.', 'http_code' => 400, 'description' => 'The current interface does not support this type of file system.'],
['code' => 'InvalidFilesystemVersion.NotSupport', 'message' => 'This Api does not support this fileSystem version.', 'http_code' => 400, 'description' => 'This Api does not support this fileSystem version.'],
['code' => 'InvalidFilterName', 'message' => 'The specified parameter Filter.1.Name is invalid.', 'http_code' => 400, 'description' => 'The specified parameter Filter.1.Name is invalid.'],
['code' => 'InvalidFilterParam', 'message' => 'The specified Filter.N.Key is invalid.', 'http_code' => 404, 'description' => 'The specified Filter.N.Key parameter is invalid.'],
['code' => 'InvalidFilterValue', 'message' => 'The specified parameter Filter.1.Value is invalid.', 'http_code' => 400, 'description' => 'The specified parameter Filter.1.Value is invalid.'],
['code' => 'InvalidFilterValue', 'message' => 'The specified Filter.N.Value is invalid.', 'http_code' => 404, 'description' => 'The specified Filter.N.Value parameter is invalid.'],
['code' => 'InvalidFset.InUse', 'message' => 'Fset already used by other export.', 'http_code' => 403, 'description' => 'The specified fileset is already in use.'],
['code' => 'InvalidFsetId.NotFound', 'message' => 'The specified Fileset ID does not exist.', 'http_code' => 404, 'description' => 'The specified fileset does not exist.'],
['code' => 'InvalidIntlAccount.NotComplete', 'message' => 'Intl account is not complete.', 'http_code' => 400, 'description' => 'The basic information of the international station account is not complete.'],
['code' => 'InvalidJobId.NotFound', 'message' => 'The specified JobId(%JobId) does not exist.', 'http_code' => 404, 'description' => 'The specified JobId (%JobId) does not exist.'],
['code' => 'InvalidLifecyclePolicy.AlreadyExist', 'message' => 'The specified LifecyclePolicy already exists.', 'http_code' => 400, 'description' => 'The specified LifecyclePolicy already exists.'],
['code' => 'InvalidLifecyclePolicy.NotFound', 'message' => 'The specified LifecyclePolicy does not exist.', 'http_code' => 400, 'description' => 'The specified LifecyclePolicy does not exist.'],
['code' => 'InvalidLifecycleRetrieveJob.AlreadyExist', 'message' => 'The specified LifecycleRetrieveJob already exists.', 'http_code' => 400, 'description' => 'The specified LifecycleRetrieveJob already exists.'],
['code' => 'InvalidLifecycleRetrieveJob.NotFound', 'message' => 'The specified LifecycleRetrieveJob does not exist.', 'http_code' => 404, 'description' => 'The specified LifecycleRetrieveJob does not exist.'],
['code' => 'InvalidLifecycleRule.NotFound', 'message' => 'The specified LifecycleRule does not exist.', 'http_code' => 404, 'description' => 'The specified LifecycleRule does not exist.'],
['code' => 'InvalidMountTarget.AlreadyExisted', 'message' => 'The specified mount target already exists.', 'http_code' => 403, 'description' => 'The specified mount target already exists.'],
['code' => 'InvalidMountTarget.NotFound', 'message' => 'The specified MountTarget does not exist.', 'http_code' => 404, 'description' => 'The specified mount point does not exist or has been deleted.'],
['code' => 'InvalidMountTarget.NotFound', 'message' => 'The specified mount target does not exist.', 'http_code' => 404, 'description' => 'The specified mount target does not exist.'],
['code' => 'InvalidNetworkType.NotSupported', 'message' => 'The specified network type does not supported.', 'http_code' => 403, 'description' => 'The specified network type is not supported.'],
['code' => 'InvalidNextToken', 'message' => 'The NextToken is invalid.', 'http_code' => 400, 'description' => 'The NextToken is invalid.'],
['code' => 'InvalidOperation.DeletionProtection', 'message' => 'The operation is not allowed due to resource is protected by deletion protection.', 'http_code' => 403, 'description' => 'The instance has deletion protection enabled and cannot be released through the console or API.'],
['code' => 'InvalidParam.DualStackMountTargetDomain', 'message' => 'The specified dual stack mount target domain does not exist.', 'http_code' => 400, 'description' => 'The specified dual stack mount point does not exist.'],
['code' => 'InvalidParam.IPAddressIsBlank', 'message' => 'The IP address cannot be empty.', 'http_code' => 400, 'description' => 'The IP address cannot be empty.'],
['code' => 'InvalidParam.IPv4AndIPv6MutuallyExclusive', 'message' => 'You cannot configure IPv4 and IPv6 at the same time.', 'http_code' => 400, 'description' => 'You cannot configure IPv4 and IPv6 at the same time.'],
['code' => 'InvalidParam.Ipv6SourceCidrIp', 'message' => 'IPv6 address verification failed.', 'http_code' => 400, 'description' => 'IPv6 address verification failed.'],
['code' => 'InvalidParam.MountTargetDomain', 'message' => 'The specified mount target domain does not exist.', 'http_code' => 400, 'description' => 'The specified mount target domain does not exist.'],
['code' => 'InvalidParam.NotSupportBYOK', 'message' => 'The specified file system type does not support the BYOK encryption function.', 'http_code' => 400, 'description' => 'The specified file system type does not support the BYOK encryption function.'],
['code' => 'InvalidParam.NotSupportBYOK', 'message' => 'Not support BYOK encrypt featrue.', 'http_code' => 400, 'description' => 'The specified file system type does not support user-managed key (KMS) encryption.'],
['code' => 'InvalidParam.SourceCidrIp', 'message' => 'IPv4 address verification failed.', 'http_code' => 400, 'description' => 'IPv4 address verification failed.'],
['code' => 'InvalidParam.StorageType', 'message' => 'StorageType does not support All.', 'http_code' => 400, 'description' => 'The storage specification does not support the input parameter All.'],
['code' => 'InvalidParam.TooManyProtocolServiceIds', 'message' => 'Too many protocol service ids given.', 'http_code' => 400, 'description' => 'Too many protocol service IDs are specified in a single query.'],
['code' => 'InvalidParameter', 'message' => 'The parameter is invalid.', 'http_code' => 400, 'description' => 'Illegal parameter.'],
['code' => 'InvalidParameter.ChargeType', 'message' => 'The specified parameter ChargeType is not valid.', 'http_code' => 400, 'description' => 'The specified parameter ChargeType is not valid.'],
['code' => 'InvalidParameter.ConflictVpcCidr', 'message' => 'The specified VPC CIDR conflicts with the server.', 'http_code' => 400, 'description' => 'The specified VPC CIDR conflicts with the server.'],
['code' => 'InvalidParameter.DirPathNotExist', 'message' => 'The Dir Path does not exist', 'http_code' => 404, 'description' => 'The directory path does not exist.'],
['code' => 'InvalidParameter.DomainName', 'message' => 'DomainName must end with .nas.aliyuncs.com', 'http_code' => 400, 'description' => 'The mount target address must end with .nas.aliyuncs.com.'],
['code' => 'InvalidParameter.EcsLocalPath', 'message' => 'EcsLocalPath must start with /', 'http_code' => 400, 'description' => 'The local path of the ECS instance must start with a forward slash (/).'],
['code' => 'InvalidParameter.InvalidFormat', 'message' => 'The EntryList format is invalid.', 'http_code' => 404, 'description' => 'The format of the specified EntryList does not meet the requirements.'],
['code' => 'InvalidParameter.InvalidKmsKeyId', 'message' => 'The specified KMS key ID is invalid.', 'http_code' => 400, 'description' => 'The specified KMS key ID is invalid.'],
['code' => 'InvalidParameter.InvalidMaxResults', 'message' => 'The specified MaxResults is invalid.', 'http_code' => 404, 'description' => 'The specified MaxResults is invalid.'],
['code' => 'InvalidParameter.InvalidNextToken', 'message' => 'The specified NextToken is invalid.', 'http_code' => 404, 'description' => 'The specified NextToken is invalid.'],
['code' => 'InvalidParameter.KMSKeyId.CMKNotEnabled', 'message' => 'The CMK needs to be enabled.', 'http_code' => 400, 'description' => 'The CMK needs to be enabled.'],
['code' => 'InvalidParameter.KMSKeyId.KMSUnauthorized', 'message' => 'KMS is not authorized.', 'http_code' => 400, 'description' => 'KMS is not authorized.'],
['code' => 'InvalidParameter.KmsKeyIdNotFound', 'message' => 'The specified KMS key ID does not exist.', 'http_code' => 400, 'description' => 'The specified KMS key ID does not exist.'],
['code' => 'InvalidParameter.KmsServiceNotEnabled', 'message' => 'Key Management Service is not enabled.', 'http_code' => 400, 'description' => 'Key Management Service is not enabled.'],
['code' => 'InvalidParameter.NasRemotePath', 'message' => 'NasRemotePath must start with /', 'http_code' => 400, 'description' => 'The NAS mount path must start with a forward slash (/).'],
['code' => 'InvalidParameter.PathNotExist', 'message' => 'The specified path does not exist.', 'http_code' => 404, 'description' => 'The specified path does not exist.'],
['code' => 'InvalidParameter.PathOrPaths', 'message' => 'Either Path or Paths.N must be specified.', 'http_code' => 400, 'description' => 'Either Path or Paths.N must be specified.'],
['code' => 'InvalidParameter.PathsNumberExceed', 'message' => 'The maximum number of Path.N for this operation is 10.', 'http_code' => 400, 'description' => 'The maximum number of Path.N for this operation is 10.'],
['code' => 'InvalidParameter.ProtocolType', 'message' => 'Specified parameter ProtocolType is not valid.', 'http_code' => 400, 'description' => 'The specified protocol type is not supported.'],
['code' => 'InvalidParameter.QuotaNotExistOnPath', 'message' => 'The specified path does not exist.', 'http_code' => 404, 'description' => 'The directory path does not exist. Verify the path.'],
['code' => 'InvalidParameter.QuotaPathDepthExceed', 'message' => 'The maximum number of Path depth for this operation is 8.', 'http_code' => 403, 'description' => 'The maximum number of path depth for this operation is 8.'],
['code' => 'InvalidParameter.ResourceType', 'message' => 'The ResourceType is invalid.', 'http_code' => 400, 'description' => 'The ResourceType is invalid.'],
['code' => 'InvalidParameter.SizeTooLarge', 'message' => 'The specified EntryList size exceeds 64 KB.', 'http_code' => 404, 'description' => 'The size of the specified EntryList exceeds 64 KB.'],
['code' => 'InvalidParameter.SnapshotNotFound', 'message' => 'Invalid parameter, snapshot not found.', 'http_code' => 400, 'description' => 'Invalid parameter, snapshot not found.'],
['code' => 'InvalidParameter.SortOrder', 'message' => 'Invalid sort order.', 'http_code' => 400, 'description' => 'Parameter SortOrder error.'],
['code' => 'InvalidParameter.SortOrderField', 'message' => 'Invalid sort order field.', 'http_code' => 400, 'description' => 'Parameter SortOrderField error.'],
['code' => 'InvalidParameter.StorageType', 'message' => 'The specified parameter StorageType is not valid.', 'http_code' => 400, 'description' => 'The specified parameter StorageType is not valid.'],
['code' => 'InvalidParameter.StorageType', 'message' => 'The input parameter StorageType that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => 'The input parameter StorageType that is mandatory for processing this request is not supplied.'],
['code' => 'InvalidParameter.TagKey', 'message' => 'The specified Tag.n.Key is invalid.', 'http_code' => 400, 'description' => 'The specified TagKey is invalid.'],
['code' => 'InvalidParameter.TagValue', 'message' => 'The specified Tag.n.Value is invalid.', 'http_code' => 400, 'description' => 'The specified TagValue is invalid.'],
['code' => 'InvalidParameter.VpcNotFound', 'message' => 'The specified VPC does not exist.', 'http_code' => 404, 'description' => 'The specified VPC does not exist.'],
['code' => 'InvalidParameter.VpcVswitchMismatch', 'message' => 'Given vSwitch mismatch with given VPC.', 'http_code' => 404, 'description' => 'The specified VPC and vSwitch do not match.'],
['code' => 'InvalidParameter.VswNotFound', 'message' => 'The specified vSwitch does not exist.', 'http_code' => 404, 'description' => 'The specified vSwitch does not exist.'],
['code' => 'InvalidPath.InUse', 'message' => 'Path already used by other export.', 'http_code' => 404, 'description' => 'The path is already used by another export.'],
['code' => 'InvalidProtocolService.NotFound', 'message' => 'The specified protocol service does not exist.', 'http_code' => 404, 'description' => 'The specified protocol service does not exist.'],
['code' => 'InvalidProtocolSpec.NotSupported', 'message' => 'The specified protocol spec does not supported.', 'http_code' => 403, 'description' => 'The specified ProtocolSpec is not supported.'],
['code' => 'InvalidProtocolType.NotSupported', 'message' => 'The specified protocol type does not supported.', 'http_code' => 403, 'description' => 'The specified protocol type is not supported.'],
['code' => 'InvalidRamRole.NoPermission', 'message' => 'The specified RAM role does not have sufficient permission.', 'http_code' => 403, 'description' => 'The specified RAM role does not have sufficient permission.'],
['code' => 'InvalidRamRole.NotExist', 'message' => 'The specified RAM role does not exist.', 'http_code' => 403, 'description' => 'The specified RAM role does not exist.'],
['code' => 'InvalidRefreshInterval.OutOfBounds', 'message' => 'Refresh interval is out of bounds.', 'http_code' => 404, 'description' => 'The specified RefreshInterval is not within the valid range.'],
['code' => 'InvalidRefreshPath.AlreadyExist', 'message' => 'The refresh path already exists.', 'http_code' => 404, 'description' => 'The specified auto-update directory already exists.'],
['code' => 'InvalidRefreshPath.Duplicated', 'message' => 'Refresh path is duplicated.', 'http_code' => 404, 'description' => 'The path of the specified auto-update directory is duplicated.'],
['code' => 'InvalidRefreshPath.InvalidParameter', 'message' => 'Refresh path is invalid.', 'http_code' => 404, 'description' => 'The path of the specified auto-update directory is invalid.'],
['code' => 'InvalidRefreshPath.NotFound', 'message' => 'Refresh path does not exist.', 'http_code' => 404, 'description' => 'The specified auto-update directory does not exist.'],
['code' => 'InvalidRefreshPath.TooManyPaths', 'message' => 'The number of refresh paths exceeds the limit.', 'http_code' => 404, 'description' => 'The number of queried auto-update directories exceeds the limit.'],
['code' => 'InvalidRefreshPolicy.InvalidParameter', 'message' => 'Refresh policy is invalid.', 'http_code' => 404, 'description' => 'The auto-update policy is invalid.'],
['code' => 'InvalidRegion.NotOpen', 'message' => 'The specified region is not open yet.', 'http_code' => 400, 'description' => 'The specified region is not open yet.'],
['code' => 'InvalidRequest', 'message' => 'The request is invalid.', 'http_code' => 400, 'description' => 'Invalid request'],
['code' => 'InvalidResourceId.NotFound', 'message' => 'The ResourceId does not exist.', 'http_code' => 400, 'description' => 'The specified ResourceId does not exist.'],
['code' => 'InvalidSourceSecurityType.NotSupport', 'message' => 'The source security type is not supported.', 'http_code' => 404, 'description' => 'The security protection type of the specified source storage is not supported.'],
['code' => 'InvalidSourceStorage.InvalidParameter', 'message' => 'Source storage has invalid parameters.', 'http_code' => 404, 'description' => 'The specified source storage path is invalid.'],
['code' => 'InvalidSourceStorage.InvalidRegion', 'message' => 'Source storage region is invalid.', 'http_code' => 404, 'description' => 'The region of the source storage is abnormal. Check whether the source storage and the CPFS file system are in the same region.'],
['code' => 'InvalidSourceStorage.NeedVersioning', 'message' => 'Source storage must enable versioning.', 'http_code' => 404, 'description' => 'The versioning feature must be enabled for the source storage.'],
['code' => 'InvalidSourceStorage.NotFound', 'message' => 'Source storage is not found.', 'http_code' => 404, 'description' => 'The specified source storage does not exist.'],
['code' => 'InvalidSourceStorage.NotSupport', 'message' => 'Source storage type is not supported.', 'http_code' => 404, 'description' => 'The type of the specified source storage is not supported.'],
['code' => 'InvalidSourceStorage.PermissionDenied', 'message' => 'The source storage access permission is denied.', 'http_code' => 404, 'description' => 'You do not have the access permissions for the source storage. Check the service-linked role authorization and the access tags of the source storage.'],
['code' => 'InvalidSourceStorage.PermissionDenied', 'message' => 'Source storage access permission denied.', 'http_code' => 404, 'description' => 'Passive storage access permissions, please check the SLR authorization, source storage access tag.'],
['code' => 'InvalidSourceStorage.Unreachable', 'message' => 'Source storage cannot be accessed.', 'http_code' => 404, 'description' => 'The source storage is inaccessible.'],
['code' => 'InvalidSrcTaskId.NotFound', 'message' => 'The SrcTaskId is not found.', 'http_code' => 404, 'description' => 'The specified SrcTaskId does not exist.'],
['code' => 'InvalidSrcTaskId.TaskIdInvalid', 'message' => 'Source task ID is invalid.', 'http_code' => 404, 'description' => 'The specified task ID to be copied is invalid.'],
['code' => 'InvalidSrcTaskId.TaskIdNotFound', 'message' => 'Source task ID is not found.', 'http_code' => 404, 'description' => 'The specified task ID to be copied does not exist.'],
['code' => 'InvalidStatus', 'message' => 'Specified parameter Status is not valid.', 'http_code' => 400, 'description' => 'The specified parameter Status is invalid.'],
['code' => 'InvalidStatus.NotSupported', 'message' => 'The specified protocol service status does not support.', 'http_code' => 403, 'description' => 'The specified protocol service cluster status is not supported.'],
['code' => 'InvalidTargetFileId.NotDirectory', 'message' => 'The specified TargetFileId(%'."\n"
."\n"
.'TargetFileId) is not directory.', 'http_code' => 403, 'description' => 'The specified TargetFileId (% TargetFileId) is not directory.'],
['code' => 'InvalidTargetFileId.NotFound', 'message' => 'The specified TargetFileId(%TargetFileId) does not exist.', 'http_code' => 404, 'description' => 'The specified TargetFileId(%TargetFileId) does not exist.'],
['code' => 'InvalidTaskAction.NotSupported', 'message' => 'The task action is not supported.', 'http_code' => 404, 'description' => 'The specified task type is not supported.'],
['code' => 'InvalidTaskAction.PermissionDenied', 'message' => 'The task action is not allowed.', 'http_code' => 404, 'description' => 'The specified task type is not allowed, such as system replication.'],
['code' => 'InvalidTaskId.NotFound', 'message' => 'The specified task ID does not exist.', 'http_code' => 404, 'description' => 'The specified data flow TaskId does not exist.'],
['code' => 'InvalidThroughput.OutOfBounds', 'message' => 'Throughput is out of bounds.', 'http_code' => 404, 'description' => 'The specified Throughput is not within the valid range.'],
['code' => 'InvalidVolumeId.NotSupportedFileSystemType', 'message' => 'The specified file system ID is invalid.', 'http_code' => 400, 'description' => 'The file system type is not supported.'],
['code' => 'InvalidVpc.NotFound', 'message' => 'The specified Vpc is not found.', 'http_code' => 404, 'description' => 'The specified VPC does not exist. Create a VPC first.'],
['code' => 'InvalidVpcId.ConflictVpcCidr', 'message' => 'Vpc cidr conflict with file system', 'http_code' => 404, 'description' => 'The specified VPC CIDR block overlaps with the file system VPC CIDR block.'],
['code' => 'InvalidVpcId.CrossVpcNotSupport.', 'message' => 'Cross VPC not support.', 'http_code' => 403, 'description' => 'The protocol service and file system cannot be in different VPCs.'],
['code' => 'InvalidVSwitch.Ipv6NotTurnOn', 'message' => 'The vSwitch you are currently using has not enabled the IPv6 function. Please enable this function first and try again.', 'http_code' => 400, 'description' => 'The vSwitch does not support IPv6. Enable IPv6 and try again.'],
['code' => 'InvalidVswitch.NotFound', 'message' => 'The specified vSwitch does not exist.', 'http_code' => 404, 'description' => 'The specified switch does not exist.'],
['code' => 'InvalidVSwitchId.IpNotEnough', 'message' => 'The number of the specified vSwitch IP address is insufficient.', 'http_code' => 400, 'description' => 'The available IP addresses within the CIDR block of the specified vSwitch are insufficient.'],
['code' => 'InvalidVSwitchId.IpShortage', 'message' => 'The specified vSwitch ip shortage.', 'http_code' => 403, 'description' => 'The available IP addresses within the CIDR block of the specified vSwitch are insufficient.'],
['code' => 'INVALID_INTL_ACCOUNT_NOT_COMPLETE', 'message' => 'Intl account is not complete.', 'http_code' => 400, 'description' => 'The basic information of the international station account has not been completed.'],
['code' => 'KMS_Service.NotOpen', 'message' => 'KMS service not open.', 'http_code' => 400, 'description' => 'The KMS service is not enabled.'],
['code' => 'MissingAccessGroupName', 'message' => 'AccessGroupName is mandatory for this action.', 'http_code' => 400, 'description' => 'No permission group is specified.'],
['code' => 'MissingArgument', 'message' => 'Missing argument(volume).', 'http_code' => 400, 'description' => 'Missing file system ID.'],
['code' => 'MissingDataFlowId', 'message' => 'DataFlowId is mandatory for this action.', 'http_code' => 400, 'description' => 'The DataFlowId parameter is not specified.'],
['code' => 'MissingDataType', 'message' => 'DataType is mandatory for this action.', 'http_code' => 400, 'description' => 'The DataType parameter is not specified.'],
['code' => 'MissingEntryList', 'message' => 'EntryList is mandatory for this action.', 'http_code' => 400, 'description' => 'The EntryList parameter is not specified.'],
['code' => 'MissingExportId', 'message' => 'ExportId is mandatory for this action.', 'http_code' => 400, 'description' => 'The ExportId parameter is not specified.'],
['code' => 'MissingFileId', 'message' => 'FileId is mandatory for this action.', 'http_code' => 400, 'description' => 'FileId is mandatory for this action. '],
['code' => 'MissingFileSystemId', 'message' => 'FileSystemId is mandatory for this action.', 'http_code' => 400, 'description' => 'The FileSystemId parameter is not specified.'],
['code' => 'MissingFileSystemPath', 'message' => 'FileSystemPath is mandatory for this action.', 'http_code' => 400, 'description' => 'The FileSystemPath parameter is missing.'],
['code' => 'MissingFsetId', 'message' => 'FsetId is mandatory for this action.', 'http_code' => 400, 'description' => 'The Fileset ID parameter is not specified.'],
['code' => 'MissingIdirId', 'message' => 'IdirId is mandatory for this action.', 'http_code' => 400, 'description' => 'The IdirId parameter is missing.'],
['code' => 'MissingJobId', 'message' => 'JobId is mandatory for this action.', 'http_code' => 400, 'description' => 'JobId is mandatory for this action.'],
['code' => 'MissingParameter', 'message' => 'Missing parameter.', 'http_code' => 400, 'description' => 'Missing parameter.'],
['code' => 'MissingParameter.AccessGroupName', 'message' => 'You must specify AccessGroupName when you create a standard or extreme file system mount target.', 'http_code' => 400, 'description' => 'You must specify AccessGroupName when you create a standard or extreme file system mount target.'],
['code' => 'MissingParameter.Capacity', 'message' => 'The input parameter Capacity that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => 'The input parameter Capacity that is mandatory for processing this request is not supplied.'],
['code' => 'MissingParameter.Duration', 'message' => 'The input parameter Duration that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => 'The input parameter Duration that is mandatory for processing this request is not supplied.'],
['code' => 'MissingParameter.KmsKeyId', 'message' => 'When parameter EncryptType equals 2, the parameter KmsKeyId is mandatory for your request.', 'http_code' => 400, 'description' => 'When parameter EncryptType equals 2, the parameter KmsKeyId is mandatory for your request.'],
['code' => 'MissingParameter.RegionId', 'message' => 'Parameter Region Id in endpoint is mandatory for this action.', 'http_code' => 400, 'description' => 'Add RegionId field information to the domain name.'],
['code' => 'MissingParameter.ResourceIdOrTag', 'message' => 'Either ResourceId or Tag must be specified.', 'http_code' => 400, 'description' => 'Either ResourceId or Tag must be specified.'],
['code' => 'MissingParameter.ResourceIds', 'message' => 'You must specify ResourceIds.', 'http_code' => 400, 'description' => 'You must specify ResourceId.'],
['code' => 'MissingParameter.VpcId', 'message' => 'The input parameter VpcId that is mandatory for processing this request is not supplied.', 'http_code' => 400, 'description' => 'The input parameter VpcId that is mandatory for processing this request is not supplied.'],
['code' => 'MissingParameter.ZoneId', 'message' => 'Parameter ZoneId is mandatory for your request.', 'http_code' => 400, 'description' => 'The zoneId parameter is required in the request.'],
['code' => 'MissingParentPath', 'message' => 'IdirParentPath is mandatory for this action.', 'http_code' => 400, 'description' => 'The IdirParentPath parameter is missing.'],
['code' => 'MissingProtocolServiceId', 'message' => 'ProtocolServiceId is mandatory for this action.', 'http_code' => 400, 'description' => 'The ProtocolServiceId parameter is not specified.'],
['code' => 'MissingSourceStorage', 'message' => 'SourceStorage is mandatory for this action.', 'http_code' => 400, 'description' => 'The SourceStorage parameter is not specified.'],
['code' => 'MissingSrcTaskId', 'message' => 'SrcTaskId is mandatory for this action.', 'http_code' => 400, 'description' => 'The SrcTaskId parameter is not specified.'],
['code' => 'MissingTargetFileId', 'message' => 'TargetFileId is mandatory for this action.', 'http_code' => 400, 'description' => 'TargetFileId is mandatory for this action.'],
['code' => 'MissingTaskAction', 'message' => 'TaskAction is mandatory for this action.', 'http_code' => 400, 'description' => 'The parameter TaskAction is required in the request.'],
['code' => 'MissingTaskId', 'message' => 'TaskId is mandatory for this action.', 'http_code' => 400, 'description' => 'The TaskId parameter is not specified.'],
['code' => 'MissingThroughput', 'message' => 'Throughput is mandatory for this action.', 'http_code' => 400, 'description' => 'The Throughput parameter is not specified.'],
['code' => 'MissingVpcId', 'message' => 'VpcId is mandatory for this action.', 'http_code' => 400, 'description' => 'The VPC ID parameter is not specified.'],
['code' => 'MissingVSwitchId', 'message' => 'vSwitchId is mandatory for this action.', 'http_code' => 400, 'description' => 'The vSwitch ID parameter is not specified.'],
['code' => 'MntPathConflict.InvalidParam', 'message' => 'FilesetId and Path must and can only be specified one.', 'http_code' => 403, 'description' => 'You must specify either Fileset or Path, but not both.'],
['code' => 'NoPermission.SystemTag', 'message' => 'You are not authorized to operate the system tag. The product code is invalid.', 'http_code' => 403, 'description' => 'You are not authorized to operate the system tag. The product code is invalid.'],
['code' => 'NotFound', 'message' => 'The specified resource does not exist - Cluster not found.', 'http_code' => 404, 'description' => 'The specified resource does not exist-cluster not found.'],
['code' => 'NotImplemented', 'message' => 'This API is not supported.', 'http_code' => 400, 'description' => 'This API is not supported.'],
['code' => 'NumberExceed.ResourceIds', 'message' => 'The maximum number of ResourceIds is exceeded. The maximum is 50.', 'http_code' => 400, 'description' => 'The maximum number of resource ID is exceeded. The maximum is 50.'],
['code' => 'NumberExceed.Tags', 'message' => 'The maximum number of Tags is exceeded. The maximum is 20.', 'http_code' => 400, 'description' => 'The maximum number of Tags is exceeded. The maximum is 20.'],
['code' => 'OpenNasService.GetCommodityInfoFail', 'message' => 'Fail to get commodity info for open nas service.', 'http_code' => 500, 'description' => 'unable to obtain the product information of the open nas service.'],
['code' => 'OperationDenied.AccessPointCountsExceeded', 'message' => 'The maxium number of access point has reached its limits.', 'http_code' => 403, 'description' => 'The access point of the current file system has reached the upper limit.'],
['code' => 'OperationDenied.AlreadyExists', 'message' => 'The operation is denied due to IdirName already exists in parent path.', 'http_code' => 403, 'description' => 'The directory name already exists in the parent directory.'],
['code' => 'OperationDenied.AutoRefreshNotSupport', 'message' => 'The operation is denied. Auto refresh is not supported.', 'http_code' => 403, 'description' => 'The file system does not support automatic updates.'],
['code' => 'OperationDenied.Conflict', 'message' => 'The operation is in conflict with (% JobId). Please try again later.', 'http_code' => 403, 'description' => 'The operation is in conflict with (% JobId). Please try again later.'],
['code' => 'OperationDenied.ConflictOperation', 'message' => 'The operation is denied due to a conflict with an ongoing operation.', 'http_code' => 403, 'description' => 'The dataflow cannot be created because it conflicts with the current file system operation.'],
['code' => 'OperationDenied.CrossVPCExccedLimit', 'message' => 'Cross vpc mount exceed limit.', 'http_code' => 403, 'description' => 'The number of cross-VPC mount targets has exceeded the limit.'],
['code' => 'OperationDenied.CrossVPCExceedLimit', 'message' => 'Cross vpc mount exceed limit.', 'http_code' => 403, 'description' => 'The number of cross-VPC exported directories has exceeded the upper limit of the current protocol service specifications.'],
['code' => 'OperationDenied.DataFlowNotSupported', 'message' => 'The operation is not supported.', 'http_code' => 403, 'description' => 'The file system does not support dataflow.'],
['code' => 'OperationDenied.DependBucketTag', 'message' => 'The operation is denied. The OSS Bucket tag cpfs-dataflow is missing.', 'http_code' => 403, 'description' => 'Failed to create the dataflow because the OSS bucket does not have the cpfs-dataflow tag.'],
['code' => 'OperationDenied.DependencyViolation', 'message' => 'The operation is denied due to dependancy violation.', 'http_code' => 403, 'description' => 'The conditions for this operation are not met.'],
['code' => 'OperationDenied.DependFset', 'message' => 'The operation is denied due to invalid fileset state.', 'http_code' => 403, 'description' => 'Failed to create the dataflow because the fileset is in an abnormal state.'],
['code' => 'OperationDenied.DependMountpoint', 'message' => 'The operation is denied because no mount point is found.', 'http_code' => 403, 'description' => 'Failed to create the dataflow because the file system does not have a mount target.'],
['code' => 'OperationDenied.DirQuotaAssociated', 'message' => 'The specified FileSystem has DirQuota associated.', 'http_code' => 403, 'description' => 'The quota of the file system has been set. Please delete the quota first and then delete the file system.'],
['code' => 'OperationDenied.EncryptedFileSystemNotSupportedForLifecycle', 'message' => 'The encrypted file system does not support lifecycle.', 'http_code' => 400, 'description' => 'The encrypted file system does not support lifecycle.'],
['code' => 'OperationDenied.FilesetNotSupported', 'message' => 'The operation is not supported.', 'http_code' => 403, 'description' => 'The file system does not support Fileset.'],
['code' => 'OperationDenied.FileSystemNotSupportedForLifecycle', 'message' => 'The file system does not support lifecycle.', 'http_code' => 400, 'description' => 'The file system does not support lifecycle.'],
['code' => 'OperationDenied.FileSystemNotSupportedForThisOperation', 'message' => 'The FileSystem does not support this operation.', 'http_code' => 400, 'description' => 'The file system does not support this operation.'],
['code' => 'OperationDenied.FsetAlreadyInUse', 'message' => 'The Fset is already bound to another data flow.', 'http_code' => 403, 'description' => 'The Fset is already in use.'],
['code' => 'OperationDenied.FsetNotEmpty', 'message' => 'The operation is denied due to fileset is not empty.', 'http_code' => 403, 'description' => 'Fileset is not empty.'],
['code' => 'OperationDenied.InvalidMntStatus', 'message' => 'The operation is denied due to invalid protocol mount target status.', 'http_code' => 403, 'description' => 'The current state of the protocol service exported directory does not support this operation.'],
['code' => 'OperationDenied.InvalidNextToken', 'message' => 'The specified NextToken is invalid.', 'http_code' => 400, 'description' => 'The specified NextToken is invalid.'],
['code' => 'OperationDenied.InvalidPtcStatus', 'message' => 'The operation is denied due to invalid protocol service status.', 'http_code' => 403, 'description' => 'The current state of the protocol service does not support this operation.'],
['code' => 'OperationDenied.InvalidState', 'message' => 'The operation is not permitted when the status is processing.', 'http_code' => 403, 'description' => 'The operation is not permitted when the status is processing.'],
['code' => 'OperationDenied.InvalidState', 'message' => 'The operation is denied due to invalid file system state.', 'http_code' => 403, 'description' => 'The current state of the file system does not support this operation.'],
['code' => 'OperationDenied.KeyDoubleScope', 'message' => 'The same key can only have one scope.', 'http_code' => 403, 'description' => 'The same key can only have one scope.'],
['code' => 'OperationDenied.KeyValueNotNull', 'message' => 'The key value cannot be null.', 'http_code' => 403, 'description' => 'You must specify tag value.'],
['code' => 'OperationDenied.LifecyclePolicyAssociated', 'message' => 'The specified FileSystem has LifecyclePolicy associated.', 'http_code' => 400, 'description' => 'The specified file system has a life cycle policy associated. Please delete the life cycle policy first and then delete the file system.'],
['code' => 'OperationDenied.LifecyclePolicyCountLimitExceeded', 'message' => 'The maximum number of LifecyclePolicies is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of LifecyclePolicies is exceeded.'],
['code' => 'OperationDenied.LifecycleRecycleBinTieringJobAssociated', 'message' => 'The specified FileSystem has LifecycleRecycleBinTieringJob associated.', 'http_code' => 400, 'description' => 'The recycle bin background task is in use.'],
['code' => 'OperationDenied.LifecycleRetrieveJobCountLimitExceeded', 'message' => 'The maximum number of LifecycleRetrieveJobs is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of LifecycleRetrieveJobs is exceeded.'],
['code' => 'OperationDenied.LifecycleRetrieveJobEnded', 'message' => 'The specified LifecycleRetrieveJob has already ended.', 'http_code' => 400, 'description' => 'The specified LifecycleRetrieveJob has already ended.'],
['code' => 'OperationDenied.LifecycleRetrieveJobNotFailed', 'message' => 'The specified LifecycleRetrieveJob has not failed.', 'http_code' => 400, 'description' => 'The specified LifecycleRetrieveJob has not failed.'],
['code' => 'OperationDenied.MountPointExists', 'message' => 'The operation is denied due to mount point exists.', 'http_code' => 403, 'description' => 'The operation was denied because a mount point exists.'],
['code' => 'OperationDenied.MountTargetExceedLimit', 'message' => 'The maximum number of mount target in the specified file system is exceeded.', 'http_code' => 403, 'description' => 'The maximum number of mount target in the specified file system is exceeded.'],
['code' => 'OperationDenied.MountTargetNotEmpty', 'message' => 'There are still MountTarget(s) on the specified FileSystem.', 'http_code' => 403, 'description' => 'There are still mount points on the specified file system.'],
['code' => 'OperationDenied.NestedDir', 'message' => 'The operation is denied due to nested directory.', 'http_code' => 403, 'description' => 'The automatic update configuration cannot be created because nested directories exist.'],
['code' => 'OperationDenied.NoMountTargetQuota', 'message' => 'No mount target quota on this protocol service.', 'http_code' => 403, 'description' => 'The export directory quota for the protocol service is exhausted.'],
['code' => 'OperationDenied.NoProtocolServiceQuota', 'message' => 'No protocol service quota.', 'http_code' => 403, 'description' => 'The protocol service quota for the file system is exhausted.'],
['code' => 'OperationDenied.NoStock', 'message' => 'The operation is denied due to no stock.', 'http_code' => 404, 'description' => 'The file system is out of stock.'],
['code' => 'OperationDenied.NotServiceAccount', 'message' => 'Only service account is authorized to perform the operation.', 'http_code' => 403, 'description' => 'Only service account is authorized to perform the operation.'],
['code' => 'OperationDenied.NotSupport', 'message' => 'The operation is not supported.', 'http_code' => 403, 'description' => 'The operation is not supported.'],
['code' => 'OperationDenied.NotSupported', 'message' => 'The operation is denied due to not supported.', 'http_code' => 403, 'description' => 'The file system does not support the protocol service.'],
['code' => 'OperationDenied.NotSupportPaths.N', 'message' => 'Your request does not meet the gray condition. The Paths.N parameter is not supported.', 'http_code' => 403, 'description' => 'Your request does not meet the gray condition. The Paths.N parameter is not supported.'],
['code' => 'OperationDenied.ProtocolServiceExceedLimit', 'message' => 'The protocol service amount exceed file system limit.', 'http_code' => 403, 'description' => 'The number of protocol services exceeds the file system limit.'],
['code' => 'OperationDenied.QuotaSettingCountLimitExceeded', 'message' => 'The filesystem quota setting count already reach limit.', 'http_code' => 403, 'description' => 'The filesystem quota setting count already reach limit.'],
['code' => 'OperationDenied.RecycleBinDisabled', 'message' => 'The operation is denied because the recycle bin is disabled.', 'http_code' => 403, 'description' => 'The operation is denied because the recycle bin is disabled.'],
['code' => 'OperationDenied.RecycleBinEnabled', 'message' => 'The recycle bin is already enabled.', 'http_code' => 403, 'description' => 'The recycle bin is already enabled.'],
['code' => 'OperationDenied.Standard.UpgradeNotNeed', 'message' => 'Standard NAS increases capacity on demand, no need to upgrade manually.', 'http_code' => 403, 'description' => 'General purpose NAS increases capacity on demand without manual upgrades.'],
['code' => 'OperationDenied.TooManyDepth', 'message' => 'The operation is denied due to Idirs path too deep.', 'http_code' => 403, 'description' => 'The file system path depth exceeds the threshold.'],
['code' => 'OperationDenied.TooManyDepth', 'message' => 'The operation is denied due to Fsets path too deep.', 'http_code' => 403, 'description' => 'The file system path depth exceeds the threshold.'],
['code' => 'OperationDenied.TooManyDepths', 'message' => 'The operation is denied due to Fileset path too deep.', 'http_code' => 403, 'description' => 'The fileset directory path depth exceeds the threshold.'],
['code' => 'OperationDenied.TooManyFilesets', 'message' => 'The operation is denied due to too many fileset in filesystem.', 'http_code' => 403, 'description' => 'The number of fileset directories in the file system exceeds the threshold.'],
['code' => 'OperationDenied.TooManyIdirs', 'message' => 'The operation is denied due to too many Idirs in filesystem.', 'http_code' => 403, 'description' => 'The number of intelligent directories in the file system exceeds the threshold.'],
['code' => 'OperationDenied.TooManyRunningJobs', 'message' => 'The maximum number of running job is one. Please try again later.', 'http_code' => 403, 'description' => 'The maximum number of running job is one. Please try again later.'],
['code' => 'OperationNotSupport.SubscriptionCommodityCanNotDelete', 'message' => 'The operation is not supported, as the filesystem is subscription commodity.', 'http_code' => 403, 'description' => 'This operation is not supported because the file system is a subscription commodity.'],
['code' => 'ORDER.NO_REAL_NAME_AUTHENTICATION', 'message' => 'You have not passed real-name verification, please go to Account Management to complete real-name verification.', 'http_code' => 403, 'description' => 'You have not passed real-name verification, please go to Account Management to complete real-name verification.'],
['code' => 'ORDER.OPEND', 'message' => 'You have already purchased the NAS service. Go to the NAS console to start using it.', 'http_code' => 400, 'description' => 'You have already activated the NAS service. Go to the console to start using it.'],
['code' => 'ORDER.OPEND', 'message' => 'You have already open the service. Go to the console to start using it.', 'http_code' => 400, 'description' => 'you have activated the nas service.'],
['code' => 'Path.ContainSymlink', 'message' => 'the specified path contains symbol link.', 'http_code' => 400, 'description' => 'The specified path contains a soft connection.'],
['code' => 'PathNotExistInFileSystem.InvalidParam', 'message' => 'Given path does not exist in file system.', 'http_code' => 404, 'description' => 'The specified path does not exist in the file system.'],
['code' => 'PermissionDenied.CapacityTooLow', 'message' => 'Capacity of file system too low to subscribe protocol service.', 'http_code' => 403, 'description' => 'The protocol service cannot be enabled when the capacity is less than 10,800 GiB.'],
['code' => 'PermissionDenied.CLThroughputInvalid', 'message' => 'Throughput of caching protocol service is invalid.', 'http_code' => 403, 'description' => 'The bandwidth of the cache-type protocol service is invalid.'],
['code' => 'PermissionDenied.ThroughputExceed', 'message' => 'Throughput of protocol service must less than throughput of file system.', 'http_code' => 403, 'description' => 'The bandwidth of the protocol service cannot exceed the bandwidth of the file system.'],
['code' => 'PermissionDenied.ThroughputInvalid', 'message' => 'Standard protocol service should not specified throughput.', 'http_code' => 403, 'description' => 'The general-purpose protocol service does not allow you to specify the service bandwidth.'],
['code' => 'PermissionDenied.ThroughputTooSmall', 'message' => 'Throughput of protocol service too small.', 'http_code' => 403, 'description' => 'The bandwidth of the protocol service is too small to meet the activation requirements.'],
['code' => 'PERMISSION_DENIED', 'message' => 'RAM permission check failed.', 'http_code' => 404, 'description' => 'RAM permission check failed.'],
['code' => 'Protocol.MustSpecified', 'message' => 'The specified Protocol is not valid.', 'http_code' => 400, 'description' => 'The specified Protocol is not valid.'],
['code' => 'Quota.Exceed.Limit', 'message' => 'Quota exceed limit.', 'http_code' => 400, 'description' => 'The quota is below the Fileset limit.'],
['code' => 'Quota.Invalid.Limit', 'message' => 'Quota limit is invalid.', 'http_code' => 400, 'description' => 'Invalid quota.'],
['code' => 'Region.NotSupported', 'message' => 'The specified Region is not supported for this API now.', 'http_code' => 400, 'description' => 'The current region does not support this function.'],
['code' => 'RegionId.ApiNotSupported', 'message' => 'The api is not supported in this region.', 'http_code' => 400, 'description' => 'API calls are not supported in the specified region. Check whether the RegionId parameter values are correct.'],
['code' => 'RepeatListParameter.TooManyRepeatListItems', 'message' => 'You can only specify one repeat list item for the parameter Filter.', 'http_code' => 400, 'description' => 'You can only specify one repeat list item for the parameter Filter.'],
['code' => 'RequestAccepted', 'message' => 'The request has been accepted by the server.', 'http_code' => 202, 'description' => 'The request has been accepted by the server.'],
['code' => 'Resource.Check.Fail', 'message' => 'Resource check failed.', 'http_code' => 400, 'description' => 'Resource verification failed.'],
['code' => 'Resource.Exceed.Limit', 'message' => 'Resource exceed limit.', 'http_code' => 400, 'description' => 'The number of resources exceeds the limit.'],
['code' => 'Resource.NotFound', 'message' => 'The specified resource does not exist.', 'http_code' => 404, 'description' => 'The specified resource does not exist.'],
['code' => 'Resource.OutOfStock', 'message' => 'The inventory of the specified zone is insufficient.', 'http_code' => 403, 'description' => 'The inventory of the specified zone is insufficient.'],
['code' => 'ResultOutputTooLong', 'message' => 'The maximum length of the mount info result output is exceeded.', 'http_code' => 400, 'description' => 'The mount detail information is too long.'],
['code' => 'StorageType.MustSpecified', 'message' => 'StorageType is invalid.', 'http_code' => 400, 'description' => 'Invalid storage type.'],
['code' => 'SubAccount.NoEncryptionSLRPermission', 'message' => 'The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasEncryption. Please authorize the RAM user the permission ram:CreateServiceLinkedRole.', 'http_code' => 400, 'description' => 'The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasEncryption. Please authorize the RAM user the permission ram:CreateServiceLinkedRole.'],
['code' => 'SubAccount.NoExtremeSLRPermission', 'message' => 'The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasExtreme. Please authorize the RAM user the permission ram:CreateServiceLinkedRole.', 'http_code' => 400, 'description' => 'The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasExtreme. Please authorize the RAM user the permission ram:CreateServiceLinkedRole.'],
['code' => 'SubAccount.NoLogSLRPermission', 'message' => 'The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasLogDelivery. Please authorize the RAM user the permission ram:CreateServiceLinkedRole.', 'http_code' => 400, 'description' => 'The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasLogDelivery. Please authorize the RAM user the permission ram:CreateServiceLinkedRole.'],
['code' => 'SubAccount.NoNasEcsHandlerSLRPermission', 'message' => 'The RAM account cannot create the AliyunServiceRoleForNasEcsHandler service linked role. The ram:CreateServiceLinkedRole permission is required.', 'http_code' => 400, 'description' => 'The RAM user does not have the permission to create the AliyunServiceRoleForNasEcsHandler service-linked role. The ram:CreateServiceLinkedRole permission is required.'],
['code' => 'SubAccount.NoSLRPermission', 'message' => 'The RAM account cannot create the service linked role. The ram:CreateServiceLinkedRole permission is required.', 'http_code' => 400, 'description' => 'The RAM user does not have the permission to create the service-linked role. The ram:CreateServiceLinkedRole permission is required.'],
['code' => 'SubAccount.NoStandardSLRPermission', 'message' => 'The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasStandard. Please authorize the RAM user the permission ram:CreateServiceLinkedRole.', 'http_code' => 400, 'description' => 'The RAM user does not have the permission to create service linked role AliyunServiceRoleForNasStandard. Please authorize the RAM user the permission ram:CreateServiceLinkedRole.'],
['code' => 'SYSTEM.SALE_VALIDATE_NO_SPECIFIC_CODE_FAILED', 'message' => 'RAM user authentication does not pass, contact the administrator to add permissions.', 'http_code' => 400, 'description' => 'RAM user authentication does not pass, contact the administrator to add permissions.'],
['code' => 'SystemTag.NumberExceed', 'message' => 'The maximum number of system tags for each resource is 50.', 'http_code' => 400, 'description' => 'The maximum number of system tags for each resource is 50.'],
['code' => 'Throttling.Api', 'message' => 'Request was denied due to api flow control.', 'http_code' => 429, 'description' => 'The request is throttled.'],
['code' => 'UserDisabled', 'message' => 'NAS has not been activated for your account, or your account does not have sufficient balance.', 'http_code' => 403, 'description' => 'File Storage NAS has not been activated for your account, or your account balance is insufficient.'],
['code' => 'VerifyStock.Failed', 'message' => 'The inventory of the specified zone is insufficient.', 'http_code' => 403, 'description' => 'Insufficient stock in designated area.'],
['code' => 'VolumeStatusForbidOperation', 'message' => 'Mnt is in creating/hibernating.', 'http_code' => 403, 'description' => 'Mnt is in creating/hibernating.'],
['code' => 'InvalidParameter.LifecycleRule', 'message' => 'The lifecycle rule is invalid.', 'http_code' => 400, 'description' => 'The parameter lifecycle policy rule does not support.'],
['code' => 'MissingParameter.LifecyclePolicyName', 'message' => 'LifecyclePolicyName is mandatory for this action.', 'http_code' => 400, 'description' => 'LifecyclePolicyName parameter is not specified.'],
['code' => 'OperationDenied.LifecycleLogsCountsExceeded', 'message' => 'The amount of Lifecycle Logs has reached its limits.', 'http_code' => 403, 'description' => 'The OnDemand lifecycle policy only supports 1 run.'],
['code' => 'Lifecycle.RunningTask.Exist', 'message' => 'There are running tasks for this lifecycle policy.', 'http_code' => 400, 'description' => 'A file system supports only 2 OnDemand lifecycle policies in operation.'],
['code' => 'Lifecycle.Count.Exceeded', 'message' => 'The lifecycle policy count exceeds the max limit per type per filesystem.', 'http_code' => 400, 'description' => 'Lifecycle policy exceeds limit.'],
['code' => 'InvalidAccessPoint.NotFound', 'message' => 'The specified AccessPoint does not exist.', 'http_code' => 404, 'description' => 'The specified access point does not exist.'],
['code' => 'AccessPoint.ExceedsLimit', 'message' => 'Access point exceeds limit - There is already 1000 access points in filesystem.', 'http_code' => 403, 'description' => 'Access point out of limit-there are already 1000 access points in the file system'],
['code' => 'OperationDenied.DeleteForbidden', 'message' => 'The delete operation is forbidden as the resource is special.', 'http_code' => 400, 'description' => 'The resource cannot be deleted due to the resource status or sub-resource status and the deletion protection rule.'],
['code' => 'InvalidStatus.ResourceMismatch', 'message' => 'Resource status mismatch.', 'http_code' => 403, 'description' => 'The file system and UID do not match.'],
['code' => 'InvalidStatus', 'message' => 'FileSystem status is invalid.', 'http_code' => 403, 'description' => 'The file system status does not meet the requirements.'],
],
'changeSet' => [],
'flowControl' => [
'flowControlList' => [
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeMountedClients'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListRecycleBinJobs'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableRecycleBin'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeSnapshots'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RetryLifecycleRetrieveJob'],
['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateLogAnalysis'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNfsAcl'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeProtocolMountTarget'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAccessGroup'],
['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddClientToBlackList'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyDataFlowAutoRefresh'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateMountTarget'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableSmbAcl'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyAutoSnapshotPolicy'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyLDAPConfig'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'OpenNASService'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeMountTargets'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeDataFlowTasks'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteMountTarget'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifySmbAcl'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateAutoSnapshotPolicy'],
['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteLogAnalysis'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateProtocolService'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateFileSystem'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateFileset'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyDataFlow'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateAccessRule'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateSnapshot'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteFileSystem'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopDataFlow'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyProtocolMountTarget'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelAutoSnapshotPolicy'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeLifecyclePolicies'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLifecyclePolicy'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateDataFlowTask'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelLifecycleRetrieveJob'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteSnapshot'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeProtocolService'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyProtocolService'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteProtocolMountTarget'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateAccessPoint'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDirectoriesAndFiles'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDataFlowSubTasks'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLifecycleRetrieveJob'],
['threshold' => '2', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeFileSystemStatistics'],
['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeBlackListClients'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLDAPConfig'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteDataFlow'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeFileSystems'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelDirQuota'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyAccessPoint'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeFilesets'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ApplyDataFlowAutoRefresh'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAutoSnapshotTasks'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteFileset'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ApplyAutoSnapshotPolicy'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableSmbAcl'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteProtocolService'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetRecycleBinAttribute'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ChangeResourceGroup'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAutoSnapshotPolicies'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'],
['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveClientFromBlackList'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAutoSnapshotPolicy'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ResetFileSystem'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListRecycledDirectoriesAndFiles'],
['threshold' => '35', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeDirQuotas'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAccessRules'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableAndCleanRecycleBin'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartDataFlow'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateRecycleBinDeleteJob'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableNfsAcl'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeSmbAcl'],
['threshold' => '120', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeZones'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAccessRule'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAccessPoints'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateProtocolMountTarget'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelRecycleBinJob'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateAccessGroup'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelFilesetQuota'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableNfsAcl'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDataFlowSubTask'],
['threshold' => '50', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeAccessGroups'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetDirectoryOrFileProperties'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListRecentlyRecycledDirectories'],
['threshold' => '1200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateDir'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateFile'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateDataFlow'],
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeLogAnalysis'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelDataFlowAutoRefresh'],
['threshold' => '10000', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRegions'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetDirQuota'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateRecycleBinRestoreJob'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteLDAPConfig'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAccessPoint'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyLifecyclePolicy'],
['threshold' => '120', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyMountTarget'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpgradeFileSystem'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListLifecycleRetrieveJobs'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteLifecyclePolicy'],
['threshold' => '100', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CancelDataFlowSubTask'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetFilesetQuota'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelDataFlowTask'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateRecycleBinAttribute'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeDataFlows'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyFileset'],
['threshold' => '120', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ModifyAccessRule'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyFileSystem'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteAccessPoint'],
['threshold' => '120', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ModifyAccessGroup'],
['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeStoragePackages'],
],
],
'ram' => [
'productCode' => 'NAS',
'productName' => 'File Storage NAS',
'ramCodes' => ['nas'],
'ramLevel' => 'RESOURCE',
'ramConditions' => [
[
'name' => 'vpc:Vpc',
'schema' => ['type' => 'String', 'description' => 'ARN of VPC instance. Example: acs:vpc:cn-hangzhou:0123456789:vpc/vpc-123456789'],
],
[
'name' => 'nas:FileSystemType',
'schema' => [
'type' => 'String',
'description' => 'File System Type',
'enums' => ['standard', 'extreme', 'cpfs'],
],
],
[
'name' => 'nas:EncryptedType',
'schema' => [
'type' => 'String',
'description' => 'File system encryption type',
'enums' => ['NoEncrypted', 'NASManagedKeys', 'BYOK'],
],
],
],
'ramActions' => [
[
'apiName' => 'TagResources',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:TagResources',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'DescribeAccessGroups',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeAccessGroups',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'AccessGroup', 'arn' => 'acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}'],
],
],
],
[
'apiName' => 'ListLifecycleRetrieveJobs',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:ListLifecycleRetrieveJobs',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'DeleteDataFlow',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteDataFlow',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'ListRecentlyRecycledDirectories',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:ListRecentlyRecycledDirectories',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'DeleteFileset',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteFileset',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'Fileset', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'DescribeProtocolMountTarget',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeProtocolMountTarget',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'ModifyProtocolMountTarget',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyProtocolMountTarget',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'DeleteAutoSnapshotPolicy',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteAutoSnapshotPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'RemoveClientFromBlackList',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:RemoveClientFromBlackList',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'DescribeMountedClients',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeMountedClients',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'DeleteMountTarget',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteMountTarget',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'DescribeStoragePackages',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeStoragePackages',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DeleteAccessGroup',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteAccessGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'AccessGroup', 'arn' => 'acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}'],
],
],
],
[
'apiName' => 'DescribeAutoSnapshotTasks',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeAutoSnapshotTasks',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ModifyFileSystem',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyFileSystem',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'DeleteLDAPConfig',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteLDAPConfig',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'DescribeDirQuotas',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeDirQuotas',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'DescribeFilesets',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeFilesets',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'ListTagResources',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:ListTagResources',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'CancelDataFlowSubTask',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:CancelDataFlowSubTask',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'CreateDataFlow',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateDataFlow',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'DisableSmbAcl',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:DisableSmbAcl',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'GetProtocolMountTarget',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:GetProtocolMountTarget',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ModifyMountTarget',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyMountTarget',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'CreateRecycleBinDeleteJob',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:CreateRecycleBinDeleteJob',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'CancelLifecycleRetrieveJob',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:CancelLifecycleRetrieveJob',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'SetDirQuota',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:SetDirQuota',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'ModifySmbAcl',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifySmbAcl',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'CancelAutoSnapshotPolicy',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:CancelAutoSnapshotPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribeLogAnalysis',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeLogAnalysis',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ModifyAutoSnapshotPolicy',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyAutoSnapshotPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ChangeResourceGroup',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ChangeResourceGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'CreateLifecyclePolicy',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateLifecyclePolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'LifecyclePolicy', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'DeleteProtocolService',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteProtocolService',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'ModifyDataFlow',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyDataFlow',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'DescribeAutoSnapshotPolicies',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeAutoSnapshotPolicies',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DisableNfsAcl',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:DisableNfsAcl',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'CreateRecycleBinRestoreJob',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateRecycleBinRestoreJob',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'CreateFileSystem',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateFileSystem',
'authLevel' => 'resource',
'actionConditions' => [
['conditionKey' => 'nas:EncryptedType', 'validationType' => 'always'],
['conditionKey' => 'nas:FileSystemType', 'validationType' => 'always'],
],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/*'],
],
],
],
[
'apiName' => 'ModifyFileset',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyFileset',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'Fileset', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'ListRecycledDirectoriesAndFiles',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:ListRecycledDirectoriesAndFiles',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'StartDataFlow',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:StartDataFlow',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'CreateDataFlowTask',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateDataFlowTask',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'DescribeFilesystemsAssociatedHpnZones',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeFilesystemsAssociatedHpnZones',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'GetRecycleBinAttribute',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:GetRecycleBinAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'DescribeLifecyclePolicies',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeLifecyclePolicies',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'LifecyclePolicy', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'RetryLifecycleRetrieveJob',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:RetryLifecycleRetrieveJob',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'CreateDataFlowSubTask',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateDataFlowSubTask',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'OpenNASService',
'description' => '',
'operationType' => 'none',
'ramAction' => [
'action' => 'nas:OpenNASService',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribeLifecyclePolicyLogs',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeLifecyclePolicyLogs',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'LifecyclePolicy', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'ListAccessPoints',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:ListAccessPoints',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'StopLifecyclePolicyExecution',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:StopLifecyclePolicyExecution',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'LifecyclePolicy', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'CreateSnapshot',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateSnapshot',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'Snapshot', 'arn' => 'acs:nas:{#regionId}:{#accountId}:snapshot/*'],
],
],
],
[
'apiName' => 'GetDirectoryOrFileProperties',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:GetDirectoryOrFileProperties',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'CreateAutoSnapshotPolicy',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateAutoSnapshotPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribeRegions',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeRegions',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'EnableRecycleBin',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:EnableRecycleBin',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'UpdateLifecyclePolicy',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:UpdateLifecyclePolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'LifecyclePolicy', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'ModifyDataFlowAutoRefresh',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyDataFlowAutoRefresh',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'ModifyAccessPoint',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyAccessPoint',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DetachVscFromFilesystems',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:DetachVscFromFilesystems',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'Vsc', 'arn' => 'acs:eflo:{#regionId}:{#accountId}:vsc/{#VscId}'],
],
],
],
[
'apiName' => 'DescribeSnapshots',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeSnapshots',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'Snapshot', 'arn' => 'acs:nas:{#regionId}:{#accountId}:snapshot/*'],
],
],
],
[
'apiName' => 'EnableNfsAcl',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:EnableNfsAcl',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'DeleteSnapshot',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteSnapshot',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'CreateProtocolMountTarget',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateProtocolMountTarget',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'ApplyDataFlowAutoRefresh',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ApplyDataFlowAutoRefresh',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#fileSystemId}'],
],
],
],
[
'apiName' => 'DeleteFileSystem',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteFileSystem',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'ModifyProtocolService',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyProtocolService',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'CancelDirQuota',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:CancelDirQuota',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'AddClientToBlackList',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:AddClientToBlackList',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'DescribeDataFlowSubTasks',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeDataFlowSubTasks',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'ModifyLDAPConfig',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyLDAPConfig',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'CreateAccessPoint',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateAccessPoint',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ModifyAccessRule',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyAccessRule',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'AccessGroup', 'arn' => 'acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}'],
],
],
],
[
'apiName' => 'DescribeSmbAcl',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeSmbAcl',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'CreateFile',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateFile',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'CancelRecycleBinJob',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:CancelRecycleBinJob',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'UpdateRecycleBinAttribute',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:UpdateRecycleBinAttribute',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'DescribeFileSystemStatistics',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeFileSystemStatistics',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribeAccessPoints',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeAccessPoints',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DisableAndCleanRecycleBin',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:DisableAndCleanRecycleBin',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'CreateAccessRule',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateAccessRule',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'AccessGroup', 'arn' => 'acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}'],
],
],
],
[
'apiName' => 'CancelDataFlowAutoRefresh',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:CancelDataFlowAutoRefresh',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'ApplyAutoSnapshotPolicy',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ApplyAutoSnapshotPolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'CancelFilesetQuota',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:CancelFilesetQuota',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'Fileset', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'DescribeAccessPoint',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeAccessPoint',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DeleteProtocolMountTarget',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteProtocolMountTarget',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'ModifyLifecyclePolicy',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyLifecyclePolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'LifecyclePolicy', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'CreateLogAnalysis',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateLogAnalysis',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'ListDirectoriesAndFiles',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:ListDirectoriesAndFiles',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'ListRecycleBinJobs',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:ListRecycleBinJobs',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'CreateProtocolService',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateProtocolService',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'SetFilesetQuota',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:SetFilesetQuota',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'Fileset', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'UntagResources',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:UntagResources',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'DeleteLifecyclePolicy',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteLifecyclePolicy',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'LifecyclePolicy', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'DescribeBlackListClients',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeBlackListClients',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'StopDataFlow',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:StopDataFlow',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'DescribeZones',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeZones',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribeMountTargets',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeMountTargets',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'EnableSmbAcl',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:EnableSmbAcl',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'CreateFileset',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateFileset',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'Fileset', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'CreateAccessGroup',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateAccessGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'AccessGroup', 'arn' => 'acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}'],
],
],
],
[
'apiName' => 'CreateMountTarget',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateMountTarget',
'authLevel' => 'resource',
'actionConditions' => [
['conditionKey' => 'vpc:Vpc', 'validationType' => 'always'],
],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'],
],
],
],
[
'apiName' => 'StartLifecyclePolicyExecution',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:StartLifecyclePolicyExecution',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'LifecyclePolicy', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'ResetFileSystem',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ResetFileSystem',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribeAccessRules',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeAccessRules',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'AccessGroup', 'arn' => 'acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}'],
],
],
],
[
'apiName' => 'DescribeDataFlows',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeDataFlows',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'CreateLDAPConfig',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateLDAPConfig',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'DescribeFilesystemsVscAttachInfo',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeFilesystemsVscAttachInfo',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'Vsc', 'arn' => 'acs:eflo:{#regionId}:{#accountId}:vsc/{#VscId}'],
],
],
],
[
'apiName' => 'DescribeDataFlowTasks',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeDataFlowTasks',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'GetFileset',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:GetFileset',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DeleteAccessRule',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteAccessRule',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'AccessGroup', 'arn' => 'acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}'],
],
],
],
[
'apiName' => 'CancelDataFlowTask',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:CancelDataFlowTask',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'UpgradeFileSystem',
'description' => '',
'operationType' => 'update',
'additionalActions' => [],
'ramAction' => [
'action' => 'nas:UpgradeFileSystem',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'DescribeFileSystems',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeFileSystems',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'AttachVscToFilesystems',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:AttachVscToFilesystems',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'Vsc', 'arn' => 'acs:eflo:{#regionId}:{#accountId}:vsc/{#VscId}'],
],
],
],
[
'apiName' => 'DeleteLogAnalysis',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteLogAnalysis',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'DeleteAccessPoint',
'description' => '',
'operationType' => 'delete',
'ramAction' => [
'action' => 'nas:DeleteAccessPoint',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'DescribeProtocolService',
'description' => '',
'operationType' => 'list',
'ramAction' => [
'action' => 'nas:DescribeProtocolService',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'CreateLifecycleRetrieveJob',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateLifecycleRetrieveJob',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#FileSystemId}'],
],
],
],
[
'apiName' => 'DescribeNfsAcl',
'description' => '',
'operationType' => 'get',
'ramAction' => [
'action' => 'nas:DescribeNfsAcl',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
],
],
],
[
'apiName' => 'CreateDir',
'description' => '',
'operationType' => 'create',
'ramAction' => [
'action' => 'nas:CreateDir',
'authLevel' => 'operate',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'All Resource', 'arn' => '*'],
],
],
],
[
'apiName' => 'ModifyAccessGroup',
'description' => '',
'operationType' => 'update',
'ramAction' => [
'action' => 'nas:ModifyAccessGroup',
'authLevel' => 'resource',
'actionConditions' => [],
'resources' => [
['validationType' => 'always', 'product' => 'NAS', 'resourceType' => 'AccessGroup', 'arn' => 'acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}'],
],
],
],
],
'resourceTypes' => [
['validationType' => 'always', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
['validationType' => 'always', 'resourceType' => 'AccessGroup', 'arn' => 'acs:nas:{#regionId}:{#accountId}:accessgroup/{#accessgroupName}'],
['validationType' => 'always', 'resourceType' => 'DataFlow', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
['validationType' => 'always', 'resourceType' => 'Fileset', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
['validationType' => 'always', 'resourceType' => 'Snapshot', 'arn' => 'acs:nas:{#regionId}:{#accountId}:snapshot/*'],
['validationType' => 'always', 'resourceType' => 'FileSystem', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/*'],
['validationType' => 'always', 'resourceType' => 'LifecyclePolicy', 'arn' => 'acs:nas:{#regionId}:{#accountId}:filesystem/{#filesystemId}'],
['validationType' => 'always', 'resourceType' => 'Vsc', 'arn' => 'acs:eflo:{#regionId}:{#accountId}:vsc/{#VscId}'],
['validationType' => 'always', 'resourceType' => 'Disk', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:snapshot/*'],
['validationType' => 'always', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'],
],
],
];