summaryrefslogtreecommitdiff
path: root/data/en_us/smartag
diff options
context:
space:
mode:
Diffstat (limited to 'data/en_us/smartag')
-rw-r--r--data/en_us/smartag/2018-03-13/api-docs.php34533
1 files changed, 34533 insertions, 0 deletions
diff --git a/data/en_us/smartag/2018-03-13/api-docs.php b/data/en_us/smartag/2018-03-13/api-docs.php
new file mode 100644
index 0000000..13efce5
--- /dev/null
+++ b/data/en_us/smartag/2018-03-13/api-docs.php
@@ -0,0 +1,34533 @@
+<?php return [
+ 'version' => '1.0',
+ 'info' => [
+ 'style' => 'RPC',
+ 'product' => 'Smartag',
+ 'version' => '2018-03-13',
+ ],
+ 'directories' => [
+ [
+ 'id' => 74745,
+ 'title' => 'SAG instances',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateSmartAccessGateway',
+ 'UpgradeSmartAccessGateway',
+ 'DowngradeSmartAccessGateway',
+ 'DeleteSmartAccessGateway',
+ 'DescribeRegions',
+ 'MoveResourceGroup',
+ [
+ 'id' => 185275,
+ 'title' => 'Associate a CCN instance',
+ 'type' => 'directory',
+ 'children' => [
+ 'BindSmartAccessGateway',
+ 'UnbindSmartAccessGateway',
+ 'GrantSagInstanceToCcn',
+ 'RevokeSagInstanceFromCcn',
+ ],
+ ],
+ [
+ 'id' => 185277,
+ 'title' => 'Associate a VBR instance',
+ 'type' => 'directory',
+ 'children' => [
+ 'BindVbr',
+ 'UnbindVbr',
+ 'GrantSagInstanceToVbr',
+ 'RevokeInstanceFromVbr',
+ 'DescribeSagVbrRelations',
+ ],
+ ],
+ [
+ 'id' => 74750,
+ 'title' => 'SNAT and DNAT',
+ 'type' => 'directory',
+ 'children' => [
+ 'AddSnatEntry',
+ 'DeleteSnatEntry',
+ 'DescribeSnatEntries',
+ 'AddDnatEntry',
+ 'DeleteDnatEntry',
+ 'DescribeDnatEntries',
+ ],
+ ],
+ [
+ 'id' => 74865,
+ 'title' => 'Route advertisement policies',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeRouteDistributionStrategies',
+ 'ModifyRouteDistributionStrategy',
+ 'DeleteRouteDistributionStrategy',
+ ],
+ ],
+ [
+ 'id' => 74869,
+ 'title' => 'Health check',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateHealthCheck',
+ 'DeleteHealthCheck',
+ 'ModifyHealthCheck',
+ 'DescribeHealthChecks',
+ 'DescribeHealthCheckAttribute',
+ ],
+ ],
+ [
+ 'id' => 185257,
+ 'title' => 'Access points',
+ 'type' => 'directory',
+ 'children' => [
+ 'UpdateSmartAGAccessPoint',
+ 'ProbeAccessPointNetworkQuality',
+ 'ListSmartAGByAccessPoint',
+ 'ListAccessPoints',
+ 'ListAccessPointNetworkQualities',
+ ],
+ ],
+ [
+ 'id' => 74878,
+ 'title' => 'DPI',
+ 'type' => 'directory',
+ 'children' => [
+ 'UpdateSmartAGDpiAttribute',
+ 'DisableSmartAGDpiMonitor',
+ 'EnableSmartAGDpiMonitor',
+ 'ListDpiSignatures',
+ 'ListDpiGroups',
+ 'ListDpiConfigError',
+ 'GetSmartAGDpiAttribute',
+ 'GetAclAttribute',
+ ],
+ ],
+ [
+ 'id' => 185224,
+ 'title' => 'Probing and monitoring',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateProbeTask',
+ 'ListProbeTask',
+ 'UpdateProbeTask',
+ 'DeleteProbeTask',
+ 'CreateServiceAddress',
+ 'DeleteServiceAddress',
+ 'ListAvailableServiceAddress',
+ 'SetAdvancedMonitorState',
+ 'GetAdvancedMonitorState',
+ ],
+ ],
+ [
+ 'id' => 74754,
+ 'title' => 'Queries the information about SAG instances',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeSmartAccessGatewayAttribute',
+ 'GetSmartAccessGatewayUseLimit',
+ 'DescribeSmartAccessGatewayVersions',
+ 'DescribeSagTrafficTopN',
+ 'DescribeSagDropTopN',
+ 'DescribeSAGDeviceInfo',
+ 'ListSmartAGApiUnsupportedFeature',
+ 'DescribeGrantSagRules',
+ 'DescribeSmartAccessGateways',
+ 'DescribeDeviceAutoUpgradePolicy',
+ 'DescribeGrantSagVbrRules',
+ 'DescribeBindableSmartAccessGateways',
+ ],
+ ],
+ ],
+ ],
+ [
+ 'id' => 185296,
+ 'title' => 'SAG devices',
+ 'type' => 'directory',
+ 'children' => [
+ [
+ 'id' => 185250,
+ 'title' => 'Configure routes',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeSagGlobalRouteProtocol',
+ 'DescribeSagRouteList',
+ 'DescribeSagPortRouteProtocolList',
+ 'ModifySagGlobalRouteProtocol',
+ 'ModifySagPortRouteProtocol',
+ [
+ 'id' => 74730,
+ 'title' => 'Dynamic route',
+ 'type' => 'directory',
+ 'children' => [
+ 'ModifySagRouteProtocolBgp',
+ 'DescribeSagRouteProtocolBgp',
+ 'ModifySagRouteProtocolOspf',
+ 'DescribeSagRouteProtocolOspf',
+ ],
+ ],
+ [
+ 'id' => 74735,
+ 'title' => 'Static route',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateSagStaticRoute',
+ 'DescribeSagStaticRouteList',
+ 'ModifySagStaticRoute',
+ 'DeleteSagStaticRoute',
+ ],
+ ],
+ ],
+ ],
+ [
+ 'id' => 74875,
+ 'title' => 'Configure port',
+ 'type' => 'directory',
+ 'children' => [
+ 'ModifySagPortRole',
+ 'DescribeSagPortList',
+ [
+ 'id' => 185222,
+ 'title' => 'WAN port',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeSagWanList',
+ 'ModifySagWan',
+ 'ModifySagWanSnat',
+ 'DescribeSagWanSnat',
+ 'DescribeSagWan4G',
+ ],
+ ],
+ [
+ 'id' => 185255,
+ 'title' => 'LAN port',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeSagLanList',
+ 'ModifySagLan',
+ ],
+ ],
+ [
+ 'id' => 185256,
+ 'title' => 'Management port',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeSagManagementPort',
+ 'ModifySagManagementPort',
+ ],
+ ],
+ [
+ 'id' => 74849,
+ 'title' => 'Leased line port',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateSagExpressConnectInterface',
+ 'DeleteSagExpressConnectInterface',
+ 'ModifySagExpressConnectInterface',
+ 'DescribeSagExpressConnectInterfaceList',
+ ],
+ ],
+ ],
+ ],
+ [
+ 'id' => 185278,
+ 'title' => 'Configure high availability (HA)',
+ 'type' => 'directory',
+ 'children' => [
+ 'ModifySagHa',
+ 'DescribeSagHa',
+ 'DescribeSmartAccessGatewayHa',
+ ],
+ ],
+ [
+ 'id' => 185297,
+ 'title' => 'Configure DNS',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeSagCurrentDns',
+ 'DescribeSagUserDns',
+ 'ModifySagUserDns',
+ ],
+ ],
+ [
+ 'id' => 185298,
+ 'title' => 'Configure Wi-Fi',
+ 'type' => 'directory',
+ 'children' => [
+ 'ModifySagWifi',
+ 'DescribeSagWifi',
+ ],
+ ],
+ [
+ 'id' => 185273,
+ 'title' => 'Manage SAG devices',
+ 'type' => 'directory',
+ 'children' => [
+ 'BindSerialNumber',
+ 'UnbindSerialNumber',
+ 'ActivateSmartAccessGateway',
+ 'SynchronizeSmartAGWebConfig',
+ 'ModifySAGAdminPassword',
+ 'RebootSmartAccessGateway',
+ 'UnlockSmartAccessGateway',
+ 'ModifySagRemoteAccess',
+ 'DescribeSagRemoteAccess',
+ 'ModifyDeviceAutoUpgradePolicy',
+ 'UpdateSmartAccessGatewayVersion',
+ 'ModifySmartAccessGateway',
+ 'ModifySmartAccessGatewayUpBandwidth',
+ 'ClearSagRouteableAddress',
+ 'ClearSagCipher',
+ 'DiagnoseSmartAccessGateway',
+ 'DiscribeSmartAccessGatewayDiagnosisReport',
+ ],
+ ],
+ [
+ 'id' => 181735,
+ 'title' => 'API applies to the SCG5000',
+ 'type' => 'directory',
+ 'children' => [
+ 'AddSmartAccessGatewayDnsForward',
+ 'UpdateSmartAccessGatewayDnsForward',
+ 'DeleteSmartAccessGatewayDnsForward',
+ 'ViewSmartAccessGatewayDnsForwards',
+ 'UpdateSmartAccessGatewayWanSnat',
+ 'ViewSmartAccessGatewayWanSnat',
+ 'UpdateSmartAccessGatewayDns',
+ 'ViewSmartAccessGatewayDns',
+ 'UpdateSmartAccessGatewayBgpRoute',
+ 'ViewSmartAccessGatewayBgpRoute',
+ 'UpdateSmartAccessGatewayGlobalRouteProtocol',
+ 'ViewSmartAccessGatewayGlobalRouteProtocol',
+ 'UpdateSmartAccessGatewayPortRouteProtocol',
+ 'ViewSmartAccessGatewayPortRouteProtocol',
+ 'ViewSmartAccessGatewayRoutes',
+ 'UpdateSmartAccessGatewayOspfRoute',
+ 'ViewSmartAccessGatewayOspfRoute',
+ 'UpdateSmartAccessGatewayAdminPassword',
+ ],
+ ],
+ ],
+ ],
+ [
+ 'id' => 185299,
+ 'title' => 'SAG app instances',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateSmartAccessGatewaySoftware',
+ 'UpgradeSmartAccessGatewaySoftware',
+ 'DowngradeSmartAccessGatewaySoftware',
+ ],
+ ],
+ [
+ 'id' => 185274,
+ 'title' => 'SAG app clients',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateSmartAccessGatewayClientUser',
+ 'DescribeSmartAccessGatewayClientUsers',
+ 'ModifySmartAccessGatewayClientUser',
+ 'ResetSmartAccessGatewayClientUserPassword',
+ 'DeleteSmartAccessGatewayClientUser',
+ 'EnableSmartAccessGatewayUser',
+ 'DisableSmartAccessGatewayUser',
+ 'ModifyClientUserDNS',
+ 'DescribeClientUserDNS',
+ 'DescribeUserFlowStatistics',
+ 'DescribeUserOnlineClients',
+ 'DescribeSagOnlineClientStatistics',
+ 'DescribeUserOnlineClientStatistics',
+ 'KickOutClients',
+ 'RoamClientUser',
+ ],
+ ],
+ [
+ 'id' => 74740,
+ 'title' => 'Enterprise codes',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateEnterpriseCode',
+ 'DeleteEnterpriseCode',
+ 'UpdateEnterpriseCode',
+ 'UpdateSmartAGEnterpriseCode',
+ 'ListEnterpriseCode',
+ ],
+ ],
+ [
+ 'id' => 74812,
+ 'title' => 'Cloud Connect Network',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateCloudConnectNetwork',
+ 'DeleteCloudConnectNetwork',
+ 'ModifyCloudConnectNetwork',
+ 'DescribeCloudConnectNetworks',
+ 'GetCloudConnectNetworkUseLimit',
+ 'DescribeGrantRules',
+ 'GrantInstanceToCbn',
+ 'RevokeInstanceFromCbn',
+ ],
+ ],
+ [
+ 'id' => 74821,
+ 'title' => 'Access control',
+ 'type' => 'directory',
+ 'children' => [
+ 'AddACLRule',
+ 'CreateACL',
+ 'DeleteACL',
+ 'DeleteACLRule',
+ 'ModifyACL',
+ 'ModifyACLRule',
+ 'DescribeACLs',
+ 'DescribeACLAttribute',
+ 'AssociateACL',
+ 'DisassociateACL',
+ ],
+ ],
+ [
+ 'id' => 74832,
+ 'title' => 'QoS policies',
+ 'type' => 'directory',
+ 'children' => [
+ [
+ 'id' => 185251,
+ 'title' => 'QoS policies instances',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateQos',
+ 'DeleteQos',
+ 'ModifyQos',
+ 'AssociateQos',
+ 'DisassociateQos',
+ 'DescribeQoses',
+ 'GetQosAttribute',
+ ],
+ ],
+ [
+ 'id' => 74839,
+ 'title' => ' Traffic throttling rule',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateQosCar',
+ 'DeleteQosCar',
+ 'ModifyQosCar',
+ 'DescribeQosCars',
+ ],
+ ],
+ [
+ 'id' => 74844,
+ 'title' => 'Traffic classification rule',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateQosPolicy',
+ 'DeleteQosPolicy',
+ 'ModifyQosPolicy',
+ 'DescribeQosPolicies',
+ ],
+ ],
+ ],
+ ],
+ [
+ 'id' => 74854,
+ 'title' => 'Flow logs',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateFlowLog',
+ 'DeleteFlowLog',
+ 'ModifyFlowLogAttribute',
+ 'DescribeFlowLogs',
+ 'DescribeFlowLogSags',
+ 'DescribeUnbindFlowLogSags',
+ 'ActiveFlowLog',
+ 'DeactiveFlowLog',
+ 'AssociateFlowLog',
+ 'DisassociateFlowLog',
+ ],
+ ],
+ [
+ 'id' => 185223,
+ 'title' => 'Application acceleration',
+ 'type' => 'directory',
+ 'children' => [
+ 'AssociateSmartAGWithApplicationBandwidthPackage',
+ 'UpdateSmartAGUserAccelerateConfig',
+ 'DissociateSmartAGFromApplicationBandwidthPackage',
+ ],
+ ],
+ ],
+ 'components' => [
+ 'schemas' => [],
+ ],
+ 'apis' => [
+ 'CreateSmartAccessGateway' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where you want to deploy the SAG instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'MaxBandWidth',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The bandwidth of the SAG instance.'."\n"
+ ."\n"
+ .'* If you want to create an SAG CPE instance and the model is **sag-100wm**, valid values of this parameter are **2** to **50**. Unit: Mbit/s.'."\n"
+ .'* If you want to create an SAG CPE instance and the model is **sag-1000**, valid values of this parameter are **10** to **500**. Unit: Mbit/s.'."\n"
+ .'* If you want to create an SAG vCPE instance, valid values of this parameter are **10** to **1000**. Unit: Mbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '12',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the SAG instance.'."\n"
+ ."\n"
+ .'The name must be 2 to 128 characters in length and can contain digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testname',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the SAG instance.'."\n"
+ ."\n"
+ .'The description must be 2 to 256 characters in length, and can contain digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testdesc',
+ ],
+ ],
+ [
+ 'name' => 'Period',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The subscription period of the SAG instance. Unit: months.'."\n"
+ ."\n"
+ .'Valid values: **1** to **9**, **12**, **24**, and **36**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '12',
+ ],
+ ],
+ [
+ 'name' => 'AutoPay',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable auto-payment for the instance. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n"
+ ."\n"
+ .'If you set the parameter to false, go to Billing Management to complete the payment after you call this operation. After you complete the payment, the instance can be created.'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'HardWareSpec',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the SAG instance. Valid values:'."\n"
+ ."\n"
+ .'* **sag-100wm**'."\n"
+ .'* **sag-1000**'."\n"
+ .'* **sag-vcpe**'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-100wm',
+ ],
+ ],
+ [
+ 'name' => 'ReceiverCountry',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The country of the recipient address.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'China',
+ ],
+ ],
+ [
+ 'name' => 'ReceiverState',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The province of the recipient address.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'Zhejiang',
+ ],
+ ],
+ [
+ 'name' => 'ReceiverCity',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The city of the recipient address.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'Hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ReceiverDistrict',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The district of the recipient address.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'West Lake',
+ ],
+ ],
+ [
+ 'name' => 'ReceiverTown',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The town of the recipient address.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'Zhuan Tang',
+ ],
+ ],
+ [
+ 'name' => 'ReceiverZip',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The postcode of the recipient address.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '310000',
+ ],
+ ],
+ [
+ 'name' => 'ReceiverPhone',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The landline phone number of the recipient.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '8585****',
+ ],
+ ],
+ [
+ 'name' => 'ReceiverMobile',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The mobile phone number of the recipient.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '1884085****',
+ ],
+ ],
+ [
+ 'name' => 'ReceiverName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the recipient.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'Alice',
+ ],
+ ],
+ [
+ 'name' => 'ReceiverEmail',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The email address of the recipient.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '[email protected]',
+ ],
+ ],
+ [
+ 'name' => 'BuyerMessage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The remarks left by the buyer.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'Remarks',
+ ],
+ ],
+ [
+ 'name' => 'ReceiverAddress',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The detailed address of the recipient.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'No.XX',
+ ],
+ ],
+ [
+ 'name' => 'HaType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The deployment mode. Valid values:'."\n"
+ ."\n"
+ .'* **no_backup**: You buy only one SAG device to connect private networks to Alibaba Cloud.'."\n"
+ .'* **cold_backup**: You buy two SAG devices in active-standby mode. One SAG device serves as an active device and the other serves as a standby device. Only the active device is connected to Alibaba Cloud. If the active device is not working as expected, you must manually perform a switchover.'."\n"
+ .'* **warm_backup**: You buy two SAG devices in active-active mode. Both SAG devices are connected to Alibaba Cloud. If an active device is not working as expected, a failover is automatically performed.'."\n"
+ ."\n"
+ .'> If you want to create an SAG vCPE instance, set the value to **warm_backup**.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'no_backup',
+ ],
+ ],
+ [
+ 'name' => 'ChargeType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The billing method of the SAG instance.'."\n"
+ ."\n"
+ .'Set the value to **PREPAY**, which specifies the subscription billing method.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'PREPAY',
+ ],
+ ],
+ [
+ 'name' => 'AlreadyHaveSag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether you already have an SAG device. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false** (default): no'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => 'false',
+ 'default' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'CPEVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The edition of SAG when you create an SAG vCPE instance.'."\n"
+ ."\n"
+ .'Set the value to **basic**, which specifies Basic Edition.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'basic',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Description' => [
+ 'description' => 'The description of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'testdesc',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'A6B9EB0F-57DB-4843-A372-04678ABF490E',
+ ],
+ 'OrderId' => [
+ 'description' => 'The ID of the order.'."\n",
+ 'type' => 'string',
+ 'example' => '20337777****',
+ ],
+ 'SmartAGId' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-nylv14tghsk26c*****',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'testname',
+ ],
+ 'ResourceGroupId' => [
+ 'description' => 'The ID of the resource group to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'rg-acfm2iu4fnc****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Description\\": \\"testdesc\\",\\n \\"RequestId\\": \\"A6B9EB0F-57DB-4843-A372-04678ABF490E\\",\\n \\"OrderId\\": \\"20337777****\\",\\n \\"SmartAGId\\": \\"sag-nylv14tghsk26c*****\\",\\n \\"Name\\": \\"testname\\",\\n \\"ResourceGroupId\\": \\"rg-acfm2iu4fnc****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateSmartAccessGatewayResponse>\\n <SmartAGId>sag-nylv14tghsk26c****</SmartAGId>\\n <OrderId>20337777121212</OrderId>\\n <RequestId>A6B9EB0F-57DB-4843-A372-04678ABF490E</RequestId>\\n</CreateSmartAccessGatewayResponse>","errorExample":""}]',
+ 'title' => 'CreateSmartAccessGateway',
+ 'summary' => 'Creates a Smart Access Gateway (SAG) CPE or vCPE instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpgradeSmartAccessGateway' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-d3m51apgw4po******',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'BandWidthSpec',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The bandwidth of the SAG instance.'."\n"
+ ."\n"
+ .'* Value range for an SAG-100WM device: 2 to 50. Unit: Mbit/s'."\n"
+ .'* Value range for an SAG-1000 device: 10 to 500. Unit: Mbit/s'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '3',
+ ],
+ ],
+ [
+ 'name' => 'AutoPay',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Indicates whether to automatically pay the bill for a subscription instance.'."\n"
+ ."\n"
+ .'Valid values: **true | false**. Default value: false'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '45F07029-1783-4B2D-B4CE-45B9EAA58440',
+ ],
+ 'OrderId' => [
+ 'description' => 'The ID of the order.'."\n",
+ 'type' => 'string',
+ 'example' => '203384676330296',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InvalidUserCount',
+ 'errorMessage' => 'The specified UserCount is invalid.',
+ ],
+ [
+ 'errorCode' => 'SAG.InvalidDataPlan',
+ 'errorMessage' => 'The specified DataPlan is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"45F07029-1783-4B2D-B4CE-45B9EAA58440\\",\\n \\"OrderId\\": \\"203384676330296\\"\\n}","errorExample":""},{"type":"xml","example":"<UpgradeSmartAccessGatewayResponse>\\n <RequestId>45F07029-1783-4B2D-B4CE-45B9EAA58440</RequestId>\\n <OrderId>203384676330296</OrderId>\\n</UpgradeSmartAccessGatewayResponse>","errorExample":""}]',
+ 'title' => 'UpgradeSmartAccessGateway',
+ 'summary' => 'Increases the bandwidth of a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DowngradeSmartAccessGateway' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-nylv14tghsk26c*****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'BandWidthSpec',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The bandwidth of the SAG instance.'."\n"
+ ."\n"
+ .'* If the model of the SAG device is **SAG-100WM**, set the bandwidth to **2 to 50 Mbit/s**.'."\n"
+ .'* If the model of the SAG device is **SAG-1000**, set the bandwidth to **10 to 500 Mbit/s**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '20',
+ ],
+ ],
+ [
+ 'name' => 'AutoPay',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether it is an auto-renewal order generated by a subscription instance. Valid values:'."\n"
+ ."\n"
+ .'* **true**: Yes'."\n"
+ .'* **false**: No (default)'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'A6B9EB0F-57DB-4843-A372-04678ABF490E',
+ ],
+ 'OrderId' => [
+ 'description' => 'The ID of the order.'."\n",
+ 'type' => 'string',
+ 'example' => '20337777855****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InvalidUserCount',
+ 'errorMessage' => 'The specified UserCount is invalid.',
+ ],
+ [
+ 'errorCode' => 'SAG.InvalidDataPlan',
+ 'errorMessage' => 'The specified DataPlan is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A6B9EB0F-57DB-4843-A372-04678ABF490E\\",\\n \\"OrderId\\": \\"20337777855****\\"\\n}","errorExample":""},{"type":"xml","example":"<DowngradeSmartAccessGatewayResponse>\\r\\n <RequestId>A6B9EB0F-57DB-4843-A372-04678ABF490E</RequestId>\\r\\n <OrderId>20337777855****</OrderId>\\r\\n</DowngradeSmartAccessGatewayResponse>","errorExample":""}]',
+ 'title' => 'DowngradeSmartAccessGateway',
+ 'summary' => 'Downgrades the bandwidth of a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteSmartAccessGateway' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance that you want to delete.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-far8v6owtdxlua****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E26DBAAE-A796-4A48-98B4-B45AFCD1F299',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.BusinessStateNotSupport',
+ 'errorMessage' => 'The specified SAG instance is in use and cannot be deleted.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E26DBAAE-A796-4A48-98B4-B45AFCD1F299\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteSmartAccessGatewayResponse>\\r\\n<RequestId>D133AFFC-6E37-414D-8ECD-246DEBE4388D</RequestId>\\r\\n</DeleteSmartAccessGatewayResponse>","errorExample":""}]',
+ 'title' => 'DeleteSmartAccessGateway',
+ 'summary' => 'Deletes a Smart Access Gateway (SAG) instance.',
+ 'description' => '* The SAG instance that you want to delete is an SAG CPE instance or an SAG vCPE instance.'."\n"
+ .'* The SAG instance that you want to delete is locked due to overdue payments.'."\n"
+ .'* The SAG instance that you want to delete is not associated with a Cloud Connect Network (CCN) instance or a virtual border router (VBR). If the SAG instance is associated with a CCN instance or a VBR, dissociate the SAG instance from the CCN instance or VBR first. For more information, see [Detach a network](~~164903~~).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeRegions' => [
+ 'summary' => 'Queries available regions.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AcceptLanguage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The language of the response. Valid values:'."\n"
+ ."\n"
+ .'* **zh-CN** (default): Chinese'."\n"
+ .'* **en-US**: English'."\n"
+ .'* **ja**: Japanese'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'zh-CN',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '2F026E79-30AD-47B6-9E7D-D1D4BA77F1F1',
+ ],
+ 'Regions' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Region' => [
+ 'description' => 'A list of regions.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'LocalName' => [
+ 'description' => 'The name of the region.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'RegionEndpoint' => [
+ 'description' => 'The endpoint of the Smart Access Gateway (SAG) service in the current region.'."\n",
+ 'type' => 'string',
+ 'example' => 'smartag.cn-shanghai.aliyuncs.com',
+ ],
+ 'RegionId' => [
+ 'description' => 'The ID of the region.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ ],
+ 501 => [
+ [
+ 'errorCode' => 'InnerServiceFailed',
+ 'errorMessage' => 'Call inner service failed.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2F026E79-30AD-47B6-9E7D-D1D4BA77F1F1\\",\\n \\"Regions\\": {\\n \\"Region\\": [\\n {\\n \\"LocalName\\": \\"华东2(上海)\\",\\n \\"RegionEndpoint\\": \\"smartag.cn-shanghai.aliyuncs.com\\",\\n \\"RegionId\\": \\"cn-shanghai\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\n \\"RequestId\\": \\"2F026E79-30AD-47B6-9E7D-D1D4BA77F1F1\\", \\n \\"Regions\\": {\\n \\"Region\\": [\\n {\\n \\"RegionId\\": \\"cn-qingdao\\", \\n \\"RegionEndpoint\\": \\"vpc.aliyuncs.com\\", \\n \\"LocalName\\": \\"华北 1\\"\\n }, \\n {\\n \\"RegionId\\": \\"eu-central-1\\", \\n \\"RegionEndpoint\\": \\"vpc.eu-central-1.aliyuncs.com\\", \\n \\"LocalName\\": \\"欧洲中部 1 (法兰克福)\\"\\n }\\n ]\\n }\\n}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?> \\n<DescribeRegionsResponse> \\n<RequestId>611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F</RequestId>\\n<Regions>\\n\\t<Region>\\n\\t\\t<RegionId>cn-shanghai</RegionId>\\n\\t\\t<RegionEndpoint>smartag.cn-shanghai.aliyuncs.com</RegionEndpoint>\\n\\t\\t<LocalName>华东2(上海)</LocalName>\\n\\t</Region>\\n<Regions>\\n</DescribeRegionsResponse>","errorExample":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?> \\n<DescribeRegionsResponse> \\n<RequestId>611CB80C-B6A9-43DB-9E38-0B0AC3D9B58F</RequestId>\\n<Regions>\\n\\t<Region>\\n\\t\\t<RegionId>cn-qingdao</RegionId>\\n\\t\\t<RegionEndpoint>vpc.aliyuncs.com</RegionEndpoint>\\n\\t\\t<LocalName>华北 1</LocalName>\\n\\t</Region>\\n\\t<Region>\\n\\t\\t<RegionId>eu-central-1</RegionId>\\n\\t\\t<RegionEndpoint>vpc.eu-central-1.aliyuncs.com</RegionEndpoint>\\n\\t\\t<LocalName>欧洲中部 1 (法兰克福)</LocalName>\\n\\t</Region>\\n<Regions>\\n</DescribeRegionsResponse>"}]',
+ 'title' => 'DescribeRegions',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'MoveResourceGroup' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'fl-g5w9ty0z36****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the resource. Valid values:'."\n"
+ ."\n"
+ .'* **smartag**: an SAG CPE or SAG vCPE instance'."\n"
+ .'* **smartag_s**: an SAG app instance'."\n"
+ .'* **acl**: an access control list (ACL)'."\n"
+ .'* **flowlog**: a flow log'."\n"
+ .'* **qos**: a quality of service (QoS) policy'."\n"
+ .'* **ccn**: a Cloud Connect Network (CCN) instance'."\n"
+ .'* **abwp**: a bandwidth plan for application acceleration'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'flowlog',
+ ],
+ ],
+ [
+ 'name' => 'NewResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the new resource group.'."\n"
+ ."\n"
+ .'You can log on to the [Resource Management console](https://resourcemanager.console.aliyun.com/resource-groups) to view resource group IDs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'rg-acfm2iu4fnc****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '6668829E-B261-4038-9EC6-0A2C57A14916',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6668829E-B261-4038-9EC6-0A2C57A14916\\"\\n}","errorExample":""},{"type":"xml","example":"<MoveResourceGroupResponse>\\n <RequestId>6668829E-B261-4038-9EC6-0A2C57A14916</RequestId>\\n</MoveResourceGroupResponse>","errorExample":""}]',
+ 'title' => 'MoveResourceGroup',
+ 'summary' => 'Moves Smart Access Gateway (SAG) resources from one resource group to another.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BindSmartAccessGateway' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'CcnId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the CCN instance with which you want to associate the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ccn-isdjvvkexkrpk*****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-m7ez44zpayma*****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the SAG instance belongs.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1250123456123456',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '8A3FF8DD-B27D-4ED2-B032-5EF90B38195D',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.NoBindSN',
+ 'errorMessage' => 'The specified SAG is not bound with a serial number. Please perform binding first.',
+ ],
+ [
+ 'errorCode' => 'SAG.NoBandwidth',
+ 'errorMessage' => 'Buy bandwidth for the specified SAG instance before binding it to a CCN instance.',
+ ],
+ [
+ 'errorCode' => 'NotBoundCEN',
+ 'errorMessage' => 'Bind the specified CCN instance to a CEN instance first.',
+ ],
+ [
+ 'errorCode' => 'SAG.VbrNotBondCen',
+ 'errorMessage' => 'Bind the specified VBR instance to a CEN instance first.',
+ ],
+ [
+ 'errorCode' => 'AlreadyBound.CCN',
+ 'errorMessage' => 'The specified SAG instance is bound to another CCN instance. Unbind them first.',
+ ],
+ [
+ 'errorCode' => 'LinkLevelBackupExists',
+ 'errorMessage' => 'The specified SAG instance is already used as a leased line backup.',
+ ],
+ [
+ 'errorCode' => 'TunnelIdDistributeError',
+ 'errorMessage' => 'Tunnel id distribute error.',
+ ],
+ [
+ 'errorCode' => 'UpdateError.SMARTAG',
+ 'errorMessage' => 'Update smart access gateway error.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'CidrConflict',
+ 'errorMessage' => 'Cidr is conflict, Please Check your input.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.CCN',
+ 'errorMessage' => 'Invalid cloud connect network id.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.SMARTAG',
+ 'errorMessage' => 'The specified smart access gateway instance id is invalid.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayAlreadyBound',
+ 'errorMessage' => 'The smart access gateway already bound.',
+ ],
+ [
+ 'errorCode' => 'TunnelIdNotEnough',
+ 'errorMessage' => 'Tunnel id is not enough.',
+ ],
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'VbrConflict.ChangeSubnet',
+ 'errorMessage' => 'The subnet of the gateway conflicts with the VBR. Modify the subnet first.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"8A3FF8DD-B27D-4ED2-B032-5EF90B38195D\\"\\n}","errorExample":""},{"type":"xml","example":"<BindSmartAccessGatewayResponse>\\n <RequestId>8A3FF8DD-B27D-4ED2-B032-5EF90B38195D</RequestId>\\n</BindSmartAccessGatewayResponse>","errorExample":""}]',
+ 'title' => 'BindSmartAccessGateway',
+ 'summary' => 'Associates a Smart Access Gateway (SAG) instance with a Cloud Connect Network (CCN) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UnbindSmartAccessGateway' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'CcnId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the CCN instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ccn-kygbldwikz********',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-0ovhf732a********',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the SAG instance belongs.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1688401595963306',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'CE6642D4-21EB-4168-9BF9-F217953F9892',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'OperationDenied.BondApplicationBandwidthPackage ',
+ 'errorMessage' => 'Because the application acceleration bandwidth package bound by the current instance is not allowed to unbind the cloud connection network, please unbind the application acceleration bandwidth package first. ',
+ ],
+ [
+ 'errorCode' => 'SAG.DedicatedLineExist',
+ 'errorMessage' => 'This SAG instance is used as a backup for a leased line. Unbind the SAG instance from the leased line first.',
+ ],
+ [
+ 'errorCode' => 'NotBoundCEN',
+ 'errorMessage' => 'Bind the specified CCN instance to a CEN instance first.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.SMARTAG',
+ 'errorMessage' => 'The specified smart access gateway instance id is invalid.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotBind',
+ 'errorMessage' => 'The instance has not yet been bound.',
+ ],
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'AlreadyBound.CEN',
+ 'errorMessage' => 'This instance has been bound, please unbind first.',
+ ],
+ [
+ 'errorCode' => 'NotBoundCCN',
+ 'errorMessage' => 'The specified smart access gateway has not bound CCN; please bind CCN first.',
+ ],
+ [
+ 'errorCode' => 'VbrConflict.ChangeSubnet',
+ 'errorMessage' => 'The subnet of the gateway conflicts with the VBR. Modify the subnet first.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CE6642D4-21EB-4168-9BF9-F217953F9892\\"\\n}","errorExample":""},{"type":"xml","example":"<UnbindSmartAccessGatewayResponse>\\n <RequestId>CE6642D4-21EB-4168-9BF9-F217953F9892</RequestId>\\n</UnbindSmartAccessGatewayResponse>","errorExample":""}]',
+ 'title' => 'UnbindSmartAccessGateway',
+ 'summary' => 'Disassociates a Smart Access Gateway (SAG) instance from the associated Cloud Connect Network (CCN) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GrantSagInstanceToCcn' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-tzirqx07bvcngm****',
+ ],
+ ],
+ [
+ 'name' => 'CcnInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the CCN instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ccn-n2935s1mnwv8i*****',
+ ],
+ ],
+ [
+ 'name' => 'CcnUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the CCN instance belongs.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '1210123456123456',
+ ],
+ ],
+ [
+ 'name' => 'GrantTrafficService',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to grant the CCN instance permissions to manage network traffic from the SAG instance.'."\n"
+ ."\n"
+ .'After the CCN instance is granted the permissions, the CCN instance can redirect the network traffic sent from the SAG instance to the Internet to Cloud Security Access Service (CSAS) for security audit.'."\n"
+ ."\n"
+ .'* **true**: grants permissions.'."\n"
+ .'* **false**: does not grant permissions.'."\n"
+ ."\n"
+ .'> If you set the value to true and the SAG instance connected to the CCN instance has the secure rerouting feature enabled, you cannot revoke the permissions.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '6E1674AC-083C-4031-B047-7A66E418E0C6',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the permission policy.'."\n",
+ 'type' => 'string',
+ 'example' => 'sgc-6z21oj0vjjrx6s****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'CCN.InvalidUid',
+ 'errorMessage' => 'The specified CCN user ID is invalid.',
+ ],
+ [
+ 'errorCode' => 'CCN.InvalidId',
+ 'errorMessage' => 'You must specify the CCN instance ID.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceIdEmpty',
+ 'errorMessage' => 'You must specify the SAG instance ID.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.GrantDuplicated',
+ 'errorMessage' => 'You have authorized another CCN instance to bind to the specified SAG instance. Revoke the authorization first.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6E1674AC-083C-4031-B047-7A66E418E0C6\\",\\n \\"InstanceId\\": \\"sgc-6z21oj0vjjrx6s****\\"\\n}","errorExample":""},{"type":"xml","example":"<GrantSagInstanceToCcnResponse>\\n <RequestId>6E1674AC-083C-4031-B047-7A66E418E0C6</RequestId>\\n <InstanceId>sgc-6z21oj0vjjrx6s****</InstanceId>\\n</GrantSagInstanceToCcnResponse>","errorExample":""}]',
+ 'title' => 'GrantSagInstanceToCcn',
+ 'summary' => 'Authorizes a Smart Access Gateway (SAG) instance to communicate with a Cloud Connect Network (CCN) instance that belongs to another Alibaba Cloud account.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'RevokeSagInstanceFromCcn' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-hd**************',
+ ],
+ ],
+ [
+ 'name' => 'CcnInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the CCN instance.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ccn-jf********',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.',
+ 'type' => 'string',
+ 'example' => 'BCB97739-0CB5-4C94-9A5C-13051FFAB0E9',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceIdEmpty',
+ 'errorMessage' => 'You must specify the SAG instance ID.',
+ ],
+ [
+ 'errorCode' => 'CCN.InvalidId',
+ 'errorMessage' => 'You must specify the CCN instance ID.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BCB97739-0CB5-4C94-9A5C-13051FFAB0E9\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n <RevokeSagInstanceFromCcnResponse>\\r\\n\\t<RequestId>BCB97739-0CB5-4C94-9A5C-13051FFAB0E9</RequestId>\\r\\n </RevokeSagInstanceFromCcnResponse>","errorExample":""}]',
+ 'title' => 'RevokeSagInstanceFromCcn',
+ 'summary' => 'Disallows a Smart Access Gateway (SAG) instance to communicate with a Cloud Connect Network (CCN) instance.',
+ ],
+ 'BindVbr' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-eoqbp1fmrsgbrn****',
+ ],
+ ],
+ [
+ 'name' => 'VbrId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the VBR that you want to associate with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'vbr-gc7ccdvtp3l4fec0j****',
+ ],
+ ],
+ [
+ 'name' => 'VbrRegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the VBR is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the SAG instance belongs.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1250123456123456',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '09A2010F-602B-4EC6-A60F-9914AAE2DCA0',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Forbbiden.SubUser',
+ 'errorMessage' => 'You are not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.VBR',
+ 'errorMessage' => 'The specified VBR instance is invalid. You must specify a VBR instance that is associated with an ECC instance.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNoSupportVbr',
+ 'errorMessage' => 'You cannot bind an SAG software instance with a VBR instance.',
+ ],
+ [
+ 'errorCode' => 'SAG.VbrNotBondCen',
+ 'errorMessage' => 'Bind the specified VBR instance to a CEN instance first.',
+ ],
+ [
+ 'errorCode' => 'SAG.VbrBound',
+ 'errorMessage' => 'The specified SAG instance is bound to another VBR instance. Unbind them first.',
+ ],
+ [
+ 'errorCode' => 'LinkLevelBackupExists',
+ 'errorMessage' => 'The specified SAG instance is already used as a leased line backup.',
+ ],
+ [
+ 'errorCode' => 'SAG.VbrBoundToSAG',
+ 'errorMessage' => 'The specified VBR instance is bound to another SAG instance. Unbind them first.',
+ ],
+ [
+ 'errorCode' => 'NotBoundCEN',
+ 'errorMessage' => 'Bind the specified CCN instance to a CEN instance first.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.SMARTAG',
+ 'errorMessage' => 'The specified smart access gateway instance id is invalid.',
+ ],
+ [
+ 'errorCode' => 'NotBoundCCN',
+ 'errorMessage' => 'The specified smart access gateway has not bound CCN; please bind CCN first.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'VbrConflict.CreateBackup',
+ 'errorMessage' => 'The subnet of the gateway conflicts with the VBR. Create a backup relationship first.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"09A2010F-602B-4EC6-A60F-9914AAE2DCA0\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<BindVbrResponse>\\r\\n\\t<RequestId>09A2010F-602B-4EC6-A60F-9914AAE2DCA0</RequestId>\\r\\n</BindVbrResponse>","errorExample":""}]',
+ 'title' => 'BindVbr',
+ 'summary' => 'Associates a Smart Access Gateway (SAG) instance with a virtual border router (VBR).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UnbindVbr' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-pek29fu47tmpj0****',
+ ],
+ ],
+ [
+ 'name' => 'VbrId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the VBR.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'vbr-wz90rs6ef1m2fq0yn****',
+ ],
+ ],
+ [
+ 'name' => 'VbrRegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the VBR is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the SAG instance belongs.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '253460731706911258',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '61C33444-D8C5-4018-A06C-BA8C8812BEF6',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Forbidden.SubUser',
+ 'errorMessage' => 'You are not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'NotBoundCEN',
+ 'errorMessage' => 'Bind the specified CCN instance to a CEN instance first.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'VbrConflict.ChangeSubnet',
+ 'errorMessage' => 'The subnet of the gateway conflicts with the VBR. Modify the subnet first.',
+ ],
+ [
+ 'errorCode' => 'NotBoundCCN',
+ 'errorMessage' => 'The specified smart access gateway has not bound CCN; please bind CCN first.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An error occurred while processing your request.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"61C33444-D8C5-4018-A06C-BA8C8812BEF6\\"\\n}","errorExample":""},{"type":"xml","example":"<UnbindVbrResponse>\\n <RequestId>61C33444-D8C5-4018-A06C-BA8C8812BEF6</RequestId>\\n</UnbindVbrResponse>","errorExample":""}]',
+ 'title' => 'UnbindVbr ',
+ 'summary' => 'Disassociates a Smart Access Gateway (SAG) instance from a virtual border router (VBR).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GrantSagInstanceToVbr' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'VbrUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The user ID (UID) of the account to which the VBR belongs.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '1231212121121212112',
+ ],
+ ],
+ [
+ 'name' => 'VbrInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the VBR.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'vbr-bp13gtbhdp0pfqg6s****',
+ ],
+ ],
+ [
+ 'name' => 'VbrRegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the VBR is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-0nnteglltw6z4b****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '49CEBB2B-9E5C-4789-8A29-3255A56A67B1',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the authorization.'."\n",
+ 'type' => 'string',
+ 'example' => 'sgv-3x8djyem7vqh70****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"InstanceId\\": \\"sgv-3x8djyem7vqh70****\\",\\n \\"RequestId\\": \\"49CEBB2B-9E5C-4789-8A29-3255A56A67B1\\"\\n}","errorExample":""},{"type":"xml","example":"<GrantSagInstanceToVbrResponse>\\n<RequestId>49CEBB2B-9E5C-4789-8A29-3255A56A67B1</RequestId>\\n<InstanceId>sgv-3x8djyem7vqh70****</InstanceId>\\n</GrantSagInstanceToVbrResponse>","errorExample":""}]',
+ 'title' => 'GrantSagInstanceToVbr',
+ 'summary' => 'Acquires permissions from a virtual border router (VBR) under another account.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'RevokeInstanceFromVbr' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-0nnteglltw6z4b****',
+ ],
+ ],
+ [
+ 'name' => 'VbrInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the VBR.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'vbr-bp13gtbhdp0pfqg6s****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'D085AE49-51DC-4E8A-9F06-2D99C4E374F7',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D085AE49-51DC-4E8A-9F06-2D99C4E374F7\\"\\n}","errorExample":""},{"type":"xml","example":"<RevokeInstanceFromVbrResponse>\\r\\n<RequestId>D085AE49-51DC-4E8A-9F06-2D99C4E374F7</RequestId>\\r\\n</RevokeInstanceFromVbrResponse>","errorExample":""}]',
+ 'title' => 'RevokeInstanceFromVbr',
+ 'summary' => 'Revokes the permissions that a Smart Access Gateway (SAG) instance has on virtual border routers (VBRs) in a different Alibaba Cloud account.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSagVbrRelations' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'VbrRegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the VBR is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'VbrInstanceIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The IDs of the VBRs.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the VBR.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'vbr-bp15ihkk93ezxppk****',
+ ],
+ 'required' => true,
+ 'example' => 'vbr-bp15ihkk93ezxppkd****',
+ 'maxItems' => 50,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '17D79124-104A-42DB-8FCA-CE2957CD1723',
+ ],
+ 'SagVbrRelations' => [
+ 'description' => 'Indicates whether the specified VBR is associated with an SAG instance.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'VbrInstanceId' => [
+ 'description' => 'The ID of the VBR.'."\n",
+ 'type' => 'string',
+ 'example' => 'vbr-bp15ihkk93ezxppk****',
+ ],
+ 'SagUid' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => '16884015121212****',
+ ],
+ 'SagInstanceId' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-0nnteglltw6z4b****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Param.InvalidVersionComparator',
+ 'errorMessage' => 'The specified version comparison operator is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidRegionID',
+ 'errorMessage' => 'The specified regionId does not exist.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"17D79124-104A-42DB-8FCA-CE2957CD1723\\",\\n \\"SagVbrRelations\\": [\\n {\\n \\"VbrInstanceId\\": \\"vbr-bp15ihkk93ezxppk****\\",\\n \\"SagUid\\": \\"16884015121212****\\",\\n \\"SagInstanceId\\": \\"sag-0nnteglltw6z4b****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSagVbrRelationsResponse>\\n <RequestId>17D79124-104A-42DB-8FCA-CE2957CD1723</RequestId>\\n <SagVbrRelations>\\n <VbrInstanceId>vbr-bp15ihkk93ezxppk****</VbrInstanceId>\\n <SagUid>16884015121212****</SagUid>\\n <SagInstanceId>sag-0nnteglltw6z4b****</SagInstanceId>\\n </SagVbrRelations>\\n</DescribeSagVbrRelationsResponse>","errorExample":""}]',
+ 'title' => 'DescribeSagVbrRelations',
+ 'summary' => 'Queries whether a specified virtual border router (VBR) is associated with a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'AddSnatEntry' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-jf5w9a8k5mhi5h****',
+ ],
+ ],
+ [
+ 'name' => 'CidrBlock',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The destination CIDR block.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '192.168.1.0/24',
+ ],
+ ],
+ [
+ 'name' => 'SnatIp',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The public IP address.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '11.0.XX.XX',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '56BF6C79-C77D-41A0-86DD-A4B156E784EA',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the SNAT instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'snat-m2obgkt5ya1puz****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SNAT.CidrConfigExist',
+ 'errorMessage' => 'The specified SNAT CIDR block already exists.',
+ ],
+ [
+ 'errorCode' => 'SNAT.AmountLimit',
+ 'errorMessage' => 'The maximum number of SNAT entries is exceeded.',
+ ],
+ [
+ 'errorCode' => 'SNAT.SnatDnatIpConflict',
+ 'errorMessage' => 'The SNAT destination IP address is the same as the DNAT IP address.',
+ ],
+ [
+ 'errorCode' => 'SNAT.InvalidCidr',
+ 'errorMessage' => 'The specified SNAT CIDR block is invalid.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SNAT.InvalidIp',
+ 'errorMessage' => 'The specified SNAT destination IP is invalid.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"56BF6C79-C77D-41A0-86DD-A4B156E784EA\\",\\n \\"InstanceId\\": \\"snat-m2obgkt5ya1puz****\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n <AddSnatEntryResponse>\\r\\n\\t<InstanceId>snat-m2obgkt5ya1puz****</InstanceId>\\r\\n\\t<RequestId>56BF6C79-C77D-41A0-86DD-A4B156E784EA</RequestId>\\r\\n </AddSnatEntryResponse>","errorExample":""}]',
+ 'title' => 'AddSnatEntry',
+ 'summary' => 'You can call this operation to add a source network address translation (SNAT) entry to a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteSnatEntry' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-hfbd*******',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SNAT entry.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'snat-djngdheb*******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '68CE10C0-2EFF-4B82-9907-10AB7E2B0A6C',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"68CE10C0-2EFF-4B82-9907-10AB7E2B0A6C\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n <DeleteSnatEntryResponse>\\r\\n\\t<RequestId>68CE10C0-2EFF-4B82-9907-10AB7E2B0A6C</RequestId>\\r\\n </DeleteSnatEntryResponse>","errorExample":""}]',
+ 'title' => 'DeleteSnatEntry',
+ 'summary' => 'Removes an SNAT entry from a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSnatEntries' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn************',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Default value: **10**. Maximum value: **50**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '2',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => [
+ 'description' => 'The total number of SNAT entries.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '12',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '674BC3B2-5828-41D5-830E-148EE6CF86C2',
+ ],
+ 'SnatEntries' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SnatEntry' => [
+ 'description' => 'The information about the SNAT entries.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CidrBlock' => [
+ 'description' => 'The destination CIDR block.'."\n",
+ 'type' => 'string',
+ 'example' => '192.169.10.0/24',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the SNAT entry was created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1523604565000',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the SNAT entry.'."\n",
+ 'type' => 'string',
+ 'example' => 'snat-sl7kb9cpgfds*****',
+ ],
+ 'SnatIp' => [
+ 'description' => 'The public IP address.'."\n",
+ 'type' => 'string',
+ 'example' => '10.10.**.**',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '12',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 5,\\n \\"RequestId\\": \\"674BC3B2-5828-41D5-830E-148EE6CF86C2\\",\\n \\"PageNumber\\": 12,\\n \\"TotalCount\\": 12,\\n \\"SnatEntries\\": {\\n \\"SnatEntry\\": [\\n {\\n \\"InstanceId\\": \\"snat-sl7kb9cpgfds*****\\",\\n \\"CidrBlock\\": \\"192.169.10.0/24\\",\\n \\"CreateTime\\": 1523604565000,\\n \\"SnatIp\\": \\"10.10.**.**\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n\\t<DescribeSnatEntriesResponse>\\r\\n <PageNumber>1</PageNumber>\\r\\n\\t<PageSize>10</PageSize>\\r\\n\\t<RequestId>674BC3B2-5828-41D5-830E-148EE6CF86C2</RequestId>\\r\\n\\t<SnatEntries>\\r\\n\\t\\t<SnatEntry>\\r\\n\\t\\t\\t<CidrBlock>192.169.10.0/24</CidrBlock>\\r\\n\\t\\t\\t<CreateTime>1523604565000</CreateTime>\\r\\n\\t\\t\\t<InstanceId>snat-sl7kb9cpgfdsjr****</InstanceId>\\r\\n\\t\\t\\t<SnatIp>10.10.10.3</SnatIp>\\r\\n\\t\\t</SnatEntry>\\r\\n\\t\\t<SnatEntry>\\r\\n\\t\\t\\t<CidrBlock>10.0.0.0/8</CidrBlock>\\r\\n\\t\\t\\t<CreateTime>1523604565000</CreateTime>\\r\\n\\t\\t\\t<InstanceId>snat-m2obgkt5ya****</InstanceId>\\r\\n\\t\\t\\t<SnatIp>192.168.3.0</SnatIp>\\r\\n\\t\\t</SnatEntry>\\r\\n\\t</SnatEntries>\\r\\n\\t<TotalCount>2</TotalCount>\\r\\n </DescribeSnatEntriesResponse>","errorExample":""}]',
+ 'title' => 'DescribeSnatEntries',
+ 'summary' => 'You can call this operation to query source network address translation (SNAT) entries associated with a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'AddDnatEntry' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SagId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n"
+ ."\n"
+ .'> Only SAG instances used to manage SAG devices support DNAT.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-kdhg*******',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the DNAT entry. Valid values:'."\n"
+ ."\n"
+ .'* **Intranet**: translates the destination IP address to a specific internal IP address. This is the default value.'."\n"
+ .'* **Internet**: translates the destination IP address to a specific public IP address.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'Intranet',
+ 'default' => 'Intranet',
+ ],
+ ],
+ [
+ 'name' => 'ExternalIp',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The public IP address.'."\n"
+ ."\n"
+ .'> If the DNAT entry is used to forward packets transmitted over the Internet, the DNAT entry automatically recognizes the current public IP address.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => '10.10.1.xx',
+ ],
+ ],
+ [
+ 'name' => 'ExternalPort',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The public port.'."\n"
+ ."\n"
+ .'Valid values: **1 to 65535**.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '80',
+ ],
+ ],
+ [
+ 'name' => 'InternalIp',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The destination private IP address.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '192.168.0.1',
+ ],
+ ],
+ [
+ 'name' => 'IpProtocol',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The protocol used in DNAT. Valid values:'."\n"
+ ."\n"
+ .'* **TCP**: forwards TCP packets.'."\n"
+ .'* **UDP**: The NAT gateway forwards UDP packets.'."\n"
+ .'* **Any**: forwards packets of all protocols.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'TCP',
+ ],
+ ],
+ [
+ 'name' => 'InternalPort',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The destination private port.'."\n"
+ ."\n"
+ .'Valid values: **1 to 65535**.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '80',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '56BF6C79-C77D-41A0-86DD-A4B156E784EA',
+ ],
+ 'DnatEntryId' => [
+ 'description' => 'The ID of the DNAT entry.'."\n",
+ 'type' => 'string',
+ 'example' => 'fwd-kxe4fq3xuzczze****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidRegionID',
+ 'errorMessage' => 'The specified regionId does not exist.',
+ ],
+ [
+ 'errorCode' => 'MissingParam',
+ 'errorMessage' => 'You must specify the parameter.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam',
+ 'errorMessage' => 'The parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'DuplicatedDnatEntry',
+ 'errorMessage' => 'The specified ExternalIp, IpProtocol, ExternalPort, InternalIp, and InternalPort are duplicated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded.DnatPerSag',
+ 'errorMessage' => 'The maximum number of dnat rules in an SAG is exceeded. You can open a ticket to increase the quota.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter',
+ 'errorMessage' => 'The specified parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.SMARTAG',
+ 'errorMessage' => 'The specified smart access gateway instance id is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"56BF6C79-C77D-41A0-86DD-A4B156E784EA\\",\\n \\"DnatEntryId\\": \\"fwd-kxe4fq3xuzczze****\\"\\n}","errorExample":""},{"type":"xml","example":"<AddDnatEntryResponse>\\r\\n\\t <DnatEntryId>fwd-kxe4fq3xuzczze****</DnatEntryId>\\r\\n\\t <RequestId>56BF6C79-C77D-41A0-86DD-A4B156E784EA</RequestId>\\r\\n</AddDnatEntryResponse>","errorExample":""}]',
+ 'title' => 'AddDnatEntry',
+ 'summary' => 'Adds a destination network address translation (DNAT) entry to a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteDnatEntry' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SagId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n"
+ ."\n"
+ .'> Only SAG instances used to manage SAG devices support DNAT.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-jfh*********',
+ ],
+ ],
+ [
+ 'name' => 'DnatEntryId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the DNAT entry.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'fwd-kxe4fq3xuzczze****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.',
+ 'type' => 'string',
+ 'example' => '68CE10C0-2EFF-4B82-9907-10AB7E2B0A6C',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter',
+ 'errorMessage' => 'The specified parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"68CE10C0-2EFF-4B82-9907-10AB7E2B0A6C\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DeleteDnatEntryResponse>\\r\\n\\t<RequestId>68CE10C0-2EFF-4B82-9907-10AB7E2B0A6C</RequestId>\\r\\n</DeleteDnatEntryResponse>","errorExample":""}]',
+ 'title' => 'DeleteDnatEntry',
+ 'summary' => 'Removes a DNAT entry from a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeDnatEntries' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SagId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n"
+ ."\n"
+ .'> Only SAG customer-premises equipment (CPE) instances are supported.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-djgd*************',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the DNAT entry. Valid values:'."\n"
+ ."\n"
+ .'* **Intranet**: translates the IP address to a specific internal IP address. This is the default value.'."\n"
+ .'* **Internet**: translates the IP address to a specific public IP address.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Intranet',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Default value: **10**. Maximum value: **50**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '12',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '50',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page. Default value: **10**. Maximum value: **50**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '635640CA-2335-4856-A9CB-1CB5C444DC5A',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '12',
+ ],
+ 'DnatEntries' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DnatEntry' => [
+ 'description' => 'The list of DNAT entries.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => 'The type of the DNAT entry. Valid values:'."\n"
+ ."\n"
+ .'* **Intranet**: the IP address was translated to a specific internal IP address. This is the default value.'."\n"
+ .'* **Internet**: the IP address was translated to a specific public IP address.'."\n",
+ 'type' => 'string',
+ 'example' => 'Intranet',
+ ],
+ 'SagId' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-jfh********',
+ ],
+ 'InternalIp' => [
+ 'description' => 'The destination private IP address.'."\n",
+ 'type' => 'string',
+ 'example' => '192.168.0.1',
+ ],
+ 'InternalPort' => [
+ 'description' => 'The destination private port.'."\n"
+ ."\n"
+ .'Valid values: **1 to 65535** and **any**. The value any indicates all ports.'."\n",
+ 'type' => 'string',
+ 'example' => '80',
+ ],
+ 'IpProtocol' => [
+ 'description' => 'The protocol used in DNAT. Valid values:'."\n"
+ ."\n"
+ .'* **tcp**.'."\n"
+ .'* **udp**.'."\n"
+ .'* **any**: all protocols.'."\n",
+ 'type' => 'string',
+ 'example' => 'tcp',
+ ],
+ 'ExternalPort' => [
+ 'description' => 'The public port.'."\n"
+ ."\n"
+ .'Valid values: **1 to 65535** and **any**. The value any indicates all ports.'."\n",
+ 'type' => 'string',
+ 'example' => '12',
+ ],
+ 'DnatEntryId' => [
+ 'description' => 'The ID of the DNAT entry.'."\n",
+ 'type' => 'string',
+ 'example' => 'fwd-kxe4fq3xuzczze****',
+ ],
+ 'ExternalIp' => [
+ 'description' => 'The public IP address.'."\n",
+ 'type' => 'string',
+ 'example' => '10.10.**.**',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter',
+ 'errorMessage' => 'The specified parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 50,\\n \\"PageSize\\": 1,\\n \\"RequestId\\": \\"635640CA-2335-4856-A9CB-1CB5C444DC5A\\",\\n \\"PageNumber\\": 12,\\n \\"DnatEntries\\": {\\n \\"DnatEntry\\": [\\n {\\n \\"Type\\": \\"Intranet\\",\\n \\"SagId\\": \\"sag-jfh********\\",\\n \\"InternalIp\\": \\"192.168.0.1\\",\\n \\"InternalPort\\": \\"80\\",\\n \\"IpProtocol\\": \\"tcp\\",\\n \\"ExternalPort\\": \\"12\\",\\n \\"DnatEntryId\\": \\"fwd-kxe4fq3xuzczze****\\",\\n \\"ExternalIp\\": \\"10.10.**.**\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeDnatEntriesResponse>\\n <TotalCount>50</TotalCount>\\n <PageSize>1</PageSize>\\n <RequestId>635640CA-2335-4856-A9CB-1CB5C444DC5A</RequestId>\\n <PageNumber>12</PageNumber>\\n <DnatEntries>\\n <Type>Intranet</Type>\\n <SagId>sag-jfh********</SagId>\\n <InternalIp>192.168.0.1</InternalIp>\\n <InternalPort>80</InternalPort>\\n <IpProtocol>tcp</IpProtocol>\\n <ExternalPort>12</ExternalPort>\\n <DnatEntryId>fwd-kxe4fq3xuzczze****</DnatEntryId>\\n <ExternalIp>10.10.**.**</ExternalIp>\\n </DnatEntries>\\n</DescribeDnatEntriesResponse>","errorExample":""}]',
+ 'title' => 'DescribeDnatEntries',
+ 'summary' => 'Queries DNAT entries that are associated with a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeRouteDistributionStrategies' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Smart Access Gateway (SAG) instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-erx3qta5xg5zyq****',
+ ],
+ ],
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of route. Valid values:'."\n"
+ ."\n"
+ .'* **cloud**: Alibaba Cloud-facing routes. These routes allow SAG instances to access resources deployed on Alibaba Cloud.'."\n"
+ .'* **local**: on-premises network-facing routes. These routes allow SAG instances to communicate with on-premises terminals.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cloud',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Default value: **10**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => [
+ 'description' => 'The total number of routes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '944C2533-1BB7-4578-B6EB-DA05BB61C02A',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Strategies' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Strategy' => [
+ 'description' => 'A list of route advertisement policies.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The route status. Valid values:'."\n"
+ ."\n"
+ .'* **normal**: The route is working as expected.'."\n"
+ .'* **revoked**: The route has been withdrawn.'."\n",
+ 'type' => 'string',
+ 'example' => 'normal',
+ ],
+ 'StrategyPublishStatus' => [
+ 'description' => 'The route advertisement status. Valid values:'."\n"
+ ."\n"
+ .'* **publish**: The route has been advertised.'."\n"
+ .'* **not_publish**: The route has not been advertised.'."\n",
+ 'type' => 'string',
+ 'example' => 'publish',
+ ],
+ 'RouteDistribution' => [
+ 'description' => 'The route advertisement policy. Valid values:'."\n"
+ ."\n"
+ .'* **publish**: advertises routes.'."\n"
+ .'* **no_publish**: does not advertise routes.'."\n"
+ .'* **no_publish_and_publish_on_health_success**: routes are advertised only when they pass the health check.'."\n"
+ .'* **no_publish_and_publish_on_health_fail**: routes are advertised only when they fail the health check.'."\n"
+ .'* **publish_and_revoke_on_health_success**: advertised routes are withdrawn only when they pass the health check.'."\n"
+ .'* **publish_and_revoke_on_health_fail**: advertised routes are withdrawn only when they fail the health check.'."\n"
+ ."\n"
+ .'For more information, see [Configure health checks](~~163971~~) and [Advertise routes](~~163973~~).'."\n",
+ 'type' => 'string',
+ 'example' => 'publish',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The timestamp that indicates when the health check instance was created. Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1622617250000',
+ ],
+ 'SmartAGId' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-erx3qta5xg5zyq****',
+ ],
+ 'SourceType' => [
+ 'description' => 'The type of the route. Valid values:'."\n"
+ ."\n"
+ .'* **cloud**: Alibaba Cloud-facing routes.'."\n"
+ .'* **local**: on-premises network-facing routes.'."\n",
+ 'type' => 'string',
+ 'example' => 'cloud',
+ ],
+ 'IsConflict' => [
+ 'description' => 'Indicates whether routes are overlapped. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'DestCidrBlock' => [
+ 'description' => 'The destination CIDR block.'."\n",
+ 'type' => 'string',
+ 'example' => '192.168.3.0/24',
+ ],
+ 'ConflictInfo' => [
+ 'description' => 'The information about overlapped routes.'."\n",
+ 'type' => 'string',
+ 'example' => '"10.90.6.0/24":"vbr-wz900pom71qyr6x67qz65,vbr-wz9f8icxnlcom7riz0gfx"',
+ ],
+ 'HcInstanceId' => [
+ 'description' => 'The ID of the health check instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'hc-sztovuprqzgm50****',
+ ],
+ 'RouteSource' => [
+ 'description' => 'The source of routes. Valid values:'."\n"
+ ."\n"
+ .'* **Alibaba Cloud-facing routes**'."\n"
+ ."\n"
+ .' * **Virtual private clouds (VPCs) IDs**: Routes that are learned from the VPCs.'."\n"
+ .' * **Virtual border routers (VBRs)**: Routes that are learned from VBRs.'."\n"
+ .' * **SAG instance IDs**: Routes that are learned from SAG instances.'."\n"
+ ."\n"
+ .'* **On-premises network-facing routes**'."\n"
+ ."\n"
+ .' * **STATIC**: Static routes that are specified in the SAG console.'."\n"
+ .' * **OSPF**: Routes that are learned through the Open Shortest Path First (OSPF) protocol.'."\n"
+ .' * **BGP**: Routes that are learned through Border Gateway Protocol (BGP).'."\n",
+ 'type' => 'string',
+ 'example' => 'STATIC',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceIdEmpty',
+ 'errorMessage' => 'You must specify the SAG instance ID.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'RD.InvalidSourceType',
+ 'errorMessage' => 'The specified route source type is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 5,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"944C2533-1BB7-4578-B6EB-DA05BB61C02A\\",\\n \\"PageNumber\\": 1,\\n \\"Strategies\\": {\\n \\"Strategy\\": [\\n {\\n \\"Status\\": \\"normal\\",\\n \\"StrategyPublishStatus\\": \\"publish\\",\\n \\"RouteDistribution\\": \\"publish\\",\\n \\"CreateTime\\": 1622617250000,\\n \\"SmartAGId\\": \\"sag-erx3qta5xg5zyq****\\",\\n \\"SourceType\\": \\"cloud\\",\\n \\"IsConflict\\": false,\\n \\"DestCidrBlock\\": \\"192.168.3.0/24\\",\\n \\"ConflictInfo\\": \\"\\\\\\"10.90.6.0/24\\\\\\":\\\\\\"vbr-wz900pom71qyr6x67qz65,vbr-wz9f8icxnlcom7riz0gfx\\\\\\"\\",\\n \\"HcInstanceId\\": \\"hc-sztovuprqzgm50****\\",\\n \\"RouteSource\\": \\"STATIC\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeRouteDistributionStrategiesResponse>\\n <TotalCount>5</TotalCount>\\n <PageSize>10</PageSize>\\n <RequestId>944C2533-1BB7-4578-B6EB-DA05BB61C02A</RequestId>\\n <PageNumber>1</PageNumber>\\n <Strategies>\\n <Status>normal</Status>\\n <StrategyPublishStatus>publish</StrategyPublishStatus>\\n <RouteDistribution>publish</RouteDistribution>\\n <CreateTime>1622617250000</CreateTime>\\n <SmartAGId>sag-erx3qta5xg5zyq****</SmartAGId>\\n <SourceType>cloud</SourceType>\\n <IsConflict>false</IsConflict>\\n <InstanceId>snat-djngdheb*******</InstanceId>\\n <DestCidrBlock>192.168.3.0/24</DestCidrBlock>\\n <ConflictInfo>\\"10.90.6.0/24\\":\\"vbr-wz900pom71qyr6x67qz65,vbr-wz9f8icxnlcom7riz0gfx\\"</ConflictInfo>\\n <HcInstanceId>hc-sztovuprqzgm50****</HcInstanceId>\\n <RouteSource>STATIC</RouteSource>\\n </Strategies>\\n</DescribeRouteDistributionStrategiesResponse>","errorExample":""}]',
+ 'title' => 'DescribeRouteDistributionStrategies',
+ 'summary' => 'Queries route advertisement policies.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifyRouteDistributionStrategy' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the Smart Access Gateway (SAG) instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-erx3qta5xg5zyq****',
+ ],
+ ],
+ [
+ 'name' => 'HcInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the health check instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'hc-sztovuprqzgm50****',
+ ],
+ ],
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the route source. Valid values:'."\n"
+ ."\n"
+ .'* **cloud**: Alibaba Cloud-facing routes.'."\n"
+ .'* **local**: private network-facing routes.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'local',
+ ],
+ ],
+ [
+ 'name' => 'DestCidrBlock',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The destination CIDR block.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '172.XX.XX.0/24',
+ ],
+ ],
+ [
+ 'name' => 'RouteSource',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The source of routes. Valid values:'."\n"
+ ."\n"
+ .'* **Alibaba Cloud-facing routes**'."\n"
+ ."\n"
+ .' * **The ID of the Virtual Private Cloud (VPC)**: learns routes from the VPC network.'."\n"
+ .' * **The ID of the virtual border router (VBR)**: learns routes from the VBR.'."\n"
+ .' * **The ID of the SAG instance**: learns routes from the SAG instance.'."\n"
+ ."\n"
+ .'* **Private network-facing routes**'."\n"
+ ."\n"
+ .' * **STATIC**: static routes specified in the SAG console.'."\n"
+ .' * **OSPF**: learns routes through the Open Shortest Path First (OSPF) protocol.'."\n"
+ .' * **BGP**: learns routes through Border Gateway Protocol (BGP).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'OSPF',
+ ],
+ ],
+ [
+ 'name' => 'RouteDistribution',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The route advertisement policy. Valid values:'."\n"
+ ."\n"
+ .'* **publish**: advertises routes.'."\n"
+ .'* **no_publish**: does not advertise routes.'."\n"
+ .'* **no_publish_and_publish_on_health_success**: routes are advertised only when they pass the health check.'."\n"
+ .'* **no_publish_and_publish_on_health_fail**: routes are advertised only when they fail the health check.'."\n"
+ .'* **publish_and_revoke_on_health_success**: advertised routes are withdrawn only when they pass the health check.'."\n"
+ .'* **publish_and_revoke_on_health_fail**: advertised routes are withdrawn only when they fail the health check.'."\n"
+ ."\n"
+ .'For more information, see [Configure health checks](~~163971~~) and [Advertise routes](~~163973~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'publish',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '24C58BD0-1679-4942-9D42-00B635DAAADB',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceIdEmpty',
+ 'errorMessage' => 'You must specify the SAG instance ID.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'RD.InvalidDestCidrBlock',
+ 'errorMessage' => 'The specified destination CIDR block is invalid.',
+ ],
+ [
+ 'errorCode' => 'RD.InvalidHcInstanceId',
+ 'errorMessage' => 'The specified network health check instance ID is invalid.',
+ ],
+ [
+ 'errorCode' => 'RD.InvalidRouteDistribution',
+ 'errorMessage' => 'The specified route distribution policy is invalid.',
+ ],
+ [
+ 'errorCode' => 'RD.InvalidRouteSource',
+ 'errorMessage' => 'The specified route source is invalid.',
+ ],
+ [
+ 'errorCode' => 'RD.InvalidSourceType',
+ 'errorMessage' => 'The specified route source type is invalid.',
+ ],
+ [
+ 'errorCode' => 'HC.InstanceNoFound',
+ 'errorMessage' => 'The specified network health check instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.Arrearage',
+ 'errorMessage' => 'The specified SAG instance has overdue payments. Renew the instance first.',
+ ],
+ [
+ 'errorCode' => 'SAG.NoActive',
+ 'errorMessage' => 'The specified SAG instance has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupportFeature',
+ 'errorMessage' => 'The specified SAG Software instance does not support this feature.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An error occurred while processing your request.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"24C58BD0-1679-4942-9D42-00B635DAAADB\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyRouteDistributionStrategyResponse>\\r\\n<RequestId>24C58BD0-1679-4942-9D42-00B635DAAADB</RequestId>\\r\\n</ModifyRouteDistributionStrategyResponse>","errorExample":""}]',
+ 'title' => 'ModifyRouteDistributionStrategy',
+ 'summary' => 'Modifies the route advertisement policy for a CIDR block.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteRouteDistributionStrategy' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Smart Access Gateway (SAG) instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-gyat6giidkvyk****',
+ ],
+ ],
+ [
+ 'name' => 'DestCidrBlock',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The destination CIDR block.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '192.XX.XX.0/24',
+ ],
+ ],
+ [
+ 'name' => 'SourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the route source. Valid values:'."\n"
+ ."\n"
+ .'* **cloud**: Alibaba Cloud'."\n"
+ .'* **local**: on-premises network'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'local',
+ ],
+ ],
+ [
+ 'name' => 'RouteSource',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The source of routes. Valid values:'."\n"
+ ."\n"
+ .'* **Alibaba Cloud**'."\n"
+ ."\n"
+ .' * **Virtual private cloud (VPC) IDs**: Routes that are learned from VPCs.'."\n"
+ .' * **Virtual border router (VBR) IDs**: Routes that are learned from VBRs.'."\n"
+ .' * **SAG instance IDs**: Routes that are learned from SAG instances.'."\n"
+ ."\n"
+ .'* **On-premises network**'."\n"
+ ."\n"
+ .' * **STATIC**: Static routes that are specified in the SAG console.'."\n"
+ .' * **OSPF**: Routes that are learned through the Open Shortest Path First (OSPF) protocol.'."\n"
+ .' * **BGP**: Routes that are learned through Border Gateway Protocol (BGP).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'STATIC',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'BF62139B-D64A-4C95-A55F-6A2335C4417D',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceIdEmpty',
+ 'errorMessage' => 'You must specify the SAG instance ID.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'RD.InvalidDestCidrBlock',
+ 'errorMessage' => 'The specified destination CIDR block is invalid.',
+ ],
+ [
+ 'errorCode' => 'RD.InvalidRouteSource',
+ 'errorMessage' => 'The specified route source is invalid.',
+ ],
+ [
+ 'errorCode' => 'RD.InvalidSourceType',
+ 'errorMessage' => 'The specified route source type is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BF62139B-D64A-4C95-A55F-6A2335C4417D\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteRouteDistributionStrategyResponse>\\r\\n<RequestId>BF62139B-D64A-4C95-A55F-6A2335C4417D</RequestId>\\r\\n</DeleteRouteDistributionStrategyResponse>","errorExample":""}]',
+ 'title' => 'DeleteRouteDistributionStrategy',
+ 'summary' => 'Deletes a route advertisement policy.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateHealthCheck' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-1um5x5nwhilymw****',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the health check.'."\n"
+ ."\n"
+ .'The name must be 2 to 100 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'hc-123',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the health check.'."\n"
+ ."\n"
+ .'The description must be 2 to 256 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => 'hc_123',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of packets used in the health check.'."\n"
+ ."\n"
+ .'> Only **ICMP_ECHO** is supported.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ICMP_ECHO',
+ ],
+ ],
+ [
+ 'name' => 'DstIpAddr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The destination IP address of the health check.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '192.XX.XX.1',
+ ],
+ ],
+ [
+ 'name' => 'DstPort',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The destination port of the health check.'."\n"
+ ."\n"
+ .'> This parameter is not supported.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => '1333',
+ ],
+ ],
+ [
+ 'name' => 'SrcIpAddr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The source IP address of the health check.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '10.XX.XX.1',
+ ],
+ ],
+ [
+ 'name' => 'SrcPort',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The source port of the health check.'."\n"
+ ."\n"
+ .'> This parameter is not supported.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => '1344',
+ ],
+ ],
+ [
+ 'name' => 'ProbeInterval',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The time interval at which probes are performed. The next probe does not start before the current one is completed.'."\n"
+ ."\n"
+ .'Valid values: **1000** to **60000**.'."\n"
+ ."\n"
+ .'Default value: **2000**.'."\n"
+ ."\n"
+ .'Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => false,
+ 'maximum' => '60000',
+ 'minimum' => '1000',
+ 'example' => '2000',
+ 'default' => '2000',
+ ],
+ ],
+ [
+ 'name' => 'ProbeCount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of probes performed per health check.'."\n"
+ ."\n"
+ .'Valid values: **1** to **20**.'."\n"
+ ."\n"
+ .'Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => false,
+ 'maximum' => '20',
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'ProbeTimeout',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The timeout period of a probe.'."\n"
+ ."\n"
+ .'Valid values: **10** to **30000**.'."\n"
+ ."\n"
+ .'Default value: **1000**.'."\n"
+ ."\n"
+ .'Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => false,
+ 'maximum' => '30000',
+ 'minimum' => '10',
+ 'example' => '1000',
+ 'default' => '1000',
+ ],
+ ],
+ [
+ 'name' => 'RttThreshold',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum round-trip time (RTT).'."\n"
+ ."\n"
+ .'Valid values: **-1** and **1** to **5000**.'."\n"
+ ."\n"
+ .'Default value: **-1**. This value indicates that the maximum RTT is not specified.'."\n"
+ ."\n"
+ .'Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => '1000',
+ 'default' => '-1',
+ ],
+ ],
+ [
+ 'name' => 'RttFailThreshold',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of times that the maximum RTT is exceeded before an alert is triggered.'."\n"
+ ."\n"
+ .'Valid values: **1** to **15**.'."\n"
+ ."\n"
+ .'Default value: **3**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => false,
+ 'maximum' => '15',
+ 'minimum' => '1',
+ 'example' => '3',
+ 'default' => '3',
+ ],
+ ],
+ [
+ 'name' => 'FailCountThreshold',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of failed probes before a health check is declared failed.'."\n"
+ ."\n"
+ .'Valid values: **1 to 15**.'."\n"
+ ."\n"
+ .'Default value: **3**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => false,
+ 'maximum' => '15',
+ 'minimum' => '1',
+ 'example' => '3',
+ 'default' => '3',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceId' => [
+ 'description' => 'The ID of the health check.'."\n",
+ 'type' => 'string',
+ 'example' => 'hc-rrqoucina3gmpn****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E38E950D-28A4-4C41-9428-A8908EC6AE5C',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'HC.AutoGenerated',
+ 'errorMessage' => 'The health check instance is automatically generated and cannot be modified.',
+ ],
+ [
+ 'errorCode' => 'HC.InstanceNoFound',
+ 'errorMessage' => 'The specified network health check instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidDescription',
+ 'errorMessage' => 'The specified description is invalid.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidDstIpAddr',
+ 'errorMessage' => 'The specified destination IP address is invalid.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidDstPort',
+ 'errorMessage' => 'The specified destination port is invalid.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidFailCountThreshold',
+ 'errorMessage' => 'The maximum number of successive failed probes is exceeded.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidName',
+ 'errorMessage' => 'The specified name is invalid.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidProbeCount',
+ 'errorMessage' => 'The specified number of probes is invalid.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidProbeInterval',
+ 'errorMessage' => 'The specified probe interval is invalid.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidProbeTimeout',
+ 'errorMessage' => 'The specified probe timeout period is invalid.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidRttFailThreshold',
+ 'errorMessage' => 'The RTT threshold has been triggered too many times.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidRttThreshold',
+ 'errorMessage' => 'The specified RTT is invalid.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidSrcIpAddr',
+ 'errorMessage' => 'The specified source IP address is invalid.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidSrcPort',
+ 'errorMessage' => 'The specified source port is invalid.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidType',
+ 'errorMessage' => 'The specified type is invalid.',
+ ],
+ [
+ 'errorCode' => 'HC.RelatedRoute',
+ 'errorMessage' => 'The specified health check instance has associated routes and cannot be deleted.',
+ ],
+ [
+ 'errorCode' => 'SAG.Arrearage',
+ 'errorMessage' => 'The specified SAG instance has overdue payments. Renew the instance first.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceIdEmpty',
+ 'errorMessage' => 'You must specify the SAG instance ID.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.NoActive',
+ 'errorMessage' => 'The specified SAG instance has not been activated.',
+ ],
+ [
+ 'errorCode' => 'HC.AmountLimit',
+ 'errorMessage' => 'The maximum number of health check instances is exceeded.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An error occurred while processing your request.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"InstanceId\\": \\"hc-rrqoucina3gmpn****\\",\\n \\"RequestId\\": \\"E38E950D-28A4-4C41-9428-A8908EC6AE5C\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateHealthCheckResponse>\\n<InstanceId>hc-vfgyz7dv07lthr****</InstanceId>\\n<RequestId>0637D6BB-4EAA-4AFD-9EA0-152FA3E943DC</RequestId>\\n</CreateHealthCheckResponse>","errorExample":""}]',
+ 'title' => 'CreateHealthCheck',
+ 'summary' => 'Creates a health check for a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteHealthCheck' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the health check instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'HcInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the health check instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'hc-vfgyz7dv07lthr****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '7F0B079C-2D0E-4ABF-A970-C079F785A09C',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'HC.InstanceNoFound',
+ 'errorMessage' => 'The specified network health check instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'HC.RelatedRoute',
+ 'errorMessage' => 'The specified health check instance has associated routes and cannot be deleted.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7F0B079C-2D0E-4ABF-A970-C079F785A09C\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteHealthCheckResponse>\\r\\n<RequestId>7F0B079C-2D0E-4ABF-A970-C079F785A09C</RequestId>\\r\\n</DeleteHealthCheckResponse>","errorExample":""}]',
+ 'title' => 'DeleteHealthCheck',
+ 'summary' => 'You can call this operation to delete a health check instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifyHealthCheck' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the Smart Access Gateway (SAG) instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'HcInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the health check.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'hc-k9id4loo3lup57****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-i0e85k06v1mzpo****',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the health check.'."\n"
+ ."\n"
+ .'The name must be 2 to 100 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'sss333',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the health check.'."\n"
+ ."\n"
+ .'The description must be 2 to 256 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'description',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of packet used in the health check. Only **ICMP_ECHO** is supported.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'ICMP_ECHO',
+ ],
+ ],
+ [
+ 'name' => 'DstIpAddr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The destination IP address of the health check.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '192.XX.XX.1',
+ ],
+ ],
+ [
+ 'name' => 'DstPort',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The destination port of the health check.'."\n"
+ ."\n"
+ .'> This parameter is not supported.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '2233',
+ ],
+ ],
+ [
+ 'name' => 'SrcIpAddr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The source IP address of the health check.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '192.XX.XX.1',
+ ],
+ ],
+ [
+ 'name' => 'SrcPort',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The source port of the health check.'."\n"
+ ."\n"
+ .'> This parameter is not supported.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '3333',
+ ],
+ ],
+ [
+ 'name' => 'ProbeInterval',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The time interval at which probes are performed. The next probe does not start before the current one is complete.'."\n"
+ ."\n"
+ .'Valid values: **1000** to **60000**.'."\n"
+ ."\n"
+ .'Default value: **2000**.'."\n"
+ ."\n"
+ .'Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '2000',
+ ],
+ ],
+ [
+ 'name' => 'ProbeCount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of probes that are performed per health check.'."\n"
+ ."\n"
+ .'Valid values: **1** to **20**.'."\n"
+ ."\n"
+ .'Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'ProbeTimeout',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The timeout period of the probe.'."\n"
+ ."\n"
+ .'Valid values: **10** to **30000**.'."\n"
+ ."\n"
+ .'Default value: **3000**.'."\n"
+ ."\n"
+ .'Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '3000',
+ ],
+ ],
+ [
+ 'name' => 'RttThreshold',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum round-trip time (RTT).'."\n"
+ ."\n"
+ .'Valid values: **-1** and **1** to **5000**.'."\n"
+ ."\n"
+ .'Default value: **-1**. This value indicates that the RTT threshold is not specified.'."\n"
+ ."\n"
+ .'Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '3',
+ ],
+ ],
+ [
+ 'name' => 'RttFailThreshold',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of times that the maximum RTT is exceeded before an alert is triggered.'."\n"
+ ."\n"
+ .'Valid values: **1** to **15**.'."\n"
+ ."\n"
+ .'Default value: **3**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '3',
+ ],
+ ],
+ [
+ 'name' => 'FailCountThreshold',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of failed probes before a health check is declared failed.'."\n"
+ ."\n"
+ .'Valid values: **1** to **15**.'."\n"
+ ."\n"
+ .'Default value: **3**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '3',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'F0290F85-8087-4FB7-81F8-84226A4DAAB2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'HC.InstanceNoFound',
+ 'errorMessage' => 'The specified network health check instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidDescription',
+ 'errorMessage' => 'The specified description is invalid.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidDstIpAddr',
+ 'errorMessage' => 'The specified destination IP address is invalid.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidDstPort',
+ 'errorMessage' => 'The specified destination port is invalid.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidFailCountThreshold',
+ 'errorMessage' => 'The maximum number of successive failed probes is exceeded.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidName',
+ 'errorMessage' => 'The specified name is invalid.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidProbeCount',
+ 'errorMessage' => 'The specified number of probes is invalid.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidProbeInterval',
+ 'errorMessage' => 'The specified probe interval is invalid.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidProbeTimeout',
+ 'errorMessage' => 'The specified probe timeout period is invalid.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidRttFailThreshold',
+ 'errorMessage' => 'The RTT threshold has been triggered too many times.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidRttThreshold',
+ 'errorMessage' => 'The specified RTT is invalid.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidSrcIpAddr',
+ 'errorMessage' => 'The specified source IP address is invalid.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidSrcPort',
+ 'errorMessage' => 'The specified source port is invalid.',
+ ],
+ [
+ 'errorCode' => 'HC.InvalidType',
+ 'errorMessage' => 'The specified type is invalid.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceIdEmpty',
+ 'errorMessage' => 'You must specify the SAG instance ID.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupportFeature',
+ 'errorMessage' => 'The specified SAG Software instance does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'SAG.NoActive',
+ 'errorMessage' => 'The specified SAG instance has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SAG.Arrearage',
+ 'errorMessage' => 'The specified SAG instance has overdue payments. Renew the instance first.',
+ ],
+ [
+ 'errorCode' => 'HC.AutoGenerated',
+ 'errorMessage' => 'The health check instance is automatically generated and cannot be modified.',
+ ],
+ [
+ 'errorCode' => 'HC.RelatedRoute',
+ 'errorMessage' => 'The specified health check instance has associated routes and cannot be deleted.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F0290F85-8087-4FB7-81F8-84226A4DAAB2\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyHealthCheckResponse>\\r\\n<RequestId>F0290F85-8087-4FB7-81F8-84226A4DAAB2</RequestId>\\r\\n</ModifyHealthCheckResponse>","errorExample":""}]',
+ 'title' => 'ModifyHealthCheck',
+ 'summary' => 'Modifies a health check.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeHealthChecks' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-qi0p07ld5q86k3****',
+ ],
+ ],
+ [
+ 'name' => 'HcInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the health check.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'hc-ifflm5ygj3diwiu****',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the health check.'."\n"
+ ."\n"
+ .'The name must be 2 to 100 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ddd3333',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Default value: **10**. Maximum value: **50**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page. Default value: **10**. Maximum value: **50**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '0B275FE6-FC86-4921-BC70-1B3DF68B078F',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'HealthChecks' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'HealthCheck' => [
+ 'description' => 'An array that consists of details about the health checks.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => 'The type of the packet used in the health check. Only **ICMP_ECHO** is supported.'."\n",
+ 'type' => 'string',
+ 'example' => 'ICMP_ECHO',
+ ],
+ 'ProbeTimeout' => [
+ 'description' => 'The timeout period of a probe.'."\n"
+ ."\n"
+ .'Valid values: **10** to **30000**.'."\n"
+ ."\n"
+ .'Default value: **1000**.'."\n"
+ ."\n"
+ .'Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1000',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the health check. Valid values:'."\n"
+ ."\n"
+ .'* **success**: The health check was successful.'."\n"
+ .'* **failed**: The health check failed.'."\n"
+ .'* **unknown**: The health check was not started.'."\n",
+ 'type' => 'string',
+ 'example' => 'unknown',
+ ],
+ 'DstIpAddr' => [
+ 'description' => 'The destination IP address of the health check.'."\n",
+ 'type' => 'string',
+ 'example' => '110.XX.XX.1',
+ ],
+ 'RelationCount' => [
+ 'description' => 'The number of routes that are associated with the health check.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'RttFailThreshold' => [
+ 'description' => 'The number of times that the maximum round-trip time (RTT) is exceeded before an alert is triggered.'."\n"
+ ."\n"
+ .'Valid values: **1** to **15**.'."\n"
+ ."\n"
+ .'Default value: **3**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'SmartAGId' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-qi0p07ld5q86k3****',
+ ],
+ 'DstPort' => [
+ 'description' => 'The destination port of the health check.'."\n"
+ ."\n"
+ .'> This feature is not supported.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '33',
+ ],
+ 'FailCountThreshold' => [
+ 'description' => 'The maximum number of failed probes before a health check is declared failed.'."\n"
+ ."\n"
+ .'Valid values: **1** to **15**.'."\n"
+ ."\n"
+ .'Default value: **3**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'RttThreshold' => [
+ 'description' => 'The maximum RTT.'."\n"
+ ."\n"
+ .'Valid values: **-1** and **1** to **5000**.'."\n"
+ ."\n"
+ .'Default value: **-1**. This value indicates that the RTT threshold is not specified.'."\n"
+ ."\n"
+ .'Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '45',
+ ],
+ 'SrcPort' => [
+ 'description' => 'The source port of the health check.'."\n"
+ ."\n"
+ .'> This feature is not supported.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '334',
+ ],
+ 'ProbeCount' => [
+ 'description' => 'The number of probes performed per health check.'."\n"
+ ."\n"
+ .'Valid values: **1** to **20**.'."\n"
+ ."\n"
+ .'Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the health check.'."\n",
+ 'type' => 'string',
+ 'example' => 'Health Check',
+ ],
+ 'SrcIpAddr' => [
+ 'description' => 'The source IP address of the health check.'."\n",
+ 'type' => 'string',
+ 'example' => '192.XX.XX.1',
+ ],
+ 'ProbeInterval' => [
+ 'description' => 'The time interval at which probes are performed. The next probe does not start before the current one is complete.'."\n"
+ ."\n"
+ .'Valid values: **1000** to **60000**.'."\n"
+ ."\n"
+ .'Default value: **2000**.'."\n"
+ ."\n"
+ .'Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2000',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the health check.'."\n",
+ 'type' => 'string',
+ 'example' => 'doctest',
+ ],
+ 'HcInstanceId' => [
+ 'description' => 'The ID of the health check.'."\n",
+ 'type' => 'string',
+ 'example' => 'hc-ifflm5ygj3diwi****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceIdEmpty',
+ 'errorMessage' => 'You must specify the SAG instance ID.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 5,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"0B275FE6-FC86-4921-BC70-1B3DF68B078F\\",\\n \\"PageNumber\\": 1,\\n \\"HealthChecks\\": {\\n \\"HealthCheck\\": [\\n {\\n \\"Type\\": \\"ICMP_ECHO\\",\\n \\"ProbeTimeout\\": 1000,\\n \\"Status\\": \\"unknown\\",\\n \\"DstIpAddr\\": \\"110.XX.XX.1\\",\\n \\"RelationCount\\": 3,\\n \\"RttFailThreshold\\": 3,\\n \\"SmartAGId\\": \\"sag-qi0p07ld5q86k3****\\",\\n \\"DstPort\\": 33,\\n \\"FailCountThreshold\\": 3,\\n \\"RttThreshold\\": 45,\\n \\"SrcPort\\": 334,\\n \\"ProbeCount\\": 2,\\n \\"Description\\": \\"健康检查\\",\\n \\"SrcIpAddr\\": \\"192.XX.XX.1\\",\\n \\"ProbeInterval\\": 2000,\\n \\"Name\\": \\"doctest\\",\\n \\"HcInstanceId\\": \\"hc-ifflm5ygj3diwi****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeHealthChecksResponse>\\n<TotalCount>1</TotalCount>\\n<PageSize>10</PageSize>\\n<RequestId>97575E44-B01C-4F8B-B829-3272A312F196</RequestId>\\n<PageNumber>1</PageNumber>\\n<HealthChecks>\\n <HealthCheck>\\n <Status>unknown</Status>\\n <Description>TEST</Description>\\n <SrcPort>44</SrcPort>\\n <SrcIpAddr>2.XX.XX.1</SrcIpAddr>\\n <FailCountThreshold>3</FailCountThreshold>\\n <DstPort>33</DstPort>\\n <Name>TEST</Name>\\n <ProbeCount>5</ProbeCount>\\n <Type>ICMP_ECHO</Type>\\n <ProbeTimeout>30</ProbeTimeout>\\n <HcInstanceId>hc-l3x9k16ag24d6j****</HcInstanceId>\\n <RttThreshold>-1</RttThreshold>\\n <ProbeInterval>2000</ProbeInterval>\\n <RelationCount>1</RelationCount>\\n <SmartAGId>sag-4goc1sj3c978z2****</SmartAGId>\\n <RttFailThreshold>5</RttFailThreshold>\\n <DstIpAddr>12.XX.XX.1</DstIpAddr>\\n </HealthCheck>\\n</HealthChecks>\\n</DescribeHealthChecksResponse>","errorExample":""}]',
+ 'title' => 'DescribeHealthChecks',
+ 'summary' => 'Queries health checks that are associated with a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeHealthCheckAttribute' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the Smart Access Gateway (SAG) instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'HcInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the health check instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'hc-1k4ucuq77b56x4****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-1um5x5nwhilymw****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SrcPort' => [
+ 'description' => 'The source port of the health check instance.'."\n"
+ ."\n"
+ .'> This feature is not supported.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2334',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the health check instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'hc-123',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'DDA08B78-5634-4A83-94E4-5C58FD7EBA19',
+ ],
+ 'SrcIpAddr' => [
+ 'description' => 'The source IP address of the health check.'."\n",
+ 'type' => 'string',
+ 'example' => '10.XX.XX.1',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the health check instance was created. This value is a UNIX timestamp.'."\n"
+ ."\n"
+ .'Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1586759657000',
+ ],
+ 'FailCountThreshold' => [
+ 'description' => 'The maximum number of failed probes before the health check is declared failed.'."\n"
+ ."\n"
+ .'Valid values: **1** to **15**.'."\n"
+ ."\n"
+ .'Default value: **3**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'DstPort' => [
+ 'description' => 'The destination port of the health check instance.'."\n"
+ ."\n"
+ .'> This feature is not supported.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1223',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the health check instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'bvt-test-03****',
+ ],
+ 'ProbeCount' => [
+ 'description' => 'The number of probes performed per health check.'."\n"
+ ."\n"
+ .'Valid values: **1** to **20**.'."\n"
+ ."\n"
+ .'Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'Type' => [
+ 'description' => 'The type of packets used in the health check.'."\n"
+ ."\n"
+ .'Only **ICMP_ECHO** is supported.'."\n",
+ 'type' => 'string',
+ 'example' => 'ICMP_ECHO',
+ ],
+ 'ProbeTimeout' => [
+ 'description' => 'The timeout period of the probe.'."\n"
+ ."\n"
+ .'Valid values: **10** to **30000**.'."\n"
+ ."\n"
+ .'Default value: **1000**.'."\n"
+ ."\n"
+ .'Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1000',
+ ],
+ 'HcInstanceId' => [
+ 'description' => 'The ID of the health check instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'hc-1k4ucuq77b56x4****',
+ ],
+ 'RttThreshold' => [
+ 'description' => 'The maximum round-trip time (RTT).'."\n"
+ ."\n"
+ .'Value values: **-1** and **1** to **5000**.'."\n"
+ ."\n"
+ .'Default value: **-1**. This value indicates that the RTT threshold is not specified.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '300',
+ ],
+ 'ProbeInterval' => [
+ 'description' => 'The time interval at which probes are performed. The next probe does not start before the current one is complete.'."\n"
+ ."\n"
+ .'Valid values: **1000** to **60000**.'."\n"
+ ."\n"
+ .'Default value: **2000**.'."\n"
+ ."\n"
+ .'Unit: milliseconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2000',
+ ],
+ 'SmartAGId' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-1um5x5nwhilymw****',
+ ],
+ 'RttFailThreshold' => [
+ 'description' => 'The number of times that the maximum RTT is exceeded before an alert is triggered.'."\n"
+ ."\n"
+ .'Valid values: **1** to **15**.'."\n"
+ ."\n"
+ .'Default value: **3**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'DstIpAddr' => [
+ 'description' => 'The destination IP address of the health check.'."\n",
+ 'type' => 'string',
+ 'example' => '192.XX.XX.1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'HC.InstanceNoFound',
+ 'errorMessage' => 'The specified network health check instance does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"SrcPort\\": 2334,\\n \\"Description\\": \\"hc-123\\",\\n \\"RequestId\\": \\"DDA08B78-5634-4A83-94E4-5C58FD7EBA19\\",\\n \\"SrcIpAddr\\": \\"10.XX.XX.1\\",\\n \\"CreateTime\\": 1586759657000,\\n \\"FailCountThreshold\\": 3,\\n \\"DstPort\\": 1223,\\n \\"Name\\": \\"bvt-test-03****\\",\\n \\"ProbeCount\\": 3,\\n \\"Type\\": \\"ICMP_ECHO\\",\\n \\"ProbeTimeout\\": 1000,\\n \\"HcInstanceId\\": \\"hc-1k4ucuq77b56x4****\\",\\n \\"RttThreshold\\": 300,\\n \\"ProbeInterval\\": 2000,\\n \\"SmartAGId\\": \\"sag-1um5x5nwhilymw****\\",\\n \\"RttFailThreshold\\": 3,\\n \\"DstIpAddr\\": \\"192.XX.XX.1\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeHealthCheckAttributeResponse>\\n<CreateTime>1586759657000</CreateTime>\\n<Description>TEST</Description>\\n<SrcPort>44</SrcPort>\\n<RequestId>66ECCDF6-7290-44A6-A2D0-3B926CEE82C6</RequestId>\\n<SrcIpAddr>2.XX.XX.1</SrcIpAddr>\\n<FailCountThreshold>3</FailCountThreshold>\\n<DstPort>33</DstPort>\\n<Name>TEST</Name>\\n<ProbeCount>5</ProbeCount>\\n<Type>ICMP_ECHO</Type>\\n<ProbeTimeout>30</ProbeTimeout>\\n<HcInstanceId>hc-l3x9k16ag24d6j****</HcInstanceId>\\n<RttThreshold>-1</RttThreshold>\\n<ProbeInterval>2000</ProbeInterval>\\n<SmartAGId>sag-4goc1sj3c978z2****</SmartAGId>\\n<RttFailThreshold>5</RttFailThreshold>\\n<DstIpAddr>12.XX.XX.1</DstIpAddr>\\n</DescribeHealthCheckAttributeResponse>","errorExample":""}]',
+ 'title' => 'DescribeHealthCheckAttribute',
+ 'summary' => 'Queries the detailed information about a health check instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateSmartAGAccessPoint' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'AccessPointId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the access point to which you want to switch.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-far8v6owtdxlua****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.',
+ 'type' => 'string',
+ 'example' => 'E26DBAAE-A796-4A48-98B4-B45AFCD1F299',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupportFeature',
+ 'errorMessage' => 'The specified SAG Software instance does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'SAG.NoActive',
+ 'errorMessage' => 'The specified SAG instance has not been activated.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidId.SMARTAG',
+ 'errorMessage' => 'The specified smart access gateway instance id is invalid.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'NotBoundCCN',
+ 'errorMessage' => 'The specified smart access gateway has not bound CCN; please bind CCN first.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'Upgrading',
+ 'errorMessage' => 'The specified Smart Access Gateway is being upgraded.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E26DBAAE-A796-4A48-98B4-B45AFCD1F299\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateSmartAGAccessPointResponse>\\r\\n<RequestId>0EEFB09A-208D-4063-A839-F49F3367A073</RequestId>\\r\\n</UpdateSmartAGAccessPointResponse>","errorExample":""}]',
+ 'title' => 'UpdateSmartAGAccessPoint',
+ 'summary' => 'Switches the access point of a Smart Access Gateway (SAG) instance.',
+ 'description' => '## Prerequisites'."\n"
+ ."\n"
+ .'Before you call this operation, you can call the [ListAccessPoints](~~183876~~) operation to view the switchable access points of the SAG instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ProbeAccessPointNetworkQuality' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-6z21oj0vjjrx6s****',
+ ],
+ ],
+ [
+ 'name' => 'AccessPointIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The IDs of the access point.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'You can enter multiple access point IDs at a time. Valid values of N are **1** to **5**.'."\n"
+ ."\n"
+ .'You can call the [ListAccessPoints](~~183876~~) operation to query the IDs of access points in a specified region.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '110',
+ ],
+ 'required' => true,
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E26DBAAE-A796-4A48-98B4-B45AFCD1F299',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ProbeFrequencyTooHigh',
+ 'errorMessage' => 'The probe frequency is too high. Please try again later.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E26DBAAE-A796-4A48-98B4-B45AFCD1F299\\"\\n}","errorExample":""},{"type":"xml","example":"<ProbeAccessPointNetworkQualityResponse>\\n <RequestId>E26DBAAE-A796-4A48-98B4-B45AFCD1F299</RequestId>\\n</ProbeAccessPointNetworkQualityResponse>","errorExample":""}]',
+ 'title' => 'ProbeAccessPointNetworkQuality',
+ 'summary' => 'Probes the network connectivity between a Smart Access Gateway (SAG) instance and an access point.',
+ 'description' => 'You can call this operation to test the connectivity between an SAG instance and a specified access point.'."\n"
+ ."\n"
+ .'* If the SAG instance can connect to the access point, the ID of the request is returned in this operation.'."\n"
+ .'* If the SAG instance cannot connect to the access point, the ID of the request and corresponding error messages are returned in this operation.',
+ ],
+ 'ListSmartAGByAccessPoint' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n"
+ ."\n"
+ .'A region contains one or more access points. You can call the [ListAccessPoints](~~183876~~) operation to query access points in a specific region.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Default value: **10**. Maximum value: **50** .'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '50',
+ 'minimum' => '1',
+ 'example' => '5',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'AccessPointId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the access point.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '238',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Pages start from page 1. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '50',
+ 'minimum' => '1',
+ 'example' => '1',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGStatus',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The status of the SAG instance. Valid values:'."\n"
+ ."\n"
+ .'* **Active**: The SAG device is connected to Alibaba Cloud.'."\n"
+ .'* **offline**: The SAG device is disconnected from Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Active',
+ 'enum' => [
+ 'offline',
+ 'online',
+ ],
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => [
+ 'description' => 'The number of SAG instances within the access point.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '16',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'AE203140-5D0C-4B4D-88D1-D008206B3A01',
+ ],
+ 'SmartAccessGateways' => [
+ 'description' => 'The information about the SAG instance.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RoutingStrategy' => [
+ 'description' => 'The method that the SAG instance uses to synchronize Alibaba Cloud-facing routes. Valid values:'."\n"
+ ."\n"
+ .'* **static**: static routing.'."\n"
+ .'* **dynamic**: dynamic routing.'."\n",
+ 'type' => 'string',
+ 'example' => 'static',
+ ],
+ 'SmartAGName' => [
+ 'description' => 'The name of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'SmartAGId' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-p86e06z4geaji1****',
+ ],
+ 'SmartAGStatus' => [
+ 'description' => 'The status of the SAG instance. Valid values:'."\n"
+ ."\n"
+ .'* **Active**: The SAG device is connected to Alibaba Cloud.'."\n"
+ .'* **offline**: The SAG device is disconnected from Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => 'Active',
+ ],
+ 'SmartAGDescription' => [
+ 'description' => 'The description of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'AssociatedCcnId' => [
+ 'description' => 'The ID of the Cloud Connect Network (CCN) instance with which the SAG instance is associated.'."\n",
+ 'type' => 'string',
+ 'example' => 'ccn-l42qf3vpvb****',
+ ],
+ 'HardwareVersion' => [
+ 'description' => 'The model of the SAG device with which the SAG instance is associated. Valid values:'."\n"
+ ."\n"
+ .'* **sag-1000**.'."\n"
+ .'* **sag-100WM**.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-1000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 16,\\n \\"RequestId\\": \\"AE203140-5D0C-4B4D-88D1-D008206B3A01\\",\\n \\"SmartAccessGateways\\": [\\n {\\n \\"RoutingStrategy\\": \\"static\\",\\n \\"SmartAGName\\": \\"test\\",\\n \\"SmartAGId\\": \\"sag-p86e06z4geaji1****\\",\\n \\"SmartAGStatus\\": \\"Active\\",\\n \\"SmartAGDescription\\": \\"test\\",\\n \\"AssociatedCcnId\\": \\"ccn-l42qf3vpvb****\\",\\n \\"HardwareVersion\\": \\"sag-1000\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListSmartAGByAccessPointResponse>\\n<TotalCount>16</TotalCount>\\n<RequestId>ABEE83F9-610C-4EFF-9C02-32EB269BD34E</RequestId>\\n<SmartAccessGateways>\\n <SmartAGName>菜鸟-工业压测</SmartAGName>\\n <SmartAGStatus>Offline</SmartAGStatus>\\n <RoutingStrategy>static</RoutingStrategy>\\n <AssociatedCcnId>ccn-l42qf3vpvb0hmq****</AssociatedCcnId>\\n <SmartAGId>sag-71sh7ww783pdes****</SmartAGId>\\n <HardwareVersion>sag-100wm</HardwareVersion>\\n</SmartAccessGateways>\\n<SmartAccessGateways>\\n <SmartAGStatus>Offline</SmartAGStatus>\\n <RoutingStrategy>static</RoutingStrategy>\\n <AssociatedCcnId>ccn-3dmy71fs4tz69d****</AssociatedCcnId>\\n <SmartAGId>sag-7b7gnu4dn6x9gz****</SmartAGId>\\n <HardwareVersion>sag-1000</HardwareVersion>\\n</SmartAccessGateways>\\n</ListSmartAGByAccessPointResponse>","errorExample":""}]',
+ 'title' => 'ListSmartAGByAccessPoint',
+ 'summary' => 'Queries information about Smart Access Gateway (SAG) instances within specific access points in a specific region.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListAccessPoints' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the queried access points reside. You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries returned on each page.'."\n"
+ ."\n"
+ .'Valid values: **1 to 50**.'."\n"
+ ."\n"
+ .'Default value: **20**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '50',
+ 'minimum' => '1',
+ 'example' => '20',
+ 'default' => '15',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sag-far8v6owtdxlua****',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'AccessPoints' => [
+ 'description' => 'The information about the access point.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Longitude' => [
+ 'description' => 'The longitude of the access point.'."\n",
+ 'type' => 'string',
+ 'example' => '1.35****',
+ ],
+ 'ActiveSmartAGCount' => [
+ 'description' => 'The number of available SAG instances in the access point.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'InactiveSmartAGCount' => [
+ 'description' => 'The number of offline SAG instances in the access point.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '7',
+ ],
+ 'Latitude' => [
+ 'description' => 'The latitude of the access point.'."\n",
+ 'type' => 'string',
+ 'example' => '103.81****',
+ ],
+ 'AccessPointId' => [
+ 'description' => 'The ID of the access point.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '401',
+ ],
+ ],
+ ],
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of access points.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E26DBAAE-A796-4A48-98B4-B45AFCD1F299',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"AccessPoints\\": [\\n {\\n \\"Longitude\\": \\"1.35****\\",\\n \\"ActiveSmartAGCount\\": 0,\\n \\"InactiveSmartAGCount\\": 7,\\n \\"Latitude\\": \\"103.81****\\",\\n \\"AccessPointId\\": 401\\n }\\n ],\\n \\"TotalCount\\": 2,\\n \\"RequestId\\": \\"E26DBAAE-A796-4A48-98B4-B45AFCD1F299\\"\\n}","errorExample":""},{"type":"xml","example":"<ListAccessPointsResponse>\\n<AccessPoints>\\n <AccessPointId>401</AccessPointId>\\n <ActiveSmartAGCount>0</ActiveSmartAGCount>\\n <Latitude>103.81****</Latitude>\\n <InactiveSmartAGCount>7</InactiveSmartAGCount>\\n <Longitude>1.35****</Longitude>\\n</AccessPoints>\\n<AccessPoints>\\n <AccessPointId>402</AccessPointId>\\n <ActiveSmartAGCount>0</ActiveSmartAGCount>\\n <Latitude>24.6****</Latitude>\\n <InactiveSmartAGCount>13</InactiveSmartAGCount>\\n <Longitude>-28.4****</Longitude>\\n</AccessPoints>\\n<TotalCount>2</TotalCount>\\n<RequestId>E26DBAAE-A796-4A48-98B4-B45AFCD1F299</RequestId>\\n</ListAccessPointsResponse>","errorExample":""}]',
+ 'title' => 'ListAccessPoints',
+ 'summary' => 'Queries access points in a region.',
+ 'description' => 'An access point connects Smart Access Gateway (SAG) instances to Cloud Connect Network (CCN). Some regions may contain more than one access point. After an SAG instance is associated with a CCN instance, the system selects the nearest access point to establish connections to Alibaba Cloud. This topic describes how to query access points in a specific region. For more information about the areas that support CCN, see [Introduction to CCN](~~93667~~).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListAccessPointNetworkQualities' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-p86e06z4geaji1****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'AccessPointNetworkQualities' => [
+ 'description' => 'The network quality of the endpoint.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Loss' => [
+ 'description' => 'The packet loss rate.'."\n",
+ 'type' => 'string',
+ 'example' => '0.00%',
+ ],
+ 'Rtt' => [
+ 'description' => 'The network latency. Unit: milliseconds.'."\n",
+ 'type' => 'string',
+ 'example' => '4.98',
+ ],
+ 'Id' => [
+ 'description' => 'The ID of the endpoint.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '115',
+ ],
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '8E8E8C86-1404-122A-A1BB-84BBC2E9A4B1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"AccessPointNetworkQualities\\": [\\n {\\n \\"Loss\\": \\"0.00%\\",\\n \\"Rtt\\": \\"4.98\\",\\n \\"Id\\": 115\\n }\\n ],\\n \\"RequestId\\": \\"8E8E8C86-1404-122A-A1BB-84BBC2E9A4B1\\"\\n}","errorExample":""},{"type":"xml","example":"<ListAccessPointNetworkQualitiesResponse>\\n <AccessPointNetworkQualities>\\n <Rtt>4.98</Rtt>\\n <Loss>0.00%</Loss>\\n <Id>115</Id>\\n </AccessPointNetworkQualities>\\n <RequestId>8E8E8C86-1404-122A-A1BB-84BBC2E9A4B1</RequestId>\\n</ListAccessPointNetworkQualitiesResponse>","errorExample":""}]',
+ 'title' => 'ListAccessPointNetworkQualities',
+ 'summary' => 'Queries network qualities of endpoints for Smart Access Gateway (SAG) instances.',
+ ],
+ 'UpdateSmartAGDpiAttribute' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-tq3sazs17smldn****',
+ ],
+ ],
+ [
+ 'name' => 'DpiEnabled',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable the DPI feature for the SAG instance. Valid values:'."\n"
+ ."\n"
+ .'* **true**: enables DPI'."\n"
+ .'* **false**: disables DPI'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ '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 value, but you must ensure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '02fb3da4-130e****',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to check the validity of the request without actually making the request. Valid values:'."\n"
+ ."\n"
+ .'* **true**: checks the validity of the request but does not enable or disable the DPI feature. Check items include the request format, instance status, and whether the required parameters are set. If the request fails the check, an error message is returned. If the request passes the check, the ID of the request is returned.'."\n"
+ .'* **false**: makes the request and enables or disables the DPI feature after the request passes the check. This is the default value.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidSmartAGId.NotFound',
+ 'errorMessage' => 'The specified SmartAGId does not exist.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateSmartAGDpiAttributeResponse>\\r\\n<RequestId>0C2EE7A8-74D4-4081-8236-CEBDE3BBCF50</RequestId>\\r\\n</UpdateSmartAGDpiAttributeResponse>","errorExample":""}]',
+ 'title' => 'UpdateSmartAGDpiAttribute',
+ 'summary' => 'Enables or disables the deep packet inspection (DPI) feature for a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DisableSmartAGDpiMonitor' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-vwmylqc9521p5l****',
+ ],
+ ],
+ [
+ '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 value, but you must ensure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '02fb3da4-130****',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to check the validity of the request without actually making the request. Valid values:'."\n"
+ ."\n"
+ .'* **true**: checks the validity of the request but does not enable or disables the DPI feature for the SAG instance. Check items include the request format, instance status, and whether the required parameters are set. If the request fails the check, an error message is returned. If the request passes the request, the ID of the request is returned.'."\n"
+ .'* **false**: makes the request and disables the DPI feature for the SAG instance after the request passes the check. This is the default value.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '64966488-B3E3-41E2-9570-4596117EC12E',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidSmartAGId.NotFound',
+ 'errorMessage' => 'The specified SmartAGId does not exist.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus',
+ 'errorMessage' => 'The instance status is invalid.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"64966488-B3E3-41E2-9570-4596117EC12E\\"\\n}","errorExample":""},{"type":"xml","example":"<DisableSmartAGDpiMonitorResponse>\\r\\n<RequestId>64966488-B3E3-41E2-9570-4596117EC12E</RequestId>\\r\\n</DisableSmartAGDpiMonitorResponse>","errorExample":""}]',
+ 'title' => 'DisableSmartAGDpiMonitor',
+ 'summary' => 'Disables the deep packet inspection (DPI) feature for a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'EnableSmartAGDpiMonitor' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-vwmylqc9521p5l****',
+ ],
+ ],
+ [
+ '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 value, but you must ensure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '02fb3da4-130e-11e9****',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to check the validity of the request without actually making the request. Valid values:'."\n"
+ ."\n"
+ .'* **true**: checks the validity of the request but does not enable or disables the DPI feature for the SAG instance. Check items include the request format, instance status, and whether the required parameters are set. If the request fails the check, an error message is returned. If the request passes the request, the ID of the request is returned.'."\n"
+ .'* **false**: makes the request and enables the DPI feature for the SAG instance after the request passes the check. This is the default value.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'SlsProjectName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the Log Service project.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'test1',
+ ],
+ ],
+ [
+ 'name' => 'SlsLogStore',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the Logstore.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'test2',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '64966488-B3E3-41E2-9570-4596117EC12E',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidSmartAGId.NotFound',
+ 'errorMessage' => 'The specified SmartAGId does not exist.',
+ ],
+ [
+ 'errorCode' => 'CreateProjectFailed',
+ 'errorMessage' => 'Failed to create the SLS project.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus',
+ 'errorMessage' => 'The instance status is invalid.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"64966488-B3E3-41E2-9570-4596117EC12E\\"\\n}","errorExample":""},{"type":"xml","example":"<EnableSmartAGDpiMonitorResponse>\\r\\n<RequestId>64966488-B3E3-41E2-9570-4596117EC12E</RequestId>\\r\\n</EnableSmartAGDpiMonitorResponse>","errorExample":""}]',
+ 'title' => 'EnableSmartAGDpiMonitor',
+ 'summary' => 'Enables monitoring based on the deep packet inspection (DPI) feature for a Smart Access Gateway (SAG) instance.',
+ 'description' => '* The DPI feature is enabled for the SAG instance. For more information, see [UpdateSmartAGDpiAttribute](~~196146~~).'."\n"
+ .'* Log Service is activated. For more information, see [Quick Start](~~54604~~).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListDpiSignatures' => [
+ 'summary' => 'Queries the information about an application or an application group in a region, or about the applications supported by Smart Access Gateway (SAG) in a region.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the application or application group belongs.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token used to query the next page.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'caeba0bbb2****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page.'."\n"
+ ."\n"
+ .'Valid values: **1** to **100**.'."\n"
+ ."\n"
+ .'Default value: **20**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '20',
+ 'default' => '20',
+ ],
+ ],
+ [
+ 'name' => 'DpiGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the application group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '20',
+ ],
+ ],
+ [
+ 'name' => 'DpiSignatureIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the application.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '235',
+ ],
+ 'required' => false,
+ 'example' => '235',
+ 'maxItems' => 100,
+ ],
+ ],
+ [
+ 'name' => 'DpiSignatureNames',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The name of the application.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'EdgeCast',
+ ],
+ 'required' => false,
+ 'example' => 'EdgeCast',
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => [
+ 'description' => 'The total number of entries returned on the current page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'NextToken' => [
+ 'description' => 'The token returned for the next query.'."\n",
+ 'type' => 'string',
+ 'example' => 'FFrMV38kR4****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '63081123-B7C0-4BC9-B9E5-59E77A616EC9',
+ ],
+ 'DpiSignature' => [
+ 'description' => 'The information about the application.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'DpiSignatureId' => [
+ 'description' => 'The ID of the application.'."\n",
+ 'type' => 'string',
+ 'example' => '235',
+ ],
+ 'MinSignatureDbVersion' => [
+ 'description' => 'The earliest version of signature database that supports the application.'."\n",
+ 'type' => 'string',
+ 'example' => '20201117_1_0-0.0.1',
+ ],
+ 'DpiGroupId' => [
+ 'description' => 'The ID of the application group to which the application belongs.'."\n",
+ 'type' => 'string',
+ 'example' => '20',
+ ],
+ 'MinEngineVersion' => [
+ 'description' => 'The earliest version of engine that supports the application.'."\n",
+ 'type' => 'string',
+ 'example' => '0-0.0.1',
+ ],
+ 'DpiSignatureName' => [
+ 'description' => 'The name of the application.'."\n",
+ 'type' => 'string',
+ 'example' => 'EdgeCast',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"NextToken\\": \\"FFrMV38kR4****\\",\\n \\"RequestId\\": \\"63081123-B7C0-4BC9-B9E5-59E77A616EC9\\",\\n \\"DpiSignature\\": [\\n {\\n \\"DpiSignatureId\\": \\"235\\",\\n \\"MinSignatureDbVersion\\": \\"20201117_1_0-0.0.1\\",\\n \\"DpiGroupId\\": \\"20\\",\\n \\"MinEngineVersion\\": \\"0-0.0.1\\",\\n \\"DpiSignatureName\\": \\"EdgeCast\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListDpiSignaturesResponse>\\n<TotalCount>1</TotalCount>\\n<RequestId>63081123-B7C0-4BC9-B9E5-59E77A616EC9</RequestId>\\n<NextToken>FFrMV38kR4****</NextToken>\\n<DpiSignature>\\n <MinEngineVersion>0-0.0.1</MinEngineVersion>\\n <MinSignatureDbVersion>20201117_1_0-0.0.1</MinSignatureDbVersion>\\n <DpiSignatureId>1</DpiSignatureId>\\n <DpiSignatureName>Baidu</DpiSignatureName>\\n <DpiGroupId>20</DpiGroupId>\\n</DpiSignature>\\n</ListDpiSignaturesResponse>","errorExample":""}]',
+ 'title' => 'ListDpiSignatures',
+ 'description' => 'This operation supports the following features:'."\n"
+ ."\n"
+ .'* Queries the information about all applications supported by the SAG instance in a specified region.'."\n"
+ .'* Queries the information about an application by application ID in a specified region.'."\n"
+ .'* Queries the information about an application by application name in a specified region.'."\n"
+ .'* Queries the information about an application group by group ID in a specified region.'."\n"
+ ."\n"
+ .'If this is the first time you call this operation, we recommend that you query all applications supported by the SAG instance in the specified region by region ID. Then, you can query the information about a specified application.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListDpiGroups' => [
+ 'summary' => 'Queries the information about application groups supported by Smart Access Gateway (SAG) instances in a specified region.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the application groups belong.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token used to query the next page.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'FFPSpX59Eb****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page.'."\n"
+ ."\n"
+ .'Valid values: **1** to **100**.'."\n"
+ ."\n"
+ .'Default value: **20**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '3',
+ 'default' => '20',
+ ],
+ ],
+ [
+ 'name' => 'DpiGroupIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The ID of the application group.'."\n"
+ ."\n"
+ .'You can query information about one or more application groups by group ID. You can specify at most 10 group IDs in each call.'."\n",
+ ],
+ 'required' => false,
+ 'example' => '1',
+ 'maxItems' => 10,
+ ],
+ ],
+ [
+ 'name' => 'DpiGroupNames',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'string',
+ 'description' => 'The name of the application group.'."\n"
+ ."\n"
+ .'You can query information about one or more application groups by group name. You can specify at most 10 group names in each call.'."\n",
+ ],
+ 'required' => false,
+ 'example' => 'P2P',
+ 'maxItems' => 10,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '22',
+ ],
+ 'NextToken' => [
+ 'description' => 'The token returned for the next query.'."\n",
+ 'type' => 'string',
+ 'example' => 'FFPSpX59Ebw****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'EC184A86-3C93-49D6-BB34-6C193E14D37F',
+ ],
+ 'DpiGroup' => [
+ 'description' => 'The information about the application group.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'MinSignatureDbVersion' => [
+ 'description' => 'The earliest version of signature database that supports the application group.'."\n",
+ 'type' => 'string',
+ 'example' => '20201117_1_0-0.0.1',
+ ],
+ 'DpiGroupName' => [
+ 'description' => 'The name of the application group.'."\n",
+ 'type' => 'string',
+ 'example' => 'P2P',
+ ],
+ 'DpiGroupId' => [
+ 'description' => 'The ID of the application group.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'MinEngineVersion' => [
+ 'description' => 'The earliest version of engine that supports the application group.'."\n",
+ 'type' => 'string',
+ 'example' => '0-0.0.1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"FFPSpX59Ebw****\\",\\n \\"RequestId\\": \\"EC184A86-3C93-49D6-BB34-6C193E14D37F\\",\\n \\"TotalCount\\": 22,\\n \\"DpiGroup\\": [\\n {\\n \\"DpiGroupId\\": \\"1\\",\\n \\"MinEngineVersion\\": \\"0-0.0.1\\",\\n \\"MinSignatureDbVersion\\": \\"20201117_1_0-0.0.1\\",\\n \\"DpiGroupName\\": \\"P2P\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListDpiGroupsResponse>\\n<TotalCount>22</TotalCount>\\n<RequestId>9E753114-BAF3-4676-9572-377FED18446D</RequestId>\\n<NextToken>FFPSpX59Ebw****</NextToken>\\n<DpiGroup>\\n <MinEngineVersion>0-0.0.1</MinEngineVersion>\\n <DpiGroupName>P2P</DpiGroupName>\\n <MinSignatureDbVersion>20201117_1_0-0.0.1</MinSignatureDbVersion>\\n <DpiGroupId>1</DpiGroupId>\\n</DpiGroup>\\n<DpiGroup>\\n <MinEngineVersion>0-0.0.1</MinEngineVersion>\\n <DpiGroupName>VoIP</DpiGroupName>\\n <MinSignatureDbVersion>20201117_1_0-0.0.1</MinSignatureDbVersion>\\n <DpiGroupId>2</DpiGroupId>\\n</DpiGroup>\\n</ListDpiGroupsResponse>","errorExample":""}]',
+ 'title' => 'ListDpiGroups',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListDpiConfigError' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the SAG instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'sag-1e8sgws6b133b8****',
+ ],
+ ],
+ [
+ 'name' => 'DpiConfigType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the instance for which the DPI feature is configured. Valid values:'."\n"
+ ."\n"
+ .'* **acl**'."\n"
+ .'* **qos**'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'qos',
+ 'enum' => [
+ 'acl',
+ 'qos',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'RuleInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance for which the DPI feature is configured.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'qos-1strcafl4wghpb****',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token that is used to query the next page.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'caeba0bbb2be03f84eb48b699f0a****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum 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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'NextToken' => [
+ 'description' => 'The token that was used to query the next page.'."\n",
+ 'type' => 'string',
+ 'example' => 'caeba0bbb2be03f84eb48b699f0a****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'F47B5293-27B6-48EF-A9C6-E90A41449813',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'MaxResults' => [
+ 'description' => 'The maximum number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'DpiConfigError' => [
+ 'description' => 'The information about the configuration errors.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SN' => [
+ 'description' => 'The serial number of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-2160808****',
+ ],
+ 'SmartAGId' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-1e8sgws6b133b8****',
+ ],
+ 'ErrorType' => [
+ 'description' => 'The type of the configuration error. Valid values:'."\n"
+ ."\n"
+ .'* **DeviceNotSupported**: The SAG instance does not support the DPI feature.'."\n"
+ .'* **VersionNotSupported**: The version of the DPI feature is outdated.'."\n"
+ .'* **NotEnable**: The DPI feature is disabled on the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'DeviceNotSupported',
+ ],
+ 'RuleConfigErrorList' => [
+ 'description' => 'The information about the configuration errors.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DpiSignatureIds' => [
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'description' => 'The IDs of applications that have configuration errors.'."\n"
+ ."\n"
+ .'You can call the [ListDpiSignatures](~~196630~~) operation to query application IDs and information about the applications.'."\n",
+ ],
+ 'RuleId' => [
+ 'description' => 'The IDs of rules that are applied to applications with configuration errors.'."\n"
+ ."\n"
+ .'* If you make the request to query configuration errors of ACLs, the IDs of ACL rules that have configuration errors are returned.'."\n"
+ .'* If you make the request to query configuration errors of QoS polices, the IDs of the 5-tuples in the QoS polices that have configuration errors are returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'qospy-axud4s62gz632b****',
+ ],
+ 'DpiGroupIds' => [
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'description' => 'The IDs of the application groups that have configuration errors.'."\n"
+ ."\n"
+ .'You can call the [ListDpiGroups](~~196754~~) operation to query application group IDs and information about the applications.'."\n",
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0a****\\",\\n \\"RequestId\\": \\"F47B5293-27B6-48EF-A9C6-E90A41449813\\",\\n \\"Total\\": 1,\\n \\"MaxResults\\": 10,\\n \\"DpiConfigError\\": [\\n {\\n \\"SN\\": \\"sag-2160808****\\",\\n \\"SmartAGId\\": \\"sag-1e8sgws6b133b8****\\",\\n \\"ErrorType\\": \\"DeviceNotSupported\\",\\n \\"RuleConfigErrorList\\": [\\n {\\n \\"DpiSignatureIds\\": [\\n \\"1\\"\\n ],\\n \\"RuleId\\": \\"qospy-axud4s62gz632b****\\",\\n \\"DpiGroupIds\\": [\\n \\"1\\"\\n ]\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListDpiConfigErrorResponse>\\n<RequestId>27A5B768-4366-4EF3-9524-7FD51331B1DC</RequestId>\\n<Total>1</Total>\\n<MaxResults>10</MaxResults>\\n<DpiConfigError>\\n <ErrorType>DeviceNotSupported</ErrorType>\\n <RuleConfigErrorList>\\n <RuleId>qospy-axud4s62gz632b****</RuleId>\\n <DpiGroupIds>1</DpiGroupIds>\\n </RuleConfigErrorList>\\n <SN>sage62x0526****</SN>\\n <SmartAGId>sag-4d6i45zess8nj4****</SmartAGId>\\n</DpiConfigError>\\n</ListDpiConfigErrorResponse>","errorExample":""}]',
+ 'title' => 'ListDpiConfigError',
+ 'summary' => 'Queries configuration errors of the deep packet inspection (DPI) feature.',
+ 'description' => '## Background information'."\n"
+ ."\n"
+ .'If you have configured an application-aware access control list (ACL) or a quality of service (QoS) policy and associated it with a Smart Access Gateway (SAG) instance, you can call this operation to query whether the ACL rules or 5-tuples in the QoS policy are applied to the SAG instance. If settings are not applied to the SAG instance, the error information is returned.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetSmartAGDpiAttribute' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-tq3sazs17smldn****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'LogstoreName' => [
+ 'description' => 'The name of the Log Service Logstore that is associated with the DPI feature.'."\n",
+ 'type' => 'string',
+ 'example' => 'test1',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'B2997DC4-F1A2-418B-81FC-C8892CD31CFF',
+ ],
+ 'ProjectName' => [
+ 'description' => 'The name of the Log Service project that is associated with the DPI feature.'."\n",
+ 'type' => 'string',
+ 'example' => 'test2',
+ ],
+ 'SlsRegion' => [
+ 'description' => 'The region where Log Service is deployed.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'DpiMonitorStatus' => [
+ 'description' => 'The status of the DPI-based monitoring feature. Valid values:'."\n"
+ ."\n"
+ .'* **Active**: enabled'."\n"
+ .'* **Inactive**: disabled'."\n",
+ 'type' => 'string',
+ 'example' => 'Inactive',
+ ],
+ 'DpiStatus' => [
+ 'description' => 'The status of the DPI feature. Valid values:'."\n"
+ ."\n"
+ .'* **On**: enabled'."\n"
+ .'* **Off**: disabled'."\n",
+ 'type' => 'string',
+ 'example' => 'On',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B2997DC4-F1A2-418B-81FC-C8892CD31CFF\\",\\n \\"SlsRegion\\": \\"cn-shanghai\\",\\n \\"DpiStatus\\": \\"On\\",\\n \\"ProjectName\\": \\"test2\\",\\n \\"DpiMonitorStatus\\": \\"Inactive\\",\\n \\"LogstoreName\\": \\"test1\\"\\n}","errorExample":""},{"type":"xml","example":"<GetSmartAGDpiAttributeResponse>\\n<RequestId>B2997DC4-F1A2-418B-81FC-C8892CD31CFF</RequestId>\\n<SlsRegion>cn-shanghai</SlsRegion>\\n<DpiMonitorStatus>Inactive</DpiMonitorStatus>\\n<DpiStatus>On</DpiStatus>\\n</GetSmartAGDpiAttributeResponse>","errorExample":""}]',
+ 'title' => 'GetSmartAGDpiAttribute',
+ 'summary' => 'Queries the settings of the deep packet inspection (DPI) feature for a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetAclAttribute' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the ACL is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'AclId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the ACL.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'acl-xhwhyuo43l0n*****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '5D2013F0-85AB-4332-9094-8023A598C2C1',
+ ],
+ 'AclId' => [
+ 'description' => 'The ID of the ACL.'."\n",
+ 'type' => 'string',
+ 'example' => 'acl-xhwhyuo43l0n*****',
+ ],
+ 'ErrorConfigSmartAGCount' => [
+ 'description' => 'The number of SAG devices that are associated with the ACL who has DPI configuration errors.'."\n"
+ ."\n"
+ .'You can call the [ListDpiConfigError](~~197566~~) operation to query exception details and SAG device information.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'AclName' => [
+ 'description' => 'The name of the ACL.'."\n",
+ 'type' => 'string',
+ 'example' => 'dpi_test',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5D2013F0-85AB-4332-9094-8023A598C2C1\\",\\n \\"AclId\\": \\"acl-xhwhyuo43l0n*****\\",\\n \\"ErrorConfigSmartAGCount\\": 0,\\n \\"AclName\\": \\"dpi_test\\"\\n}","errorExample":""},{"type":"xml","example":"<GetAclAttributeResponse>\\n<RequestId>5D2013F0-85AB-4332-9094-8023A598C2C1</RequestId>\\n<AclId>acl-j8s80200h3cli****</AclId>\\n<ErrorConfigSmartAGCount>0</ErrorConfigSmartAGCount>\\n<AclName>dpi_test</AclName>\\n</GetAclAttributeResponse>\\n","errorExample":""}]',
+ 'title' => 'GetAclAttribute',
+ 'summary' => 'Queries the configuration errors of the deep packet inspection (DPI) feature in an access control list (ACL).',
+ 'description' => '* An application-aware ACL is created. For more information, see [AddACLRule](~~114012~~).'."\n"
+ .'* The application-aware ACL is applied to a Smart Access Gateway (SAG) instance. For more information, see [AssociateACL](~~114009~~).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateProbeTask' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the SAG instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SagId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-asdfz6ac74oj5v****',
+ ],
+ ],
+ [
+ 'name' => 'Sn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag****',
+ ],
+ ],
+ [
+ 'name' => 'TaskName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the probe task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'test-ping',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the probe task. Valid values:'."\n"
+ ."\n"
+ .'* **Internet**: probes a public network.'."\n"
+ .'* **Intranet**: probes a private network.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'Internet',
+ ],
+ ],
+ [
+ 'name' => 'Protocol',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The protocol of the probe task. Valid values:'."\n"
+ ."\n"
+ .'* **ICMP**'."\n"
+ .'* **TCP**'."\n"
+ .'* **HTTP**'."\n"
+ ."\n"
+ .'> Tasks that probe private networks support only ICMP and TCP.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ICMP',
+ ],
+ ],
+ [
+ 'name' => 'Domain',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The domain name that is probed by the task. If the protocol of the probe task is ICMP or TCP, set the value to the IP address or domain name of the service that you want to probe. If the protocol of the probe task is HTTP, set the value to the URL of the service that you want to probe.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'www.example.com',
+ ],
+ ],
+ [
+ 'name' => 'Port',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The port that is probed by the task.'."\n"
+ ."\n"
+ .'> This parameter is required if the protocol of the probe task is TCP. Ignore this parameter if the protocol of the probe task is not TCP.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '80',
+ ],
+ ],
+ [
+ 'name' => 'PacketNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of probe packets transmitted by the probe task per minute.'."\n"
+ ."\n"
+ .'Valid values: **1** to **60**.'."\n"
+ ."\n"
+ .'> This parameter is required if the protocol of the probe task is ICMP. Ignore this parameter if the protocol of the probe task is not ICMP.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ProbeTaskSourceAddress',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The source address of the probe task.'."\n"
+ ."\n"
+ .'> This parameter is required if the task probes private networks.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '192.168.1.1',
+ ],
+ ],
+ [
+ 'name' => 'Enable',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable the probe task. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '324223F3-93D3-4CE4-B26F-66C0C3809922',
+ ],
+ 'Code' => [
+ 'description' => 'The response code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The response message.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'Data' => [
+ 'description' => 'The ID of the probe task.'."\n",
+ 'type' => 'string',
+ 'example' => 'probe-****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidProbeDomain',
+ 'errorMessage' => 'The specified probe task domain is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidName',
+ 'errorMessage' => 'The specified name is not valid.',
+ ],
+ [
+ 'errorCode' => 'InvalidProbeType',
+ 'errorMessage' => 'The specified probe task type is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidProbeProtocol',
+ 'errorMessage' => 'The specified probe task protocol is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidProbePort',
+ 'errorMessage' => 'The specified probe task port is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidPacketNumber',
+ 'errorMessage' => 'The specified probe task packet number is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidProbeSourceIP',
+ 'errorMessage' => 'The specified probe task source ip is invalid.',
+ ],
+ [
+ 'errorCode' => 'ExistSameParamTask',
+ 'errorMessage' => 'Exist task with same params.',
+ ],
+ [
+ 'errorCode' => 'SagConfiguring',
+ 'errorMessage' => 'Sag is configuring. ',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"324223F3-93D3-4CE4-B26F-66C0C3809922\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"Data\\": \\"probe-****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateProbeTaskResponse>\\n <RequestId>324223F3-93D3-4CE4-B26F-66C0C3809922</RequestId>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <Data>probe-****</Data>\\n</CreateProbeTaskResponse>","errorExample":""}]',
+ 'title' => 'CreateProbeTask',
+ 'summary' => 'Creates a probing task for a Smart Access Gateway (SAG) device.',
+ 'description' => '* Only SAG-1000 devices whose software version is 2.7.0 or later support the probing feature.'."\n"
+ .'* The SAG instance must have the deep packet inspection (DPI) feature enabled. You can call the [SetAdvancedMonitorState](~~476404~~) operation to enable or disable the DPI feature.',
+ ],
+ 'ListProbeTask' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the SAG instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SagId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'sag-****',
+ ],
+ ],
+ [
+ 'name' => 'Sn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'sag****',
+ ],
+ ],
+ [
+ 'name' => 'ProbeTaskId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the probe task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'probe-****',
+ ],
+ ],
+ [
+ 'name' => 'TaskName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the probe task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'test-ping',
+ ],
+ ],
+ [
+ 'name' => 'Protocol',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The protocol of the probe task. Valid values:'."\n"
+ ."\n"
+ .'* **ICMP**'."\n"
+ .'* **TCP**'."\n"
+ .'* **HTTP**'."\n"
+ ."\n"
+ .'> Tasks that probe private networks support only ICMP and TCP.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'ICMP',
+ ],
+ ],
+ [
+ 'name' => 'SagName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'shanghai-office',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Maximum value: **50**. Default value: **10**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '324223F3-93D3-4CE4-B26F-66C0C3809922',
+ ],
+ 'Code' => [
+ 'description' => 'The response code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The response message.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Data' => [
+ 'description' => 'The information about the probe task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ProbeTaskId' => [
+ 'description' => 'The ID of the probe task.'."\n",
+ 'type' => 'string',
+ 'example' => 'probe-****',
+ ],
+ 'TaskName' => [
+ 'description' => 'The name of the probe task.'."\n",
+ 'type' => 'string',
+ 'example' => 'test-ping',
+ ],
+ 'SagId' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-asdfz6ac74oj5v****',
+ ],
+ 'Sn' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag****',
+ ],
+ 'Type' => [
+ 'description' => 'The type of the probe task. Valid values:'."\n"
+ ."\n"
+ .'* **Internet**: probes a public network.'."\n"
+ .'* **Intranet**: probes a private network.'."\n",
+ 'type' => 'string',
+ 'example' => 'Internet',
+ ],
+ 'Protocol' => [
+ 'description' => 'The protocol of the probe task. Valid values:'."\n"
+ ."\n"
+ .'* **ICMP**'."\n"
+ .'* **TCP**'."\n"
+ .'* **HTTP**'."\n"
+ ."\n"
+ .'> Tasks that probe private networks support only ICMP and TCP.'."\n",
+ 'type' => 'string',
+ 'example' => 'ICMP',
+ ],
+ 'Domain' => [
+ 'description' => 'The domain name that is probed by the task.'."\n",
+ 'type' => 'string',
+ 'example' => 'www.example.com',
+ ],
+ 'Port' => [
+ 'description' => 'The port that is probed by the task.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '80',
+ ],
+ 'PacketNumber' => [
+ 'description' => 'The number of probe packets transmitted by the probe task per minute.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'ProbeTaskSourceAddress' => [
+ 'description' => 'The source address of the probe task.'."\n",
+ 'type' => 'string',
+ 'example' => '192.168.1.1',
+ ],
+ 'Enable' => [
+ 'description' => 'Indicates whether the probe task is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **true**: enabled'."\n"
+ .'* **false**: disabled'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The time when the probe task was created.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-23 14:09',
+ ],
+ 'GmtModify' => [
+ 'description' => 'The time when the probe task was modified.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-11-23 14:09',
+ ],
+ ],
+ ],
+ 'example' => 'probe-xxx',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidName',
+ 'errorMessage' => 'The specified name is not valid.',
+ ],
+ [
+ 'errorCode' => 'InvalidProbeProtocol',
+ 'errorMessage' => 'The specified probe task protocol is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"324223F3-93D3-4CE4-B26F-66C0C3809922\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"PageNumber\\": 1,\\n \\"Data\\": [\\n {\\n \\"ProbeTaskId\\": \\"probe-****\\",\\n \\"TaskName\\": \\"test-ping\\",\\n \\"SagId\\": \\"sag-asdfz6ac74oj5v****\\",\\n \\"Sn\\": \\"sag****\\",\\n \\"Type\\": \\"Internet\\",\\n \\"Protocol\\": \\"ICMP\\",\\n \\"Domain\\": \\"www.example.com\\",\\n \\"Port\\": 80,\\n \\"PacketNumber\\": 10,\\n \\"ProbeTaskSourceAddress\\": \\"192.168.1.1\\",\\n \\"Enable\\": true,\\n \\"GmtCreate\\": \\"2022-11-23 14:09\\",\\n \\"GmtModify\\": \\"2022-11-23 14:09\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListProbeTaskResponse>\\n <RequestId>324223F3-93D3-4CE4-B26F-66C0C3809922</RequestId>\\n <Code>200</Code>\\n <Message>successful</Message>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <PageNumber>1</PageNumber>\\n <Data>\\n <ProbeTaskId>probe-****</ProbeTaskId>\\n <TaskName>test-ping</TaskName>\\n <SagId>sag-asdfz6ac74oj5v****</SagId>\\n <Sn>sag****</Sn>\\n <Type>Internet</Type>\\n <Protocol>ICMP</Protocol>\\n <Domain>www.example.com</Domain>\\n <Port>80</Port>\\n <PacketNumber>10</PacketNumber>\\n <ProbeTaskSourceAddress>192.168.1.1</ProbeTaskSourceAddress>\\n <Enable>true</Enable>\\n <GmtCreate>2022-11-23 14:09</GmtCreate>\\n <GmtModify>2022-11-23 14:09</GmtModify>\\n </Data>\\n</ListProbeTaskResponse>","errorExample":""}]',
+ 'title' => 'ListProbeTask',
+ 'summary' => 'Queries a probe task.',
+ ],
+ 'UpdateProbeTask' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the SAG instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SagId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Smart Access Gateway (SAG) instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sag-****',
+ ],
+ ],
+ [
+ 'name' => 'Sn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sag****',
+ ],
+ ],
+ [
+ 'name' => 'ProbeTaskId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the probe task.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'probe-****',
+ ],
+ ],
+ [
+ 'name' => 'TaskName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the probe task.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test-ping',
+ ],
+ ],
+ [
+ 'name' => 'Protocol',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The protocol of the probe task. Valid values:'."\n"
+ ."\n"
+ .'* **ICMP**'."\n"
+ .'* **TCP**'."\n"
+ .'* **HTTP**'."\n"
+ ."\n"
+ .'> Tasks that probe private networks support only ICMP and TCP.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ICMP',
+ ],
+ ],
+ [
+ 'name' => 'Domain',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The domain name that is probed by the task.'."\n"
+ ."\n"
+ .'If the protocol of the probe task is ICMP or TCP, set the value to the IP address or domain name of the service that you want to probe. If the protocol of the probe task is HTTP, set the value to the URL of the service that you want to probe.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'www.example.com',
+ ],
+ ],
+ [
+ 'name' => 'Port',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The port that is probed by the task.'."\n"
+ ."\n"
+ .'> This parameter is required if the protocol of the probe task is TCP. Ignore this parameter if the protocol of the probe task is not TCP.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '80',
+ ],
+ ],
+ [
+ 'name' => 'PacketNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of probe packets transmitted by the probe task per minute.'."\n"
+ ."\n"
+ .'Valid values: **1** to **60**.'."\n"
+ ."\n"
+ .'> This parameter is required if the protocol of the probe task is ICMP. Ignore this parameter if the protocol of the probe task is not ICMP.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'ProbeTaskSourceAddress',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The source address of the probe task.'."\n"
+ ."\n"
+ .'> This parameter is required if the task probes private networks.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '192.168.1.1',
+ ],
+ ],
+ [
+ 'name' => 'Enable',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable the probe task. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '324223F3-93D3-4CE4-B26F-66C0C3809922',
+ ],
+ 'Code' => [
+ 'description' => 'The response code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The response message.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'InvalidName',
+ 'errorMessage' => 'The specified name is not valid.',
+ ],
+ [
+ 'errorCode' => 'InvalidProbeProtocol',
+ 'errorMessage' => 'The specified probe task protocol is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidProbeDomain',
+ 'errorMessage' => 'The specified probe task domain is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidProbePort',
+ 'errorMessage' => 'The specified probe task port is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidPacketNumber',
+ 'errorMessage' => 'The specified probe task packet number is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidProbeSourceIP',
+ 'errorMessage' => 'The specified probe task source ip is invalid.',
+ ],
+ [
+ 'errorCode' => 'ExistSameParamTask',
+ 'errorMessage' => 'Exist task with same params.',
+ ],
+ [
+ 'errorCode' => 'SagConfiguring',
+ 'errorMessage' => 'Sag is configuring. ',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"324223F3-93D3-4CE4-B26F-66C0C3809922\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateProbeTaskResponse>\\n <RequestId>324223F3-93D3-4CE4-B26F-66C0C3809922</RequestId>\\n <Code>200</Code>\\n <Message>successful</Message>\\n</UpdateProbeTaskResponse>","errorExample":""}]',
+ 'title' => 'UpdateProbeTask',
+ 'summary' => 'Modifies a probe task.',
+ ],
+ 'DeleteProbeTask' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the Smart Access Gateway (SAG) instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SagId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-****',
+ ],
+ ],
+ [
+ 'name' => 'Sn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag****',
+ ],
+ ],
+ [
+ 'name' => 'ProbeTaskId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the probe task.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'probe-****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '324223F3-93D3-4CE4-B26F-66C0C3809922',
+ ],
+ 'Code' => [
+ 'description' => 'The response code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The response message.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SagConfiguring',
+ 'errorMessage' => 'Sag is configuring.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"324223F3-93D3-4CE4-B26F-66C0C3809922\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteProbeTaskResponse>\\n <RequestId>324223F3-93D3-4CE4-B26F-66C0C3809922</RequestId>\\n <Code>200</Code>\\n <Message>successful</Message>\\n</DeleteProbeTaskResponse>","errorExample":""}]',
+ 'title' => 'DeleteProbeTask',
+ 'summary' => 'Deletes a probe task.',
+ ],
+ 'CreateServiceAddress' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the SAG instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'AddressType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of service address. Set the value to **ProbeTask**.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ProbeTask',
+ ],
+ ],
+ [
+ 'name' => 'Address',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The service address. Example: **192.168.1.1**.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '192.168.1.1',
+ ],
+ ],
+ [
+ 'name' => 'SagId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-****',
+ ],
+ ],
+ [
+ 'name' => 'Sn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '324223F3-93D3-4CE4-B26F-66C0C3809922',
+ ],
+ 'Code' => [
+ 'description' => 'The response code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The response message.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidServiceAddressType',
+ 'errorMessage' => 'The specified service address type is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParam.Ip',
+ 'errorMessage' => 'The specified IP address is invalid.',
+ ],
+ [
+ 'errorCode' => 'InstanceExists',
+ 'errorMessage' => 'The specified instance already exists.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"324223F3-93D3-4CE4-B26F-66C0C3809922\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateServiceAddressResponse>\\n <RequestId>324223F3-93D3-4CE4-B26F-66C0C3809922</RequestId>\\n <Code>200</Code>\\n <Message>successful</Message>\\n</CreateServiceAddressResponse>","errorExample":""}]',
+ 'title' => 'CreateServiceAddress',
+ 'summary' => 'Configures a service address for a Smart Access Gateway (SAG) device.',
+ ],
+ 'DeleteServiceAddress' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'AddressType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of service address. Set the value to **ProbeTask**.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ProbeTask',
+ ],
+ ],
+ [
+ 'name' => 'Address',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The service address. Example: **192.168.1.1**.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '192.168.1.1',
+ ],
+ ],
+ [
+ 'name' => 'SagId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-****',
+ ],
+ ],
+ [
+ 'name' => 'Sn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '324223F3-93D3-4CE4-B26F-66C0C3809922',
+ ],
+ 'Code' => [
+ 'description' => 'The response code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The response message.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ServiceAddressOperationDenied',
+ 'errorMessage' => 'Service address operation is denied.',
+ ],
+ [
+ 'errorCode' => 'ServiceAddressInUse',
+ 'errorMessage' => 'Service address is in use.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"324223F3-93D3-4CE4-B26F-66C0C3809922\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteServiceAddressResponse>\\n <RequestId>324223F3-93D3-4CE4-B26F-66C0C3809922</RequestId>\\n <Code>200</Code>\\n <Message>successful</Message>\\n</DeleteServiceAddressResponse>","errorExample":""}]',
+ 'title' => 'DeleteServiceAddress',
+ 'summary' => 'Deletes a service address from a Smart Access Gateway (SAG) device.',
+ ],
+ 'ListAvailableServiceAddress' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'AddressType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of service address. Valid values:'."\n"
+ ."\n"
+ .'* **ProbeTask**: probes the source IP address.'."\n"
+ .'* **RemoteWeb**: probes the IP address for remote logon.'."\n"
+ ."\n"
+ .'> If you do not specify a value, all service IP addresses are queried.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'ProbeTask',
+ ],
+ ],
+ [
+ 'name' => 'SagId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-****',
+ ],
+ ],
+ [
+ 'name' => 'Sn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '324223F3-93D3-4CE4-B26F-66C0C3809922',
+ ],
+ 'Code' => [
+ 'description' => 'The response code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The response message.'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'Data' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Address' => [
+ 'description' => 'The service address.'."\n",
+ 'type' => 'string',
+ 'example' => '192.168.1.1',
+ ],
+ 'AddressType' => [
+ 'description' => 'The type of service address.'."\n",
+ 'type' => 'string',
+ 'example' => 'ProbeTask',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidId.SN',
+ 'errorMessage' => 'The specified smart access gateway serial number does not exist.',
+ ],
+ [
+ 'errorCode' => 'InvalidServiceAddressType',
+ 'errorMessage' => 'The specified service address type is invalid.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidId.SMARTAG',
+ 'errorMessage' => 'The specified smart access gateway instance id is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"324223F3-93D3-4CE4-B26F-66C0C3809922\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Success\\",\\n \\"Data\\": [\\n {\\n \\"Address\\": \\"192.168.1.1\\",\\n \\"AddressType\\": \\"ProbeTask\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListAvailableServiceAddressResponse>\\n <RequestId>324223F3-93D3-4CE4-B26F-66C0C3809922</RequestId>\\n <Code>200</Code>\\n <Message>Success</Message>\\n <Data>\\n <Address>192.168.1.1</Address>\\n <AddressType>ProbeTask</AddressType>\\n </Data>\\n</ListAvailableServiceAddressResponse>","errorExample":""}]',
+ 'title' => 'ListAvailableServiceAddress',
+ 'summary' => 'Queries the service addresses of a Smart Access Gateway (SAG) device.',
+ ],
+ 'SetAdvancedMonitorState' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the SAG instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SagId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-****',
+ ],
+ ],
+ [
+ 'name' => 'Enable',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable the DPI feature. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'A list of response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '324223F3-93D3-4CE4-B26F-66C0C3809922',
+ ],
+ 'Code' => [
+ 'description' => 'The response code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The response message.'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"324223F3-93D3-4CE4-B26F-66C0C3809922\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Success\\"\\n}","errorExample":""},{"type":"xml","example":"<SetAdvancedMonitorStateResponse>\\n <RequestId>324223F3-93D3-4CE4-B26F-66C0C3809922</RequestId>\\n <Code>200</Code>\\n <Message>Success</Message>\\n</SetAdvancedMonitorStateResponse>","errorExample":""}]',
+ 'title' => 'SetAdvancedMonitorState',
+ 'summary' => 'Enables or disables the deep packet inspection (DPI) feature for a Smart Access Gateway (SAG) instance.',
+ ],
+ 'GetAdvancedMonitorState' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SagId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-asdfz6ac74oj5v****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the SAG instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '324223F3-93D3-4CE4-B26F-66C0C3809922',
+ ],
+ 'Code' => [
+ 'description' => 'The response code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The response message.'."\n",
+ 'type' => 'string',
+ 'example' => 'Success',
+ ],
+ 'Data' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Enable' => [
+ 'description' => 'Indicates whether the DPI feature is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **true**: enabled'."\n"
+ .'* **false**: disabled'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"324223F3-93D3-4CE4-B26F-66C0C3809922\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Success\\",\\n \\"Data\\": [\\n {\\n \\"Enable\\": true\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetAdvancedMonitorStateResponse>\\n <RequestId>324223F3-93D3-4CE4-B26F-66C0C3809922</RequestId>\\n <Code>200</Code>\\n <Message>Success</Message>\\n <Data>\\n <Enable>true</Enable>\\n </Data>\\n</GetAdvancedMonitorStateResponse>","errorExample":""}]',
+ 'title' => 'GetAdvancedMonitorState',
+ 'summary' => 'Queries the status of the deep packet inspection (DPI) feature of a Smart Access Gateway (SAG) instance.',
+ ],
+ 'DescribeSmartAccessGatewayAttribute' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-6z21oj0vjjrx****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'UpBandwidth4G' => [
+ 'description' => 'The maximum upstream bandwidth of 4G network connections established by the SAG device. Unit: Mbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'testdesc',
+ ],
+ 'EndTime' => [
+ 'description' => 'The timestamp when the SAG instance expires.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1628265600000',
+ ],
+ 'ResourceGroupId' => [
+ 'description' => 'The ID of the resource group to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'rg-acfm2iu4fnc****',
+ ],
+ 'UserCount' => [
+ 'description' => 'The number of client accounts on the SAG instance.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'AssociatedCcnName' => [
+ 'description' => 'The ID of the Cloud Connect Network (CCN) instance with which the SAG instance is associated.'."\n",
+ 'type' => 'string',
+ 'example' => 'testname',
+ ],
+ 'MaxBandwidth' => [
+ 'description' => 'The maximum bandwidth value of the SAG instance. Unit: Mbit/s.'."\n",
+ 'type' => 'string',
+ 'example' => '50 M',
+ ],
+ 'VpnStatus' => [
+ 'description' => 'The status of the VPN connection. Valid values:'."\n"
+ ."\n"
+ .'* **up**: normal'."\n"
+ .'* **down**: abnormal'."\n",
+ 'type' => 'string',
+ 'example' => 'down',
+ ],
+ 'BoxControllerIp' => [
+ 'description' => 'The public IP address of the active SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => '112.XX.XX.25',
+ ],
+ 'UpBandwidthWan' => [
+ 'description' => 'The maximum upstream bandwidth of network connections established on the WAN port of the SAG device. Unit: Mbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '4',
+ ],
+ 'CidrBlock' => [
+ 'description' => 'The private CIDR block of the destination network with which the on-premises network or client needs to communicate.'."\n",
+ 'type' => 'string',
+ 'example' => '10.0.9.0/24',
+ ],
+ 'QosIds' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'QosId' => [
+ 'description' => 'The ID of the quality of service (QoS) policy with which the SAG instance is associated.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'qos-yca8p30w1jcrbt****',
+ ],
+ ],
+ ],
+ ],
+ 'IRIds' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'IRId' => [
+ 'description' => 'The ID of the smart routing policy with which the SAG instance is associated.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'ir-yca8p30w1jcrbt****',
+ ],
+ ],
+ ],
+ ],
+ 'Devices' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Device' => [
+ 'description' => 'The information about the SAG device.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'SerialNumber' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => 'sage6gsdllbid****"',
+ ],
+ 'HaState' => [
+ 'description' => 'Indicates whether the SAG device is an active or standby device. Valid values:'."\n"
+ ."\n"
+ .'* **Active**: an active device'."\n"
+ .'* **Standby**: a standby device'."\n",
+ 'type' => 'string',
+ 'example' => 'Active',
+ ],
+ 'SecretKey' => [
+ 'description' => 'The key of the SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => '+T4nV8xkS4****',
+ ],
+ 'DpiSignatureDbVersion' => [
+ 'description' => 'The version of the database that is used by the deep packet inspection (DPI) feature of the SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => '20201117_1_0-0.0.1',
+ ],
+ 'SoftwareVersion' => [
+ 'description' => 'The software version of the SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => '2.3.0.0',
+ ],
+ 'DistributeSkStatus' => [
+ 'description' => 'Indicates whether the key of the SAG device is activated. Valid values:'."\n"
+ ."\n"
+ .'* **1**: yes'."\n"
+ .'* **0**: no'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'MonitorVersion' => [
+ 'description' => 'The monitoring version of the SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => '0.1.11.17',
+ ],
+ 'HcState' => [
+ 'description' => 'The health check status of the SAG device. Valid values:'."\n"
+ ."\n"
+ .'* **online**: connected to Alibaba Cloud'."\n"
+ .'* **offline**: disconnected from Alibaba Cloud'."\n",
+ 'type' => 'string',
+ 'example' => 'online',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'Name' => [
+ 'description' => 'The name of the SAG instance.',
+ 'type' => 'string',
+ 'example' => 'testname',
+ ],
+ 'OptimizationType' => [
+ 'description' => 'The transmission optimization type of the SAG instance. If transmission optimization is enabled, the default value is **fec**.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'fec',
+ ],
+ 'IpsecStatus' => [
+ 'description' => 'The status of the IPsec-VPN connection. Valid values:'."\n"
+ ."\n"
+ .'* **up**: normal'."\n"
+ .'* **down**: abnormal'."\n",
+ 'type' => 'string',
+ 'example' => 'up',
+ ],
+ 'RoutingStrategy' => [
+ 'description' => 'The method that the SAG instance uses to advertise routes to Alibaba Cloud.'."\n"
+ ."\n"
+ .'* **static**: static routing'."\n"
+ .'* **dynamic**: dynamic routing'."\n",
+ 'type' => 'string',
+ 'example' => 'static',
+ ],
+ 'AssociatedCcnId' => [
+ 'description' => 'The ID of the Cloud Connect Network (CCN) instance with which the SAG instance is associated.'."\n",
+ 'type' => 'string',
+ 'example' => 'ccn-iz26o9zye6lhoo****',
+ ],
+ 'FlowLogIds' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'FlowLogId' => [
+ 'description' => 'The ID of the flow log with which the SAG instance is associated.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'fl-0vv40lyu2un5qh****',
+ ],
+ ],
+ ],
+ ],
+ 'SmartAGId' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-6z21oj0vjjrx6s****',
+ ],
+ 'InstanceType' => [
+ 'description' => 'The type of the SAG instance. Valid values:'."\n"
+ ."\n"
+ .'* **sag-1000**: indicates an SAG CPE instance and the instance is associated with an SAG-1000 device.'."\n"
+ .'* **sag-10wm**: indicates an SAG CPE instance and the instance is associated with an SAG-100WM device.'."\n"
+ .'* **sag-software**: indicates an SAG app instance.'."\n"
+ .'* **sag-vcpe**: an SAG vCPE instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-vcpe',
+ ],
+ 'ResellerUid' => [
+ 'description' => 'The ID of the third-party reseller.'."\n",
+ 'type' => 'string',
+ 'example' => '1210123456123456',
+ ],
+ 'SecurityLockThreshold' => [
+ 'description' => 'The time threshold. If the SAG device remains disconnected for the specified period of time, the SAG device is locked.'."\n"
+ ."\n"
+ .'Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3600',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the SAG instance. Valid values:'."\n"
+ ."\n"
+ .'* **Ordered**: The order is to be shipped.'."\n"
+ .'* **Delivered**: The SAG instance is shipped.'."\n"
+ .'* **Received**: The SAG instance is activated.'."\n"
+ .'* **Unconfirmed**: The SAG instance is to be confirmed.'."\n"
+ .'* **Active**: The SAG instance is available.'."\n"
+ .'* **Offline**: The SAG instance is disconnected.'."\n"
+ .'* **Arrearage**: The SAG device is locked due to overdue payments.'."\n",
+ 'type' => 'string',
+ 'example' => 'Active',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'F02D092B-A0B7-4BA1-BCA7-014B953C5DC7',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The timestamp when the SAG instance was created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1622617250000',
+ ],
+ 'DataPlan' => [
+ 'description' => 'The data transfer plan of the SAG instance. Unit: GB.'."\n"
+ ."\n"
+ .'> Each client account has a data transfer plan free of charge for 5 GB each month.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '5',
+ ],
+ 'EnableOptimization' => [
+ 'description' => 'Indicates whether the transmission optimization feature is enabled.'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'City' => [
+ 'description' => 'The ID of the city where the SAG device is deployed.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'ResellerInstanceId' => [
+ 'description' => 'The ID of the instance provided by the third-party reseller.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-v0fkpk4akfz5******',
+ ],
+ 'SerialNumber' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => 'sage6gsdllbidl****,sage6nniq3d****',
+ ],
+ 'BackupBoxControllerIp' => [
+ 'description' => 'The public IP address of the standby SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => '112.XX.XX.27',
+ ],
+ 'TrafficMasterSn' => [
+ 'description' => 'The serial number of the active SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => 'sage6nniq3d****',
+ ],
+ 'AccessPointId' => [
+ 'description' => 'The ID of the access point for the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => '238',
+ ],
+ 'Links' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Link' => [
+ 'description' => 'The connections between the on-premises network and Alibaba Cloud.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'HealthCheckTargetIp' => [
+ 'description' => 'The IP address of the virtual border router (VBR).'."\n"
+ ."\n"
+ .'> When you create a health check for an Express Connect circuit, you must specify the IP address of the VBR as the destination address.'."\n",
+ 'type' => 'string',
+ 'example' => '100.XX.XX.144',
+ ],
+ 'EndTime' => [
+ 'description' => 'The timestamp when the connection expires.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1628265600000',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the network connection.'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ ."\n"
+ .'* **Ordered**: The order is to be shipped.'."\n"
+ .'* **Delivered**: The order is shipped.'."\n"
+ .'* **Offline**: The connection is disconnected.'."\n"
+ .'* **Active**: The connection is available.'."\n"
+ .'* **Arrearage**: The connection is locked due to overdue payments.'."\n"
+ ."\n"
+ .'The status of the Express Connect circuit:'."\n"
+ ."\n"
+ .'* **normal**: working as expected.'."\n"
+ .'* **arrears**: locked due to overdue payments.'."\n",
+ 'type' => 'string',
+ 'example' => 'Active',
+ ],
+ 'Type' => [
+ 'description' => 'The type of the network connection. Valid values:'."\n"
+ ."\n"
+ .'* **ccn**: The on-premises network is connected to Alibaba Cloud through CCN.'."\n"
+ .'* **vbr**: indicates that the on-premises network is connected to Alibaba Cloud through VBRs and Express Connect circuits.'."\n",
+ 'type' => 'string',
+ 'example' => 'ccn',
+ ],
+ 'Bandwidth' => [
+ 'description' => 'The bandwidth of the connection. Unit: Mbit/s.'."\n",
+ 'type' => 'string',
+ 'example' => '50 M',
+ ],
+ 'RelateInstanceRegionId' => [
+ 'description' => 'The region ID of the instance with which the connection is associated.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'RelateInstanceId' => [
+ 'description' => 'The ID of the instance associated with the connection.'."\n",
+ 'type' => 'string',
+ 'example' => 'ccn-iz26o9zye6lho****',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the product instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-6z21oj0vjjrx****',
+ ],
+ 'CommodityType' => [
+ 'description' => 'The product type of bandwidth. Valid values:'."\n"
+ ."\n"
+ .'* **bandwidth**: The SAG instance and bandwidth resources can be separately purchased.'."\n"
+ .'* **smartag**: The SAG instance and bandwidth resources must be purchased as a bundle.'."\n",
+ 'type' => 'string',
+ 'example' => 'smartag',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'AclIds' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'AclId' => [
+ 'description' => 'The ID of the access control list (ACL) with which the SAG instance is associated.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'acl-9p14e8y1red6kv****',
+ ],
+ ],
+ ],
+ ],
+ 'ApplicationBandwidthPackageId' => [
+ 'description' => 'The ID of the bandwidth plan for application acceleration that is associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'abwp-7963l7iqnquyj3****',
+ ],
+ 'ApplicationBandwidthPackageName' => [
+ 'description' => 'The name of the bandwidth plan for application acceleration that is associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'testname',
+ ],
+ 'AccelerateBandwidth' => [
+ 'description' => 'The maximum bandwidth value for application acceleration. Unit: Mbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'ApplicationBandwidthPackageBussinessStatus' => [
+ 'description' => 'The status of the bandwidth plan for application acceleration. Valid value:'."\n"
+ ."\n"
+ .'* **Abnormal**: abnormal'."\n"
+ .'* **Normal**: normal'."\n",
+ 'type' => 'string',
+ 'example' => 'Normal',
+ ],
+ 'ApplicationBandwidthPackageOperationLocks' => [
+ 'description' => 'Indicates whether the bandwidth plan is locked.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'LockType' => [
+ 'description' => 'The lock mode of the instance. The value is set to **FinancialLocked**.'."\n",
+ 'type' => 'string',
+ 'example' => 'FinancialLocked',
+ ],
+ 'LockReason' => [
+ 'description' => 'The reason why the instance was locked.'."\n",
+ 'type' => 'string',
+ 'example' => 'Message',
+ ],
+ ],
+ ],
+ 'Position' => [
+ 'description' => 'The location of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'EnableSoftwareConnectionAudit' => [
+ 'description' => 'Indicates whether the audit log for connections to the SAG app instance is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **true**: enabled'."\n"
+ .'* **false**: disabled'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"UpBandwidth4G\\": 3,\\n \\"Description\\": \\"testdesc\\",\\n \\"EndTime\\": 1628265600000,\\n \\"ResourceGroupId\\": \\"rg-acfm2iu4fnc****\\",\\n \\"UserCount\\": 3,\\n \\"AssociatedCcnName\\": \\"testname\\",\\n \\"MaxBandwidth\\": \\"50 M\\",\\n \\"VpnStatus\\": \\"down\\",\\n \\"BoxControllerIp\\": \\"112.XX.XX.25\\",\\n \\"UpBandwidthWan\\": 4,\\n \\"CidrBlock\\": \\"10.0.9.0/24\\",\\n \\"QosIds\\": {\\n \\"QosId\\": [\\n \\"qos-yca8p30w1jcrbt****\\"\\n ]\\n },\\n \\"IRIds\\": {\\n \\"IRId\\": [\\n \\"ir-yca8p30w1jcrbt****\\"\\n ]\\n },\\n \\"Devices\\": {\\n \\"Device\\": [\\n {\\n \\"SerialNumber\\": \\"sage6gsdllbid****\\\\\\"\\",\\n \\"HaState\\": \\"Active\\",\\n \\"SecretKey\\": \\"+T4nV8xkS4****\\",\\n \\"DpiSignatureDbVersion\\": \\"20201117_1_0-0.0.1\\",\\n \\"SoftwareVersion\\": \\"2.3.0.0\\",\\n \\"DistributeSkStatus\\": 1,\\n \\"MonitorVersion\\": \\"0.1.11.17\\",\\n \\"HcState\\": \\"online\\"\\n }\\n ]\\n },\\n \\"Name\\": \\"testname\\",\\n \\"OptimizationType\\": true,\\n \\"IpsecStatus\\": \\"up\\",\\n \\"RoutingStrategy\\": \\"static\\",\\n \\"AssociatedCcnId\\": \\"ccn-iz26o9zye6lhoo****\\",\\n \\"FlowLogIds\\": {\\n \\"FlowLogId\\": [\\n \\"fl-0vv40lyu2un5qh****\\"\\n ]\\n },\\n \\"SmartAGId\\": \\"sag-6z21oj0vjjrx6s****\\",\\n \\"InstanceType\\": \\"sag-vcpe\\",\\n \\"ResellerUid\\": \\"1210123456123456\\",\\n \\"SecurityLockThreshold\\": 3600,\\n \\"Status\\": \\"Active\\",\\n \\"RequestId\\": \\"F02D092B-A0B7-4BA1-BCA7-014B953C5DC7\\",\\n \\"CreateTime\\": 1622617250000,\\n \\"DataPlan\\": 5,\\n \\"EnableOptimization\\": false,\\n \\"City\\": \\"cn-shanghai\\",\\n \\"ResellerInstanceId\\": \\"sag-v0fkpk4akfz5******\\",\\n \\"SerialNumber\\": \\"sage6gsdllbidl****,sage6nniq3d****\\",\\n \\"BackupBoxControllerIp\\": \\"112.XX.XX.27\\",\\n \\"TrafficMasterSn\\": \\"sage6nniq3d****\\",\\n \\"AccessPointId\\": \\"238\\",\\n \\"Links\\": {\\n \\"Link\\": [\\n {\\n \\"HealthCheckTargetIp\\": \\"100.XX.XX.144\\",\\n \\"EndTime\\": 1628265600000,\\n \\"Status\\": \\"Active\\",\\n \\"Type\\": \\"ccn\\",\\n \\"Bandwidth\\": \\"50 M\\",\\n \\"RelateInstanceRegionId\\": \\"cn-shanghai\\",\\n \\"RelateInstanceId\\": \\"ccn-iz26o9zye6lho****\\",\\n \\"InstanceId\\": \\"sag-6z21oj0vjjrx****\\",\\n \\"CommodityType\\": \\"smartag\\"\\n }\\n ]\\n },\\n \\"AclIds\\": {\\n \\"AclId\\": [\\n \\"acl-9p14e8y1red6kv****\\"\\n ]\\n },\\n \\"ApplicationBandwidthPackageId\\": \\"abwp-7963l7iqnquyj3****\\",\\n \\"ApplicationBandwidthPackageName\\": \\"testname\\",\\n \\"AccelerateBandwidth\\": 1,\\n \\"ApplicationBandwidthPackageBussinessStatus\\": \\"Normal\\",\\n \\"ApplicationBandwidthPackageOperationLocks\\": {\\n \\"LockType\\": \\"FinancialLocked\\",\\n \\"LockReason\\": \\"Message\\"\\n },\\n \\"Position\\": \\"shanghai\\",\\n \\"EnableSoftwareConnectionAudit\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeSmartAccessGatewayAttributeResponse>\\n <UpBandwidth4G>3</UpBandwidth4G>\\n <Description>testdesc</Description>\\n <EndTime>1628265600000</EndTime>\\n <ResourceGroupId>rg-acfm2iu4fnc****</ResourceGroupId>\\n <UserCount>3</UserCount>\\n <AssociatedCcnName>testname</AssociatedCcnName>\\n <MaxBandwidth>50 M</MaxBandwidth>\\n <VpnStatus>down</VpnStatus>\\n <BoxControllerIp>112.XX.XX.25</BoxControllerIp>\\n <UpBandwidthWan>4</UpBandwidthWan>\\n <CidrBlock>10.0.9.0/24</CidrBlock>\\n <QosIds>qos-yca8p30w1jcrbt****</QosIds>\\n <IRIds>ir-yca8p30w1jcrbt****</IRIds>\\n <Devices>\\n <SerialNumber>sage6gsdllbid****\\"</SerialNumber>\\n <HaState>Active</HaState>\\n <SecretKey>+T4nV8xkS4****</SecretKey>\\n <DpiSignatureDbVersion>20201117_1_0-0.0.1</DpiSignatureDbVersion>\\n <SoftwareVersion>2.3.0.0</SoftwareVersion>\\n <DistributeSkStatus>1</DistributeSkStatus>\\n <MonitorVersion>0.1.11.17</MonitorVersion>\\n <HcState>online</HcState>\\n </Devices>\\n <Name>testname</Name>\\n <OptimizationType>false</OptimizationType>\\n <IpsecStatus>up</IpsecStatus>\\n <RoutingStrategy>static</RoutingStrategy>\\n <AssociatedCcnId>ccn-iz26o9zye6lhoo****</AssociatedCcnId>\\n <FlowLogIds>fl-0vv40lyu2un5qh****</FlowLogIds>\\n <SmartAGId>sag-6z21oj0vjjrx6s****</SmartAGId>\\n <InstanceType>sag-vcpe</InstanceType>\\n <ResellerUid>1210123456123456</ResellerUid>\\n <SecurityLockThreshold>3600</SecurityLockThreshold>\\n <Status>Active</Status>\\n <RequestId>F02D092B-A0B7-4BA1-BCA7-014B953C5DC7</RequestId>\\n <CreateTime>1622617250000</CreateTime>\\n <DataPlan>5</DataPlan>\\n <EnableOptimization>false</EnableOptimization>\\n <City>cn-shanghai</City>\\n <ResellerInstanceId>sag-v0fkpk4akfz5******</ResellerInstanceId>\\n <SerialNumber>sage6gsdllbidl****,sage6nniq3d****</SerialNumber>\\n <BackupBoxControllerIp>112.XX.XX.27</BackupBoxControllerIp>\\n <TrafficMasterSn>sage6nniq3d****</TrafficMasterSn>\\n <AccessPointId>238</AccessPointId>\\n <Links>\\n <HealthCheckTargetIp>100.XX.XX.144</HealthCheckTargetIp>\\n <EndTime>1628265600000</EndTime>\\n <Status>Active</Status>\\n <Type>ccn</Type>\\n <Bandwidth>50 M</Bandwidth>\\n <RelateInstanceRegionId>cn-shanghai</RelateInstanceRegionId>\\n <RelateInstanceId>ccn-iz26o9zye6lho****</RelateInstanceId>\\n <InstanceId>sag-6z21oj0vjjrx****</InstanceId>\\n <CommodityType>smartag</CommodityType>\\n </Links>\\n <AclIds>acl-9p14e8y1red6kv****</AclIds>\\n <ApplicationBandwidthPackageId>abwp-7963l7iqnquyj3****</ApplicationBandwidthPackageId>\\n <ApplicationBandwidthPackageName>testname</ApplicationBandwidthPackageName>\\n <AccelerateBandwidth>1</AccelerateBandwidth>\\n <ApplicationBandwidthPackageBussinessStatus>Normal</ApplicationBandwidthPackageBussinessStatus>\\n <ApplicationBandwidthPackageOperationLocks>\\n <LockType>FinancialLocked</LockType>\\n <LockReason>Message</LockReason>\\n </ApplicationBandwidthPackageOperationLocks>\\n <Position>阿里巴巴西溪园区</Position>\\n <EnableSoftwareConnectionAudit>true</EnableSoftwareConnectionAudit>\\n</DescribeSmartAccessGatewayAttributeResponse>","errorExample":""}]',
+ 'title' => 'DescribeSmartAccessGatewayAttribute',
+ 'summary' => 'Queries the information about a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetSmartAccessGatewayUseLimit' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'UsedAmount' => [
+ 'description' => 'The number of SAG instances that you have purchased.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '47',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '2265DB11-F5CC-496E-ADE7-D043AC37926A',
+ ],
+ 'TotalAmount' => [
+ 'description' => 'The total number of SAG instances that you can purchase.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '500',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"UsedAmount\\": 47,\\n \\"RequestId\\": \\"2265DB11-F5CC-496E-ADE7-D043AC37926A\\",\\n \\"TotalAmount\\": 500\\n}","errorExample":"{\\n \\"RequestId\\": \\"2265DB11-F5CC-496E-ADE7-D043AC37926A\\",\\n \\"TotalAmount\\": 500,\\n \\"UsedAmount\\": 47\\n}"},{"type":"xml","example":"<GetSmartAccessGatewayUseLimitResponse>\\r\\n <RequestId>2265DB11-F5CC-496E-ADE7-D043AC37926A</RequestId> \\r\\n <TotalAmount>500</TotalAmount> \\r\\n <UsedAmount>47</UsedAmount>\\r\\n</GetSmartAccessGatewayUseLimitResponse>","errorExample":"https://smartag.cn-shanghai.aliyuncs.com/?Action=GetSmartAccessGatewayUseLimit\\n&SmartAGId=sag-0ovhf732a9j0pt0aeo\\n&Name=DocTest\\n&CommonParameters"}]',
+ 'title' => 'GetSmartAccessGatewayUseLimit',
+ 'summary' => 'Queries the number of Smart Access Gateway (SAG) instances that you can purchase.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSmartAccessGatewayVersions' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-d3m51apgw4po5*****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sage62x022502****',
+ ],
+ ],
+ [
+ 'name' => 'VersionType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of software run by the SAG device. Valid values:'."\n"
+ ."\n"
+ .'* **Device**: The operating system run by the SAG device. This is the default value.'."\n"
+ .'* **Dpi**: The signature database used by the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Device',
+ 'default' => 'Device',
+ 'enum' => [
+ 'Device',
+ 'Dpi',
+ ],
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '765AB188-69BF-47C6-BEDD-B9FC72BFBB0',
+ ],
+ 'SmartAGVersions' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SmartAGVersion' => [
+ 'description' => 'The information about the version of the SAG device.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => 'The type of the version. Valid values:'."\n"
+ ."\n"
+ .'* **beta**: a preview version.'."\n"
+ .'* **release**: an officially released version.'."\n",
+ 'type' => 'string',
+ 'example' => 'release',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The timestamp when the version was released.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1522744623000',
+ ],
+ 'VersionName' => [
+ 'description' => 'The name of the version.'."\n",
+ 'type' => 'string',
+ 'example' => 'testpackage1',
+ ],
+ 'VersionCode' => [
+ 'description' => 'The version number.'."\n",
+ 'type' => 'string',
+ 'example' => '1.0',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'VersionNotExist',
+ 'errorMessage' => 'The specified version does not exist.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"765AB188-69BF-47C6-BEDD-B9FC72BFBB0\\",\\n \\"SmartAGVersions\\": {\\n \\"SmartAGVersion\\": [\\n {\\n \\"Type\\": \\"release\\",\\n \\"CreateTime\\": 1522744623000,\\n \\"VersionName\\": \\"testpackage1\\",\\n \\"VersionCode\\": \\"1.0\\"\\n }\\n ]\\n }\\n}","errorExample":"{\\n\\"SmartAGVersions\\": {\\n\\"SmartAGVersion\\": [\\n{\\n\\"CreateTime\\": 1522744623000,\\n\\"VersionCode\\": \\"1.0\\",\\n\\"VersionName\\": \\"testpackage1\\"\\n}\\n]\\n},\\n\\"RequestId\\": \\"765AB188-69BF-47C6-BEDD-B9FC72BFBB00\\"\\n}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<DescribeSmartAccessGatewayVersionsResponse>\\n <SmartAGVersions>\\n <SmartAGVersion>\\n <Type>release</Type>\\n <CreateTime>1522744623000</CreateTime>\\n <VersionCode>1.0</VersionCode>\\n <VersionName>testpackage1</VersionName>\\n </SmartAGVersion>\\n </SmartAGVersions>\\n <RequestId>765AB188-69BF-47C6-BEDD-B9FC72BFBB00</RequestId>\\n</DescribeSmartAccessGatewayVersionsResponse>","errorExample":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<DescribeSmartAccessGatewayVersionsResponse>\\n <SmartAGVersions>\\n <SmartAGVersion>\\n <CreateTime>1522744623000</CreateTime>\\n <VersionCode>1.0</VersionCode>\\n <VersionName>testpackage1</VersionName>\\n </SmartAGVersion>\\n </SmartAGVersions>\\n <RequestId>765AB188-69BF-47C6-BEDD-B9FC72BFBB00</RequestId>\\n</DescribeSmartAccessGatewayVersionsResponse>"}]',
+ 'title' => 'DescribeSmartAccessGatewayVersions',
+ 'summary' => 'Queries the version of a Smart Access Gateway (SAG) device.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSagTrafficTopN' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'Size',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of SAG instances to be queried. Default value:**10**. This value cannot be modified.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '10',
+ 'minimum' => '10',
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'AFF7E5A6-6897-4FDC-A5A8-1978B5B3E545',
+ ],
+ 'TrafficTopN' => [
+ 'description' => 'The information about the data transfer rate of the SAG instance.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TrafficRate' => [
+ 'description' => 'The data transfer rate of the SAG instance. Unit: bit/s'."\n",
+ 'type' => 'string',
+ 'example' => '3866.6666666666665',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-whfn****',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'RegionId' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AFF7E5A6-6897-4FDC-A5A8-1978B5B3E545\\",\\n \\"TrafficTopN\\": [\\n {\\n \\"TrafficRate\\": \\"3866.6666666666665\\",\\n \\"InstanceId\\": \\"sag-whfn****\\",\\n \\"Name\\": \\"test\\",\\n \\"RegionId\\": \\"cn-shanghai\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSagTrafficTopNResponse>\\n<RequestId>0390E09B-8824-4B79-A27E-35BE65DA8E48</RequestId>\\n<TrafficTopN>\\n <InstanceId>sag-moa1tjqpa7zbik****</InstanceId>\\n <TrafficRate>3900.0</TrafficRate>\\n <RegionId>cn-shanghai</RegionId>\\n <Name>jitest</Name>\\n</TrafficTopN>\\n<TrafficTopN>\\n <InstanceId>sag-7zyvg7fpk16p15****</InstanceId>\\n <TrafficRate>1243.2</TrafficRate>\\n <RegionId>cn-shanghai</RegionId>\\n <Name>chutest</Name>\\n</TrafficTopN>\\n</DescribeSagTrafficTopNResponse>","errorExample":""}]',
+ 'title' => 'DescribeSagTrafficTopN',
+ 'summary' => 'You can call this operation to query the top 10 Smart Access Gateway (SAG) instances that have the highest data transfer rates in a specific region.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSagDropTopN' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'Size',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of SAG instances to be queried. Default value:**10**. This value cannot be modified.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '10',
+ 'minimum' => '10',
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'AFF7E5A6-6897-4FDC-A5A8-1978B5B3E545',
+ ],
+ 'DropTopN' => [
+ 'description' => 'The information about packets dropped by the SAG instance.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DropRate' => [
+ 'description' => 'The packet loss rate of the SAG instance. Unit: packets per second (PPS).'."\n",
+ 'type' => 'string',
+ 'example' => '0.0',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-whfn****',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'RegionId' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AFF7E5A6-6897-4FDC-A5A8-1978B5B3E545\\",\\n \\"DropTopN\\": [\\n {\\n \\"DropRate\\": \\"0.0\\",\\n \\"InstanceId\\": \\"sag-whfn****\\",\\n \\"Name\\": \\"test\\",\\n \\"RegionId\\": \\"cn-shanghai\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSagDropTopNResponse>\\n<RequestId>58853663-5DFE-47A1-A69F-F0290BBFBC0A</RequestId>\\n<DropTopN>\\n <InstanceId>sag-p6ctq4o5bey3e9****</InstanceId>\\n <RegionId>cn-shanghai</RegionId>\\n <DropRate>0.0</DropRate>\\n <Name>ccntest</Name>\\n</DropTopN>\\n<DropTopN>\\n <InstanceId>sag-on7qvl3pv52l33****</InstanceId>\\n <RegionId>cn-shanghai</RegionId>\\n <DropRate>0.0</DropRate>\\n <Name>Tutest</Name>\\n</DropTopN>\\n<DropTopN>\\n <InstanceId>sag-7zyvg7fpk16p15****</InstanceId>\\n <RegionId>cn-shanghai</RegionId>\\n <DropRate>0.0</DropRate>\\n <Name>chtest</Name>\\n</DropTopN>\\n</DescribeSagDropTopNResponse>","errorExample":""}]',
+ 'title' => 'DescribeSagDropTopN',
+ 'summary' => 'You can call this operation to query the top 10 Smart Access Gateway (SAG) instances that have the highest packet loss rates in a specific region.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSAGDeviceInfo' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-7f3d9b6jwnuqn6****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'ServiceIP' => [
+ 'description' => 'The IP address of the SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => '42.XX.XX.151',
+ ],
+ 'ControllerState' => [
+ 'description' => 'The control status of the SAG device. Valid values:'."\n"
+ ."\n"
+ .'* **Normal**: normal'."\n"
+ .'* **Abnormal**: abnormal'."\n",
+ 'type' => 'string',
+ 'example' => 'Normal',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'B6A991F4-F533-1627-8144-B64E01C5EE85',
+ ],
+ 'SynStatus' => [
+ 'description' => 'Indicates whether the settings of the SAG device are synchronized to Alibaba Cloud. Valid values:'."\n"
+ ."\n"
+ .'* **Synchronized**: synchronized'."\n"
+ .'* **Unsynchronized**: unsynchronized'."\n"
+ .'* **Synchronizing**: being synchronized'."\n",
+ 'type' => 'string',
+ 'example' => 'Unsynchronized',
+ ],
+ 'SmartAGType' => [
+ 'description' => 'The model of the SAG device. Valid values:'."\n"
+ ."\n"
+ .'* **sag-100wm**'."\n"
+ .'* **sag-1000**'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-100wm',
+ ],
+ 'Version' => [
+ 'description' => 'The version of the SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => '2.3.1.1',
+ ],
+ 'VpnState' => [
+ 'description' => 'The VPN connection status of the SAG device. Valid values:'."\n"
+ ."\n"
+ .'* **Normal**: normal'."\n"
+ .'* **Abnormal**: abnormal'."\n",
+ 'type' => 'string',
+ 'example' => 'Abnormal',
+ ],
+ 'StartupTime' => [
+ 'description' => 'The time when the SAG device was started.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-06-15 17:33:43',
+ ],
+ 'LastConnectedControllerTime' => [
+ 'description' => 'The last time when the SAG device was connected to Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => '2021-07-14 00:27:48',
+ ],
+ 'ResettableStatus' => [
+ 'description' => 'Indicates whether the reset button of the SAG device is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **Enabled**: enabled'."\n"
+ .'* **Disabled**: disabled'."\n",
+ 'type' => 'string',
+ 'example' => 'Enabled',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"ServiceIP\\": \\"42.XX.XX.151\\",\\n \\"ControllerState\\": \\"Normal\\",\\n \\"RequestId\\": \\"B6A991F4-F533-1627-8144-B64E01C5EE85\\",\\n \\"SynStatus\\": \\"Unsynchronized\\",\\n \\"SmartAGType\\": \\"sag-100wm\\",\\n \\"Version\\": \\"2.3.1.1\\",\\n \\"VpnState\\": \\"Abnormal\\",\\n \\"StartupTime\\": \\"2021-06-15 17:33:43\\",\\n \\"LastConnectedControllerTime\\": \\"2021-07-14 00:27:48\\",\\n \\"ResettableStatus\\": \\"Enabled\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeSAGDeviceInfoResponse>\\n <ControllerState>Normal</ControllerState>\\n <RequestId>B6A991F4-F533-1627-8144-B64E01C5EE85</RequestId>\\n <SynStatus>Unsynchronized</SynStatus>\\n <SmartAGType>sag-100wm</SmartAGType>\\n <Version>2.3.1.1</Version>\\n <VpnState>Abnormal</VpnState>\\n <StartupTime>2021-06-15 17:33:43</StartupTime>\\n <ResettableStatus>Enabled</ResettableStatus>\\n</DescribeSAGDeviceInfoResponse>","errorExample":""}]',
+ 'title' => 'DescribeSAGDeviceInfo',
+ 'summary' => 'Queries a Smart Access Gateway (SAG) device.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListSmartAGApiUnsupportedFeature' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance with which the SAG device is associated.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-4d6i45zess8nj4****',
+ ],
+ ],
+ [
+ 'name' => 'SerialNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sage62x052614****',
+ ],
+ ],
+ [
+ 'name' => 'OpenApiName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The API operation for the unsupported feature.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ModifySagWan',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '7459545D-2F0D-43E6-9957-CB7E0223332B',
+ ],
+ 'Features' => [
+ 'description' => 'A list of unsupported features.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Feature' => [
+ 'description' => 'The unsupported feature.'."\n"
+ ."\n"
+ .'For more information about the description of each feature, see the related API reference.'."\n",
+ 'type' => 'string',
+ 'example' => 'ISP',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidSmartAGId.NotFound',
+ 'errorMessage' => 'The specified SmartAGId does not exist.',
+ ],
+ [
+ 'errorCode' => 'Sag.DeviceNotExist',
+ 'errorMessage' => 'The specified device does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7459545D-2F0D-43E6-9957-CB7E0223332B\\",\\n \\"Features\\": [\\n {\\n \\"Feature\\": \\"ISP\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListSmartAGApiUnsupportedFeatureResponse>\\n <RequestId>7459545D-2F0D-43E6-9957-CB7E0223332B</RequestId>\\n <Features>\\n <Feature>ISP</Feature>\\n </Features>\\n</ListSmartAGApiUnsupportedFeatureResponse>","errorExample":""}]',
+ 'title' => 'ListSmartAGApiUnsupportedFeature',
+ 'summary' => 'Queries features that are not supported by a specified Smart Access Gateway (SAG) device.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeGrantSagRules' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-hdg*************',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number of the returned page.'."\n"
+ ."\n"
+ .'Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page.'."\n"
+ ."\n"
+ .'Default value: **10**. Maximum value: **50**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries to return on each page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '6E1674AC-083C-4031-B047-7A66E418E0C6',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'GrantRules' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'GrantRule' => [
+ 'description' => 'The information about the permissions that the SAG instance grants to the CCN instance of another Alibaba Cloud account.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CreateTime' => [
+ 'description' => 'The timestamp when the permissions were granted.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '156576751700',
+ ],
+ 'SmartAGId' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-hdhgn*****',
+ ],
+ 'GrantTrafficService' => [
+ 'description' => 'Indicates whether the CCN instance is granted permissions to manage network traffic from the SAG instance.'."\n"
+ ."\n"
+ .'* **true**: granted.'."\n"
+ .'* **false**: not granted.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => '123455',
+ ],
+ 'CcnUid' => [
+ 'description' => 'The user ID (UID) of the Alibaba Cloud account to which the CCN instance belongs.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '123456',
+ ],
+ 'CcnInstanceId' => [
+ 'description' => 'The ID of the CCN instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'ccn-hd**********',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 2,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"6E1674AC-083C-4031-B047-7A66E418E0C6\\",\\n \\"PageNumber\\": 2,\\n \\"GrantRules\\": {\\n \\"GrantRule\\": [\\n {\\n \\"CreateTime\\": 156576751700,\\n \\"SmartAGId\\": \\"sag-hdhgn*****\\",\\n \\"GrantTrafficService\\": false,\\n \\"InstanceId\\": \\"123455\\",\\n \\"CcnUid\\": 123456,\\n \\"CcnInstanceId\\": \\"ccn-hd**********\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeGrantSagRulesResponse>\\n<TotalCount>1</TotalCount>\\n<RequestId>72CD8E55-CAC3-416B-9E18-5FF60D991713</RequestId>\\n<PageSize>10</PageSize>\\n<PageNumber>1</PageNumber>\\n<GrantRules>\\n <GrantRule>\\n <InstanceId>16884015959****</InstanceId>\\n <GrantTrafficService>false</GrantTrafficService>\\n <CcnInstanceId>ccn-al2yjgtmsls4cu****</CcnInstanceId>\\n <CreateTime>1609382634000</CreateTime>\\n <CcnUid>13439858877****</CcnUid>\\n <SmartAGId>sag-0ep6gx9wjvly4m****</SmartAGId>\\n </GrantRule>\\n</GrantRules>\\n</DescribeGrantSagRulesResponse>","errorExample":""}]',
+ 'title' => 'DescribeGrantSagRules',
+ 'summary' => 'Queries the permission information about a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSmartAccessGateways' => [
+ 'summary' => 'Queries Smart Access Gateway (SAG) instances.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'AssociatedCcnId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the CCN instance with which the SAG instance is associated.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ccn-bxuau4ezctt****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sag-6z21oj0vjjrx6s****',
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The status of the SAG instance. Valid values:'."\n"
+ ."\n"
+ .'* **Ordered**: Your order has been placed.'."\n"
+ .'* **Delivered**: Your order has been shipped.'."\n"
+ .'* **Received**: You have received the SAG device.'."\n"
+ .'* **Returning**: The order is being returned.'."\n"
+ .'* **Active**: The SAG device is active.'."\n"
+ .'* **init**: The SAG device is being initialized.'."\n"
+ .'* **Offline**: The SAG device is disconnected.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Active',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the SAG instance.'."\n"
+ ."\n"
+ .'The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). The name must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'nametest',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Default value: **10**. Valid values: **1** to **50**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'SerialNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sag32a3****',
+ ],
+ ],
+ [
+ 'name' => 'AclIds',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the ACL with which the SAG instance is associated.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'acl-xhwhyuo43l0n****',
+ ],
+ ],
+ [
+ 'name' => 'UnboundAclIds',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the ACL rule.'."\n"
+ ."\n"
+ .'Specifies that the SAG instance which is not associated with the ACL is queried. Separate ACL IDs with commas (,).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'acl-sjfbgngj****',
+ ],
+ ],
+ [
+ 'name' => 'InstanceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the SAG instance. Valid values:'."\n"
+ ."\n"
+ .'* **software**: an SAG app instance'."\n"
+ .'* **hardware**: an SAG CPE instance'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'hardware',
+ 'enum' => [
+ 'software',
+ 'hardware',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'CanAssociateQos',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether the SAG instance can be associated with a quality of service (QoS) policy. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n"
+ ."\n"
+ .'Specifies whether to query SAG instances that cannot be associated with QoS policies.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'HardwareType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The model of SAG device. Valid values:'."\n"
+ ."\n"
+ .'* **sag-1000**'."\n"
+ .'* **sag-100wm**'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sag-100wm',
+ ],
+ ],
+ [
+ 'name' => 'SoftwareVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The software version of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2.3.0.0',
+ ],
+ ],
+ [
+ 'name' => 'VersionComparator',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version filter. Valid values:'."\n"
+ ."\n"
+ .'* **greater**: later than the current version'."\n"
+ .'* **less**: earlier than the current version'."\n"
+ .'* **equals**: equal to the current version'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'equals',
+ ],
+ ],
+ [
+ 'name' => 'BusinessState',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The business status of the SAG instance. Valid values:'."\n"
+ ."\n"
+ .'* **Normal**: running as expected.'."\n"
+ .'* **Arrearage**: locked due to overdue payments.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Normal',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the resource group to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfm2iu4fnc****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The IDs of the SAG instances.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sag-6z21oj0vjjrx6s****',
+ ],
+ 'required' => false,
+ 'maxItems' => 50,
+ ],
+ ],
+ [
+ 'name' => 'AssociatedCcnName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the associated CCN instance.'."\n"
+ ."\n"
+ .'The name must be 2 to 100 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ccn',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'ADE68CEE-8E4F-4D0B-9EE9-2C2FFAABF41F',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'SmartAccessGateways' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SmartAccessGateway' => [
+ 'description' => 'A list of SAG instances.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The information about the SAG instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'SerialNumber' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => 'sage6gsdllbid****,sage6nniq3dqa****',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the SAG instance. Valid values:'."\n"
+ ."\n"
+ .'* **Ordered**: Your order has been placed.'."\n"
+ .'* **Delivered**: Your order has been shipped.'."\n"
+ .'* **Received**: You have received the SAG device.'."\n"
+ .'* **Returning**: The order is being returned.'."\n"
+ .'* **Active**: The SAG device is active.'."\n"
+ .'* **init**: The SAG device is being initialized.'."\n"
+ .'* **Offline**: The SAG device is disconnected.'."\n",
+ 'type' => 'string',
+ 'example' => 'Active',
+ ],
+ 'UpBandwidth4G' => [
+ 'description' => 'The maximum upstream bandwidth of 4G network connections established by the SAG device. Unit: Mbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'BackupStatus' => [
+ 'description' => 'The status of the SAG backup device.',
+ 'type' => 'string',
+ 'example' => 'Active',
+ ],
+ 'IdaasApplicationId' => [
+ 'description' => 'The ID of the Identity as a Service (IDaaS) application associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'idaas-cn-hangzhou-l7j0wf0crzea****',
+ ],
+ 'SoftwareVersion' => [
+ 'description' => 'The software version of the active SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => '2.3.0.0',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The timestamp when the SAG instance was created. Unit: milliseconds.'."\n"
+ ."\n"
+ .'This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1622617250000',
+ ],
+ 'SmartAGId' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-6z21oj0vjjrx6s****',
+ ],
+ 'UpBandwidthWan' => [
+ 'description' => 'The maximum upstream bandwidth of network connections established on the WAN port of the SAG device. Unit: Mbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'City' => [
+ 'description' => 'The ID of the city where the SAG device is deployed.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'AclIds' => [
+ 'description' => 'The ID of the ACL with which the SAG instance is associated.'."\n",
+ 'type' => 'string',
+ 'example' => 'acl-shfhfhhfbnvkdg****',
+ ],
+ 'QosIds' => [
+ 'description' => 'The ID of the QoS policy associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'qos-djh****',
+ ],
+ 'IRIds' => [
+ 'description' => 'The IDs of the intelligent routing policies that are associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'ir-7unf5nom01ygrg****',
+ ],
+ 'CidrBlock' => [
+ 'description' => 'The private CIDR block of the destination network with which the on-premises network or client needs to communicate.'."\n",
+ 'type' => 'string',
+ 'example' => '10.0.9.0/24',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'docdesc',
+ ],
+ 'IpsecStatus' => [
+ 'description' => 'The status of the IPsec-VPN connection. Valid values:'."\n"
+ ."\n"
+ .'* **up**: normal'."\n"
+ .'* **down**: abnormal'."\n",
+ 'type' => 'string',
+ 'example' => 'up',
+ ],
+ 'EnterpriseCode' => [
+ 'description' => 'The ID of the enterprise code associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => '12P****',
+ ],
+ 'DpiStatus' => [
+ 'description' => 'The status of the deep packet inspection (DPI) feature. Valid values:'."\n"
+ ."\n"
+ .'* **On**: enabled'."\n"
+ .'* **Off**: disabled'."\n",
+ 'type' => 'string',
+ 'example' => 'Off',
+ ],
+ 'AssociatedCcnId' => [
+ 'description' => 'The ID of the CCN instance with which the SAG instance is associated.'."\n",
+ 'type' => 'string',
+ 'example' => 'ccn-iz26o9zye6lhoo****',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'testname',
+ ],
+ 'HardwareVersion' => [
+ 'description' => 'The type of the SAG instance. Valid values:'."\n"
+ ."\n"
+ .'* **sag-1000**: an SAG CPE instance that is associated with an SAG-1000 device.'."\n"
+ .'* **sag-100wm**: an SAG CPE instance that is associated with an SAG-100WM device.'."\n"
+ .'* **sag-software**: an SAG app instance.'."\n"
+ .'* **sag-vcpe**: an SAG vCPE instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-100wm',
+ ],
+ 'IdaasId' => [
+ 'description' => 'The ID of the IDaaS instance with which the SAG instance is associated.'."\n",
+ 'type' => 'string',
+ 'example' => 'idaas-cn-hangzhou-1ahixtl****',
+ ],
+ 'DataPlan' => [
+ 'description' => 'The data transfer plan of the SAG instance. Unit: GB.'."\n"
+ ."\n"
+ .'> Each client account is assigned a free data transfer quota of 5 GB per month.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '5',
+ ],
+ 'AssociatedCcnName' => [
+ 'description' => 'The name of the CCN instance associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'ccn',
+ ],
+ 'ResellerUid' => [
+ 'description' => 'The Alibaba Cloud account ID of the third-party reseller.'."\n",
+ 'type' => 'string',
+ 'example' => '25346073170691****',
+ ],
+ 'DpiMonitorStatus' => [
+ 'description' => 'The status of the DPI-based monitoring feature. Valid values:'."\n"
+ ."\n"
+ .'* **Active**: enabled'."\n"
+ .'* **Inactive**: disabled'."\n",
+ 'type' => 'string',
+ 'example' => 'Inactive',
+ ],
+ 'MaxBandwidth' => [
+ 'description' => 'The maximum bandwidth value of the SAG instance. Unit: Mbit/s.'."\n",
+ 'type' => 'string',
+ 'example' => '50M',
+ ],
+ 'SmartAGUid' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1210123456123456',
+ ],
+ 'BackupSoftwareVersion' => [
+ 'description' => 'The software version of the standby SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => '2.3.0.0',
+ ],
+ 'EndTime' => [
+ 'description' => 'The timestamp when the SAG instance expires. Unit: milliseconds.'."\n"
+ ."\n"
+ .'This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1628265600000',
+ ],
+ 'ResellerInstanceId' => [
+ 'description' => 'The ID of the SAG instance that belongs to the reseller.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-v0fkpk4akfz5****',
+ ],
+ 'VpnStatus' => [
+ 'description' => 'The status of the VPN connection. Valid values:'."\n"
+ ."\n"
+ .'* **up**: normal'."\n"
+ .'* **down**: abnormal'."\n",
+ 'type' => 'string',
+ 'example' => 'down',
+ ],
+ 'RoutingStrategy' => [
+ 'description' => 'The method that the SAG instance uses to advertise routes to Alibaba Cloud.'."\n"
+ ."\n"
+ .'* **static**: static routing'."\n"
+ .'* **dynamic**: dynamic routing'."\n",
+ 'type' => 'string',
+ 'example' => 'static',
+ ],
+ 'SecurityLockThreshold' => [
+ 'description' => 'The time threshold. If the SAG device remains offline for the specified period of time, the SAG device is locked.'."\n"
+ ."\n"
+ .'Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3600',
+ ],
+ 'Links' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Link' => [
+ 'description' => 'A list of connections between the on-premises network and Alibaba Cloud.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => 'The type of the network connection. Valid values:'."\n"
+ ."\n"
+ .'* **ccn**: The on-premises network is connected to Alibaba Cloud through CCN.'."\n"
+ .'* **vbr**: The on-premises network is connected to Alibaba Cloud through virtual border routers (VBRs) and Express Connect circuits.'."\n",
+ 'type' => 'string',
+ 'example' => 'ccn',
+ ],
+ 'Status' => [
+ 'description' => 'The status of the network connection.'."\n"
+ ."\n"
+ .'Valid values:'."\n"
+ ."\n"
+ .'* **Ordered**: The order is to be shipped.'."\n"
+ .'* **Delivered**: The order is shipped.'."\n"
+ .'* **Offline**: The connection is disconnected.'."\n"
+ .'* **Active**: The SAG device is available.'."\n"
+ .'* **Arrearage**: The SAG device is locked due to overdue payments.'."\n"
+ ."\n"
+ .'The status of the Express Connect circuit. Valid values:'."\n"
+ ."\n"
+ .'* **normal**: normal'."\n"
+ .'* **arrears**: overdue payments'."\n",
+ 'type' => 'string',
+ 'example' => 'Active',
+ ],
+ 'EndTime' => [
+ 'description' => 'The timestamp when the connection expires. Unit: milliseconds.'."\n"
+ ."\n"
+ .'This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1628265600000',
+ ],
+ 'Bandwidth' => [
+ 'description' => 'The bandwidth value of the connection. Unit: Mbit/s.'."\n",
+ 'type' => 'string',
+ 'example' => '50M',
+ ],
+ 'RelateInstanceRegionId' => [
+ 'description' => 'The region ID of the instance with which the connection is associated.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'RelateInstanceId' => [
+ 'description' => 'The ID of the instance associated with the connection.'."\n",
+ 'type' => 'string',
+ 'example' => 'ccn-iz26o9zye6lhoo****',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the product instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-6z21oj0vjjrx6s****',
+ ],
+ 'CommodityType' => [
+ 'description' => 'The product type. Valid values:'."\n"
+ ."\n"
+ .'* **bandwidth**: The SAG instance and bandwidth resources can be separately purchased.'."\n"
+ .'* **smartag**: The SAG instance and bandwidth resources must be purchased as a bundle.'."\n",
+ 'type' => 'string',
+ 'example' => 'smartag',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'ResourceGroupId' => [
+ 'description' => 'The ID of the resource group to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'rg-acfm2iu4fnc****',
+ ],
+ 'UserCount' => [
+ 'description' => 'The number of client accounts for the SAG instance.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'AccessPointId' => [
+ 'description' => 'The ID of the access point for the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => '238',
+ ],
+ 'ApplicationBandwidthPackageId' => [
+ 'description' => 'The ID of the bandwidth plan for application acceleration that is associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'abwp-7963l7iqnquyj3****',
+ ],
+ 'AccelerateBandwidth' => [
+ 'description' => 'The maximum bandwidth value for application acceleration. Unit: Mbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ 'EnableSoftwareConnectionAudit' => [
+ 'description' => 'Indicates whether auditing is enabled for the network connection logs of the SAS app instance. Valid values:'."\n"
+ ."\n"
+ .'* **true**: enabled'."\n"
+ .'* **false**: disabled'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Position' => [
+ 'description' => 'The location information about the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => '\\[{\\\\"adcode\\\\":\\\\"\\\\",\\\\"label\\\\":\\\\"Jimo District, Qingdao, Shandong province\\\\",\\\\"value\\\\":\\\\"B02140800T\\\\",\\\\"center\\\\":\\\\"120.989576,36.487512\\\\",\\\\"\\_new\\\\":\\\\"true\\\\"}]'."\n",
+ ],
+ 'Isp' => [
+ 'description' => 'The Internet service provider (ISP) of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'China Telecom'."\n",
+ ],
+ 'EnableAdvancedMonitor' => [
+ 'description' => 'Indicates whether DPI is enabled for the SAG instance. Valid values:'."\n"
+ ."\n"
+ .'* **true**: enabled'."\n"
+ .'* **false**: disabled'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Param.InvalidVersionComparator',
+ 'errorMessage' => 'The specified version comparison operator is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidRegionID',
+ 'errorMessage' => 'The specified regionId does not exist.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"ADE68CEE-8E4F-4D0B-9EE9-2C2FFAABF41F\\",\\n \\"PageNumber\\": 1,\\n \\"SmartAccessGateways\\": {\\n \\"SmartAccessGateway\\": [\\n {\\n \\"SerialNumber\\": \\"sage6gsdllbid****,sage6nniq3dqa****\\",\\n \\"Status\\": \\"Active\\",\\n \\"UpBandwidth4G\\": 3,\\n \\"BackupStatus\\": \\"Active\\",\\n \\"IdaasApplicationId\\": \\"idaas-cn-hangzhou-l7j0wf0crzea****\\",\\n \\"SoftwareVersion\\": \\"2.3.0.0\\",\\n \\"CreateTime\\": 1622617250000,\\n \\"SmartAGId\\": \\"sag-6z21oj0vjjrx6s****\\",\\n \\"UpBandwidthWan\\": 2,\\n \\"City\\": \\"cn-shanghai\\",\\n \\"AclIds\\": \\"acl-shfhfhhfbnvkdg****\\",\\n \\"QosIds\\": \\"qos-djh****\\",\\n \\"IRIds\\": \\"ir-7unf5nom01ygrg****\\",\\n \\"CidrBlock\\": \\"10.0.9.0/24\\",\\n \\"Description\\": \\"docdesc\\",\\n \\"IpsecStatus\\": \\"up\\",\\n \\"EnterpriseCode\\": \\"12P****\\",\\n \\"DpiStatus\\": \\"Off\\",\\n \\"AssociatedCcnId\\": \\"ccn-iz26o9zye6lhoo****\\",\\n \\"Name\\": \\"testname\\",\\n \\"HardwareVersion\\": \\"sag-100wm\\",\\n \\"IdaasId\\": \\"idaas-cn-hangzhou-1ahixtl****\\",\\n \\"DataPlan\\": 5,\\n \\"AssociatedCcnName\\": \\"ccn\\",\\n \\"ResellerUid\\": \\"25346073170691****\\",\\n \\"DpiMonitorStatus\\": \\"Inactive\\",\\n \\"MaxBandwidth\\": \\"50M\\",\\n \\"SmartAGUid\\": 1210123456123456,\\n \\"BackupSoftwareVersion\\": \\"2.3.0.0\\",\\n \\"EndTime\\": 1628265600000,\\n \\"ResellerInstanceId\\": \\"sag-v0fkpk4akfz5****\\",\\n \\"VpnStatus\\": \\"down\\",\\n \\"RoutingStrategy\\": \\"static\\",\\n \\"SecurityLockThreshold\\": 3600,\\n \\"Links\\": {\\n \\"Link\\": [\\n {\\n \\"Type\\": \\"ccn\\",\\n \\"Status\\": \\"Active\\",\\n \\"EndTime\\": 1628265600000,\\n \\"Bandwidth\\": \\"50M\\",\\n \\"RelateInstanceRegionId\\": \\"cn-shanghai\\",\\n \\"RelateInstanceId\\": \\"ccn-iz26o9zye6lhoo****\\",\\n \\"InstanceId\\": \\"sag-6z21oj0vjjrx6s****\\",\\n \\"CommodityType\\": \\"smartag\\"\\n }\\n ]\\n },\\n \\"ResourceGroupId\\": \\"rg-acfm2iu4fnc****\\",\\n \\"UserCount\\": 3,\\n \\"AccessPointId\\": \\"238\\",\\n \\"ApplicationBandwidthPackageId\\": \\"abwp-7963l7iqnquyj3****\\",\\n \\"AccelerateBandwidth\\": 1,\\n \\"EnableSoftwareConnectionAudit\\": true,\\n \\"Position\\": \\"[{\\\\\\\\\\\\\\"adcode\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"label\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"山东省青岛市即墨区\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"B02140800T\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"center\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"120.989576,36.487512\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"_new\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"true\\\\\\\\\\\\\\"}]\\",\\n \\"Isp\\": \\"电信\\",\\n \\"EnableAdvancedMonitor\\": true\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeSmartAccessGatewaysResponse>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <RequestId>ADE68CEE-8E4F-4D0B-9EE9-2C2FFAABF41F</RequestId>\\n <PageNumber>1</PageNumber>\\n <SmartAccessGateways>\\n <SerialNumber>sage6gsdllbid****,sage6nniq3dqa****</SerialNumber>\\n <Status>Active</Status>\\n <UpBandwidth4G>3</UpBandwidth4G>\\n <BackupStatus>Active</BackupStatus>\\n <IdaasApplicationId>idaas-cn-hangzhou-l7j0wf0crzea****</IdaasApplicationId>\\n <SoftwareVersion>2.3.0.0</SoftwareVersion>\\n <CreateTime>1622617250000</CreateTime>\\n <SmartAGId>sag-6z21oj0vjjrx6s****</SmartAGId>\\n <UpBandwidthWan>2</UpBandwidthWan>\\n <City>cn-shanghai</City>\\n <AclIds>acl-shfhfhhfbnvkdg****</AclIds>\\n <QosIds>qos-djh****</QosIds>\\n <IRIds>ir-7unf5nom01ygrg****</IRIds>\\n <CidrBlock>10.0.9.0/24</CidrBlock>\\n <Description>docdesc</Description>\\n <IpsecStatus>up</IpsecStatus>\\n <EnterpriseCode>12P****</EnterpriseCode>\\n <DpiStatus>Off</DpiStatus>\\n <AssociatedCcnId>ccn-iz26o9zye6lhoo****</AssociatedCcnId>\\n <Name>testname</Name>\\n <HardwareVersion>sag-100wm</HardwareVersion>\\n <IdaasId>idaas-cn-hangzhou-1ahixtl****</IdaasId>\\n <DataPlan>5</DataPlan>\\n <AssociatedCcnName>ccn</AssociatedCcnName>\\n <ResellerUid>25346073170691****</ResellerUid>\\n <DpiMonitorStatus>Inactive</DpiMonitorStatus>\\n <MaxBandwidth>50M</MaxBandwidth>\\n <SmartAGUid>1210123456123456</SmartAGUid>\\n <BackupSoftwareVersion>2.3.0.0</BackupSoftwareVersion>\\n <EndTime>1628265600000</EndTime>\\n <ResellerInstanceId>sag-v0fkpk4akfz5****</ResellerInstanceId>\\n <VpnStatus>down</VpnStatus>\\n <RoutingStrategy>static</RoutingStrategy>\\n <SecurityLockThreshold>3600</SecurityLockThreshold>\\n <Links>\\n <Type>ccn</Type>\\n <Status>Active</Status>\\n <EndTime>1628265600000</EndTime>\\n <Bandwidth>50M</Bandwidth>\\n <RelateInstanceRegionId>cn-shanghai</RelateInstanceRegionId>\\n <RelateInstanceId>ccn-iz26o9zye6lhoo****</RelateInstanceId>\\n <InstanceId>sag-6z21oj0vjjrx6s****</InstanceId>\\n <CommodityType>smartag</CommodityType>\\n </Links>\\n <ResourceGroupId>rg-acfm2iu4fnc****</ResourceGroupId>\\n <UserCount>3</UserCount>\\n <AccessPointId>238</AccessPointId>\\n <ApplicationBandwidthPackageId>abwp-7963l7iqnquyj3****</ApplicationBandwidthPackageId>\\n <AccelerateBandwidth>1</AccelerateBandwidth>\\n <EnableSoftwareConnectionAudit>true</EnableSoftwareConnectionAudit>\\n <Position>[{\\\\\\"adcode\\\\\\":\\\\\\"\\\\\\",\\\\\\"label\\\\\\":\\\\\\"山东省青岛市即墨区\\\\\\",\\\\\\"value\\\\\\":\\\\\\"B02140800T\\\\\\",\\\\\\"center\\\\\\":\\\\\\"120.989576,36.487512\\\\\\",\\\\\\"_new\\\\\\":\\\\\\"true\\\\\\"}]</Position>\\n <Isp>电信</Isp>\\n <EnableAdvancedMonitor>true</EnableAdvancedMonitor>\\n </SmartAccessGateways>\\n</DescribeSmartAccessGatewaysResponse>","errorExample":""}]',
+ 'title' => 'DescribeSmartAccessGateways',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeDeviceAutoUpgradePolicy' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-kxe2cv7hot7qrv****',
+ ],
+ ],
+ [
+ 'name' => 'SerialNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sage62x022502****',
+ ],
+ ],
+ [
+ 'name' => 'VersionType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the software for which you want to query the automatic upgrade policy. Valid values:'."\n"
+ ."\n"
+ .'* **Device**: The operating system that is run by the SAG instance.'."\n"
+ .'* **Dpi**: The signature database that is used by the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Device',
+ 'default' => 'Device',
+ 'enum' => [
+ 'Device',
+ 'Dpi',
+ ],
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'UpgradeType' => [
+ 'description' => 'The update type. Valid values:'."\n"
+ ."\n"
+ .'* **scheduled**: scheduled upgrade.'."\n"
+ .'* **boot**: automatic upgrade upon instance startup.'."\n"
+ .'* **manual**: manual upgrade.'."\n",
+ 'type' => 'string',
+ 'example' => 'scheduled',
+ ],
+ 'TimeZone' => [
+ 'description' => 'The time zone in which the trigger period takes effect.'."\n",
+ 'type' => 'string',
+ 'example' => 'Asia/Shanghai',
+ ],
+ 'SerialNumber' => [
+ 'description' => 'The serial number of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sage62x022502****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '0E20FBB8-BCFC-4F5E-BD94-77FF6A2133D0',
+ ],
+ 'Jitter' => [
+ 'description' => 'The time differences between upgrades. Unit: minutes.'."\n",
+ 'type' => 'string',
+ 'example' => '5',
+ ],
+ 'Duration' => [
+ 'description' => 'The time period during which upgrades are performed.'."\n"
+ ."\n"
+ .'Valid values: **30 to 120**.'."\n"
+ ."\n"
+ .'Unit: minutes.'."\n",
+ 'type' => 'string',
+ 'example' => '60',
+ ],
+ 'CronExpression' => [
+ 'description' => 'The time when upgrades start. The time was configured by using a cron expression.'."\n"
+ ."\n"
+ .'Example value: `0 0 4 1/1 * ?`. The example value indicates that upgrades start at 04:00:00 (UTC+8) on the first day of each month.'."\n",
+ 'type' => 'string',
+ 'example' => '0 0 4 1/1 * ?',
+ ],
+ 'SmartAGId' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-kxe2cv7hot7qrv****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"UpgradeType\\": \\"scheduled\\",\\n \\"TimeZone\\": \\"Asia/Shanghai\\",\\n \\"SerialNumber\\": \\"sage62x022502****\\",\\n \\"RequestId\\": \\"0E20FBB8-BCFC-4F5E-BD94-77FF6A2133D0\\",\\n \\"Jitter\\": \\"5\\",\\n \\"Duration\\": \\"60\\",\\n \\"CronExpression\\": \\"0 0 4 1/1 * ?\\",\\n \\"SmartAGId\\": \\"sag-kxe2cv7hot7qrv****\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeDeviceAutoUpgradePolicyResponse>\\n<SerialNumber>sage62x022502****</SerialNumber>\\n<SmartAGId>sag-kxe2cv7hot7qrv****</SmartAGId>\\n<UpgradeType>scheduled</UpgradeType>\\n<Duration>60</Duration>\\n<RequestId>0E20FBB8-BCFC-4F5E-BD94-77FF6A2133D0</RequestId>\\n<CronExpression>0 0 4 1/1 * ?</CronExpression>\\n<TimeZone>Asia/Shanghai</TimeZone>\\n</DescribeDeviceAutoUpgradePolicyResponse>","errorExample":""}]',
+ 'title' => 'DescribeDeviceAutoUpgradePolicy',
+ 'summary' => 'Queries the automatic upgrade policy of a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeGrantSagVbrRules' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'sag-0nnteglltw6z4b****',
+ ],
+ ],
+ [
+ 'name' => 'VbrInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the VBR.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'vbr-bp13gtbhdp0pfqg6s****',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Default value:**10**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => [
+ 'description' => 'The total number of authorization rules.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '46E98E69-FBA2-423E-9E5A-A3C6D843FED1',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'GrantRules' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'GrantRule' => [
+ 'description' => 'The information about the authorization rule.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'VbrInstanceId' => [
+ 'description' => 'The ID of the VBR.'."\n",
+ 'type' => 'string',
+ 'example' => 'vbr-bp13gtbhdp0pfqg6s****',
+ ],
+ 'VbrUid' => [
+ 'description' => 'The user ID (UID) of the VBR.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1231571212121212',
+ ],
+ 'VbrRegionId' => [
+ 'description' => 'The ID of the region where the VBR is deployed.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the rule was created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1600743723000',
+ ],
+ 'SmartAGId' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-0nnteglltw6z4b****',
+ ],
+ 'Bound' => [
+ 'description' => 'Indicates whether the SAG instance is associated with the VBR. Valid values:'."\n"
+ ."\n"
+ .'* **false**: not associated.'."\n"
+ .'* **true**: associated.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the authorization rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'sgv-3x8djyem7vqh70****',
+ ],
+ 'SmartAGUid' => [
+ 'description' => 'The user ID (UID) of the account to which the SAG instance belongs.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1231571212121212',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceIdEmpty',
+ 'errorMessage' => 'You must specify the SAG instance ID.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"46E98E69-FBA2-423E-9E5A-A3C6D843FED1\\",\\n \\"PageNumber\\": 1,\\n \\"TotalCount\\": 1,\\n \\"GrantRules\\": {\\n \\"GrantRule\\": [\\n {\\n \\"VbrInstanceId\\": \\"vbr-bp13gtbhdp0pfqg6s****\\",\\n \\"VbrUid\\": 1231571212121212,\\n \\"VbrRegionId\\": \\"cn-hangzhou\\",\\n \\"CreateTime\\": 1600743723000,\\n \\"SmartAGId\\": \\"sag-0nnteglltw6z4b****\\",\\n \\"Bound\\": false,\\n \\"InstanceId\\": \\"sgv-3x8djyem7vqh70****\\",\\n \\"SmartAGUid\\": 1231571212121212\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeGrantSagVbrRulesResponse>\\n<TotalCount>1</TotalCount>\\n<RequestId>46E98E69-FBA2-423E-9E5A-A3C6D843FED1</RequestId>\\n<PageSize>10</PageSize>\\n<PageNumber>1</PageNumber>\\n<GrantRules>\\n <GrantRule>\\n <VbrUid>123157908552****</VbrUid>\\n <SmartAGUid>168840159596****</SmartAGUid>\\n <VbrInstanceId>vbr-bp13gtbhdp0pfqg6s****</VbrInstanceId>\\n <InstanceId>sgv-3x8djyem7vqh70****</InstanceId>\\n <CreateTime>1600743723000</CreateTime>\\n <Bound>false</Bound>\\n <VbrRegionId>cn-hangzhou</VbrRegionId>\\n <SmartAGId>sag-0nnteglltw6z4b****</SmartAGId>\\n </GrantRule>\\n</GrantRules>\\n</DescribeGrantSagVbrRulesResponse>","errorExample":""}]',
+ 'title' => 'DescribeGrantSagVbrRules',
+ 'summary' => 'Queries authorization information about Smart Access Gateway (SAG) instances and cross-account virtual border routers (VBRs).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeBindableSmartAccessGateways' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'CcnId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the CCN instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ccn-fu75a6m4clv7ai****',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to query only the SAG instances that belong to another Alibaba Cloud account. Valid values:'."\n"
+ ."\n"
+ .'* **false** (default): no'."\n"
+ .'* **true**: yes'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Default value: **10**. Maximum value: **50**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sag-00uc4vgxch1zsu****',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the SAG instance.'."\n"
+ ."\n"
+ .'The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). The name must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sdggd111',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => [
+ 'description' => 'The total number of SAG instances.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned on each page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '9731C2F5-B9A4-42FD-AFD2-361A403E6E85',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'SmartAccessGateways' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'SmartAccessGateway' => [
+ 'description' => 'The information about the SAG instance.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'SmartAGId' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-00uc4vgxch1zsu****',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sdggd111',
+ ],
+ 'SmartAGUid' => [
+ 'description' => 'The user ID (UID) of the Alibaba Cloud account to which the SAG instance belongs.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '168840159596****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'CCN.InvalidId',
+ 'errorMessage' => 'You must specify the CCN instance ID.',
+ ],
+ [
+ 'errorCode' => 'InvalidRegionID',
+ 'errorMessage' => 'The specified regionId does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 2,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"9731C2F5-B9A4-42FD-AFD2-361A403E6E85\\",\\n \\"PageNumber\\": 1,\\n \\"SmartAccessGateways\\": {\\n \\"SmartAccessGateway\\": [\\n {\\n \\"SmartAGId\\": \\"sag-00uc4vgxch1zsu****\\",\\n \\"Name\\": \\"sdggd111\\",\\n \\"SmartAGUid\\": 0\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeBindableSmartAccessGatewaysResponse>\\n<PageNumber>1</PageNumber>\\n<PageSize>10</PageSize>\\n<RequestId>9731C2F5-B9A4-42FD-AFD2-361A403E6E85</RequestId>\\n<SmartAccessGateways>\\n <SmartAccessGateway>\\n <Name>zhen****-for-acl-performance-sag-154381343****</Name>\\n <SmartAGId>sag-00uc4vgxch1zsu****</SmartAGId>\\n <SmartAGUid>168840159596****</SmartAGUid>\\n </SmartAccessGateway>\\n <SmartAccessGateway>\\n <Name>zhen****-for-acl-performance-sag-154383278****</Name>\\n <SmartAGId>sag-0bs2aephgv7zfo****</SmartAGId>\\n <SmartAGUid>168840159596****</SmartAGUid>\\n </SmartAccessGateway>\\n</SmartAccessGateways>\\n<TotalCount>2</TotalCount>\\n</DescribeBindableSmartAccessGatewaysResponse>","errorExample":""}]',
+ 'title' => 'DescribeBindableSmartAccessGateways',
+ 'summary' => 'Queries the Smart Access Gateway (SAG) instances in a region that can be associated with a Cloud Connect Network (CCN) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSagGlobalRouteProtocol' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Smart Access Gateway (SAG) instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RouteProtocol' => [
+ 'description' => 'The routing protocol. Valid values:'."\n"
+ ."\n"
+ .'* **STATIC**: static routing'."\n"
+ .'* **OSPF**: Open Shortest Path First protocol (OSPF)'."\n"
+ .'* **BGP**: Border Gateway Protocol (BGP)'."\n",
+ 'type' => 'string',
+ 'example' => 'STATIC',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '3712F0B2-721E-4FBF-BBEF-888E3BFE0A20',
+ ],
+ 'TaskStates' => [
+ 'description' => 'The state of the query task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMessage' => [
+ 'description' => 'The error message. A value of Successful indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'State' => [
+ 'description' => 'The state of the query task. Valid values:'."\n"
+ ."\n"
+ .'* **Initialized**: The query task is initialized.'."\n"
+ .'* **Offline**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. After the SAG device is connected to Alibaba Cloud, Alibaba Cloud assigns the query task to the SAG device.'."\n"
+ .'* **Succeed**: Alibaba Cloud has assigned the query task to the SAG device.'."\n"
+ .'* **Processing**: Alibaba Cloud is assigning the query task to the SAG device.'."\n"
+ .'* **VersionNotSupport**: The query task is not supported by the current version of the SAG device.'."\n"
+ .'* **BuildRequestError**: The query task is not supported by the controller of the SAG device.'."\n"
+ .'* **HardwareError**: Alibaba Cloud failed to assign the query task to the SAG device because the SAG device is faulty.'."\n"
+ .'* **TaskNotExist**: The query task does not exist.'."\n"
+ .'* **OfflineNotConfiged**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. Alibaba Cloud does not assign the query task to the SAG device even after the SAG device is connected to Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => 'Succeed',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code returned. A value of 200 indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The timestamp that indicates the time when the query task was created.'."\n",
+ 'type' => 'string',
+ 'example' => '1586855592000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RouteProtocol\\": \\"STATIC\\",\\n \\"RequestId\\": \\"3712F0B2-721E-4FBF-BBEF-888E3BFE0A20\\",\\n \\"TaskStates\\": [\\n {\\n \\"ErrorMessage\\": \\"Successful\\",\\n \\"State\\": \\"Succeed\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CreateTime\\": \\"1586855592000\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<RouteProtocol>OSPF</RouteProtocol>\\n<RequestId>7FA2EC3A-5261-4D2E-BC4F-CB1CFD7B4CBA</RequestId>\\n<TaskStates>\\n <State>Succeed</State>\\n <CreateTime>1586855592000</CreateTime>\\n <ErrorCode>200</ErrorCode>\\n <ErrorMessage>Successful</ErrorMessage>\\n</TaskStates>","errorExample":""}]',
+ 'title' => 'DescribeSagGlobalRouteProtocol',
+ 'summary' => 'Queries the global routing protocol.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSagRouteList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'CE6642D4-21EB-4168-9BF9-F217953F9892',
+ ],
+ 'Routes' => [
+ 'description' => 'The routes.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'NextHop' => [
+ 'description' => 'The next hop.'."\n",
+ 'type' => 'string',
+ 'example' => '192.XX.XX.1',
+ ],
+ 'DestinationCidr' => [
+ 'description' => 'The destination CIDR block.'."\n",
+ 'type' => 'string',
+ 'example' => '6.XX.XX.6/32',
+ ],
+ 'Cost' => [
+ 'description' => 'The cost of the route.'."\n"
+ ."\n"
+ .'The number on the left side of the forward slash (/) indicates the administrative distance (AD) of the routing protocol.'."\n"
+ ."\n"
+ .'The number on the right side of the forward slash (/) indicates the metric value.'."\n",
+ 'type' => 'string',
+ 'example' => '[110/11]',
+ ],
+ 'PortName' => [
+ 'description' => 'The name of the port. If the port name is -1, data is transferred through a VPN tunnel to Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => '2',
+ ],
+ 'ConflictCidrs' => [
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The CIDR block.',
+ 'type' => 'string',
+ 'example' => '192.XX.XX.0/24',
+ ],
+ 'description' => 'The list of CIDR blocks that overlap with each other.',
+ ],
+ 'RouteProtocol' => [
+ 'description' => 'The routing protocol. Valid values:'."\n"
+ ."\n"
+ .'* **STATIC**: a static routing protocol.'."\n"
+ .'* **OSPF**: the Open Shortest Path First (OSPF) dynamic routing protocol.'."\n"
+ .'* **BGP**: the Border Gateway Protocol (BGP) dynamic routing protocol.'."\n",
+ 'type' => 'string',
+ 'example' => 'STATIC',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CE6642D4-21EB-4168-9BF9-F217953F9892\\",\\n \\"Routes\\": [\\n {\\n \\"NextHop\\": \\"192.XX.XX.1\\",\\n \\"DestinationCidr\\": \\"6.XX.XX.6/32\\",\\n \\"Cost\\": \\"[110/11]\\",\\n \\"PortName\\": \\"2\\",\\n \\"RouteProtocol\\": \\"STATIC\\",\\n \\"ConflictCidrs\\": [\\n \\"192.XX.XX.0/24\\"\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSagRouteListResponse>\\n<RequestId>4D2C2B28-2C90-4D2F-AF44-59355547D70B</RequestId>\\n<Routes>\\n <RouteProtocol>STATIC</RouteProtocol>\\n <NextHop/>\\n <PortName>2</PortName>\\n <Cost>[0/0]</Cost>\\n <DestinationCidr>192.XX.XX.0/24</DestinationCidr>\\n</Routes>\\n<Routes>\\n <RouteProtocol>STATIC</RouteProtocol>\\n <NextHop/>\\n <PortName>4</PortName>\\n <Cost>[0/0]</Cost>\\n <DestinationCidr>192.XX.XX.0/24</DestinationCidr>\\n</Routes>\\n</DescribeSagRouteListResponse>\\n","errorExample":""}]',
+ 'title' => 'DescribeSagRouteList',
+ 'summary' => 'Queries the routes of a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSagPortRouteProtocolList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the Smart Access Gateway (SAG) instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device that is associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'CE6642D4-21EB-4168-9BF9-F217953F9892',
+ ],
+ 'Ports' => [
+ 'description' => 'An array that consists of the details of the port.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the port. Valid values:'."\n"
+ ."\n"
+ .'* **UP**: The port was enabled.'."\n"
+ .'* **DOWN**: The port was disabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'UP',
+ ],
+ 'RemoteIp' => [
+ 'description' => 'The IP address of the peer device.'."\n",
+ 'type' => 'string',
+ 'example' => '192.XX.XX.1',
+ ],
+ 'PortName' => [
+ 'description' => 'The name of the port.'."\n",
+ 'type' => 'string',
+ 'example' => '3',
+ ],
+ 'NeighborIp' => [
+ 'description' => 'The IP address of the neighbor device.'."\n",
+ 'type' => 'string',
+ 'example' => '192.XX.XX.1',
+ ],
+ 'RouteProtocol' => [
+ 'description' => 'The routing protocol. Valid values:'."\n"
+ ."\n"
+ .'* **STATIC**: static routing protocol'."\n"
+ .'* **OSPF**: Open Shortest Path First protocol (OSPF)'."\n"
+ .'* **BGP**: Border Gateway Protocol (BGP)'."\n",
+ 'type' => 'string',
+ 'example' => 'BGP',
+ ],
+ 'RemoteAs' => [
+ 'description' => 'The number of the autonomous system (AS) to which the SAG device belongs.'."\n",
+ 'type' => 'string',
+ 'example' => '12345',
+ ],
+ 'Vlan' => [
+ 'description' => 'The VLAN ID.'."\n",
+ 'type' => 'string',
+ 'example' => '2',
+ ],
+ ],
+ ],
+ ],
+ 'TaskStates' => [
+ 'description' => 'The details about the status of the query task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned. A value of Successful indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'State' => [
+ 'description' => 'The status of the query task. Valid values:'."\n"
+ ."\n"
+ .'* **Initialized**: The query task is initialized.'."\n"
+ .'* **Offline**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. After the SAG device is connected to Alibaba Cloud, Alibaba Cloud assigns the query task to the SAG device.'."\n"
+ .'* **Succeed**: Alibaba Cloud has assigned the query task to the SAG device.'."\n"
+ .'* **Processing**: Alibaba Cloud is assigning the query task to the SAG device.'."\n"
+ .'* **VersionNotSupport**: The query task is not supported by the current version of the SAG device.'."\n"
+ .'* **BuildRequestError**: The query task is not supported by the controller of the SAG device.'."\n"
+ .'* **HardwareError**: Alibaba Cloud failed to assign the query task to the SAG device because the SAG device is faulty.'."\n"
+ .'* **TaskNotExist**: The query task does not exist.'."\n"
+ .'* **OfflineNotConfiged**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. Alibaba Cloud does not assign the query task to the SAG device even after the SAG device is connected to Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => 'Succeed',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code returned. A value of 200 indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the query task was created.'."\n",
+ 'type' => 'string',
+ 'example' => '1586843621000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CE6642D4-21EB-4168-9BF9-F217953F9892\\",\\n \\"Ports\\": [\\n {\\n \\"Status\\": \\"UP\\",\\n \\"RemoteIp\\": \\"192.XX.XX.1\\",\\n \\"PortName\\": \\"3\\",\\n \\"NeighborIp\\": \\"192.XX.XX.1\\",\\n \\"RouteProtocol\\": \\"BGP\\",\\n \\"RemoteAs\\": \\"12345\\",\\n \\"Vlan\\": \\"2\\"\\n }\\n ],\\n \\"TaskStates\\": [\\n {\\n \\"ErrorMessage\\": \\"Successful\\",\\n \\"State\\": \\"Succeed\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CreateTime\\": \\"1586843621000\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSagPortRouteProtocolListResponse>\\n<RequestId>CAA9089E-9C8E-422A-BB87-72A784A8A906</RequestId>\\n<Ports>\\n <Status>DOWN</Status>\\n <RouteProtocol>STATIC</RouteProtocol>\\n <PortName>0</PortName>\\n</Ports>\\n<Ports>\\n <Status>UP</Status>\\n <RouteProtocol>OSPF</RouteProtocol>\\n <PortName>4</PortName>\\n</Ports>\\n<Ports>\\n <Status>DOWN</Status>\\n <RouteProtocol>STATIC</RouteProtocol>\\n <PortName>5</PortName>\\n</Ports>\\n<Ports>\\n <RemoteAs/>\\n <Status>DOWN</Status>\\n <RouteProtocol>STATIC</RouteProtocol>\\n <RemoteIp/>\\n <Vlan>0</Vlan>\\n <PortName>3</PortName>\\n</Ports>\\n<TaskStates>\\n <State>Succeed</State>\\n <CreateTime>1586843621000</CreateTime>\\n <ErrorCode>200</ErrorCode>\\n <ErrorMessage>Successful</ErrorMessage>\\n</TaskStates>\\n</DescribeSagPortRouteProtocolListResponse>","errorExample":""}]',
+ 'title' => 'DescribeSagPortRouteProtocolList',
+ 'summary' => 'Queries the ports for which the specified routing protocol is enabled.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifySagGlobalRouteProtocol' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device that is associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ [
+ 'name' => 'RouteProtocol',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The routing protocol. Valid values:'."\n"
+ ."\n"
+ .'* **STATIC**: static routing protocol'."\n"
+ .'* **OSPF**: Open Shortest Path First protocol (OSPF)'."\n"
+ .'* **BGP**: Border Gateway Protocol (BGP)'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'OSPF',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'DB0A026C-A8E5-40AB-977E-3A87DD78F694',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DB0A026C-A8E5-40AB-977E-3A87DD78F694\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifySagGlobalRouteProtocolResponse>\\r\\n <RequestId>DB0A026C-A8E5-40AB-977E-3A87DD78F694</RequestId>\\r\\n</ModifySagGlobalRouteProtocolResponse>","errorExample":""}]',
+ 'title' => 'ModifySagGlobalRouteProtocol',
+ 'summary' => 'Changes the routing protocol of a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifySagPortRouteProtocol' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Smart Access Gateway (SAG) instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ [
+ 'name' => 'PortName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the port.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '2',
+ ],
+ ],
+ [
+ 'name' => 'Vlan',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The VLAN ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2',
+ ],
+ ],
+ [
+ 'name' => 'RouteProtocol',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The routing protocol. Valid values:'."\n"
+ ."\n"
+ .'* **STATIC**: uses a static routing protocol.'."\n"
+ .'* **OSPF**: uses the Open Shortest Path First protocol (OSPF).'."\n"
+ .'* **BGP**: uses the Border Gateway Protocol (BGP).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'STATIC',
+ ],
+ ],
+ [
+ 'name' => 'RemoteIp',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address of the peer device.'."\n"
+ ."\n"
+ .'> You must set this parameter when you enable BGP.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '192.XX.XX.1',
+ ],
+ ],
+ [
+ 'name' => 'RemoteAs',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The BGP autonomous system number (ASN) of the peer device.'."\n"
+ ."\n"
+ .'> You must set this parameter when you enable BGP.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '65535',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'CE6642D4-21EB-4168-9BF9-F217953F9892',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Sag.RouteProtocolPortNotExist',
+ 'errorMessage' => 'The port specified for the dynamic routing protocol does not exist.',
+ ],
+ [
+ 'errorCode' => 'Sag.EccRouteTypeError',
+ 'errorMessage' => 'An ECC port supports the BGP protocol only.',
+ ],
+ [
+ 'errorCode' => 'Sag.RouteTypeNotMatch',
+ 'errorMessage' => 'The routing protocol type must be the same as the global routing protocol type.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CE6642D4-21EB-4168-9BF9-F217953F9892\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifySagPortRouteProtocolResponse>\\r\\n <RequestId>CE6642D4-21EB-4168-9BF9-F217953F9892</RequestId>\\r\\n</ModifySagPortRouteProtocolResponse>","errorExample":""}]',
+ 'title' => 'ModifySagPortRouteProtocol',
+ 'summary' => 'You can call this operation to modify the routing protocol of a port.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifySagRouteProtocolBgp' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ [
+ 'name' => 'RouterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the BGP router.'."\n"
+ ."\n"
+ .'Set the value to an IPv4 address.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '172.XX.XX.1',
+ ],
+ ],
+ [
+ 'name' => 'LocalAs',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The autonomous system number (ASN) to which the SAG device belongs.'."\n"
+ ."\n"
+ .'Valid values: **1 to 4294967295**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '65535',
+ ],
+ ],
+ [
+ 'name' => 'HoldTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The hold time.'."\n"
+ ."\n"
+ .'Valid values: **3 to 65535**. Unit: seconds.'."\n"
+ ."\n"
+ .'> When the SAG device establishes a peering connection with a peer device, the hold time of both devices must be the same. If the SAG device does not receive a keepalive or update message from the peer device within the hold time, the connection between the BGP peers is closed.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '9',
+ ],
+ ],
+ [
+ 'name' => 'KeepAlive',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The time interval at which keep-alive packets are sent.'."\n"
+ ."\n"
+ .'Valid values: **0 to 65535**. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '3',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '48868976-45A2-4E87-B3AA-25089B8B7E49',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"48868976-45A2-4E87-B3AA-25089B8B7E49\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifySagRouteProtocolBgpResponse>\\r\\n <RequestId>48868976-45A2-4E87-B3AA-25089B8B7E49</RequestId>\\r\\n</ModifySagRouteProtocolBgpResponse>","errorExample":""}]',
+ 'title' => 'ModifySagRouteProtocolBgp',
+ 'summary' => 'Modifies the Border Gateway Protocol (BGP) settings of a Smart Access Gateway (SAG) device.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSagRouteProtocolBgp' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the Smart Access Gateway (SAG) instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device that is associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'HoldTime' => [
+ 'description' => 'The hold time. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '9',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '2F39E4FE-B45C-47FF-9921-95780486F52D',
+ ],
+ 'KeepAlive' => [
+ 'description' => 'The time interval at which keep-alive packets are sent. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'LocalAs' => [
+ 'description' => 'The autonomous system (AS) number to which the SAG device belongs.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '65536',
+ ],
+ 'RouterId' => [
+ 'description' => 'The ID of the BGP router.'."\n",
+ 'type' => 'string',
+ 'example' => '192.XX.XX.1',
+ ],
+ 'TaskStates' => [
+ 'description' => 'The details about the query task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned. A value of Successful indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'State' => [
+ 'description' => 'The state of the query task. Valid values:'."\n"
+ ."\n"
+ .'* **Initialized**: The query task is initialized.'."\n"
+ .'* **Offline**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. After the SAG device is connected to Alibaba Cloud, Alibaba Cloud assigns the query task to the SAG device.'."\n"
+ .'* **Succeed**: Alibaba Cloud has assigned the query task to the SAG device.'."\n"
+ .'* **Processing**: Alibaba Cloud is assigning the query task to the SAG device.'."\n"
+ .'* **VersionNotSupport**: The query task is not supported by the current version of the SAG device.'."\n"
+ .'* **BuildRequestError**: The query task is not supported by the controller of the SAG device.'."\n"
+ .'* **HardwareError**: Alibaba Cloud failed to assign the query task to the SAG device because the SAG device is faulty.'."\n"
+ .'* **TaskNotExist**: The query task does not exist.'."\n"
+ .'* **OfflineNotConfiged**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. Alibaba Cloud does not assign the query task to the SAG device even after the SAG device is connected to Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => 'Succeed',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code returned. A value of 200 indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The timestamp when the task was created.'."\n",
+ 'type' => 'string',
+ 'example' => '1586765938000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"HoldTime\\": 9,\\n \\"RequestId\\": \\"2F39E4FE-B45C-47FF-9921-95780486F52D\\",\\n \\"KeepAlive\\": 3,\\n \\"LocalAs\\": 65536,\\n \\"RouterId\\": \\"192.XX.XX.1\\",\\n \\"TaskStates\\": [\\n {\\n \\"ErrorMessage\\": \\"Successful\\",\\n \\"State\\": \\"Succeed\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CreateTime\\": \\"1586765938000\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSagRouteProtocolBgpResponse>\\n <HoldTime>9</HoldTime>\\n <RequestId>2F39E4FE-B45C-47FF-9921-95780486F52D</RequestId>\\n <KeepAlive>3</KeepAlive>\\n <LocalAs>65536</LocalAs>\\n <RouterId>192.XX.XX.1</RouterId>\\n <TaskStates>\\n <ErrorMessage>Successful</ErrorMessage>\\n <State>Succeed</State>\\n <ErrorCode>200</ErrorCode>\\n <CreateTime>1586765938000</CreateTime>\\n </TaskStates>\\n</DescribeSagRouteProtocolBgpResponse>","errorExample":""}]',
+ 'title' => 'DescribeSagRouteProtocolBgp',
+ 'summary' => 'Queries the configurations of Border Gateway Protocol (BGP) dynamic routing.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifySagRouteProtocolOspf' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30***',
+ ],
+ ],
+ [
+ 'name' => 'RouterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the router that has OSPF enabled.'."\n"
+ ."\n"
+ .'Set the value to an IPv4 address.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '192.XX.XX.1',
+ ],
+ ],
+ [
+ 'name' => 'AreaId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the OSPF area.'."\n"
+ ."\n"
+ .'Valid values: **1 to 2147483647**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '86',
+ ],
+ ],
+ [
+ 'name' => 'DeadTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The timeout period of OSPF. Unit: seconds.'."\n"
+ ."\n"
+ .'Valid values: **1 to 65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'HelloTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The time interval at which Hello packets are sent. Unit: seconds.'."\n"
+ ."\n"
+ .'Valid values: **1 to 65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '3',
+ ],
+ ],
+ [
+ 'name' => 'AuthenticationType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The authentication method. Valid values:'."\n"
+ ."\n"
+ .'* **NONE**: does not enable authentication.'."\n"
+ .'* **CLEARTEXT**: uses plaintext authentication. You must enter the plaintext password.'."\n"
+ .'* **MD5**: uses MD5 authentication. You must enter the MD5 key ID and the MD5 key.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'NONE',
+ ],
+ ],
+ [
+ 'name' => 'Md5KeyId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the MD5 key.'."\n"
+ ."\n"
+ .'Valid values: **1 to 2147483647**.'."\n"
+ ."\n"
+ .'> This parameter is required only if **AuthenticationType** is set to **MD5**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '7',
+ ],
+ ],
+ [
+ 'name' => 'Md5Key',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The MD5 key value.'."\n"
+ ."\n"
+ .'Valid values: **1 to 47**.'."\n"
+ ."\n"
+ .'> This parameter is required only if **AuthenticationType** is set to **MD5**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '5',
+ ],
+ ],
+ [
+ 'name' => 'Password',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The plaintext password.'."\n"
+ ."\n"
+ .'The password must be 1 to 8 characters in length, and can contain letters, digits, hyphens (-), and underscores (\\_).'."\n"
+ ."\n"
+ .'> This parameter is required only if **AuthenticationType** is set to **CLEARTEXT**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1212****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '191DC00D-00C0-475C-99B8-ADBB82496405',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"191DC00D-00C0-475C-99B8-ADBB82496405\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifySagRouteProtocolOspfResponse>\\r\\n <RequestId>191DC00D-00C0-475C-99B8-ADBB82496405</RequestId>\\r\\n</ModifySagRouteProtocolOspfResponse>","errorExample":""}]',
+ 'title' => 'ModifySagRouteProtocolOspf',
+ 'summary' => 'Modifies the Open Shortest Path First (OSPF) settings of a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSagRouteProtocolOspf' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '60F9B653-25B7-4511-A3C7-BCBAF462393E',
+ ],
+ 'DeadTime' => [
+ 'description' => 'The timeout period of connections between OSPF peers.'."\n"
+ ."\n"
+ .'Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '40',
+ ],
+ 'Md5KeyId' => [
+ 'description' => 'The ID of the MD5 key.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'AreaId' => [
+ 'description' => 'The ID of the OSPF area.'."\n",
+ 'type' => 'string',
+ 'example' => '10',
+ ],
+ 'RouterId' => [
+ 'description' => 'The ID of the router that has OSPF enabled.'."\n",
+ 'type' => 'string',
+ 'example' => '1.XX.XX.1',
+ ],
+ 'HelloTime' => [
+ 'description' => 'The time interval at which Hello packets are sent.'."\n"
+ ."\n"
+ .'Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'AreaType' => [
+ 'description' => 'The type of the OSPF area.'."\n"
+ ."\n"
+ .'> Only the NSSA area type is supported.'."\n",
+ 'type' => 'string',
+ 'example' => 'NSSA',
+ ],
+ 'TaskStates' => [
+ 'description' => 'The status of the query task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMessage' => [
+ 'description' => 'The error message. A value of Successful indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'State' => [
+ 'description' => 'The state of the query task. Valid values:'."\n"
+ ."\n"
+ .'* **Initialized**: The query task is initialized.'."\n"
+ .'* **Offline**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. After the SAG device is connected to Alibaba Cloud, Alibaba Cloud assigns the query task to the SAG device.'."\n"
+ .'* **Succeed**: Alibaba Cloud has assigned the query task to the SAG device.'."\n"
+ .'* **Processing**: Alibaba Cloud is assigning the query task to the SAG device.'."\n"
+ .'* **VersionNotSupport**: The query task is not supported by the current version of the SAG device.'."\n"
+ .'* **BuildRequestError**: The query task is not supported by the controller of the SAG device.'."\n"
+ .'* **HardwareError**: Alibaba Cloud failed to assign the query task to the SAG device because the SAG device is faulty.'."\n"
+ .'* **TaskNotExist**: The query task does not exist.'."\n"
+ .'* **OfflineNotConfiged**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. Alibaba Cloud does not assign the query task to the SAG device even after the SAG device is connected to Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => 'Succeed',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code returned. A value of 200 indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the query task was created.'."\n",
+ 'type' => 'string',
+ 'example' => '1586843621000',
+ ],
+ ],
+ ],
+ ],
+ 'Md5Key' => [
+ 'description' => 'The MD5 key value.'."\n",
+ 'type' => 'string',
+ 'example' => '123****',
+ ],
+ 'AuthenticationType' => [
+ 'description' => 'The authentication type. Valid values:'."\n"
+ ."\n"
+ .'* **NONE**: Authentication is disabled.'."\n"
+ .'* **CLEARTEXT**: plaintext authentication'."\n"
+ .'* **MD5**: MD5 authentication'."\n",
+ 'type' => 'string',
+ 'example' => 'MD5',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"60F9B653-25B7-4511-A3C7-BCBAF462393E\\",\\n \\"DeadTime\\": 40,\\n \\"Md5KeyId\\": 1,\\n \\"AreaId\\": \\"10\\",\\n \\"RouterId\\": \\"1.XX.XX.1\\",\\n \\"HelloTime\\": 10,\\n \\"AreaType\\": \\"NSSA\\",\\n \\"TaskStates\\": [\\n {\\n \\"ErrorMessage\\": \\"Successful\\",\\n \\"State\\": \\"Succeed\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CreateTime\\": \\"1586843621000\\"\\n }\\n ],\\n \\"Md5Key\\": \\"123****\\",\\n \\"AuthenticationType\\": \\"MD5\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeSagRouteProtocolOspfResponse>\\n<RequestId>60F9B653-25B7-4511-A3C7-BCBAF462393E</RequestId>\\n<DeadTime>40</DeadTime>\\n<Md5KeyId>1</Md5KeyId>\\n<AreaId>10</AreaId>\\n<RouterId>1.XX.XX.1</RouterId>\\n<HelloTime>10</HelloTime>\\n<AreaType/>\\n<TaskStates>\\n <State>Succeed</State>\\n <CreateTime>1586768763000</CreateTime>\\n <ErrorCode>200</ErrorCode>\\n <ErrorMessage>Successful</ErrorMessage>\\n</TaskStates>\\n<Md5Key>123****</Md5Key>\\n<AuthenticationType>MD5</AuthenticationType>\\n</DescribeSagRouteProtocolOspfResponse>","errorExample":""}]',
+ 'title' => 'DescribeSagRouteProtocolOspf',
+ 'summary' => 'Queries the OSPF settings of a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateSagStaticRoute' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ [
+ 'name' => 'PortName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the port.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'DestinationCidr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The destination CIDR block.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '192.XX.XX.0/24',
+ ],
+ ],
+ [
+ 'name' => 'NextHop',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Enter the IP address of the next hop.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '192.XX.XX.1',
+ ],
+ ],
+ [
+ 'name' => 'Vlan',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The VLAN ID.'."\n"
+ ."\n"
+ .'Valid values: **0** indicates a physical port. **1 to 4094** indicates that VLANs are supported.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '20',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '1120228A-E5E1-4E9C-B56D-96887E1A2B2F',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Sag.PortNotExist',
+ 'errorMessage' => 'The specified port does not exist.',
+ ],
+ [
+ 'errorCode' => 'Sag.PortRoleInvalid',
+ 'errorMessage' => 'The port role is invalid.',
+ ],
+ [
+ 'errorCode' => 'Sag.EccVlanNotExist',
+ 'errorMessage' => 'The specified dedicated VLAN does not exist.',
+ ],
+ [
+ 'errorCode' => 'Sag.StaticRouteExist',
+ 'errorMessage' => 'The specified static route already exists.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1120228A-E5E1-4E9C-B56D-96887E1A2B2F\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateSagStaticRouteResponse>\\r\\n <RequestId>1120228A-E5E1-4E9C-B56D-96887E1A2B2F</RequestId>\\r\\n</CreateSagStaticRouteResponse>","errorExample":""}]',
+ 'title' => 'CreateSagStaticRoute',
+ 'summary' => 'Adds a static route to a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSagStaticRouteList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'CE6642D4-21EB-4168-9BF9-F217953F9892',
+ ],
+ 'StaticRoutes' => [
+ 'description' => 'The information about the static route.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'NextHop' => [
+ 'description' => 'The next hop.'."\n",
+ 'type' => 'string',
+ 'example' => '192.XX.XX.1',
+ ],
+ 'DestinationCidr' => [
+ 'description' => 'The destination CIDR block.'."\n",
+ 'type' => 'string',
+ 'example' => '192.XX.XX.0/24',
+ ],
+ 'PortName' => [
+ 'description' => 'The name of the port.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'Vlan' => [
+ 'description' => 'The VLAN ID.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ 'TaskStates' => [
+ 'description' => 'The state of the query task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMessage' => [
+ 'description' => 'The error message. A value of Successful indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'State' => [
+ 'description' => 'The state of the query task. Valid values:'."\n"
+ ."\n"
+ .'* **Initialized**: The query task is initialized.'."\n"
+ .'* **Offline**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. After the SAG device is connected to Alibaba Cloud, Alibaba Cloud assigns the query task to the SAG device.'."\n"
+ .'* **Succeed**: Alibaba Cloud has assigned the query task to the SAG device.'."\n"
+ .'* **Processing**: Alibaba Cloud is assigning the query task to the SAG device.'."\n"
+ .'* **VersionNotSupport**: The query task is not supported by the current version of the SAG device.'."\n"
+ .'* **BuildRequestError**: The query task is not supported by the controller of the SAG device.'."\n"
+ .'* **HardwareError**: Alibaba Cloud failed to assign the query task to the SAG device because the SAG device is faulty.'."\n"
+ .'* **TaskNotExist**: The query task does not exist.'."\n"
+ .'* **OfflineNotConfiged**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. Alibaba Cloud does not assign the query task to the SAG device even after the SAG device is connected to Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => 'Succeed',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code returned. A value of 200 indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the query task was created.'."\n",
+ 'type' => 'string',
+ 'example' => '1586857309000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CE6642D4-21EB-4168-9BF9-F217953F9892\\",\\n \\"StaticRoutes\\": [\\n {\\n \\"NextHop\\": \\"192.XX.XX.1\\",\\n \\"DestinationCidr\\": \\"192.XX.XX.0/24\\",\\n \\"PortName\\": \\"0\\",\\n \\"Vlan\\": \\"1\\"\\n }\\n ],\\n \\"TaskStates\\": [\\n {\\n \\"ErrorMessage\\": \\"Successful\\",\\n \\"State\\": \\"Succeed\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CreateTime\\": \\"1586857309000\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSagStaticRouteListResponse>\\n<RequestId>4C6825DA-AF71-48A5-A2A2-AE3E38ABC899</RequestId>\\n<StaticRoutes>\\n <NextHop>2.XX.XX.2</NextHop>\\n <Vlan>0</Vlan>\\n <PortName>5</PortName>\\n <DestinationCidr>1.XX.XX.1/32</DestinationCidr>\\n</StaticRoutes>\\n<TaskStates>\\n <State>Succeed</State>\\n <CreateTime>1586857309000</CreateTime>\\n <ErrorCode>200</ErrorCode>\\n <ErrorMessage>Successful</ErrorMessage>\\n</TaskStates>\\n</DescribeSagStaticRouteListResponse>","errorExample":""}]',
+ 'title' => 'DescribeSagStaticRouteList',
+ 'summary' => 'Queries the static routes of a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifySagStaticRoute' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Smart Access Gateway (SAG) instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ [
+ 'name' => 'PortName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the port.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'DestinationCidr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The destination CIDR block.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '192.XX.XX.0/24',
+ ],
+ ],
+ [
+ 'name' => 'NextHop',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address of the next hop.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '192.XX.XX.1',
+ ],
+ ],
+ [
+ 'name' => 'Vlan',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The VLAN ID.'."\n"
+ ."\n"
+ .'Valid values: **0** indicates a physical port. **1 to 4094** indicates that VLANs are supported.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'ACA5A9FE-77FA-4C09-980B-5C353160FA4A',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Sag.PortNotExist',
+ 'errorMessage' => 'The specified port does not exist.',
+ ],
+ [
+ 'errorCode' => 'Sag.PortRoleInvalid',
+ 'errorMessage' => 'The port role is invalid.',
+ ],
+ [
+ 'errorCode' => 'Sag.EccVlanNotExist',
+ 'errorMessage' => 'The specified dedicated VLAN does not exist.',
+ ],
+ [
+ 'errorCode' => 'Sag.StaticRouteNotExist',
+ 'errorMessage' => 'The specified static route does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"ACA5A9FE-77FA-4C09-980B-5C353160FA4A\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifySagStaticRouteResponse>\\r\\n <RequestId>ACA5A9FE-77FA-4C09-980B-5C353160FA4A</RequestId>\\r\\n</ModifySagStaticRouteResponse>","errorExample":""}]',
+ 'title' => 'ModifySagStaticRoute',
+ 'summary' => 'Modifies a static route.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteSagStaticRoute' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG app instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG app instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ [
+ 'name' => 'PortName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the port.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'DestinationCidr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The destination CIDR block.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '192.XX.XX.0/24',
+ ],
+ ],
+ [
+ 'name' => 'Vlan',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The VLAN ID.'."\n"
+ ."\n"
+ .'Valid values: **0** (physical port) and **1 to 4094** (VLAN).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'A53F71B6-7577-492A-A0CD-C7D3DFFE2D0E',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Sag.PortNotExist',
+ 'errorMessage' => 'The specified port does not exist.',
+ ],
+ [
+ 'errorCode' => 'Sag.StaticRouteNotExist',
+ 'errorMessage' => 'The specified static route does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A53F71B6-7577-492A-A0CD-C7D3DFFE2D0E\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteSagStaticRouteResponse>\\r\\n <RequestId>A53F71B6-7577-492A-A0CD-C7D3DFFE2D0E</RequestId>\\r\\n</DeleteSagStaticRouteResponse>","errorExample":""}]',
+ 'title' => 'DeleteSagStaticRoute',
+ 'summary' => 'You can call this operation to delete a static route.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifySagPortRole' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Smart Access Gateway (SAG) instance is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ [
+ 'name' => 'PortName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the port.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'Role',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The role of the port. Valid values:'."\n"
+ ."\n"
+ .'* **NONE**: No role is assigned to the port.'."\n"
+ .'* **WAN**: The port is used as a WAN port. By default, port 5 of an SAG device is used as a WAN port and supports access to the Internet by using a Dynamic Host Configuration Protocol (DHCP) client, PPPoE, or a static IP address.'."\n"
+ .'* **LAN**: The port is used as a LAN port. The LAN port allows a DHCP server or a static IP address to connect to an on-premises terminal or switch.'."\n"
+ .'* **ECC**: The port is used as a port to connect to an Express Connect circuit.'."\n"
+ .'* **MGT**: The port is used as the management port. By default, port 2 of an SAG device is used as the management port.'."\n"
+ ."\n"
+ .'> '."\n"
+ ."\n"
+ .'* In exclusive mode, the management traffic is separated from the workload traffic. The management port is only used to access the SAG web console and cannot be used to transfer your workload data. You can access the SAG web console only through the management port.'."\n"
+ .'* A WAN port can be used when it is connected. If a port is the first one that obtains an IP address over DHCP and can access the Internet, it is set as a WAN port. In the SAG web console, you can set another port as a WAN port.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'NONE',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '3200E8A3-563F-4FFC-8BDB-0F1263FA69E8',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Sag.PortNotExist',
+ 'errorMessage' => 'The specified port does not exist.',
+ ],
+ [
+ 'errorCode' => 'Sag.HaPortExist',
+ 'errorMessage' => 'The specified port is used by the HA configuration.',
+ ],
+ [
+ 'errorCode' => 'Sag.PortRoleLimit',
+ 'errorMessage' => 'The maximum number of ports with the specified role is exceeded.',
+ ],
+ [
+ 'errorCode' => 'Sag.PortMgtError',
+ 'errorMessage' => 'The role of a management port cannot be changed.',
+ ],
+ [
+ 'errorCode' => 'Sag.PortRoleInvalid',
+ 'errorMessage' => 'The port role is invalid.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ [
+ 'errorCode' => 'IrRuleOutboundPortInUse.%s',
+ 'errorMessage' => 'The specified port %s is in use as a outbound port of intelligent routing rule, please free it first.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"3200E8A3-563F-4FFC-8BDB-0F1263FA69E8\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifySagPortRoleResponse>\\r\\n <RequestId>3200E8A3-563F-4FFC-8BDB-0F1263FA69E8</RequestId>\\r\\n</ModifySagPortRoleResponse>","errorExample":""}]',
+ 'title' => 'ModifySagPortRole',
+ 'summary' => 'Modifies the role of a port.',
+ 'description' => '> If you modify the role of a port, the current role configurations of the port are deleted.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSagPortList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Smart Access Gateway (SAG) instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'CE6642D4-21EB-4168-9BF9-F217953F9892',
+ ],
+ 'Ports' => [
+ 'description' => 'The list of the port information.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'Port states:'."\n"
+ ."\n"
+ .'* **Up**: The port is enabled.'."\n"
+ .'* **Down**: The port is disabled.'."\n"
+ .'* **Unavailable**: The SAG device is disconnected from Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => 'Down',
+ ],
+ 'PortName' => [
+ 'description' => 'The name of the port.'."\n",
+ 'type' => 'string',
+ 'example' => '5',
+ ],
+ 'Role' => [
+ 'description' => 'Port role:'."\n"
+ ."\n"
+ .'* **NONE**: No role is assigned to the port.'."\n"
+ .'* **WAN**: The port is used as a WAN port. The WAN port supports a Dynamic Host Configuration Protocol (DHCP) client, PPPoE, or a static IP address to access the Internet.'."\n"
+ .'* **LAN**: The port is used as a LAN port. The LAN port supports a DHCP server or a static IP address to connect to a local terminal or switch.'."\n"
+ .'* **ECC**: The port is used as a leased line port to connect to a leased line.'."\n"
+ .'* **MGT**: The port is used as the management port.'."\n",
+ 'type' => 'string',
+ 'example' => 'NONE',
+ ],
+ 'Mac' => [
+ 'description' => 'The Mac address of the port.'."\n",
+ 'type' => 'string',
+ 'example' => 'c4:00:ad:a2:f5:****',
+ ],
+ ],
+ ],
+ ],
+ 'TaskStates' => [
+ 'description' => 'The state of the query task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMessage' => [
+ 'description' => 'The error message. Successful indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'State' => [
+ 'description' => 'Asynchronous task states:'."\n"
+ ."\n"
+ .'* **Initialized**: The query task is initialized.'."\n"
+ .'* **Offline**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. When the SAG device is connected to Alibaba Cloud, Alibaba Cloud continues to assign the query task to the SAG device.'."\n"
+ .'* **Succeed**: Alibaba Cloud has assigned the query task to the SAG device.'."\n"
+ .'* **Processing**: Alibaba Cloud is assigning the query task to the SAG device.'."\n"
+ .'* **VersionNotSupport**: not supported by the current version of the SAG device.'."\n"
+ .'* **BuildRequestError**: not supported by the control and management center in the cloud.'."\n"
+ .'* **HardwareError**: Alibaba Cloud failed to assign the query task to the SAG device because the SAG device is faulty.'."\n"
+ .'* **TaskNotExist**: The query task does not exist.'."\n"
+ .'* **OfflineNotConfiged**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. When the SAG device is connected to Alibaba Cloud, Alibaba Cloud does not assign the query task to the SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => 'Succeed',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code. 200 indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the query task was created.'."\n",
+ 'type' => 'string',
+ 'example' => '1586762479000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CE6642D4-21EB-4168-9BF9-F217953F9892\\",\\n \\"Ports\\": [\\n {\\n \\"Status\\": \\"Down\\",\\n \\"Role\\": \\"NONE\\",\\n \\"PortName\\": \\"5\\",\\n \\"Mac\\": \\"c4:00:ad:a2:f5:****\\"\\n }\\n ],\\n \\"TaskStates\\": [\\n {\\n \\"ErrorMessage\\": \\"Successful\\",\\n \\"State\\": \\"Succeed\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CreateTime\\": \\"1586762479000\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSagPortListResponse>\\n<RequestId>4363065D-5F04-49D4-A994-C1DF39C7E241</RequestId>\\n<Ports>\\n <Role>LAN</Role>\\n <Status>Down</Status>\\n <PortName>0</PortName>\\n <Mac>cc:d3:9d:9e:2d:****</Mac>\\n</Ports>\\n<Ports>\\n <Role>NONE</Role>\\n <Status>Down</Status>\\n <PortName>1</PortName>\\n <Mac>cc:d3:9d:9e:2d:****</Mac>\\n</Ports>\\n<Ports>\\n <Role>MGT</Role>\\n <Status>Up</Status>\\n <PortName>2</PortName>\\n <Mac>cc:d3:9d:9e:2d:****</Mac>\\n</Ports>\\n<Ports>\\n <Role>ECC</Role>\\n <Status>Down</Status>\\n <PortName>3</PortName>\\n <Mac>cc:d3:9d:9e:2d:****</Mac>\\n</Ports>\\n<Ports>\\n <Role>LAN</Role>\\n <Status>Up</Status>\\n <PortName>4</PortName>\\n <Mac>cc:d3:9d:9e:2d:****</Mac>\\n</Ports>\\n<Ports>\\n <Role>WAN</Role>\\n <Status>Up</Status>\\n <PortName>5</PortName>\\n <Mac>cc:d3:9d:9e:2d:****</Mac>\\n</Ports>\\n<Ports>\\n <Role>CELLULAR</Role>\\n <Status>Down</Status>\\n <PortName>6</PortName>\\n <Mac>32:70:92:7e:02:4b</Mac>\\n</Ports>\\n<TaskStates>\\n <State>Succeed</State>\\n <CreateTime>1586762479000</CreateTime>\\n <ErrorCode>200</ErrorCode>\\n <ErrorMessage>Successful</ErrorMessage>\\n</TaskStates>\\n</DescribeSagPortListResponse>","errorExample":""}]',
+ 'title' => 'DescribeSagPortList',
+ 'summary' => 'You can call this operation to query the information of a physical port.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSagWanList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'CE6642D4-21EB-4168-9BF9-F217953F9892',
+ ],
+ 'Wans' => [
+ 'description' => 'The settings of the WAN port.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Weight' => [
+ 'description' => 'The weight of the WAN port.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'Mask' => [
+ 'description' => 'The subnet mask of the WAN port IP address.'."\n",
+ 'type' => 'string',
+ 'example' => '255.255.255.240',
+ ],
+ 'Gateway' => [
+ 'description' => 'The IP address of the gateway.'."\n",
+ 'type' => 'string',
+ 'example' => '192.XX.XX.1',
+ ],
+ 'PortName' => [
+ 'description' => 'The number of the WAN port.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'IPType' => [
+ 'description' => 'The connection type of the WAN port. Valid values:'."\n"
+ ."\n"
+ .'* **DHCP**: The WAN port connects to the Internet through an IP address that is dynamically assigned by the Dynamic Host Configuration Protocol (DHCP) server.'."\n"
+ .'* **STATIC**: The WAN port connects to the Internet through a static IP address.'."\n"
+ .'* **PPPOE**: The WAN port connects to the Internet through dial-up connections.'."\n",
+ 'type' => 'string',
+ 'example' => 'STATIC',
+ ],
+ 'Priority' => [
+ 'description' => 'The priority of the WAN port.'."\n"
+ ."\n"
+ .'Valid values: **-1** and **1 to 50**. A smaller number represents a higher priority.'."\n"
+ ."\n"
+ .'> A value of **-1** indicates that the WAN port is not used to forward network traffic.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'BandWidth' => [
+ 'description' => 'The bandwidth cap of the WAN port. Unit: Mbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '50',
+ ],
+ 'TrafficState' => [
+ 'description' => 'The status of data transfer on the WAN port. Valid values:'."\n"
+ ."\n"
+ .'* **active**: The WAN port is the active port for data transfer.'."\n"
+ .'* **standby**: The WAN port is a standby port. If the active port is down, data transfer is switched to the WAN port.'."\n",
+ 'type' => 'string',
+ 'example' => 'active',
+ ],
+ 'IP' => [
+ 'description' => 'The IP address of the WAN port.'."\n",
+ 'type' => 'string',
+ 'example' => '172.XX.XX.1',
+ ],
+ 'ISP' => [
+ 'description' => 'The Internet service provider (ISP) used by the WAN port.'."\n"
+ ."\n"
+ .'* **CT**: China Telecom'."\n"
+ .'* **CM**: China Mobile'."\n"
+ .'* **CU**: China Unicom'."\n"
+ .'* **Other**: Other ISPs'."\n",
+ 'type' => 'string',
+ 'example' => 'CT',
+ ],
+ 'Username' => [
+ 'description' => 'The username of the PPPoE account.'."\n",
+ 'type' => 'string',
+ 'example' => 'Usernamexx',
+ ],
+ ],
+ ],
+ ],
+ 'TaskStates' => [
+ 'description' => 'The status of and information about the query task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned to the query task. A value of Successful indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'State' => [
+ 'description' => 'The status of the query task. Valid values:'."\n"
+ ."\n"
+ .'* **Initialized**: The query task is initialized.'."\n"
+ .'* **Offline**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. After the SAG device is connected to Alibaba Cloud, Alibaba Cloud assigns the query task to the SAG device.'."\n"
+ .'* **Succeed**: Alibaba Cloud has assigned the query task to the SAG device.'."\n"
+ .'* **Processing**: Alibaba Cloud is assigning the query task to the SAG device.'."\n"
+ .'* **VersionNotSupport**: The query task is not supported by the current version of the SAG device.'."\n"
+ .'* **BuildRequestError**: The query task is not supported by the controller of the SAG device.'."\n"
+ .'* **HardwareError**: Alibaba Cloud failed to assign the query task to the SAG device because the SAG device is faulty.'."\n"
+ .'* **TaskNotExist**: The query task does not exist.'."\n"
+ .'* **OfflineNotConfiged**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. Alibaba Cloud does not assign the query task to the SAG device even after the SAG device is connected to Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => 'Succeed',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code returned to the query task. A value of 200 indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the query task was created.'."\n",
+ 'type' => 'string',
+ 'example' => '1586834861000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ [
+ 'errorCode' => 'Sag.PortRoleInvalid',
+ 'errorMessage' => 'The port role is invalid.',
+ ],
+ [
+ 'errorCode' => 'Sag.PortMgtError',
+ 'errorMessage' => 'The role of a management port cannot be changed.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CE6642D4-21EB-4168-9BF9-F217953F9892\\",\\n \\"Wans\\": [\\n {\\n \\"Weight\\": 100,\\n \\"Mask\\": \\"255.255.255.240\\",\\n \\"Gateway\\": \\"192.XX.XX.1\\",\\n \\"PortName\\": \\"1\\",\\n \\"IPType\\": \\"STATIC\\",\\n \\"Priority\\": 1,\\n \\"BandWidth\\": 50,\\n \\"TrafficState\\": \\"active\\",\\n \\"IP\\": \\"172.XX.XX.1\\",\\n \\"ISP\\": \\"CT\\",\\n \\"Username\\": \\"Usernamexx\\"\\n }\\n ],\\n \\"TaskStates\\": [\\n {\\n \\"ErrorMessage\\": \\"Successful\\",\\n \\"State\\": \\"Succeed\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CreateTime\\": \\"1586834861000\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSagWanListResponse>\\n<RequestId>D6E2D7AF-6721-462F-B460-D1CE616BC557</RequestId>\\n<Wans>\\n <IPType>DHCP</IPType>\\n <Username/>\\n <Gateway>172.XX.XX.254</Gateway>\\n <Priority>10</Priority>\\n <IP>172.XX.XX.43</IP>\\n <Mask>255.255.255.0</Mask>\\n <PortName>3</PortName>\\n</Wans>\\n<Wans>\\n <IPType>STATIC</IPType>\\n <Username/>\\n <Gateway>10.XX.XX.254</Gateway>\\n <Priority>20</Priority>\\n <IP>10.XX.XX.200</IP>\\n <Mask>255.255.255.0</Mask>\\n <PortName>4</PortName>\\n</Wans>\\n</DescribeSagWanListResponse>","errorExample":""}]',
+ 'title' => 'DescribeSagWanList',
+ 'summary' => 'Queries the WAN port settings of a Smart Access Gateway (SAG) device.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifySagWan' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ [
+ 'name' => 'PortName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the WAN port.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'IPType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The connection type of the WAN port: Valid values:'."\n"
+ ."\n"
+ .'* **DHCP**: The WAN port connects to the Internet through an IP address that is dynamically assigned by the Dynamic Host Configuration Protocol (DHCP) server.'."\n"
+ .'* **STATIC**: The WAN port connects to the Internet through a static IP address. If you set this value, you must configure a static IP address, a subnet mask, and a gateway IP address for the WAN port.'."\n"
+ .'* **PPPOE**: The WAN port connects to the Internet through dial-up connections. If you set this value, you must enter the username and password of the PPPoE account provided by the Internet service provider (ISP).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'DHCP',
+ ],
+ ],
+ [
+ 'name' => 'IP',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address of the WAN port.'."\n"
+ ."\n"
+ .'> If the WAN port uses a static IP address, you must set this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '192.XX.XX.1',
+ ],
+ ],
+ [
+ 'name' => 'Mask',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The subnet mask of the WAN port IP address.'."\n"
+ ."\n"
+ .'> If the WAN port uses a static IP address, you must set this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '255.255.255.0',
+ ],
+ ],
+ [
+ 'name' => 'Gateway',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address of the gateway.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* If the WAN port uses a static IP address, you must set this parameter.'."\n"
+ .'* After this parameter is set, the SAG device generates a default route.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '192.XX.XX.254',
+ ],
+ ],
+ [
+ 'name' => 'Username',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The username of the PPPoE account.'."\n"
+ ."\n"
+ .'The username must be 6 to 30 characters in length, and can contain digits and letters.'."\n"
+ ."\n"
+ .'> If the connection type of the WAN port is PPPoE, you must set this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'P12ppp***',
+ ],
+ ],
+ [
+ 'name' => 'Password',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The password of the PPPoE account.'."\n"
+ ."\n"
+ .'The username must be 6 to 30 characters in length, and can contain digits and letters.'."\n"
+ ."\n"
+ .'> If the connection type of the WAN port is PPPoE, you must set this parameter. If you do not need to modify the password, you can ignore this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'P12ppq***',
+ ],
+ ],
+ [
+ 'name' => 'Priority',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The priority of the WAN port.'."\n"
+ ."\n"
+ .'Valid values: **-1** and **1 to 50**.'."\n"
+ ."\n"
+ .'A smaller value indicates a higher priority. A value of **-1** indicates that traffic forwarding is disabled on the WAN port.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'Weight',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The weight of the WAN port.'."\n"
+ ."\n"
+ .'Valid values: **1 to 100**. Default value: **100**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '100',
+ ],
+ ],
+ [
+ 'name' => 'ISP',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ISP used by the WAN port. Valid values:'."\n"
+ ."\n"
+ .'* **CT**: China Telecom'."\n"
+ .'* **CM**: China Mobile'."\n"
+ .'* **CU**: China Unicom'."\n"
+ .'* **Other**: Other ISPs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'CT',
+ ],
+ ],
+ [
+ 'name' => 'Bandwidth',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum bandwidth of the WAN port. Unit: Mbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '1000000',
+ 'minimum' => '0',
+ 'example' => '50',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'AFF7E5A6-6897-4FDC-A5A8-1978B5B3E545',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Sag.PortNotExist',
+ 'errorMessage' => 'The specified port does not exist.',
+ ],
+ [
+ 'errorCode' => 'Sag.PortRoleInvalid',
+ 'errorMessage' => 'The port role is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AFF7E5A6-6897-4FDC-A5A8-1978B5B3E545\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifySagWanResponse>\\r\\n <RequestId>AFF7E5A6-6897-4FDC-A5A8-1978B5B3E545</RequestId>\\r\\n</ModifySagWanResponse>","errorExample":""}]',
+ 'title' => 'ModifySagWan',
+ 'summary' => 'Modifies the WAN port configurations of a Smart Access Gateway (SAG) device.',
+ 'description' => 'We recommend that you understand the functionality of a WAN port before you modify its settings. For more information, see [Configure a WAN port](~~163955~~).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifySagWanSnat' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ [
+ 'name' => 'Snat',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable SNAT. Valid values:'."\n"
+ ."\n"
+ .'* **ENABLE**: enables SNAT.'."\n"
+ .'* **DISABLE**: disables SNAT.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ENABLE',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '96AF7326-B6DE-4188-8638-56A6164F62D9',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidId.SMARTAG',
+ 'errorMessage' => ' The specified smart access gateway instance ID does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"96AF7326-B6DE-4188-8638-56A6164F62D9\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifySagWanSnatResponse>\\r\\n <RequestId>96AF7326-B6DE-4188-8638-56A6164F62D9</RequestId>\\r\\n</ModifySagWanSnatResponse>","errorExample":""}]',
+ 'title' => 'ModifySagWanSnat',
+ 'summary' => 'You can call this operation to modify the SNAT configurations of a WAN port of a Smart Access Gateway (SAG) device.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSagWanSnat' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device that is associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'CE6642D4-21EB-4168-9BF9-F217953F9892',
+ ],
+ 'Snat' => [
+ 'description' => 'Indicates whether SNAT is enabled.'."\n"
+ ."\n"
+ .'* **ENABLE**: SNAT is enabled.'."\n"
+ .'* **DISABLE**: SNAT is disabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'ENABLE',
+ ],
+ 'TaskStates' => [
+ 'description' => 'The details about the status of the query task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned. A value of Successful indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'State' => [
+ 'description' => 'The status of the query task. Valid values:'."\n"
+ ."\n"
+ .'* **Initialized**: The query task is initialized.'."\n"
+ .'* **Offline**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. After the SAG device is connected to Alibaba Cloud, Alibaba Cloud assigns the query task to the SAG device.'."\n"
+ .'* **Succeed**: Alibaba Cloud has assigned the query task to the SAG device.'."\n"
+ .'* **Processing**: Alibaba Cloud is assigning the query task to the SAG device.'."\n"
+ .'* **VersionNotSupport**: The query task is not supported by the current version of the SAG device.'."\n"
+ .'* **BuildRequestError**: The query task is not supported by the controller of the SAG device.'."\n"
+ .'* **HardwareError**: Alibaba Cloud failed to assign the query task to the SAG device because the SAG device is faulty.'."\n"
+ .'* **TaskNotExist**: The query task does not exist.'."\n"
+ .'* **OfflineNotConfiged**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. Alibaba Cloud does not assign the query task to the SAG device even after the SAG device is connected to Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => 'Succeed',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code returned. A value of 200 indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The timestamp when the task was created.'."\n"
+ ."\n"
+ .'The value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '1586847787000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CE6642D4-21EB-4168-9BF9-F217953F9892\\",\\n \\"Snat\\": \\"ENABLE\\",\\n \\"TaskStates\\": [\\n {\\n \\"ErrorMessage\\": \\"Successful\\",\\n \\"State\\": \\"Succeed\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CreateTime\\": \\"1586847787000\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSagWanSnatResponse>\\n<RequestId>C1DB5ADD-7AE0-4E15-8C84-7C1CE2B20693</RequestId>\\n<Snat>DISABLE</Snat>\\n<TaskStates>\\n <State>Succeed</State>\\n <CreateTime>1586847787000</CreateTime>\\n <ErrorCode>200</ErrorCode>\\n <ErrorMessage>Successful</ErrorMessage>\\n</TaskStates>\\n</DescribeSagWanSnatResponse>","errorExample":""}]',
+ 'title' => 'DescribeSagWanSnat',
+ 'summary' => 'Queries the SNAT settings of the WAN port of a Smart Access Gateway (SAG) device.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSagWan4G' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The SAG instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the 4G SIM card. Valid value:'."\n"
+ ."\n"
+ .'* **Normal**: The 4G SIM card is available.'."\n"
+ .'* **Abnormal**: The 4G SIM card encountered an error.'."\n"
+ .'* **Unavailable**: No 4G SIM card is inserted.'."\n",
+ 'type' => 'string',
+ 'example' => 'Normal',
+ ],
+ 'TrafficState' => [
+ 'description' => 'The network status of the 4G SIM card. Valid values:'."\n"
+ ."\n"
+ .'* **active**: The 4G SIM card is used to establish the active connection. Network traffic is transmitted over the 4G SIM card first.'."\n"
+ .'* **standby**: The 4G SIM card is used to establish a standby connection. Network traffic is not transmitted over the 4G SIM card unless the active connection fails.'."\n",
+ 'type' => 'string',
+ 'example' => 'active',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'CE6642D4-21EB-4168-9BF9-F217953F9892',
+ ],
+ 'Priority' => [
+ 'description' => 'The priority of the 4G SIM card. The default value is **99**, which indicates the lowest priority and cannot be modified.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '99',
+ ],
+ 'Ip' => [
+ 'description' => 'The IP address of the 4G SIM card.'."\n",
+ 'type' => 'string',
+ 'example' => '192.XX.XX.1',
+ ],
+ 'Strength' => [
+ 'description' => 'The signal strength of the 4G network. Valid values:'."\n"
+ ."\n"
+ .'* **High**: strong signals.'."\n"
+ .'* **Middle**: medium-strength signals.'."\n"
+ .'* **Low**: weak signals.'."\n"
+ .'* **Unavailable**: no signal.'."\n",
+ 'type' => 'string',
+ 'example' => 'High',
+ ],
+ 'Mac' => [
+ 'description' => 'The MAC address of the 4G SIM card.'."\n",
+ 'type' => 'string',
+ 'example' => 'c4:00:ad:a2:f5:****',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"Normal\\",\\n \\"TrafficState\\": \\"active\\",\\n \\"RequestId\\": \\"CE6642D4-21EB-4168-9BF9-F217953F9892\\",\\n \\"Priority\\": 99,\\n \\"Ip\\": \\"192.XX.XX.1\\",\\n \\"Strength\\": \\"High\\",\\n \\"Mac\\": \\"c4:00:ad:a2:f5:****\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeSagWan4GResponse>\\n <Status>Normal</Status>\\n <TrafficState>active</TrafficState>\\n <RequestId>CE6642D4-21EB-4168-9BF9-F217953F9892</RequestId>\\n <Priority>99</Priority>\\n <Ip>192.XX.XX.1</Ip>\\n <Strength>High</Strength>\\n <Mac>c4:00:ad:a2:f5:****</Mac>\\n</DescribeSagWan4GResponse>","errorExample":""}]',
+ 'title' => 'DescribeSagWan4G',
+ 'summary' => 'Queries the information about the 4G subscriber identity module (SIM) card used by the WAN port of a Smart Access Gateway (SAG) device.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSagLanList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '1120228A-E5E1-4E9C-B56D-96887E1A2B2F',
+ ],
+ 'TaskStates' => [
+ 'description' => 'The state of the query task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMessage' => [
+ 'description' => 'The error message. A value of Successful indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'State' => [
+ 'description' => 'The state of the query task. Valid values:'."\n"
+ ."\n"
+ .'* **Initialized**: The query task is initialized.'."\n"
+ .'* **Offline**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. After the SAG device is connected to Alibaba Cloud, Alibaba Cloud assigns the query task to the SAG device.'."\n"
+ .'* **Succeed**: Alibaba Cloud has assigned the query task to the SAG device.'."\n"
+ .'* **Processing**: Alibaba Cloud is assigning the query task to the SAG device.'."\n"
+ .'* **VersionNotSupport**: The query task is not supported by the current version of the SAG device.'."\n"
+ .'* **BuildRequestError**: The query task is not supported by the controller of the SAG device.'."\n"
+ .'* **HardwareError**: Alibaba Cloud failed to assign the query task to the SAG device because the SAG device is faulty.'."\n"
+ .'* **TaskNotExist**: The query task does not exist.'."\n"
+ .'* **OfflineNotConfiged**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. Alibaba Cloud does not assign the query task to the SAG device even after the SAG device is connected to Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => 'Succeed',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code returned. A value of 200 indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the query task was created.'."\n",
+ 'type' => 'string',
+ 'example' => '1586852928000',
+ ],
+ ],
+ ],
+ ],
+ 'Lans' => [
+ 'description' => 'The information about the LAN port.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Lease' => [
+ 'description' => 'The time duration that the IP address is retained after it is assigned through DHCP. Unit: minutes.'."\n",
+ 'type' => 'string',
+ 'example' => '7',
+ ],
+ 'Mask' => [
+ 'description' => 'The subnet mask of the IP address of the port.'."\n",
+ 'type' => 'string',
+ 'example' => '255.255.255.0',
+ ],
+ 'EndIp' => [
+ 'description' => 'The last IP address of the DHCP pool.'."\n",
+ 'type' => 'string',
+ 'example' => '192.XX.XX.254',
+ ],
+ 'PortName' => [
+ 'description' => 'The name of the port.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'StartIp' => [
+ 'description' => 'The first IP address of the DHCP pool.'."\n",
+ 'type' => 'string',
+ 'example' => '192.XX.XX.2',
+ ],
+ 'IPType' => [
+ 'description' => 'The connection type of the LAN port.'."\n"
+ ."\n"
+ .'**DHCP**: a dynamic IP address. Uses the Dynamic Host Configuration Protocol (DHCP) to dynamically assign an IP address to a connected device.'."\n"
+ ."\n"
+ .'**STATIC**: a static IP address. Specifies a static IP address for the LAN port.'."\n",
+ 'type' => 'string',
+ 'example' => 'DHCP',
+ ],
+ 'IP' => [
+ 'description' => 'The IP address of the LAN port.'."\n",
+ 'type' => 'string',
+ 'example' => '192.XX.XX.1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1120228A-E5E1-4E9C-B56D-96887E1A2B2F\\",\\n \\"TaskStates\\": [\\n {\\n \\"ErrorMessage\\": \\"Successful\\",\\n \\"State\\": \\"Succeed\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CreateTime\\": \\"1586852928000\\"\\n }\\n ],\\n \\"Lans\\": [\\n {\\n \\"Lease\\": \\"7\\",\\n \\"Mask\\": \\"255.255.255.0\\",\\n \\"EndIp\\": \\"192.XX.XX.254\\",\\n \\"PortName\\": \\"0\\",\\n \\"StartIp\\": \\"192.XX.XX.2\\",\\n \\"IPType\\": \\"DHCP\\",\\n \\"IP\\": \\"192.XX.XX.1\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSagLanListResponse>\\n<RequestId>ADDEF8CA-D96F-4002-812A-36FDF4114135</RequestId>\\n<TaskStates>\\n <State>Succeed</State>\\n <CreateTime>1586869664000</CreateTime>\\n <ErrorCode>200</ErrorCode>\\n <ErrorMessage>Successful.</ErrorMessage>\\n</TaskStates>\\n<Lans>\\n <IPType>STATIC</IPType>\\n <IP>192.XX.XX.1</IP>\\n <Mask>255.255.255.0</Mask>\\n <PortName>0</PortName>\\n</Lans>\\n<Lans>\\n <IPType>STATIC</IPType>\\n <IP>172.XX.XX.10</IP>\\n <Mask>255.255.255.0</Mask>\\n <PortName>4</PortName>\\n</Lans>\\n</DescribeSagLanListResponse>","errorExample":""}]',
+ 'title' => 'DescribeSagLanList',
+ 'summary' => 'Queries the LAN port settings of a Smart Access Gateway (SAG) device.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifySagLan' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device that is associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ [
+ 'name' => 'PortName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the LAN port.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'IPType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The connection type of the LAN port. Valid values:'."\n"
+ ."\n"
+ .'* **DHCP**: a dynamic IP address. Uses the Dynamic Host Configuration Protocol (DHCP) to dynamically assign an IP address to a connected device.'."\n"
+ .'* **STATIC**: a static IP address. Specifies a static IP address for the LAN port.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'STATIC',
+ ],
+ ],
+ [
+ 'name' => 'IP',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address of the LAN port.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '192.XX.XX.1',
+ ],
+ ],
+ [
+ 'name' => 'Mask',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The subnet mask of the LAN port IP address.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '255.255.255.0',
+ ],
+ ],
+ [
+ 'name' => 'StartIp',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The first IP address of the DHCP pool.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '192.XX.XX.2',
+ ],
+ ],
+ [
+ 'name' => 'EndIp',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The last IP address of the DHCP pool.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '192.XX.XX.254',
+ ],
+ ],
+ [
+ 'name' => 'Lease',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The time duration that the IP address is retained after it is assigned through DHCP. Unit: minute.'."\n"
+ ."\n"
+ .'Valid values: **1 to 43200**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '7',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '1120228A-E5E1-4E9C-B56D-96887E1A2B2F',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Sag.PortNotExist',
+ 'errorMessage' => 'The specified port does not exist.',
+ ],
+ [
+ 'errorCode' => 'Sag.PortRoleInvalid',
+ 'errorMessage' => 'The port role is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1120228A-E5E1-4E9C-B56D-96887E1A2B2F\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifySagLanResponse>\\r\\n <RequestId>1120228A-E5E1-4E9C-B56D-96887E1A2B2F</RequestId>\\r\\n</ModifySagLanResponse>","errorExample":""}]',
+ 'title' => 'ModifySagLan',
+ 'summary' => 'You can call this operation to modify the LAN port configurations of a Smart Access Gateway (SAG) device.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSagManagementPort' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-jbauqzw5ildnud****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sage62x021922****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '3616AAA9-3A6F-4604-98AF-86753AB7F040',
+ ],
+ 'Gateway' => [
+ 'description' => 'The IP address of the management port gateway.'."\n",
+ 'type' => 'string',
+ 'example' => '192.XX.XX.254',
+ ],
+ 'IP' => [
+ 'description' => 'The IP address of the management port.'."\n",
+ 'type' => 'string',
+ 'example' => '192.XX.XX.10',
+ ],
+ 'Mask' => [
+ 'description' => 'The subnet gateway of the IP address of the management port.'."\n",
+ 'type' => 'string',
+ 'example' => '255.255.255.0',
+ ],
+ 'TaskStates' => [
+ 'description' => 'The state of the query task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMessage' => [
+ 'description' => 'The error message. A value of Successful indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'State' => [
+ 'description' => 'The state of the query task. Valid values:'."\n"
+ ."\n"
+ .'* **Initialized**: The query task is initialized.'."\n"
+ .'* **Offline**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. After the SAG device is connected to Alibaba Cloud, Alibaba Cloud assigns the query task to the SAG device.'."\n"
+ .'* **Succeed**: Alibaba Cloud has assigned the query task to the SAG device.'."\n"
+ .'* **Processing**: Alibaba Cloud is assigning the query task to the SAG device.'."\n"
+ .'* **VersionNotSupport**: The query task is not supported by the current version of the SAG device.'."\n"
+ .'* **BuildRequestError**: The query task is not supported by the controller of the SAG device.'."\n"
+ .'* **HardwareError**: Alibaba Cloud failed to assign the query task to the SAG device because the SAG device is faulty.'."\n"
+ .'* **TaskNotExist**: The query task does not exist.'."\n"
+ .'* **OfflineNotConfiged**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. Alibaba Cloud does not assign the query task to the SAG device even after the SAG device is connected to Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => 'Succeed',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code returned. A value of 200 indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the query task was created.'."\n",
+ 'type' => 'string',
+ 'example' => '1586759657000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"3616AAA9-3A6F-4604-98AF-86753AB7F040\\",\\n \\"Gateway\\": \\"192.XX.XX.254\\",\\n \\"IP\\": \\"192.XX.XX.10\\",\\n \\"Mask\\": \\"255.255.255.0\\",\\n \\"TaskStates\\": [\\n {\\n \\"ErrorMessage\\": \\"Successful\\",\\n \\"State\\": \\"Succeed\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CreateTime\\": \\"1586759657000\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSagManagementPortResponse>\\n<RequestId>3616AAA9-3A6F-4604-98AF-86753AB7F040</RequestId>\\n<Gateway>192.XX.XX.254</Gateway>\\n<IP>192.XX.XX.10</IP>\\n<Mask>255.255.255.0</Mask>\\n<TaskStates>\\n <State>Succeed</State>\\n <CreateTime>1586759657000</CreateTime>\\n <ErrorCode>200</ErrorCode>\\n <ErrorMessage>Successful</ErrorMessage>\\n</TaskStates>\\n</DescribeSagManagementPortResponse>","errorExample":""}]',
+ 'title' => 'DescribeSagManagementPort',
+ 'summary' => 'Queries the management port settings of a Smart Access Gateway (SAG) device.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifySagManagementPort' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ [
+ 'name' => 'IP',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address of the management port.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '192.XX.XX.1',
+ ],
+ ],
+ [
+ 'name' => 'Mask',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The subnet mask for the IP address of the management port.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '255.255.255.0',
+ ],
+ ],
+ [
+ 'name' => 'Gateway',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address of the management port gateway.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '192.XX.XX.254',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '6877D55B-08F7-4DA3-916B-32A6FD402E06',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Sag.PortMgtError',
+ 'errorMessage' => 'The role of a management port cannot be changed.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"6877D55B-08F7-4DA3-916B-32A6FD402E06\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifySagManagementPortResponse>\\r\\n <RequestId>6877D55B-08F7-4DA3-916B-32A6FD402E06</RequestId>\\r\\n</ModifySagManagementPortResponse>","errorExample":""}]',
+ 'title' => 'ModifySagManagementPort',
+ 'summary' => 'Modifies the settings of a Smart Access Gateway (SAG) device port.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateSagExpressConnectInterface' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Smart Access Gateway (SAG) instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ [
+ 'name' => 'PortName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the Express Connect port.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '5',
+ ],
+ ],
+ [
+ 'name' => 'Vlan',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The VLAN ID of the subinterface.'."\n"
+ ."\n"
+ .'Value: **0 to 4094**.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* If the VLAN ID is 0, this port is a physical port and does not support VLAN subinterfaces.'."\n"
+ .'* If the VLAN ID is 1 to 4094, this port supports VLAN subinterfaces based on the Layer 3 protocols.'."\n"
+ .'* You can create a maximum of 5 VLAN subinterfaces.',
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'IP',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '192.XX.XX.1',
+ ],
+ ],
+ [
+ 'name' => 'Mask',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The subnet mask of the IP address.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '255.255.255.252',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'AFF7E5A6-6897-4FDC-A5A8-1978B5B3E545',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Sag.EccVlanOverLimit',
+ 'errorMessage' => 'The maximum number of VLANs that can be created for the device is exceeded.',
+ ],
+ [
+ 'errorCode' => 'Sag.EccVlanExist',
+ 'errorMessage' => 'The specified VLAN already exists.',
+ ],
+ [
+ 'errorCode' => 'Sag.EccVlanDefault',
+ 'errorMessage' => 'When VLAN 0 exists, other VLANs cannot be created.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AFF7E5A6-6897-4FDC-A5A8-1978B5B3E545\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateSagExpressConnectInterfaceResponse>\\r\\n <RequestId>AFF7E5A6-6897-4FDC-A5A8-1978B5B3E545</RequestId>\\r\\n</CreateSagExpressConnectInterfaceResponse>","errorExample":""}]',
+ 'title' => 'CreateSagExpressConnectInterface',
+ 'summary' => 'Creates a subinterface for an Express Connect circuit.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteSagExpressConnectInterface' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Smart Access Gateway (SAG) instance is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ [
+ 'name' => 'PortName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the leased line port.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '5',
+ ],
+ ],
+ [
+ 'name' => 'Vlan',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The VLAN ID of the leased line port.'."\n"
+ ."\n"
+ .'Valid values: **0 to 4094**.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* If the VLAN ID is 0, the leased line port is a physical port and does not support VLAN interfaces.'."\n"
+ .'* If the VLAN ID is 1 to 4094, the leased line port supports VLAN interfaces based on the Layer-3 protocols.',
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'AFF7E5A6-6897-4FDC-A5A8-1978B5B3E545',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AFF7E5A6-6897-4FDC-A5A8-1978B5B3E545\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteSagExpressConnectInterfaceResponse>\\r\\n <RequestId>AFF7E5A6-6897-4FDC-A5A8-1978B5B3E545</RequestId>\\r\\n</DeleteSagExpressConnectInterfaceResponse>","errorExample":""}]',
+ 'title' => 'DeleteSagExpressConnectInterface',
+ 'summary' => 'Deletes a subinterface from a leased line port.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifySagExpressConnectInterface' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Smart Access Gateway (SAG) instance is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ [
+ 'name' => 'PortName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the Express Connect port.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '5',
+ ],
+ ],
+ [
+ 'name' => 'Vlan',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The VLAN ID of the subinterface.'."\n"
+ ."\n"
+ .'Valid values: **0 to 4094**.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* If the VLAN ID is 0, this port is a physical port and does not support VLAN subinterfaces.'."\n"
+ .'* If the VLAN ID is 1 to 4094, this port supports VLAN subinterfaces based on the Layer 3 protocols.',
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'IP',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '192.XX.XX.1',
+ ],
+ ],
+ [
+ 'name' => 'Mask',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The subnet mask of the IP address.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '255.255.255.252',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'AFF7E5A6-6897-4FDC-A5A8-1978B5B3E545',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Sag.EccVlanNotExist',
+ 'errorMessage' => 'The specified dedicated VLAN does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AFF7E5A6-6897-4FDC-A5A8-1978B5B3E545\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifySagExpressConnectInterfaceResponse>\\n <RequestId>AFF7E5A6-6897-4FDC-A5A8-1978B5B3E545</RequestId>\\n</ModifySagExpressConnectInterfaceResponse>","errorExample":""}]',
+ 'title' => 'ModifySagExpressConnectInterface',
+ 'summary' => 'Modifies the sub-interface information of an Express Connect circuit port.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSagExpressConnectInterfaceList' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Smart Access Gateway (SAG) instance is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ [
+ 'name' => 'PortName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the Express Connect circuit port.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '3',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Interfaces' => [
+ 'description' => 'The information about the port.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Mask' => [
+ 'description' => 'The subnet mask of the IP address of the port.'."\n",
+ 'type' => 'string',
+ 'example' => '255.255.255.0',
+ ],
+ 'Vlan' => [
+ 'description' => 'The VLAN ID.'."\n",
+ 'type' => 'string',
+ 'example' => '2',
+ ],
+ 'IP' => [
+ 'description' => 'The IP address.'."\n",
+ 'type' => 'string',
+ 'example' => '192.XX.XX.1',
+ ],
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '2718F7A6-EA67-41EF-BA39-E9F4A0F5D306',
+ ],
+ 'TaskStates' => [
+ 'description' => 'The state of the query task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMessage' => [
+ 'description' => 'The error message. A value of Successful indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'State' => [
+ 'description' => 'The state of the asynchronous query task. Valid values:'."\n"
+ ."\n"
+ .'* **Initialized**: The query task is initialized.'."\n"
+ .'* **Offline**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. After the SAG device is connected to Alibaba Cloud, Alibaba Cloud assigns the query task to the SAG device.'."\n"
+ .'* **Succeed**: Alibaba Cloud has assigned the query task to the SAG device.'."\n"
+ .'* **Processing**: Alibaba Cloud is assigning the query task to the SAG device.'."\n"
+ .'* **VersionNotSupport**: The query task is not supported by the current version of the SAG device.'."\n"
+ .'* **BuildRequestError**: The query task is not supported by the controller of the SAG device.'."\n"
+ .'* **HardwareError**: Alibaba Cloud failed to assign the query task to the SAG device because the SAG device is faulty.'."\n"
+ .'* **TaskNotExist**: The query task does not exist.'."\n"
+ .'* **OfflineNotConfiged**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. Alibaba Cloud does not assign the query task to the SAG device even after the SAG device is connected to Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => 'Succeed',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code returned. A value of 200 indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the query task was created.'."\n",
+ 'type' => 'string',
+ 'example' => '1586835287000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Interfaces\\": [\\n {\\n \\"Mask\\": \\"255.255.255.0\\",\\n \\"Vlan\\": \\"2\\",\\n \\"IP\\": \\"192.XX.XX.1\\"\\n }\\n ],\\n \\"RequestId\\": \\"2718F7A6-EA67-41EF-BA39-E9F4A0F5D306\\",\\n \\"TaskStates\\": [\\n {\\n \\"ErrorMessage\\": \\"Successful\\",\\n \\"State\\": \\"Succeed\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CreateTime\\": \\"1586835287000\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSagExpressConnectInterfaceListResponse>\\n<Interfaces>\\n <IP>192.XX.XX.1</IP>\\n <Mask>255.255.255.0</Mask>\\n <Vlan>0</Vlan>\\n</Interfaces>\\n<RequestId>502682C4-99F2-472A-AD2D-8FDE002E0761</RequestId>\\n<TaskStates>\\n <State>Succeed</State>\\n <CreateTime>1586835287000</CreateTime>\\n <ErrorCode>200</ErrorCode>\\n <ErrorMessage>Successful</ErrorMessage>\\n</TaskStates>\\n</DescribeSagExpressConnectInterfaceListResponse>","errorExample":""}]',
+ 'title' => 'DescribeSagExpressConnectInterfaceList',
+ 'summary' => 'Queries sub-interfaces added to an Express Connect circuit port.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifySagHa' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The SAG instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ [
+ 'name' => 'Mode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The HA mode. Valid values:'."\n"
+ ."\n"
+ .'* **NONE**: disables HA.'."\n"
+ .'* **STATIC**: enables static HA.'."\n"
+ .'* **DYNAMIC**: enables dynamic HA.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'NONE',
+ ],
+ ],
+ [
+ 'name' => 'PortName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The port name.'."\n"
+ ."\n"
+ .'> If Mode is set to STATIC, you must specify a port name.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '5',
+ ],
+ ],
+ [
+ 'name' => 'VirtualIp',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The virtual IP address.'."\n"
+ ."\n"
+ .'> If Mode is set to STATIC, you must specify a virtual IP address.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '192.XX.XX.5',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '3200E8A3-563F-4FFC-8BDB-0F1263FA69E8',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Sag.HaPortExist',
+ 'errorMessage' => 'The specified port is used by the HA configuration.',
+ ],
+ [
+ 'errorCode' => 'Sag.HaPortRoleError',
+ 'errorMessage' => 'The specified port does not support HA configuration.',
+ ],
+ [
+ 'errorCode' => 'Sag.HaTypeNotAllow',
+ 'errorMessage' => 'The specified device does not support the configuration of the specified type.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"3200E8A3-563F-4FFC-8BDB-0F1263FA69E8\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifySagHaResponse>\\r\\n <RequestId>3200E8A3-563F-4FFC-8BDB-0F1263FA69E8</RequestId>\\r\\n</ModifySagHaResponse>","errorExample":""}]',
+ 'title' => 'ModifySagHa',
+ 'summary' => 'Modifies the high availability (HA) settings of a Smart Access Gateway (SAG) device.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSagHa' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the Smart Access Gateway (SAG) instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '273D62FD-E346-4959-AA18-D79B9276FEFB',
+ ],
+ 'Mode' => [
+ 'description' => 'The HA mode. Valid values:'."\n"
+ ."\n"
+ .'* **NONE**: HA is disabled.'."\n"
+ .'* **STATIC**: static HA is enabled.'."\n"
+ .'* **DYNAMIC**: dynamic HA is enabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'NONE',
+ ],
+ 'Ports' => [
+ 'description' => 'The information about the port.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'PortName' => [
+ 'description' => 'The name of the port.'."\n",
+ 'type' => 'string',
+ 'example' => '5',
+ ],
+ 'VirtualIp' => [
+ 'description' => 'The virtual IP address of the SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => '192.XX.XX.1',
+ ],
+ ],
+ ],
+ ],
+ 'TaskStates' => [
+ 'description' => 'The information about the query task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned for a query task. The Successful error message indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'State' => [
+ 'description' => 'The status of the query task. Valid values:'."\n"
+ ."\n"
+ .'* **Initialized**: The query task has been initialized.'."\n"
+ .'* **Offline**: The query task is not dispatched because the SAG device is disconnected from Alibaba Cloud. The task will be dispatched after the SAG device is connected to Alibaba Cloud.'."\n"
+ .'* **Succeed**: The query task has been dispatched.'."\n"
+ .'* **Processing**: The query task is being dispatched.'."\n"
+ .'* **VersionNotSupport**: The current version of the SAG device does not support query tasks.'."\n"
+ .'* **BuildRequestError**: The SAG control system does not support query tasks.'."\n"
+ .'* **HardwareError**: The query task failed to be dispatched due to device errors.'."\n"
+ .'* **TaskNotExist**: The query task does not exist.'."\n"
+ .'* **OfflineNotConfiged**: The query task is not dispatched because the SAG device is disconnected from Alibaba Cloud. The task will not be dispatched after the device is connected to Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => 'Succeed',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code returned for a query task. The 200 error code indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the query task was created.'."\n",
+ 'type' => 'string',
+ 'example' => '1586836343000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Mode\\": \\"NONE\\",\\n \\"RequestId\\": \\"273D62FD-E346-4959-AA18-D79B9276FEFB\\",\\n \\"Ports\\": [\\n {\\n \\"PortName\\": \\"5\\",\\n \\"VirtualIp\\": \\"192.XX.XX.1\\"\\n }\\n ],\\n \\"TaskStates\\": [\\n {\\n \\"ErrorMessage\\": \\"Successful\\",\\n \\"State\\": \\"Succeed\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CreateTime\\": \\"1586836343000\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSagHaResponse>\\n<RequestId>0EF71E33-011D-45DC-B942-8F1241D931E3</RequestId>\\n<Mode>DYNAMIC</Mode>\\n<TaskStates>\\n <State>Succeed</State>\\n <CreateTime>1586836343000</CreateTime>\\n <ErrorCode>200</ErrorCode>\\n <ErrorMessage>Successful</ErrorMessage>\\n</TaskStates>\\n</DescribeSagHaResponse>","errorExample":""}]',
+ 'title' => 'DescribeSagHa',
+ 'summary' => 'You can call this operation to query the high availability (HA) configuration of a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSmartAccessGatewayHa' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-pno62188piyc6txxxxx',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'DeviceLevelBackupState' => [
+ 'description' => 'Indicates whether device-based HA is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **ON**: enabled'."\n"
+ .'* **OFF**: disabled'."\n",
+ 'type' => 'string',
+ 'example' => 'OFF',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '582FE511-FEFE-42BC-BBF4-4F8ECF92Exxx',
+ ],
+ 'BackupDeviceId' => [
+ 'description' => 'The serial number of the standby SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag11axxxx',
+ ],
+ 'LinkBackupInfoList' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'LinkBackupInfoList' => [
+ 'description' => 'The information about standby connections.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'MainLinkId' => [
+ 'description' => 'The ID of the active connection.'."\n",
+ 'type' => 'string',
+ 'example' => 'lte',
+ ],
+ 'BackupLinkState' => [
+ 'description' => 'The status of the standby connection. Valid values:'."\n"
+ ."\n"
+ .'* **up**: available'."\n"
+ .'* **down**: unavailable'."\n",
+ 'type' => 'string',
+ 'example' => 'down',
+ ],
+ 'LinkLevelBackupState' => [
+ 'description' => 'Indicates whether HA is enabled to provide standby connections. Valid values:'."\n"
+ ."\n"
+ .'* **ON**: enabled'."\n"
+ .'* **OFF**: disabled'."\n",
+ 'type' => 'string',
+ 'example' => 'ON',
+ ],
+ 'BackupLinkId' => [
+ 'description' => 'The ID of the standby connection.'."\n",
+ 'type' => 'string',
+ 'example' => 'wan1',
+ ],
+ 'MainLinkState' => [
+ 'description' => 'The status of the active connection. Valid values:'."\n"
+ ."\n"
+ .'* **up**: available'."\n"
+ .'* **down**: unavailable'."\n",
+ 'type' => 'string',
+ 'example' => 'up',
+ ],
+ 'LinkLevelBackupType' => [
+ 'description' => 'The HA mode. Valid values:'."\n"
+ ."\n"
+ .'* **DedicatedLineBackupMode**: Express Connect circuit and SAG.'."\n"
+ .'* **StandbyMode**: active and standby WAN ports.'."\n"
+ .'* **Off**: HA is disabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'StandbyMode',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'SmartAGId' => [
+ 'description' => 'The ID of the SAG instance.',
+ 'type' => 'string',
+ 'example' => 'sag-i8mogwi9kisigc3xxxx',
+ ],
+ 'DeviceLevelBackupType' => [
+ 'description' => 'The deployment mode of the SAG devices that have HA enabled. Valid values:'."\n"
+ ."\n"
+ .'* **warm_backup**: active-active mode.'."\n"
+ .'* **cold_backup**: active-standby mode.'."\n"
+ .'* **no_backup**: HA is disabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'cold_backup',
+ ],
+ 'MainDeviceId' => [
+ 'description' => 'The serial number of the active SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag11axxxx',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"DeviceLevelBackupState\\": \\"OFF\\",\\n \\"RequestId\\": \\"582FE511-FEFE-42BC-BBF4-4F8ECF92Exxx\\",\\n \\"BackupDeviceId\\": \\"sag11axxxx\\",\\n \\"LinkBackupInfoList\\": {\\n \\"LinkBackupInfoList\\": [\\n {\\n \\"MainLinkId\\": \\"lte\\",\\n \\"BackupLinkState\\": \\"down\\",\\n \\"LinkLevelBackupState\\": \\"ON\\",\\n \\"BackupLinkId\\": \\"wan1\\",\\n \\"MainLinkState\\": \\"up\\",\\n \\"LinkLevelBackupType\\": \\"StandbyMode\\"\\n }\\n ]\\n },\\n \\"SmartAGId\\": \\"sag-i8mogwi9kisigc3xxxx\\",\\n \\"DeviceLevelBackupType\\": \\"cold_backup\\",\\n \\"MainDeviceId\\": \\"sag11axxxx\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DescribeSmartAccessGatewayHaResponse>\\r\\n\\t<SmartAGId>sag-i8mogwi9kisigcxxxx</SmartAGId>\\r\\n\\t<DeviceLevelBackupState>OFF</DeviceLevelBackupState>\\r\\n\\t<LinkBackupInfoList>\\r\\n\\t\\t<LinkBackupInfoList>\\r\\n\\t\\t\\t<LinkLevelBackupType>StandbyMode</LinkLevelBackupType>\\r\\n\\t\\t\\t<MainLinkId>lte</MainLinkId>\\r\\n\\t\\t\\t<BackupLinkState>down</BackupLinkState>\\r\\n\\t\\t\\t<LinkLevelBackupState>ON</LinkLevelBackupState>\\r\\n\\t\\t\\t<BackupLinkId>wan1</BackupLinkId>\\r\\n\\t\\t\\t<MainLinkState>up</MainLinkState>\\r\\n\\t\\t</LinkBackupInfoList>\\r\\n\\t</LinkBackupInfoList>\\r\\n\\t<RequestId>582FE511-FEFE-42BC-BBF4-4F8ECF92E3C6</RequestId>\\r\\n</DescribeSmartAccessGatewayHaResponse>\\r\\n","errorExample":""}]',
+ 'title' => 'DescribeSmartAccessGatewayHa',
+ 'summary' => 'Queries the high availability (HA) settings of a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSagCurrentDns' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '0937DEA0-AB4B-42F4-9314-07B97D30282B',
+ ],
+ 'SlaveDns' => [
+ 'description' => 'The IP address of the secondary DNS server.'."\n",
+ 'type' => 'string',
+ 'example' => '114.XX.XX.114',
+ ],
+ 'MasterDns' => [
+ 'description' => 'The IP address of the primary DNS server.'."\n",
+ 'type' => 'string',
+ 'example' => '223.XX.XX.5',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0937DEA0-AB4B-42F4-9314-07B97D30282B\\",\\n \\"SlaveDns\\": \\"114.XX.XX.114\\",\\n \\"MasterDns\\": \\"223.XX.XX.5\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeSagCurrentDnsResponse>\\n<RequestId>45AA1C4F-4E04-4B70-84D4-3F24DD64688F</RequestId>\\n<SlaveDns>223.XX.XX.5</SlaveDns>\\n<MasterDns>114.XX.XX.114</MasterDns>\\n</DescribeSagCurrentDnsResponse>","errorExample":""}]',
+ 'title' => 'DescribeSagCurrentDns',
+ 'summary' => 'Queries the DNS servers used by a Smart Access Gateway (SAG) device.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSagUserDns' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '0937DEA0-AB4B-42F4-9314-07B97D30282B',
+ ],
+ 'SlaveDns' => [
+ 'description' => 'The IP address of the secondary DNS server.'."\n",
+ 'type' => 'string',
+ 'example' => '192.XX.XX.2',
+ ],
+ 'TaskStates' => [
+ 'description' => 'The state of the query task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMessage' => [
+ 'description' => 'The error message. A value of Successful indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'State' => [
+ 'description' => 'The state of the query task. Valid values:'."\n"
+ ."\n"
+ .'* **Initialized**: The query task is initialized.'."\n"
+ .'* **Offline**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. After the SAG device is connected to Alibaba Cloud, Alibaba Cloud assigns the query task to the SAG device.'."\n"
+ .'* **Succeed**: Alibaba Cloud has assigned the query task to the SAG device.'."\n"
+ .'* **Processing**: Alibaba Cloud is assigning the query task to the SAG device.'."\n"
+ .'* **VersionNotSupport**: The query task is not supported by the current version of the SAG device.'."\n"
+ .'* **BuildRequestError**: The query task is not supported by the controller of the SAG device.'."\n"
+ .'* **HardwareError**: Alibaba Cloud failed to assign the query task to the SAG device because the SAG device is faulty.'."\n"
+ .'* **TaskNotExist**: The query task does not exist.'."\n"
+ .'* **OfflineNotConfiged**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. Alibaba Cloud does not assign the query task to the SAG device even after the SAG device is connected to Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => 'Succeed',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code returned. A value of 200 indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the query task was created.'."\n",
+ 'type' => 'string',
+ 'example' => '1586852928000',
+ ],
+ ],
+ ],
+ ],
+ 'MasterDns' => [
+ 'description' => 'The IP address of the primary DNS server.'."\n",
+ 'type' => 'string',
+ 'example' => '192.XX.XX.1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0937DEA0-AB4B-42F4-9314-07B97D30282B\\",\\n \\"SlaveDns\\": \\"192.XX.XX.2\\",\\n \\"TaskStates\\": [\\n {\\n \\"ErrorMessage\\": \\"Successful\\",\\n \\"State\\": \\"Succeed\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CreateTime\\": \\"1586852928000\\"\\n }\\n ],\\n \\"MasterDns\\": \\"192.XX.XX.1\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeSagUserDnsResponse>\\n<RequestId>9D6594D7-F265-47D1-9F41-D4B2A9F9D3BC</RequestId>\\n<SlaveDns>2.XX.XX.2</SlaveDns>\\n<TaskStates>\\n <State>Succeed</State>\\n <CreateTime>1586852928000</CreateTime>\\n <ErrorCode>200</ErrorCode>\\n <ErrorMessage>Successful</ErrorMessage>\\n</TaskStates>\\n<MasterDns>1.XX.XX.1</MasterDns>\\n</DescribeSagUserDnsResponse>","errorExample":""}]',
+ 'title' => 'DescribeSagUserDns',
+ 'summary' => 'Queries the DNS servers used by a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifySagUserDns' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ [
+ 'name' => 'MasterDns',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address of the primary DNS server.'."\n"
+ ."\n"
+ .'> If you do not set this parameter, the IP address of the existing DNS server will be cleared.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '192.XX.XX.1',
+ ],
+ ],
+ [
+ 'name' => 'SlaveDns',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address of the secondary DNS server.'."\n"
+ ."\n"
+ .'> If you do not set this parameter, the IP address of the existing DNS server will be cleared.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '192.XX.XX.2',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '1120228A-E5E1-4E9C-B56D-96887E1A2B2F',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1120228A-E5E1-4E9C-B56D-96887E1A2B2F\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifySagUserDnsResponse>\\r\\n <RequestId>1120228A-E5E1-4E9C-B56D-96887E1A2B2F</RequestId>\\r\\n</ModifySagUserDnsResponse>","errorExample":""}]',
+ 'title' => 'ModifySagUserDns',
+ 'summary' => 'Modifies the DNS servers used by a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifySagWifi' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ [
+ 'name' => 'IsEnable',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether Wi-Fi is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **true**: enables Wi-Fi.'."\n"
+ .'* **False**: disables Wi-Fi.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'True',
+ ],
+ ],
+ [
+ 'name' => 'SSID',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The service set identifier (SSID) of the Wi-Fi network.'."\n"
+ ."\n"
+ .'The name must be 1 to 31 characters in length, and can contain digits and letters.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'aliyun_sag_123456****',
+ ],
+ ],
+ [
+ 'name' => 'IsBroadcast',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether broadcast over Wi-Fi is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **true**: enables broadcast.'."\n"
+ .'* **False**: disables broadcast.'."\n"
+ ."\n"
+ .'> Only after you enable broadcast, terminals that support wireless connections can search the Wi-Fi network by its SSID and receive Wi-Fi signals.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'True',
+ ],
+ ],
+ [
+ 'name' => 'Channel',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The Wi-Fi channel.'."\n"
+ ."\n"
+ .'Valid values: **0 to 11**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'Bandwidth',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The bandwidth of the channel. Valid values:'."\n"
+ ."\n"
+ .'* **Automatic**'."\n"
+ .'* **20 MHz**'."\n"
+ .'* **40 MHz**'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '20 MHz',
+ ],
+ ],
+ [
+ 'name' => 'IsAuth',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether wireless security is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **true**: enables wireless security.'."\n"
+ .'* **False**: disables wireless security.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'True',
+ ],
+ ],
+ [
+ 'name' => 'AuthenticationType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The authentication type. Valid values:'."\n"
+ ."\n"
+ .'* **NONE**'."\n"
+ .'* **WPA-PSK**'."\n"
+ .'* **WPA2-PSK**'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'WPA2-PSK',
+ ],
+ ],
+ [
+ 'name' => 'EncryptAlgorithm',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The encryption algorithm. Valid values:'."\n"
+ ."\n"
+ .'* **AUTO**: automatically selects the encryption algorithm.'."\n"
+ .'* **TKIP**: uses the Temporal Key Integrity Protocol (TKIP).'."\n"
+ .'* **AES**: uses the Advanced Encryption Standard authorized by Wi-Fi®.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'AUTO',
+ ],
+ ],
+ [
+ 'name' => 'Password',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The password used to connect to the Wi-Fi network.'."\n"
+ ."\n"
+ .'The password must be 8 to 32 characters in length, and can contain digits and letters.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '12345678',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '1120228A-E5E1-4E9C-B56D-96887E1A2B2F',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidId.SMARTAG',
+ 'errorMessage' => ' The specified smart access gateway instance ID does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"1120228A-E5E1-4E9C-B56D-96887E1A2B2F\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifySagWifiResponse>\\r\\n <RequestId>1120228A-E5E1-4E9C-B56D-96887E1A2B2F</RequestId>\\r\\n</ModifySagWifiResponse>","errorExample":""}]',
+ 'title' => 'ModifySagWifi',
+ 'summary' => 'You can call this operation to modify the Wi-Fi settings of a Smart Access Gateway (SAG) device.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSagWifi' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-whfn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number (SN) of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'IsEnable' => [
+ 'description' => 'Indicates whether wireless connections are enabled. Valid values:'."\n"
+ ."\n"
+ .'* **True**: wireless connections are enabled.'."\n"
+ .'* **False**: wireless connections are disabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'True',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E93884AC-6C21-4FEA-8E3A-7377D33B194F',
+ ],
+ 'IsAuth' => [
+ 'description' => 'Indicates whether wireless security is enabled.'."\n"
+ ."\n"
+ .'* **True**: wireless security is enabled.'."\n"
+ .'* **False**: wireless security is disabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'True',
+ ],
+ 'Bandwidth' => [
+ 'description' => 'The bandwidth of the Wi-Fi channel. Valid values:'."\n"
+ ."\n"
+ .'* **Automatic**'."\n"
+ .'* **20 HMz**'."\n"
+ .'* **40 MHz**'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Channel' => [
+ 'description' => 'The Wi-Fi channel.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'Ssid' => [
+ 'description' => 'The service set identifier (SSID) of the Wi-Fi network.'."\n",
+ 'type' => 'string',
+ 'example' => 'aliyun_sag_123456***',
+ ],
+ 'TaskStates' => [
+ 'description' => 'The information about the query task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMessage' => [
+ 'description' => 'The error message returned for a query task. The Successful error message indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'State' => [
+ 'description' => 'The status of the query task. Valid values:'."\n"
+ ."\n"
+ .'* **Initialized**: The query task has been initialized.'."\n"
+ .'* **Offline**: The query task is not dispatched because the SAG device is disconnected from Alibaba Cloud. The task will be dispatched after the SAG device is connected to Alibaba Cloud.'."\n"
+ .'* **Succeed**: The query task has been dispatched.'."\n"
+ .'* **Processing**: The query task is being dispatched.'."\n"
+ .'* **VersionNotSupport**: The current version of the SAG device does not support query tasks.'."\n"
+ .'* **BuildRequestError**: The SAG control system does not support query tasks.'."\n"
+ .'* **HardwareError**: The query task failed to be dispatched due to device errors.'."\n"
+ .'* **TaskNotExist**: The query task does not exist.'."\n"
+ .'* **OfflineNotConfiged**: The query task is not dispatched because the SAG device is disconnected from Alibaba Cloud. The task will not be dispatched after the device is connected to Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => 'Succeed',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code returned for a query task. The 200 error code indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the query task was created.'."\n",
+ 'type' => 'string',
+ 'example' => '1586843621000',
+ ],
+ ],
+ ],
+ ],
+ 'AuthenticationType' => [
+ 'description' => 'The authentication type. Valid values:'."\n"
+ ."\n"
+ .'* **NONE**: authentication is disabled.'."\n"
+ .'* **WPA-PSK**: WPA-PSK authentication is enabled.'."\n"
+ .'* **WPA2-PSK**: WPA2-PSK authentication is enabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'WPA2-PSK',
+ ],
+ 'EncryptAlgorithm' => [
+ 'description' => 'The encryption algorithm.'."\n"
+ ."\n"
+ .'* **AUTO**: automatically selects the encryption algorithm.'."\n"
+ .'* **TKIP**: uses the Temporal Key Integrity Protocol (TKIP).'."\n"
+ .'* **AES**: uses the Advanced Encryption Standard authorized by Wi-Fi®.'."\n",
+ 'type' => 'string',
+ 'example' => 'AES',
+ ],
+ 'IsBroadcast' => [
+ 'description' => 'Indicates whether broadcast over Wi-Fi is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **True**: broadcast is enabled.'."\n"
+ .'* **False**: broadcast is disabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'True',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"IsAuth\\": \\"True\\",\\n \\"Ssid\\": \\"aliyun_sag_123456***\\",\\n \\"RequestId\\": \\"E93884AC-6C21-4FEA-8E3A-7377D33B194F\\",\\n \\"Bandwidth\\": \\"自动\\",\\n \\"AuthenticationType\\": \\"WPA2-PSK\\",\\n \\"IsEnable\\": \\"True\\",\\n \\"Channel\\": \\"0\\",\\n \\"EncryptAlgorithm\\": \\"AES\\",\\n \\"IsBroadcast\\": \\"True\\",\\n \\"TaskStates\\": [\\n {\\n \\"ErrorMessage\\": \\"Successful\\",\\n \\"State\\": \\"Succeed\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CreateTime\\": \\"1586843621000\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeSagWifiResponse>\\n<IsEnable>False</IsEnable>\\n<RequestId>C1ECD42E-B896-487B-8FCD-4A3364D00F21</RequestId>\\n<TaskStates>\\n <State>Succeed</State>\\n <CreateTime>1586843621000</CreateTime>\\n <ErrorCode>200</ErrorCode>\\n <ErrorMessage>Successful</ErrorMessage>\\n</TaskStates>\\n</DescribeSagWifiResponse>","errorExample":""}]',
+ 'title' => 'DescribeSagWifi',
+ 'summary' => 'You can call this operation to query the Wi-Fi settings of a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'BindSerialNumber' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The SAG instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-r79m060r6oy55******',
+ ],
+ ],
+ [
+ 'name' => 'SerialNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sage62x021922****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '61C33444-D8C5-4018-A06C-BA8C8812BEF6',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceIdEmpty',
+ 'errorMessage' => 'You must specify the SAG instance ID.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SnOverLimit',
+ 'errorMessage' => 'The maximum number of serial numbers bound to the SAG instance is exceeded.',
+ ],
+ [
+ 'errorCode' => 'SAG.SnConflict',
+ 'errorMessage' => 'The specified SerialNumber has been bound to another SAG instance.',
+ ],
+ [
+ 'errorCode' => 'ResourceInOperating',
+ 'errorMessage' => 'The specified resource is being used. Please try later.',
+ ],
+ [
+ 'errorCode' => 'SAG.InvalidSerialNumber',
+ 'errorMessage' => 'The specified SerialNumber is invalid.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"61C33444-D8C5-4018-A06C-BA8C8812BEF6\\"\\n}","errorExample":""},{"type":"xml","example":"<BindSerialNumberResponse>\\r\\n<RequestId>61C33444-D8C5-4018-A06C-BA8C8812BEF6</RequestId>\\r\\n</BindSerialNumberResponse>","errorExample":""}]',
+ 'title' => 'BindSerialNumber',
+ 'summary' => 'Associates a Smart Access Gateway (SAG) device with an SAG instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UnbindSerialNumber' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-0phdojgu5tqr1p****',
+ ],
+ ],
+ [
+ 'name' => 'SerialNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device to be disassociated.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-sh-0-0927-16****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '284045DE-4C2D-463D-9F27-B6898E67D120',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceIdEmpty',
+ 'errorMessage' => 'You must specify the SAG instance ID.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.InvalidSerialNumber',
+ 'errorMessage' => 'The specified SerialNumber is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"284045DE-4C2D-463D-9F27-B6898E67D120\\"\\n}","errorExample":""},{"type":"xml","example":"<UnbindSerialNumberResponse>\\r\\n<RequestId>284045DE-4C2D-463D-9F27-B6898E67D120</RequestId>\\r\\n</UnbindSerialNumberResponse>","errorExample":""}]',
+ 'title' => 'UnbindSerialNumber',
+ 'summary' => 'Disassociates a Smart Access Gateway (SAG) device from the associated SAG instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ActivateSmartAccessGateway' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-ke3kq4evpi8p6******',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'E223E535-AE11-4158-B00F-DC107887A909',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayActivateFailed',
+ 'errorMessage' => 'An error has occurred while activating the specified Smart Access Gateway.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E223E535-AE11-4158-B00F-DC107887A909\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n <ActivateSmartAccessGatewayResponse>\\r\\n\\t<RequestId>E223E535-AE11-4158-B00F-DC107887A909</RequestId>\\r\\n </ActivateSmartAccessGatewayResponse>","errorExample":""}]',
+ 'title' => 'ActivateSmartAccessGateway',
+ 'summary' => 'Activates a Smart Access Gateway (SAG) device.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'SynchronizeSmartAGWebConfig' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-nylv14tghsk26c****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'CBBE5EBF-69C1-4395-B36B-26B7605F87EA',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupportFeature',
+ 'errorMessage' => 'The specified SAG Software instance does not support this feature.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CBBE5EBF-69C1-4395-B36B-26B7605F87EA\\"\\n}","errorExample":""},{"type":"xml","example":"<SynchronizeSmartAGWebConfigResponse>\\r\\n <RequestId>CBBE5EBF-69C1-4395-B36B-26B7605F87EA</RequestId>\\r\\n</SynchronizeSmartAGWebConfigResponse>","errorExample":""}]',
+ 'title' => 'SynchronizeSmartAGWebConfig',
+ 'summary' => 'Synchronizes the settings of a Smart Access Gateway (SAG) device to the associated SAG instance.',
+ 'description' => '**SynchronizeSmartAGWebConfig** is an asynchronous operation. After you send a request, the request ID is returned but the operation is still being performed in the system background. You can call the [DescribeSAGDeviceInfo](~~164279~~) operation to query the status of an SAG device.'."\n"
+ ."\n"
+ .'* If an SAG device is in the **Synchronizing** state, the settings of the SAG device are being synchronized to the associated SAG instance.'."\n"
+ .'* If an SAG device is in the **Synchronized** state, the settings of the SAG device are synchronized to the associated SAG instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifySAGAdminPassword' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-tq3sazs17smldn****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number (SN) of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag32a30****',
+ ],
+ ],
+ [
+ 'name' => 'Password',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new logon password for the SAG device.'."\n"
+ ."\n"
+ .'The password must be 8 to 30 characters in length and can contain letters, digits, and underscores (\\_).'."\n"
+ ."\n"
+ .'> In the example, asterisks (\\*) are used to conceal the real password. This does not mean that the password supports asterisks (\\*). The actual format requirement prevails.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '********',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'DB0A026C-A8E5-40AB-977E-3A87DD78F694',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'IllegalParam.Password',
+ 'errorMessage' => 'The specified Password is invalid.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.Password',
+ 'errorMessage' => 'You must specify Password.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupportFeature',
+ 'errorMessage' => 'The specified SAG Software instance does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayOffline',
+ 'errorMessage' => 'The request cannot be completed. The Smart Access Gateway is offline.',
+ ],
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The network configuration is not synchronized.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DB0A026C-A8E5-40AB-977E-3A87DD78F694\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifySAGAdminPasswordResponse>\\n <RequestId>DB0A026C-A8E5-40AB-977E-3A87DD78F694</RequestId>\\n</ModifySAGAdminPasswordResponse>","errorExample":""}]',
+ 'title' => 'ModifySAGAdminPassword',
+ 'summary' => 'Modifies the password that is used to log on to a smart access gateway (SAG) device.',
+ ],
+ 'RebootSmartAccessGateway' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-w9unmktmupcde*****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SerialNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'a1b2c3d4e5f6g7h8f9',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'B1792769-5CC3-4D6F-A5A5-E6408EBFBAD0',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B1792769-5CC3-4D6F-A5A5-E6408EBFBAD0\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<RebootSmartAccessGatewayResponse>\\r\\n\\t<requestId>B1792769-5CC3-4D6F-A5A5-E6408EBFBAD0</requestId>\\r\\n</RebootSmartAccessGatewayResponse>","errorExample":""}]',
+ 'title' => 'RebootSmartAccessGateway',
+ 'summary' => 'Restarts a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UnlockSmartAccessGateway' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-w9unmktmupcde*****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '05DC546B-DBF9-4028-88CD-1742AB4E014C',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.SMARTAG',
+ 'errorMessage' => 'The specified smart access gateway instance id is invalid.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"05DC546B-DBF9-4028-88CD-1742AB4E014C\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<UnlockSmartAccessGatewayResponse>\\r\\n\\t<RequestId>05DC546B-DBF9-4028-88CD-1742AB4E014C</RequestId>\\r\\n</UnlockSmartAccessGatewayResponse>","errorExample":""}]',
+ 'title' => 'UnlockSmartAccessGateway',
+ 'summary' => 'Unlocks a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifySagRemoteAccess' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the corresponding SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-r79m060r6oy55******',
+ ],
+ ],
+ [
+ 'name' => 'SerialNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number (SN) of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-100-v1p7-9',
+ ],
+ ],
+ [
+ 'name' => 'RemoteAccessIp',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The remote access IP address of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '10.10.10.2',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SerialNumber' => [
+ 'description' => 'The SN of the SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag61a344**',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '4FF203D7-462D-498E-94F9-2B2FA462DD23',
+ ],
+ 'Message' => [
+ 'description' => 'The message returned after calling the API.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'RemoteAccessIp' => [
+ 'description' => 'The remote access IP address.'."\n",
+ 'type' => 'string',
+ 'example' => '10.10.10.2',
+ ],
+ 'Code' => [
+ 'description' => 'The returned status code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the API call is successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'VersionNotExist',
+ 'errorMessage' => 'The specified version does not exist.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.SMARTAG',
+ 'errorMessage' => 'The specified smart access gateway instance id is invalid.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'IllegalRemoteIp.Conflict',
+ 'errorMessage' => 'The specified IP address has been used.',
+ ],
+ [
+ 'errorCode' => 'IllegalRemoteIp.RouteTableEntryConflict',
+ 'errorMessage' => 'The specified IP address conflicts with route table entries.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"SerialNumber\\": \\"sag61a344**\\",\\n \\"RemoteAccessIp\\": \\"10.10.10.2\\",\\n \\"RequestId\\": \\"4FF203D7-462D-498E-94F9-2B2FA462DD23\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Successful\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n <ModifySagRemoteAccessResponse>\\r\\n\\t<RemoteAccessIp>10.10.10.2</RemoteAccessIp>\\r\\n\\t<SerialNumber>sag61a344ge</SerialNumber>\\r\\n\\t<Message>Successful</Message>\\r\\n\\t<RequestId>4FF203D7-462D-498E-94F9-2B2FA462DD23</RequestId>\\r\\n\\t<Success>true</Success>\\r\\n\\t<Code>200</Code>\\r\\n </ModifySagRemoteAccessResponse>","errorExample":""}]',
+ 'title' => 'ModifySagRemoteAccess',
+ 'summary' => 'Modifies the remote access IP address of a Smart Access Gateway (SAG) device.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSagRemoteAccess' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-1um5x5nwhilymw****',
+ ],
+ ],
+ [
+ 'name' => 'SerialNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'sage62x022502****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code. The 200 error code indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The error message. The Successful error message indicates that the query task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'E38E950D-28A4-4C41-9428-A8908EC6AE5C',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the query task is successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**: The query task is successful.'."\n"
+ .'* **false**: The query task failed.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'SmartAGId' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-1um5x5nwhilymw****',
+ ],
+ 'RemoteAccesses' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'RemoteAccess' => [
+ 'description' => 'Remote logon information about the SAG device.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SerialNumber' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => 'sage62x022502****',
+ ],
+ 'RemoteAccessIp' => [
+ 'description' => 'The private IP address where the remote logon is initiated.'."\n",
+ 'type' => 'string',
+ 'example' => '192.XX.XX.1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InstanceNotExit',
+ 'errorMessage' => 'The specified instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.SN',
+ 'errorMessage' => 'The specified smart access gateway serial number does not exist.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An error occurred while processing your request.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"successful\\",\\n \\"RequestId\\": \\"E38E950D-28A4-4C41-9428-A8908EC6AE5C\\",\\n \\"Success\\": true,\\n \\"SmartAGId\\": \\"sag-1um5x5nwhilymw****\\",\\n \\"RemoteAccesses\\": {\\n \\"RemoteAccess\\": [\\n {\\n \\"SerialNumber\\": \\"sage62x022502****\\",\\n \\"RemoteAccessIp\\": \\"192.XX.XX.1\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeSagRemoteAccessResponse>\\n<SmartAGId>sag-kxe2cv7hot7qrv****</SmartAGId>\\n<RemoteAccesses>\\n <RemoteAccess>\\n <RemoteAccessIp/>\\n <SerialNumber>sage62x022502****</SerialNumber>\\n </RemoteAccess>\\n</RemoteAccesses>\\n<Message>successful</Message>\\n<RequestId>2E2A56D0-D2BD-4D0B-9314-D355A5C67EBA</RequestId>\\n<Success>true</Success>\\n<Code>200</Code>\\n</DescribeSagRemoteAccessResponse>","errorExample":""}]',
+ 'title' => 'DescribeSagRemoteAccess',
+ 'summary' => 'Queries remote logon information about a Smart Access Gateway (SAG) device.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifyDeviceAutoUpgradePolicy' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-1um5x5nwhilymw****',
+ ],
+ ],
+ [
+ 'name' => 'SerialNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sage62x022502****',
+ ],
+ ],
+ [
+ 'name' => 'CronExpression',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The time when upgrades start. Valid values: Set the parameter in a cron expression.'."\n"
+ ."\n"
+ .'For example, you can use `0 0 4 1/1 * ?` to specify 04:00:00 (UTC+8) on the first day of each month.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '0 0 4 1/1 * ?',
+ ],
+ ],
+ [
+ 'name' => 'UpgradeType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The update type. Valid values:'."\n"
+ ."\n"
+ .'* **scheduled**: scheduled upgrade.'."\n"
+ .'* **boot**: automatic upgrade upon device startup.'."\n"
+ .'* **manual**: manual upgrade.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'scheduled',
+ ],
+ ],
+ [
+ 'name' => 'Duration',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The time period during which upgrades are performed. Valid values: **30 to 120**.'."\n"
+ ."\n"
+ .'Unit: minutes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => true,
+ 'maximum' => '300',
+ 'minimum' => '30',
+ 'example' => '30',
+ ],
+ ],
+ [
+ 'name' => 'TimeZone',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The time zone. Valid values:'."\n"
+ ."\n"
+ .'**Asia/Shanghai**: UTC+8 (Beijing)'."\n"
+ ."\n"
+ .'**Asia/Hong_Kong**: UTC+8 (Hong Kong)'."\n"
+ ."\n"
+ .'**Asia/Tokyo**: UTC+9 (Tokyo)'."\n"
+ ."\n"
+ .'**Australia/Sydney**: UTC+10 (Sydney)'."\n"
+ ."\n"
+ .'**Asia/Kuala_Lumpur**: UTC+8 (Kuala Lumpur)'."\n"
+ ."\n"
+ .'**Europe/Berli**: UTC+1 (Berlin)'."\n"
+ ."\n"
+ .'**Asia/Singapore**: UTC+8 (Singapore)'."\n"
+ ."\n"
+ .'**Asia/Jakarta**: UTC+7 (Jakarta)'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'Asia/Shanghai',
+ 'default' => 'Asia/Shanghai',
+ ],
+ ],
+ [
+ 'name' => 'VersionType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of software for which you want to modify the upgrade policy. Valid values:'."\n"
+ ."\n"
+ .'* **Device**: The operating system run by the SAG device.'."\n"
+ .'* **Dpi**: The signature database used by the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Device',
+ 'default' => 'Device',
+ 'enum' => [
+ 'Device',
+ 'Dpi',
+ ],
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'F03C6897-2284-4BC8-94B4-1467BD992A2D',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceIdEmpty',
+ 'errorMessage' => 'You must specify the SAG instance ID.',
+ ],
+ [
+ 'errorCode' => 'SAG.InvalidSerialNumber',
+ 'errorMessage' => 'The specified SerialNumber is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F03C6897-2284-4BC8-94B4-1467BD992A2D\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyDeviceAutoUpgradePolicyResponse>\\r\\n<RequestId>F03C6897-2284-4BC8-94B4-1467BD992A2D</RequestId>\\r\\n</ModifyDeviceAutoUpgradePolicyResponse>","errorExample":""}]',
+ 'title' => 'ModifyDeviceAutoUpgradePolicy',
+ 'summary' => 'Modifies the automatic upgrade policy of a Smart Access Gateway (SAG) device.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateSmartAccessGatewayVersion' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-0ovhf732a9j*******',
+ ],
+ ],
+ [
+ 'name' => 'VersionCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version to which you want to upgrade the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '1.0.1',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SerialNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sag233****',
+ ],
+ ],
+ [
+ 'name' => 'VersionType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of software that you want to upgrade. Valid values:'."\n"
+ ."\n"
+ .'* **Device**: The operating system run by the SAG device.'."\n"
+ .'* **Dpi**: The signature database used by the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Device',
+ 'default' => 'Device',
+ 'enum' => [
+ 'Device',
+ 'Dpi',
+ ],
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'CE6642D4-21EB-4168-9BF9-F217953F9892',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.SMARTAG',
+ 'errorMessage' => 'The specified smart access gateway instance id is invalid.',
+ ],
+ [
+ 'errorCode' => 'NotBoundCCN',
+ 'errorMessage' => 'The specified smart access gateway has not bound CCN; please bind CCN first.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified smart access gateway is not online.',
+ ],
+ [
+ 'errorCode' => 'GetSmartAccessGatewayVersionError',
+ 'errorMessage' => 'An error occurred while obtaining the smart access gateway version.',
+ ],
+ [
+ 'errorCode' => 'GetSmartAccessGatewayStateError',
+ 'errorMessage' => 'An error occurred while obtaining the smart access gateway status.',
+ ],
+ [
+ 'errorCode' => 'VersionTooOld',
+ 'errorMessage' => 'The specified version is outdated; please select a newer version.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'PermissionError',
+ 'errorMessage' => 'No permission to operate the instance.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CE6642D4-21EB-4168-9BF9-F217953F9892\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"CE6642D4-21EB-4168-9BF9-F217953F9892\\"\\n}"},{"type":"xml","example":"<UpdateSmartAccessGatewayVersionResponse>\\r\\n<RequestId>CE6642D4-21EB-4168-9BF9-F217953F9892</RequestId>\\r\\n</UpdateSmartAccessGatewayVersionResponse>","errorExample":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<UpdateSmartAccessGatewayVersionResponse>\\n <RequestId>CE6642D4-21EB-4168-9BF9-F217953F9892</RequestId>\\n</UpdateSmartAccessGatewayVersionResponse>"}]',
+ 'title' => 'UpdateSmartAccessGatewayVersion',
+ 'summary' => 'Upgrades a SAG device to a later version.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifySmartAccessGateway' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-0ovhf732a9j0******',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the SAG instance.'."\n"
+ ."\n"
+ .'The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'SAG',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the SAG instance.'."\n"
+ ."\n"
+ .'The description must be 2 to 256 characters in length. The description must start with a letter but cannot start with `http://` or `https://`.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'CidrBlock',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The CIDR blocks of terminals in the private network. Make sure that the CIDR blocks do not overlap with each other.'."\n"
+ ."\n"
+ .'If the LAN ports of the terminals use dynamic routing, the IP addresses within the first private CIDR block are allocated to the terminals that have Dynamic Host Configuration Protocol (DHCP) enabled.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '172.16.0.0/24',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SecurityLockThreshold',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The time during which the disconnected SAG instance remains locked. Valid values: an integer that is greater than or equal to 0.'."\n"
+ ."\n"
+ .'Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '2147483647',
+ 'minimum' => '0',
+ 'example' => '3',
+ ],
+ ],
+ [
+ 'name' => 'RoutingStrategy',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The policy that is used to advertise routes to Alibaba Cloud. Valid values:'."\n"
+ ."\n"
+ .'* **static**: static routing'."\n"
+ .'* **dynamic**: dynamic routing'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'static',
+ ],
+ ],
+ [
+ 'name' => 'Position',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The location where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'EnableSoftwareConnectionAudit',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to audit the network connection logs of the SAS app instance.'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'CE6642D4-21EB-4168-9BF9-F217953F9892',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.IpCountTooLittle',
+ 'errorMessage' => 'The number of available IP addresses of the CIDR block is fewer than the number of SslConnectionSpec.',
+ ],
+ [
+ 'errorCode' => 'SAG.SslConnectionSpecInvalid',
+ 'errorMessage' => 'The number of SslConnectionSpec is invalid.',
+ ],
+ [
+ 'errorCode' => 'SAG.CcnCidrNoConfig',
+ 'errorMessage' => 'You must configure the CIDR block of CCN.',
+ ],
+ [
+ 'errorCode' => 'SAG.CidrEmpty',
+ 'errorMessage' => 'You must specify the CIDR blocks of SAG.',
+ ],
+ [
+ 'errorCode' => 'SAG.ConflictCidr.CcnSnatCidr',
+ 'errorMessage' => 'The SAG CIDR block is in conflict with the CCN CIDR block.',
+ ],
+ [
+ 'errorCode' => 'SAG.ConflictSnatIp',
+ 'errorMessage' => 'The specified SNAT IP address is invalid.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceIdEmpty',
+ 'errorMessage' => 'You must specify the SAG instance ID.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.InvalidCidr',
+ 'errorMessage' => 'The specified CIDR block is invalid.',
+ ],
+ [
+ 'errorCode' => 'SAG.InvalidCidr.NoBelongCcnCidr',
+ 'errorMessage' => 'The specified SAG CIDR block does not belong to the CCN CIDR block.',
+ ],
+ [
+ 'errorCode' => 'SAG.InvalidSnatCidr',
+ 'errorMessage' => 'The specified SNAT CIDR block is invalid.',
+ ],
+ [
+ 'errorCode' => 'SAG.InvalidSnatIp',
+ 'errorMessage' => 'The specified SNAT IP address is invalid.',
+ ],
+ [
+ 'errorCode' => 'CCN.CidrEmpty',
+ 'errorMessage' => 'You must specify the CCN CIDR block.',
+ ],
+ [
+ 'errorCode' => 'CCN.SnatCidrConflict',
+ 'errorMessage' => 'The specified SNAT CIDR block is invalid.',
+ ],
+ [
+ 'errorCode' => 'ActionNotSupport',
+ 'errorMessage' => 'The specified instance does not support this action.',
+ ],
+ [
+ 'errorCode' => 'CCN.SnatCidrNoConfig',
+ 'errorMessage' => 'You must configure the SNAT CIDR block of the CCN.',
+ ],
+ [
+ 'errorCode' => 'SAG.CidrUsedByRoutableAddress',
+ 'errorMessage' => 'A routable internal IP address belongs to the specified internal CIDR block. You cannot modify this CIDR block.',
+ ],
+ [
+ 'errorCode' => 'InvalidName',
+ 'errorMessage' => 'The specified name is invalid.',
+ ],
+ [
+ 'errorCode' => 'SAG.CidrAmountLimit',
+ 'errorMessage' => 'The maximum number of static routes for the SAG instance is exceeded.',
+ ],
+ [
+ 'errorCode' => 'SAG.InvalidCidrFormat',
+ 'errorMessage' => 'The specified CIDR format is invalid.',
+ ],
+ [
+ 'errorCode' => 'SAG.CidrOverlap',
+ 'errorMessage' => 'The specified CIDR overlaps with an existing CIDR.',
+ ],
+ [
+ 'errorCode' => 'SAG.Arrearage',
+ 'errorMessage' => 'The specified SAG instance has overdue payments. Renew the instance first.',
+ ],
+ [
+ 'errorCode' => 'SAG.NoActive',
+ 'errorMessage' => 'The specified SAG instance has not been activated.',
+ ],
+ [
+ 'errorCode' => 'SAG.NotAllowConfigCidr',
+ 'errorMessage' => 'You cannot specify a static CIDR block when the dynamic routing strategy is used.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'CidrConflict',
+ 'errorMessage' => 'Cidr is conflict, Please Check your input.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.SMARTAG',
+ 'errorMessage' => 'The specified smart access gateway instance id is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidCidr',
+ 'errorMessage' => 'Cidr is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'VbrConflict.ChangeSubnet',
+ 'errorMessage' => 'The subnet of the gateway conflicts with the VBR. Modify the subnet first.',
+ ],
+ [
+ 'errorCode' => 'VbrConflict.CreateBackup',
+ 'errorMessage' => 'The subnet of the gateway conflicts with the VBR. Create a backup relationship first.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotBind',
+ 'errorMessage' => 'The instance has not yet been bound.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'SmartAccessGatewayInArrears',
+ 'errorMessage' => 'The specified Smart Access Gateway has expired.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An error occurred while processing your request.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CE6642D4-21EB-4168-9BF9-F217953F9892\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifySmartAccessGatewayResponse>\\n <RequestId>CE6642D4-21EB-4168-9BF9-F217953F9892</RequestId>\\n</ModifySmartAccessGatewayResponse>","errorExample":""}]',
+ 'title' => 'ModifySmartAccessGateway',
+ 'summary' => 'Modifies the configuration of a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifySmartAccessGatewayUpBandwidth' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-jsy******************',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'UpBandwidthWan',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum upstream bandwidth of network connections established on the WAN port of the SAG device. Unit: Mbit/s.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '2',
+ ],
+ ],
+ [
+ 'name' => 'UpBandwidth4G',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum upstream bandwidth of 4G network connections established by the SAG device. Unit: Mbit/s.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '3',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'EE837E9F-BD50-4C2B-9E47-260F9D848480',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidName',
+ 'errorMessage' => 'The specified name is invalid.',
+ ],
+ [
+ 'errorCode' => 'SAG.NotAllowConfigCidr',
+ 'errorMessage' => 'You cannot specify a static CIDR block when the dynamic routing strategy is used.',
+ ],
+ [
+ 'errorCode' => 'InvalidDescription',
+ 'errorMessage' => 'The specified description is invalid.',
+ ],
+ [
+ 'errorCode' => 'SAG.InvalidRoutingStrategy',
+ 'errorMessage' => 'The specified routing strategy is invalid.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidCidr',
+ 'errorMessage' => 'Cidr is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.SMARTAG',
+ 'errorMessage' => 'The specified smart access gateway instance id is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EE837E9F-BD50-4C2B-9E47-260F9D848480\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n <ModifySmartAccessGatewayUpBandwidthResponse>\\r\\n\\t<RequestId>68CE10C0-2EFF-4B82-9907-10AB7E2B0A6C</RequestId>\\r\\n </ModifySmartAccessGatewayUpBandwidthResponse>","errorExample":""}]',
+ 'title' => 'ModifySmartAccessGatewayUpBandwidth',
+ 'summary' => 'Modifies the parameters of a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ClearSagRouteableAddress' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SagId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-0phdojgu5tqr1p****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'AEEC8A5A-360E-4865-82D4-38CDE46445FB',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AEEC8A5A-360E-4865-82D4-38CDE46445FB\\"\\n}","errorExample":""},{"type":"xml","example":"<ClearSagRouteableAddressResponse>\\r\\n<RequestId>AEEC8A5A-360E-4865-82D4-38CDE46445FB</RequestId>\\r\\n</ClearSagRouteableAddressResponse>","errorExample":""}]',
+ 'title' => 'ClearSagRouteableAddress',
+ 'summary' => 'Clears the routable IP addresses of a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ClearSagCipher' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SagId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-0nnteglltw6z4b****',
+ ],
+ ],
+ [
+ 'name' => 'SnNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG vCPE device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag42c3****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '3712F0B2-721E-4FBF-BBEF-888E3BFE0A20',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"3712F0B2-721E-4FBF-BBEF-888E3BFE0A20\\"\\n}","errorExample":""},{"type":"xml","example":"<ClearSagCipherResponse>\\r\\n<RequestId>69E19A6D-8114-4D57-94A0-14CC7CA578C8</RequestId>\\r\\n</ClearSagCipherResponse>","errorExample":""}]',
+ 'title' => 'ClearSagCipher',
+ 'summary' => 'Resets the password of a virtual customer-premises equipment (vCPE) device of Smart Access Gateway (SAG).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DiagnoseSmartAccessGateway' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-1um5x5nwhilymw****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number (SN) of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sage62x022502****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '193AE392-76C2-4D3E-9420-889A51B43CC0',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"193AE392-76C2-4D3E-9420-889A51B43CC0\\"\\n}","errorExample":""},{"type":"xml","example":"<DiagnoseSmartAccessGatewayResponse>\\r\\n<RequestId>193AE392-76C2-4D3E-9420-889A51B43CC0</RequestId>\\r\\n</DiagnoseSmartAccessGatewayResponse>","errorExample":""}]',
+ 'title' => 'DiagnoseSmartAccessGateway',
+ 'summary' => 'Enables diagnostics for Smart Access Gateway (SAG) devices',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DiscribeSmartAccessGatewayDiagnosisReport' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-1um5x5nwhilymw****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGSn',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sage62x022502****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'D7D6E3AB-D41A-42E3-8D4E-97B145F4B7C3',
+ ],
+ 'DiagnoseResult' => [
+ 'description' => 'The diagnosis report of the SAG device.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Percent' => [
+ 'description' => 'The completion percentage of the diagnosis report.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ 'SN' => [
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag42c3****',
+ ],
+ 'DiagnoseId' => [
+ 'description' => 'The ID of the diagnosis.'."\n",
+ 'type' => 'string',
+ 'example' => 'dia-sag42c3t703trh02olv5rf****',
+ ],
+ 'State' => [
+ 'description' => 'The diagnosis status. Valid values:'."\n"
+ ."\n"
+ .'* **processing**: The SAG device is being diagnosed.'."\n"
+ .'* **finished**: The SAG device is diagnosed.'."\n"
+ .'* **failed**: The system failed to diagnose the SAG device.'."\n"
+ .'* **error**: A diagnostic error occurred.'."\n"
+ .'* **upload_to_sls_fail**: The system failed to upload the diagnosis report.'."\n",
+ 'type' => 'string',
+ 'example' => 'finished',
+ ],
+ 'UserLevel' => [
+ 'description' => 'The type of user that initiated the diagnostics. The value is set to **user**.'."\n",
+ 'type' => 'string',
+ 'example' => 'user',
+ ],
+ 'BoxVersion' => [
+ 'description' => 'The version of the SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => '2.1.0',
+ ],
+ 'InstanceId' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-0nnteglltw6z4b***',
+ ],
+ 'BoxType' => [
+ 'description' => 'The model of the SAG device.'."\n"
+ ."\n"
+ .'* **sag-1000**'."\n"
+ .'* **sag-100WM**'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-1000',
+ ],
+ 'MonitorVersion' => [
+ 'description' => 'The version of the monitoring feature that is used by the SAG device.'."\n",
+ 'type' => 'string',
+ 'example' => '2.0.2.9',
+ ],
+ 'FinishedNumber' => [
+ 'description' => 'The number of items that are diagnosed.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '15',
+ ],
+ 'Details' => [
+ 'description' => 'The list of diagnoses that are returned.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => 'The type of the diagnosis. Valid values:'."\n"
+ ."\n"
+ .'* **config**: SAG configuration'."\n"
+ .'* **internet**: quality of connections to the Internet'."\n"
+ .'* **biz**: service quality'."\n",
+ 'type' => 'string',
+ 'example' => 'config',
+ ],
+ 'Items' => [
+ 'description' => 'The list of items diagnosed.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Type' => [
+ 'description' => 'The type of the item. Valid values:'."\n"
+ ."\n"
+ .'* **config**: SAG configuration'."\n"
+ .'* **internet**: quality of connections to the Internet'."\n"
+ .'* **biz**: service quality'."\n",
+ 'type' => 'string',
+ 'example' => 'config',
+ ],
+ 'EndTime' => [
+ 'description' => 'The timestamp when the system finishes diagnosing the item.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1602741570596',
+ ],
+ 'StartTime' => [
+ 'description' => 'The timestamp when the system starts to diagnose the item.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1602741570567',
+ ],
+ 'CN' => [
+ 'description' => 'The diagnosis report in Chinese.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Advice' => [
+ 'description' => 'The suggestion for the diagnosis.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ ],
+ 'ItemName' => [
+ 'description' => 'The name of the item.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'ItemLevel' => [
+ 'description' => 'The diagnosis level of the item. Valid values:'."\n"
+ ."\n"
+ .'* **ERROR**: indicates that the item has an issue that may affect your services. We recommend that you handle the issue at the earliest opportunity.'."\n"
+ .'* **WARNING**: indicates that the item has an issue. You can handle the issue based on your business requirements.'."\n"
+ .'* **INFO**: indicates that the item is working as expected. No additional operation is required.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'ItemType' => [
+ 'description' => 'The type of the item. Valid values:'."\n"
+ ."\n"
+ .'* **Config**: **SAG configuration**'."\n"
+ .'* **Service**: **service quality**'."\n"
+ .'* **Internet**: **quality of connections to the Internet**'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Details' => [
+ 'description' => 'The diagnosis.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ ],
+ ],
+ ],
+ 'ItemName' => [
+ 'description' => 'The name of the item, which is the unique identifier of the item.'."\n",
+ 'type' => 'string',
+ 'example' => 'eccConfigCheck',
+ ],
+ 'EN' => [
+ 'description' => 'The diagnosis report in English.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Advice' => [
+ 'description' => 'The suggestion for the diagnosis.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Check the physical connections to all Express connect ports and configure these ports on the \'Physical connection port\' page.',
+ ],
+ ],
+ 'ItemName' => [
+ 'description' => 'The name of the item.'."\n",
+ 'type' => 'string',
+ 'example' => 'Express Connect Port Configuration',
+ ],
+ 'ItemLevel' => [
+ 'description' => 'The diagnosis level of the item. Valid values:'."\n"
+ ."\n"
+ .'* **ERROR**: indicates that the item has an issue that may affect your services. We recommend that you handle the issue at the earliest opportunity.'."\n"
+ .'* **WARNING**: indicates that the item has an issue. You can handle the issue based on your business requirements.'."\n"
+ .'* **INFO**: indicates that the item is working as expected. No additional operation is required.'."\n",
+ 'type' => 'string',
+ 'example' => 'ERROR',
+ ],
+ 'ItemType' => [
+ 'description' => 'The type of the item. Valid values:'."\n"
+ ."\n"
+ .'* **Config**: **SAG configuration**'."\n"
+ .'* **Service**: **service quality**'."\n"
+ .'* **Internet**: **quality of connections to the Internet**'."\n",
+ 'type' => 'string',
+ 'example' => 'Config',
+ ],
+ 'Details' => [
+ 'description' => 'The diagnosis.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'The connection states of all Express connect ports are down and no IP address is specified for these ports: Port4',
+ ],
+ ],
+ ],
+ ],
+ 'Level' => [
+ 'description' => 'The diagnosis level of the item. Valid values:'."\n"
+ ."\n"
+ .'* **error**: severe'."\n"
+ .'* **warning**: warning'."\n"
+ .'* **info**: normal'."\n",
+ 'type' => 'string',
+ 'example' => 'error',
+ ],
+ ],
+ ],
+ ],
+ 'Statistics' => [
+ 'description' => 'The information about items of each diagnosis level for the current diagnosis type.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Warning' => [
+ 'description' => 'The number of items of the **WARNING** level.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'Error' => [
+ 'description' => 'The number of items of the **ERROR** level.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of items for the current diagnosis type.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'Info' => [
+ 'description' => 'The number of items of the **INFO** level.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'UId' => [
+ 'description' => 'The user ID (UID) of the Alibaba Cloud account to which the SAG instance belongs.',
+ 'type' => 'string',
+ 'example' => '1688000000000000',
+ ],
+ 'EndTime' => [
+ 'description' => 'The timestamp when the system finishes diagnosing the item.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '160274157',
+ ],
+ 'StartTime' => [
+ 'description' => 'The timestamp when the system starts to diagnose the item.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '160274157',
+ ],
+ 'StoreType' => [
+ 'description' => 'The storage type.'."\n"
+ ."\n"
+ .'The value is set to **both**, which indicates that the data is stored in the SAG device and Log Service.'."\n",
+ 'type' => 'string',
+ 'example' => 'both',
+ ],
+ 'ReportSLSSuccess' => [
+ 'description' => 'The status of the diagnosis report to be uploaded to Log Service.'."\n"
+ ."\n"
+ .'* **0**: The system failed to upload the report.'."\n"
+ .'* **1**: The system has uploaded the report to Log Service.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'TotalNumber' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '15',
+ ],
+ 'Level' => [
+ 'description' => 'The diagnosis level.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Configuration' => [
+ 'description' => 'The diagnosis level of the SAG configuration.'."\n",
+ 'type' => 'string',
+ 'example' => 'info',
+ ],
+ 'Total' => [
+ 'description' => 'The overall diagnosis level.'."\n"
+ ."\n"
+ .'* **error**: severe'."\n"
+ .'* **warning**: warning'."\n"
+ .'* **info**: normal'."\n",
+ 'type' => 'string',
+ 'example' => 'error',
+ ],
+ 'Biz' => [
+ 'description' => 'The diagnosis level of the service quality.'."\n",
+ 'type' => 'string',
+ 'example' => 'warning',
+ ],
+ ],
+ ],
+ 'Statistics' => [
+ 'description' => 'The overall diagnosis level.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Warning' => [
+ 'description' => 'The number of items of the **WARNING** level.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'Error' => [
+ 'description' => 'The number of items of the **ERROR** level.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'Total' => [
+ 'description' => 'The total number of items.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'Info' => [
+ 'description' => 'The number of items of the **INFO** level.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7D6E3AB-D41A-42E3-8D4E-97B145F4B7C3\\",\\n \\"DiagnoseResult\\": {\\n \\"Percent\\": 100,\\n \\"SN\\": \\"sag42c3****\\",\\n \\"DiagnoseId\\": \\"dia-sag42c3t703trh02olv5rf****\\",\\n \\"State\\": \\"finished\\",\\n \\"UserLevel\\": \\"user\\",\\n \\"BoxVersion\\": \\"2.1.0\\",\\n \\"InstanceId\\": \\"sag-0nnteglltw6z4b***\\",\\n \\"BoxType\\": \\"sag-1000\\",\\n \\"MonitorVersion\\": \\"2.0.2.9\\",\\n \\"FinishedNumber\\": 15,\\n \\"Details\\": [\\n {\\n \\"Type\\": \\"config\\",\\n \\"Items\\": [\\n {\\n \\"Type\\": \\"config\\",\\n \\"EndTime\\": 1602741570596,\\n \\"StartTime\\": 1602741570567,\\n \\"CN\\": {\\n \\"Advice\\": [\\n \\"请先检查专线端口链路接线,然后进入本地“专线管理”页面进行配置。\\"\\n ],\\n \\"ItemName\\": \\"专线口配置检查\\",\\n \\"ItemLevel\\": \\"正常\\",\\n \\"ItemType\\": \\"配置\\",\\n \\"Details\\": [\\n \\"所有专线端口存在链路异常或缺少端口IP:端口4\\"\\n ]\\n },\\n \\"ItemName\\": \\"eccConfigCheck\\",\\n \\"EN\\": {\\n \\"Advice\\": [\\n \\"Check the physical connections to all Express connect ports and configure these ports on the \'Physical connection port\' page.\\"\\n ],\\n \\"ItemName\\": \\"Express Connect Port Configuration\\",\\n \\"ItemLevel\\": \\"ERROR\\",\\n \\"ItemType\\": \\"Config\\",\\n \\"Details\\": [\\n \\"The connection states of all Express connect ports are down and no IP address is specified for these ports: Port4\\"\\n ]\\n },\\n \\"Level\\": \\"error\\"\\n }\\n ],\\n \\"Statistics\\": {\\n \\"Warning\\": 2,\\n \\"Error\\": 5,\\n \\"Total\\": 10,\\n \\"Info\\": 3\\n }\\n }\\n ],\\n \\"UId\\": \\"1688000000000000\\",\\n \\"EndTime\\": 160274157,\\n \\"StartTime\\": 160274157,\\n \\"StoreType\\": \\"both\\",\\n \\"ReportSLSSuccess\\": 0,\\n \\"TotalNumber\\": 15,\\n \\"Level\\": {\\n \\"Configuration\\": \\"info\\",\\n \\"Total\\": \\"error\\",\\n \\"Biz\\": \\"warning\\"\\n },\\n \\"Statistics\\": {\\n \\"Warning\\": 3,\\n \\"Error\\": 2,\\n \\"Total\\": 10,\\n \\"Info\\": 5\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<DiscribeSmartAccessGatewayDiagnosisReportResponse>\\n <RequestId>1BC73F52-5104-4E77-8F4C-80E5B1ED9D21</RequestId>\\n <DiagnoseResult>\\n <EndTime>1602741571690</EndTime>\\n <Percent>100</Percent>\\n <UserLevel>user</UserLevel>\\n <InstanceId>sag-0nnteglltw6z4b****</InstanceId>\\n <FinishedNumber>5</FinishedNumber>\\n <StartTime>1602741570554</StartTime>\\n <BoxType>sag-1000</BoxType>\\n <Statistics>\\n <Warning>0</Warning>\\n <Total>5</Total>\\n <Error>1</Error>\\n <Info>4</Info>\\n </Statistics>\\n <StoreType>both</StoreType>\\n <MonitorVersion>2.0.2.9</MonitorVersion>\\n <UId>1688000000000000</UId>\\n <ReportSLSSuccess>0</ReportSLSSuccess>\\n <Details>\\n <Type>config</Type>\\n <Items>\\n <Type>config</Type>\\n <EndTime>1602741570596</EndTime>\\n <StartTime>1602741570567</StartTime>\\n <ItemName>eccConfigCheck</ItemName>\\n <EN>\\n <ItemLevel>ERROR</ItemLevel>\\n <Details>The connection states of all Express connect ports are down and no IP address is specified for these ports: </Details>\\n <Details>Port4</Details>\\n <ItemType>Config</ItemType>\\n <ItemName>Express Connect Port Configuration</ItemName>\\n <Advice>Check the physical connections to all Express connect ports and configure these ports on the \'Physical connection port\' page.</Advice>\\n </EN>\\n <Level>error</Level>\\n <CN>\\n <ItemLevel>严重</ItemLevel>\\n <Details>所有专线端口存在链路异常或缺少端口IP:</Details>\\n <Details>端口4</Details>\\n <ItemType>配置</ItemType>\\n <ItemName>专线口配置检查</ItemName>\\n <Advice>请先检查专线端口链路接线,然后进入本地\'专线管理\'页面进行配置</Advice>\\n </CN>\\n </Items>\\n <Items>\\n <Type>config</Type>\\n <EndTime>1602741570600</EndTime>\\n <StartTime>1602741570587</StartTime>\\n <ItemName>haConfigCheck</ItemName>\\n <EN>\\n <ItemLevel>INFO</ItemLevel>\\n <Details>The configurations for HA are correct and the state of the peer is normal.</Details>\\n <ItemType>Config</ItemType>\\n <ItemName>HA Configuration</ItemName>\\n <Advice>N/A</Advice>\\n </EN>\\n <Level>info</Level>\\n <CN>\\n <ItemLevel>正常</ItemLevel>\\n <Details>HA配置正确且对端状态正常</Details>\\n <ItemType>配置</ItemType>\\n <ItemName>HA配置检查</ItemName>\\n <Advice>无</Advice>\\n </CN>\\n </Items>\\n <Statistics>\\n <Warning>0</Warning>\\n <Total>2</Total>\\n <Error>1</Error>\\n <Info>1</Info>\\n </Statistics>\\n </Details>\\n <Details>\\n <Type>biz</Type>\\n <Items>\\n <Type>biz</Type>\\n <EndTime>1602741570641</EndTime>\\n <StartTime>1602741570610</StartTime>\\n <ItemName>ctrlConnState</ItemName>\\n <EN>\\n <ItemLevel>INFO</ItemLevel>\\n <Details>The state of the TCP connection to the management console is normal.</Details>\\n <ItemType>Service</ItemType>\\n <ItemName>Management Console Connection</ItemName>\\n <Advice>N/A</Advice>\\n </EN>\\n <Level>info</Level>\\n <CN>\\n <ItemLevel>正常</ItemLevel>\\n <Details>与管控TCP连接状态正常</Details>\\n <ItemType>业务</ItemType>\\n <ItemName>管控TCP连接检查</ItemName>\\n <Advice>无</Advice>\\n </CN>\\n </Items>\\n <Items>\\n <Type>biz</Type>\\n <EndTime>1602741570829</EndTime>\\n <StartTime>1602741570803</StartTime>\\n <ItemName>agwTunnelQuality</ItemName>\\n <EN>\\n <ItemLevel>INFO</ItemLevel>\\n <Details>The tunnel quality is high:</Details>\\n <Details>The packet loss rate for the primary IPSec tunnel is 0.00% and the latency is 1.25 ms.</Details>\\n <Details>The packet loss rate for the backup IPSec tunnel is 0.00% and the latency is 1.40 ms.</Details>\\n <ItemType>Service</ItemType>\\n <ItemName>Tunnel Quality</ItemName>\\n <Advice>N/A</Advice>\\n </EN>\\n <Level>info</Level>\\n <CN>\\n <ItemLevel>正常</ItemLevel>\\n <Details>隧道质量良好:</Details>\\n <Details>IPSec主隧道丢包率0.00%,时延1.25ms</Details>\\n <Details>IPSec备隧道丢包率0.00%,时延1.40ms</Details>\\n <ItemType>业务</ItemType>\\n <ItemName>隧道质量检查</ItemName>\\n <Advice>无</Advice>\\n </CN>\\n </Items>\\n <Statistics>\\n <Warning>0</Warning>\\n <Total>2</Total>\\n <Error>0</Error>\\n <Info>2</Info>\\n </Statistics>\\n </Details>\\n <Details>\\n <Type>internet</Type>\\n <Items>\\n <Type>internet</Type>\\n <EndTime>1602741570637</EndTime>\\n <StartTime>1602741570607</StartTime>\\n <ItemName>dnsResolve</ItemName>\\n <EN>\\n <ItemLevel>INFO</ItemLevel>\\n <Details>The domain names are resolved.</Details>\\n <ItemType>Internet</ItemType>\\n <ItemName>DNS Resolution</ItemName>\\n <Advice>N/A</Advice>\\n </EN>\\n <Level>info</Level>\\n <CN>\\n <ItemLevel>正常</ItemLevel>\\n <Details>DNS解析正常</Details>\\n <ItemType>公网</ItemType>\\n <ItemName>DNS解析检查</ItemName>\\n <Advice>无</Advice>\\n </CN>\\n </Items>\\n <Statistics>\\n <Warning>1</Warning>\\n <Total>1</Total>\\n <Error>0</Error>\\n <Info>1</Info>\\n </Statistics>\\n </Details>\\n <State>finished</State>\\n <DiagnoseId>dia-sag42c3t703frrpjsoezf********</DiagnoseId>\\n <TotalNumber>5</TotalNumber>\\n <Level>\\n <Biz>info</Biz>\\n <Configuration>error</Configuration>\\n <Total>error</Total>\\n </Level>\\n <BoxVersion>2.1.0</BoxVersion>\\n <SN>sag42c3****</SN>\\n </DiagnoseResult>\\n</DiscribeSmartAccessGatewayDiagnosisReportResponse>","errorExample":""}]',
+ 'title' => 'DiscribeSmartAccessGatewayDiagnosisReport',
+ 'summary' => 'Generates a diagnosis report for a Smart Access Gateway (SAG) device.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'AddSmartAccessGatewayDnsForward' => [
+ 'summary' => 'Adds DNS forwarding configurations to an SCG5000 or SCG5000-5G instance. The device version must be 3.4.2 or later.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SagInsId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '网关实例id',
+ 'description' => 'The ID of the instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sag-v9un1ccz22owd76lf8',
+ ],
+ ],
+ [
+ 'name' => 'SagSn',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '设备SN',
+ 'description' => 'The serial number (SN) of the device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sagf4dkqh78',
+ ],
+ ],
+ [
+ 'name' => 'Domain',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The domain name.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* Wildcard domain names are supported. You can use the wildcard character asterisk (\\*) to specify a wildcard domain name.'."\n"
+ ."\n"
+ .'For example, you can enter \\*.baidu.com to specify the domain name baidu.com.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'www.aliyun.com',
+ ],
+ ],
+ [
+ 'name' => 'MasterIp',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The primary DNS server.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '114.114.114.114',
+ ],
+ ],
+ [
+ 'name' => 'SlaveIp',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The secondary DNS server.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '172.16.0.14',
+ ],
+ ],
+ [
+ 'name' => 'Mode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The forwarding mode.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* This parameter is not in use. Ignore this parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [],
+ 'example' => 'first',
+ ],
+ ],
+ [
+ 'name' => 'OutboundPortType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the egress port.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* A value of Tunnel specifies a tunnel, and a value of PhysicalPort specifies a physical port.',
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [
+ 'Tunnel' => 'Tunnel',
+ 'PhysicalPort' => 'PhysicalPort',
+ 'None' => 'None',
+ ],
+ 'example' => 'Tunnel',
+ ],
+ ],
+ [
+ 'name' => 'OutboundPortIndex',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the egress port.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* This parameter is optional if OutboundPortType is set to PhysicalPort. Ignore this parameter if OutboundPortType is set to Tunnel.'."\n"
+ .'* The value of OutboundPortIndex is the unique index of the port name specified by poOutboundPortName. For example, 0 is the index for the port named eth0, and 2 is the index for the port named lte.',
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [
+ '0',
+ 2 => '2',
+ ],
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'OutboundPortName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The egress port.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* This parameter is optional if OutboundPortType is set to PhysicalPort. Ignore this parameter if OutboundPortType is set to Tunnel.'."\n"
+ .'* The value of OutboundPortIndex is the unique index of the port name specified by poOutboundPortName. For example, 0 is the index for the port named eth0, and 2 is the index for the port named lte.',
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [
+ 'eth0' => 'eth0',
+ 'lte' => 'lte',
+ ],
+ 'example' => 'eth0',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'Id of the request'."\n",
+ 'type' => 'string',
+ 'example' => 'E93884AC-6C21-4FEA-8E3A-7377D33B194F',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request is successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The error code. A value of 200 indicates that the call is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The response message.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'Data' => [
+ 'description' => 'The information returned for the request.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceId' => [
+ 'description' => 'The ID of the instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sagv3dnsforward-nc7qabskj17werc7su',
+ ],
+ 'Domain' => [
+ 'description' => 'The domain name.'."\n",
+ 'type' => 'string',
+ 'example' => 'yfiy.cn',
+ ],
+ 'MasterIp' => [
+ 'description' => 'The primary DNS server.'."\n",
+ 'type' => 'string',
+ 'example' => '14.104.81.13',
+ ],
+ 'SlaveIp' => [
+ 'description' => 'The secondary DNS server.'."\n",
+ 'type' => 'string',
+ 'example' => '172.16.0.14',
+ ],
+ 'Mode' => [
+ 'description' => 'The forwarding mode.'."\n",
+ 'type' => 'string',
+ 'example' => 'first',
+ ],
+ 'OutboundPortType' => [
+ 'description' => 'The type of the egress port.'."\n",
+ 'type' => 'string',
+ 'example' => 'PhysicalPort',
+ ],
+ 'OutboundPortIndex' => [
+ 'description' => 'The number of the egress port.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '0',
+ ],
+ 'OutboundPortName' => [
+ 'description' => 'The egress port.'."\n",
+ 'type' => 'string',
+ 'example' => 'eth0',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidSpec.FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the cloudbranch does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'GATEWAY.InvalidSN',
+ 'errorMessage' => 'The specified gateway serial number does not exist.',
+ ],
+ [
+ 'errorCode' => 'CCN.DuplicateDNSForwardingDomain',
+ 'errorMessage' => 'Duplicate DNS forwarding domain',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The configs of device are unsynchronized,please check whether the device is online',
+ ],
+ [
+ 'errorCode' => 'DeviceNotExist',
+ 'errorMessage' => 'The specified device does not exist',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'CCN.DNS.Forward.CreateFailed',
+ 'errorMessage' => 'failed to create dns forward config',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.Device',
+ 'errorMessage' => 'The specified resource of Device is not found.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E93884AC-6C21-4FEA-8E3A-7377D33B194F\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Successful\\",\\n \\"HttpStatusCode\\": 200,\\n \\"Data\\": {\\n \\"InstanceId\\": \\"sagv3dnsforward-nc7qabskj17werc7su\\",\\n \\"Domain\\": \\"yfiy.cn\\",\\n \\"MasterIp\\": \\"14.104.81.13\\",\\n \\"SlaveIp\\": \\"172.16.0.14\\",\\n \\"Mode\\": \\"first\\",\\n \\"OutboundPortType\\": \\"PhysicalPort\\",\\n \\"OutboundPortIndex\\": 0,\\n \\"OutboundPortName\\": \\"eth0\\"\\n }\\n}","type":"json"}]',
+ 'title' => 'AddSmartAccessGatewayDnsForward',
+ ],
+ 'UpdateSmartAccessGatewayDnsForward' => [
+ 'summary' => 'Modifies the DNS forwarding configurations for a Smart Access Gateway (SAG) SCG5000 or SCG5000-5G instance. The version of the device must be 3.4.2 or later.',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SagInsId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '网关实例id',
+ 'description' => 'The ID of the instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sag-v9un1ccz22owd76lf8',
+ ],
+ ],
+ [
+ 'name' => 'SagSn',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '设备SN',
+ 'description' => 'The serial number (SN) of the device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sagf4dkqh78',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sagv3dnsforward-nc7qabskj17werc7su',
+ ],
+ ],
+ [
+ 'name' => 'MasterIp',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The primary DNS server.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '114.114.114.114',
+ ],
+ ],
+ [
+ 'name' => 'SlaveIp',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The secondary DNS server.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '172.16.0.14',
+ ],
+ ],
+ [
+ 'name' => 'Mode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The forwarding mode.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* This parameter is not in use. Ignore this parameter.',
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [],
+ 'example' => 'first',
+ ],
+ ],
+ [
+ 'name' => 'OutboundPortType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the egress port.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* A value of Tunnel specifies a tunnel, and a value of PhysicalPort specifies a physical port.',
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [
+ 'Tunnel' => 'Tunnel',
+ 'PhysicalPort' => 'PhysicalPort',
+ 'None' => 'None',
+ ],
+ 'example' => 'PhysicalPort',
+ ],
+ ],
+ [
+ 'name' => 'OutboundPortIndex',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the egress port.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* This parameter is optional if OutboundPortType is set to PhysicalPort. Ignore this parameter if OutboundPortType is set to Tunnel.'."\n"
+ .'* The value of OutboundPortIndex is the unique index of the port name specified by poOutboundPortName. For example, 0 is the index for the port named eth0, and 2 is the index for the port named lte.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'enumValueTitles' => [
+ '0',
+ 2 => '2',
+ ],
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'OutboundPortName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The egress port.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* This parameter is optional if OutboundPortType is set to PhysicalPort. Ignore this parameter if OutboundPortType is set to Tunnel.'."\n"
+ .'* The value of OutboundPortIndex is the unique index of the port name specified by poOutboundPortName. For example, 0 is the index for the port named eth0, and 2 is the index for the port named lte.',
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [
+ 'eth0' => 'eth0',
+ 'lte' => 'lte',
+ ],
+ 'example' => 'eth0',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the SAG instance resides.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'Domain',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The domain name.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* Wildcard domain names are supported. You can use the wildcard character asterisk (\\*) to specify a wildcard domain name.'."\n"
+ ."\n"
+ .'For example, you can enter \\*.baidu.com to specify the domain name baidu.com.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'www.aliyun.com',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'Id of the request'."\n",
+ 'type' => 'string',
+ 'example' => '284045DE-4C2D-463D-9F27-B6898E67D120',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request is successful.'."\n",
+ 'type' => 'string',
+ 'enumValueTitles' => [
+ 'true' => 'true',
+ 'false' => 'false',
+ ],
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The response code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The response message.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidSpec.FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the cloudbranch does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'GATEWAY.InvalidSN',
+ 'errorMessage' => 'The specified gateway serial number does not exist.',
+ ],
+ [
+ 'errorCode' => 'CCN.DuplicateDNSForwardingDomain',
+ 'errorMessage' => 'Duplicate DNS forwarding domain',
+ ],
+ [
+ 'errorCode' => 'CCN.DNS.Forward.IdNotExist',
+ 'errorMessage' => 'DNS forwarding does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The configs of device are unsynchronized, please check whether the device is online',
+ ],
+ [
+ 'errorCode' => 'DeviceNotExist',
+ 'errorMessage' => 'The specified device does not exist',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"284045DE-4C2D-463D-9F27-B6898E67D120\\",\\n \\"Success\\": \\"true\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Successful\\",\\n \\"HttpStatusCode\\": \\"200\\"\\n}","type":"json"}]',
+ 'title' => 'UpdateSmartAccessGatewayDnsForward',
+ ],
+ 'DeleteSmartAccessGatewayDnsForward' => [
+ 'summary' => 'Disables DNS forwarding for SCG5000 or SCG5000-5G devices whose software version is 3.4.2 or later.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SagInsId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '网关实例id',
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sag-v9un1ccz22owd76lf8',
+ ],
+ ],
+ [
+ 'name' => 'SagSn',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '设备SN',
+ 'description' => 'The serial number (SN) of the device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sagf4dkqh78',
+ ],
+ ],
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sagv3dnsforward-nc7qabskj17werc7su',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'Id of the request'."\n",
+ 'type' => 'string',
+ 'example' => '0BAAF2B9-88B8-4574-BDBE-102A90EE3FEE',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request is successful.'."\n",
+ 'type' => 'string',
+ 'enumValueTitles' => [
+ 'true' => 'true',
+ 'false' => 'false',
+ ],
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The response code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The message that is returned.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidSpec.FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the cloudbranch does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'GATEWAY.InvalidSN',
+ 'errorMessage' => 'The specified gateway serial number does not exist.',
+ ],
+ [
+ 'errorCode' => 'CCN.DNS.Forward.IdNotExist',
+ 'errorMessage' => 'DNS forwarding does not exist.',
+ ],
+ [
+ 'errorCode' => 'ConfigUnsynchronized',
+ 'errorMessage' => 'The configs of device are unsynchronized, please check whether the device is online',
+ ],
+ [
+ 'errorCode' => 'DeviceNotExist',
+ 'errorMessage' => 'The specified device does not exist',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0BAAF2B9-88B8-4574-BDBE-102A90EE3FEE\\",\\n \\"Success\\": \\"true\\",\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Successful\\",\\n \\"HttpStatusCode\\": \\"200\\"\\n}","type":"json"}]',
+ ],
+ 'ViewSmartAccessGatewayDnsForwards' => [
+ 'summary' => 'Queries the DNS forwarding list of a Smart Access Gateway (SAG) SCG5000 or SCG5000-5G instance. The version of the device must be 3.4.2 or later.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SagInsId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '网关实例id',
+ 'description' => 'The ID of the instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sag-v9un1ccz22owd76lf8',
+ ],
+ ],
+ [
+ 'name' => 'SagSn',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '设备SN',
+ 'description' => 'The serial number (SN) of the device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sagf4dkqh78',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region in which the SAG instance resides.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Schema of Response'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'Id of the request'."\n",
+ 'type' => 'string',
+ 'example' => 'E223E535-AE11-4158-B00F-DC107887A909',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the request is successful.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'Code' => [
+ 'description' => 'The response code.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Message' => [
+ 'description' => 'The response message.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'HttpStatusCode' => [
+ 'description' => 'The HTTP status code.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '200',
+ ],
+ 'Count' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1914',
+ ],
+ 'Data' => [
+ 'description' => 'A DNS forwarding list.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The DNS forwarding instance.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'InstanceId' => [
+ 'description' => 'The ID of the instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sagv3dnsforward-nc7qabskj17werc7su',
+ ],
+ 'Domain' => [
+ 'description' => 'The domain name.'."\n",
+ 'type' => 'string',
+ 'example' => 'www.baidu.com',
+ ],
+ 'MasterIp' => [
+ 'description' => 'The primary DNS server.'."\n",
+ 'type' => 'string',
+ 'example' => '172.16.58.20',
+ ],
+ 'SlaveIp' => [
+ 'description' => 'The secondary DNS server.'."\n",
+ 'type' => 'string',
+ 'example' => '172.16.0.14',
+ ],
+ 'Mode' => [
+ 'description' => 'The forwarding mode.'."\n"
+ ."\n"
+ .'> '."\n"
+ .'* This parameter is not in use. Ignore this parameter.',
+ 'type' => 'string',
+ 'enumValueTitles' => [],
+ 'example' => 'first',
+ ],
+ 'OutboundPortType' => [
+ 'description' => 'The type of the egress port.'."\n",
+ 'type' => 'string',
+ 'enumValueTitles' => [
+ 'Tunnel' => 'Tunnel',
+ 'PhysicalPort' => 'PhysicalPort',
+ 'None' => 'None',
+ ],
+ 'example' => 'PhysicalPort',
+ ],
+ 'OutboundPortIndex' => [
+ 'description' => 'The number of the egress port.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'enumValueTitles' => [
+ '0',
+ 2 => '2',
+ ],
+ 'example' => '0',
+ ],
+ 'OutboundPortName' => [
+ 'description' => 'The egress port.'."\n",
+ 'type' => 'string',
+ 'enumValueTitles' => [
+ 'eth0' => 'eth0',
+ 'lte' => 'lte',
+ ],
+ 'example' => 'eth0',
+ ],
+ ],
+ ],
+ 'enumValueTitles' => [],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"E223E535-AE11-4158-B00F-DC107887A909\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"Successful\\",\\n \\"HttpStatusCode\\": 200,\\n \\"Count\\": 1914,\\n \\"Data\\": [\\n {\\n \\"InstanceId\\": \\"sagv3dnsforward-nc7qabskj17werc7su\\",\\n \\"Domain\\": \\"www.baidu.com\\",\\n \\"MasterIp\\": \\"172.16.58.20\\",\\n \\"SlaveIp\\": \\"172.16.0.14\\",\\n \\"Mode\\": \\"first\\",\\n \\"OutboundPortType\\": \\"PhysicalPort\\",\\n \\"OutboundPortIndex\\": 0,\\n \\"OutboundPortName\\": \\"eth0\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => 'ViewSmartAccessGatewayDnsForwards',
+ ],
+ 'UpdateSmartAccessGatewayWanSnat' => [
+ 'summary' => 'Modifies the Source Network Address Translation (SNAT) configuration of the WAN port on an SCG5000 or SCG5000-5G device whose version is 3.4.2 or later.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SagInsId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '网关实例id',
+ 'description' => 'The ID of the Smart Access Gateway (SAG) instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sag-jwbtsyzom0ol4v****',
+ ],
+ ],
+ [
+ 'name' => 'SagSn',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '设备SN',
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sagf4dk****',
+ ],
+ ],
+ [
+ 'name' => 'Snat',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '是否使能snat',
+ 'description' => 'Specifies whether to enable SNAT. Valid values:'."\n"
+ ."\n"
+ .'* **1**: enables SNAT'."\n"
+ .'* **0**: disables SNAT'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'region id',
+ 'description' => 'The region ID of the SAG instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to query only the SAG instances that belong to another Alibaba Cloud account. Valid values:'."\n"
+ ."\n"
+ .'* **false** (default)'."\n"
+ .'* **true**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ResourceUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '109790620697****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. A value of 200 indicates that the task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'FAD1E4CB-52A5-520B-BE14-A78F491FBD9C',
+ ],
+ 'Message' => [
+ 'description' => 'The response message. A value of Successful indicates that the task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidId.SMARTAG',
+ 'errorMessage' => 'The specified smart access gateway instance id does not exist.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'Internal server error',
+ ],
+ [
+ 'errorCode' => 'GATEWAY.InvalidSN',
+ 'errorMessage' => 'The specified gateway serial number does not exist.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.GatewayId',
+ 'errorMessage' => 'The input parameter GatewayId that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.Snat',
+ 'errorMessage' => 'The input parameter Snat that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Snat',
+ 'errorMessage' => 'The input parameter Snat is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'Cloud Box Not Support the Feature',
+ ],
+ [
+ 'errorCode' => 'InvalidSpec.FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the cloudbranch does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'DeviceNotExist',
+ 'errorMessage' => 'The specified device does not exist',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true,\\n \\"RequestId\\": \\"FAD1E4CB-52A5-520B-BE14-A78F491FBD9C\\",\\n \\"Message\\": \\"Successful\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateSmartAccessGatewayWanSnatResponse>\\n <Code>200</Code>\\n <Success>true</Success>\\n <RequestId>FAD1E4CB-52A5-520B-BE14-A78F491FBD9C</RequestId>\\n <Message>Successful</Message>\\n</UpdateSmartAccessGatewayWanSnatResponse>","errorExample":""}]',
+ 'title' => 'UpdateSmartAccessGatewayWanSnat',
+ 'description' => 'You can modify the SNAT configuration of the WAN port only on SCG5000 and SCG5000-5G devices whose version is 3.4.2 or later.',
+ ],
+ 'ViewSmartAccessGatewayWanSnat' => [
+ 'summary' => 'Queries the Source Network Address Translation (SNAT) configuration of the WAN port on an SCG5000 or SCG5000-5G device whose version is 3.4.2 or later.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SagInsId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '网关实例id',
+ 'description' => 'The ID of the Smart Access Gateway (SAG) instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sag-iv408aov6k7xxm****',
+ ],
+ ],
+ [
+ 'name' => 'SagSn',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '设备SN',
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sagf4ea****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'region id',
+ 'description' => 'The region ID of the SAG instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to query only the SAG instances that belong to another Alibaba Cloud account. Valid values:'."\n"
+ ."\n"
+ .'* **false** (default)'."\n"
+ .'* **true**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ResourceUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '109790620697****',
+ ],
+ ],
+ ],
+ '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' => '0CFC6919-8F3D-524F-A7A6-E5FADCD36A20',
+ ],
+ 'Snat' => [
+ 'title' => 'snat enable or disable',
+ 'description' => 'Specifies whether to enable SNAT. Valid values: Valid values:'."\n"
+ ."\n"
+ .'* **1**: enables SNAT'."\n"
+ .'* **0**: disables SNAT'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'TaskStates' => [
+ 'description' => 'The status of the task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The status of the task.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMessage' => [
+ 'description' => 'The error message. A value of Successful indicates that the task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'State' => [
+ 'description' => 'The status of the asynchronous task. Valid values:'."\n"
+ ."\n"
+ .'* **Initialized**: The query task is initialized.'."\n"
+ .'* **Offline**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. After the SAG device is connected to Alibaba Cloud, Alibaba Cloud assigns the query task to the SAG device.'."\n"
+ .'* **Succeed**: Alibaba Cloud has assigned the query task to the SAG device.'."\n"
+ .'* **Processing**: Alibaba Cloud is assigning the query task to the SAG device.'."\n"
+ .'* **VersionNotSupport**: The query task is not supported by the current version of the SAG device.'."\n"
+ .'* **BuildRequestError**: The query task is not supported by the controller of the SAG device.'."\n"
+ .'* **HardwareError**: Alibaba Cloud failed to assign the query task to the SAG device because the SAG device is faulty.'."\n"
+ .'* **TaskNotExist**: The query task does not exist.'."\n"
+ .'* **OfflineNotConfiged**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. Alibaba Cloud does not assign the query task to the SAG device even after the SAG device is connected to Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => 'Succeed',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code. A value of 200 indicates that the task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The timestamp when the task was created. Unit: milliseconds.'."\n"
+ ."\n"
+ .'The value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '1586852928000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MissParameter.SagInsId',
+ 'errorMessage' => 'The input parameter "SagInsId" that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.SagSn',
+ 'errorMessage' => 'The input parameter "SagSn" that is mandatory for processing this model is not supplied.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0CFC6919-8F3D-524F-A7A6-E5FADCD36A20\\",\\n \\"Snat\\": \\"1\\",\\n \\"TaskStates\\": [\\n {\\n \\"ErrorMessage\\": \\"Successful\\",\\n \\"State\\": \\"Succeed\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CreateTime\\": \\"1586852928000\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ViewSmartAccessGatewayWanSnatResponse>\\n <RequestId>0CFC6919-8F3D-524F-A7A6-E5FADCD36A20</RequestId>\\n <Snat>1</Snat>\\n <TaskStates>\\n <ErrorMessage>Successful</ErrorMessage>\\n <State>Succeed</State>\\n <ErrorCode>200</ErrorCode>\\n <CreateTime>1586852928000</CreateTime>\\n </TaskStates>\\n</ViewSmartAccessGatewayWanSnatResponse>","errorExample":""}]',
+ 'title' => 'ViewSmartAccessGatewayWanSnat',
+ 'description' => 'You can query the SNAT configuration of the WAN port only of SCG5000 and SCG5000-5G devices whose version is 3.4.2 or later.',
+ ],
+ 'UpdateSmartAccessGatewayDns' => [
+ 'summary' => 'Modifies the DNS configuration of an SCG5000 or SCG5000-5G device whose version is 3.4.2 or later.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SagInsId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '网关实例id',
+ 'description' => 'The ID of the Smart Access Gateway (SAG) instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sag-3manef62evrfr6****',
+ ],
+ ],
+ [
+ 'name' => 'SagSn',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '设备SN',
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sagf4ea****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'region id',
+ 'description' => 'The region ID of the SAG instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'MasterDns',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'master dns ip address',
+ 'description' => 'The IP address of the primary DNS server.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '10.10.XX.XX',
+ ],
+ ],
+ [
+ 'name' => 'SlaveDns',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'slave dns ip address',
+ 'description' => 'The IP address of the secondary DNS server.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '10.10.XX.XX',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to query only the SAG instances that belong to another Alibaba Cloud account. Valid values:'."\n"
+ ."\n"
+ .'* **false** (default)'."\n"
+ .'* **true**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ResourceUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '147304382796****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The error code. A value of 200 indicates that the task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'AE9B6C13-86D3-5E56-8C05-BBE58C2BE671',
+ ],
+ 'Message' => [
+ 'description' => 'The response message. A value of Successful indicates that the task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'GATEWAY.InvalidSN',
+ 'errorMessage' => 'The specified gateway serial number does not exist.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'Internal server error',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified software instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'DeviceNotExist',
+ 'errorMessage' => 'The specified device does not exist',
+ ],
+ [
+ 'errorCode' => 'MissParameter.GatewayId',
+ 'errorMessage' => 'The input parameter GatewayId that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.MasterDns',
+ 'errorMessage' => 'The input parameter MasterDns is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.SlaveDns',
+ 'errorMessage' => 'The input parameter SlaveDns is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidSpec.FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the cloudbranch does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true,\\n \\"RequestId\\": \\"AE9B6C13-86D3-5E56-8C05-BBE58C2BE671\\",\\n \\"Message\\": \\"Successful\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateSmartAccessGatewayDnsResponse>\\n <Code>200</Code>\\n <Success>true</Success>\\n <RequestId>AE9B6C13-86D3-5E56-8C05-BBE58C2BE671</RequestId>\\n <Message>Successful</Message>\\n</UpdateSmartAccessGatewayDnsResponse>","errorExample":""}]',
+ 'title' => 'UpdateSmartAccessGatewayDns',
+ 'description' => 'You can modify the DNS configuration only of SCG5000 and SCG5000-5G devices whose version is 3.4.2 or later.',
+ ],
+ 'ViewSmartAccessGatewayDns' => [
+ 'summary' => 'Queries the DNS configuration of an SCG5000 or SCG5000-5G device whose version is 3.4.2 or later.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SagInsId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '网关实例id',
+ 'description' => 'The ID of the Smart Access Gateway (SAG) instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sag-sv487b7lno6go5****',
+ ],
+ ],
+ [
+ 'name' => 'SagSn',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '设备SN',
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sagf4ea****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'region id',
+ 'description' => 'The region ID of the SAG instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to query only the SAG instances that belong to another Alibaba Cloud account. Valid values:'."\n"
+ ."\n"
+ .'* **false** (default)'."\n"
+ .'* **true**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ResourceUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '109790620697****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '571AC2E7-8119-58E9-8BFA-1D580CBD1E56',
+ ],
+ 'SlaveDns' => [
+ 'description' => 'The IP address of the secondary DNS server.'."\n",
+ 'type' => 'string',
+ 'example' => '8.8.XX.XX',
+ ],
+ 'TaskStates' => [
+ 'description' => 'The status of the task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The status of the task.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMessage' => [
+ 'description' => 'The error message. A value of Successful indicates that the task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'State' => [
+ 'description' => 'The status of the asynchronous task. Valid values:'."\n"
+ ."\n"
+ .'* **Initialized**: The query task is initialized.'."\n"
+ .'* **Offline**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. After the SAG device is connected to Alibaba Cloud, Alibaba Cloud assigns the query task to the SAG device.'."\n"
+ .'* **Succeed**: Alibaba Cloud has assigned the query task to the SAG device.'."\n"
+ .'* **Processing**: Alibaba Cloud is assigning the query task to the SAG device.'."\n"
+ .'* **VersionNotSupport**: The query task is not supported by the current version of the SAG device.'."\n"
+ .'* **BuildRequestError**: The query task is not supported by the controller of the SAG device.'."\n"
+ .'* **HardwareError**: Alibaba Cloud failed to assign the query task to the SAG device because the SAG device is faulty.'."\n"
+ .'* **TaskNotExist**: The query task does not exist.'."\n"
+ .'* **OfflineNotConfiged**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. Alibaba Cloud does not assign the query task to the SAG device even after the SAG device is connected to Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => 'Succeed',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code. A value of 200 indicates that the task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The time when the query task was created.'."\n"
+ ."\n"
+ .'The value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '1586857309000',
+ ],
+ ],
+ ],
+ ],
+ 'MasterDns' => [
+ 'description' => 'The IP address of the primary DNS server.'."\n",
+ 'type' => 'string',
+ 'example' => '114.114.XXX.XXX',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'GATEWAY.InvalidSN',
+ 'errorMessage' => 'The specified gateway serial number does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified software instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'DeviceNotExist',
+ 'errorMessage' => 'The specified device does not exist',
+ ],
+ [
+ 'errorCode' => 'MissParameter.GatewayId',
+ 'errorMessage' => 'The input parameter GatewayId that is mandatory for processing this model is not supplied.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"571AC2E7-8119-58E9-8BFA-1D580CBD1E56\\",\\n \\"SlaveDns\\": \\"8.8.XX.XX\\",\\n \\"TaskStates\\": [\\n {\\n \\"ErrorMessage\\": \\"Successful\\",\\n \\"State\\": \\"Succeed\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CreateTime\\": \\"1586857309000\\"\\n }\\n ],\\n \\"MasterDns\\": \\"114.114.XXX.XXX\\"\\n}","errorExample":""},{"type":"xml","example":"<ViewSmartAccessGatewayDnsResponse>\\n <RequestId>571AC2E7-8119-58E9-8BFA-1D580CBD1E56</RequestId>\\n <SlaveDns>8.8.XX.XX</SlaveDns>\\n <TaskStates>\\n <ErrorMessage>Successful</ErrorMessage>\\n <State>Succeed</State>\\n <ErrorCode>200</ErrorCode>\\n <CreateTime>1586857309000</CreateTime>\\n </TaskStates>\\n <MasterDns>114.114.XXX.XXX</MasterDns>\\n</ViewSmartAccessGatewayDnsResponse>","errorExample":""}]',
+ 'title' => 'ViewSmartAccessGatewayDns',
+ 'description' => 'You can query the DNS configuration only of SCG5000 and SCG5000-5G devices whose version is 3.4.2 or later.',
+ ],
+ 'UpdateSmartAccessGatewayBgpRoute' => [
+ 'summary' => 'Modifies the BGP configurations of an SCG5000 or SCG5000-5G device whose version is 3.4.2 or later.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SagInsId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '网关实例id',
+ 'description' => 'The ID of the Smart Access Gateway (SAG) instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sag-v9un1ccz22owd7****',
+ ],
+ ],
+ [
+ 'name' => 'SagSn',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '设备SN',
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sagf4dk****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'region id',
+ 'description' => 'The region ID of the SAG instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'RouterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the BGP router.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '172.XX.XX.1',
+ ],
+ ],
+ [
+ 'name' => 'LocalAs',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The autonomous system number (ASN) of the SAG device.'."\n"
+ ."\n"
+ .'Valid values: **1** to **4294967295**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '65536',
+ ],
+ ],
+ [
+ 'name' => 'HoldTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The hold time. Unit: seconds.'."\n"
+ ."\n"
+ .'Valid values: **3** to **65535**.'."\n"
+ ."\n"
+ .'> When the SAG device establishes a peering connection with a peer device, the hold time of both devices must be the same. If the SAG device does not receive a keepalive or update message from the peer device within the hold time, the connection between the BGP peers is closed.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '9',
+ ],
+ ],
+ [
+ 'name' => 'KeepAlive',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The time interval at which keep-alive packets are sent. Unit: seconds.'."\n"
+ ."\n"
+ .'Valid values: **0** to **65535**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '3',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to query only the SAG instances that belong to another Alibaba Cloud account. Valid values:'."\n"
+ ."\n"
+ .'* **false** (default)'."\n"
+ .'* **true**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ResourceUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '147304382796****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. A value of 200 indicates that the task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '7F0B079C-2D0E-4ABF-A970-C079F785A09C',
+ ],
+ 'Message' => [
+ 'description' => 'The response message. A value of Successful indicates that the task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'GATEWAY.InvalidSN',
+ 'errorMessage' => 'The specified gateway serial number does not exist.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'Internal server error',
+ ],
+ [
+ 'errorCode' => 'DeviceNotExist',
+ 'errorMessage' => 'The specified device does not exist',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified software instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.GatewayId',
+ 'errorMessage' => 'The input parameter GatewayId that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.RouterId',
+ 'errorMessage' => 'The input parameter RouterId that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.LocalAs',
+ 'errorMessage' => 'The input parameter LocalAs that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.Hold',
+ 'errorMessage' => 'The input parameter Hold that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.Keepalive',
+ 'errorMessage' => 'The input parameter Keepalive that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.RouterId',
+ 'errorMessage' => 'The input parameter RouterId is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.LocalAs',
+ 'errorMessage' => 'The input parameter LocalAs is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Hold',
+ 'errorMessage' => 'The input parameter Hold is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Keepalive',
+ 'errorMessage' => 'The input parameter Keepalive is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.RedistributeProtocol',
+ 'errorMessage' => 'The input parameter RedistributeProtocol is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Networks',
+ 'errorMessage' => 'The input parameter Networks is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.NeighborIp',
+ 'errorMessage' => 'The input parameter NeighborIp is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.RemoteAs',
+ 'errorMessage' => 'The input parameter RemoteAs is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true,\\n \\"RequestId\\": \\"7F0B079C-2D0E-4ABF-A970-C079F785A09C\\",\\n \\"Message\\": \\"Successful\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateSmartAccessGatewayBgpRouteResponse>\\n <Code>200</Code>\\n <Success>true</Success>\\n <RequestId>7F0B079C-2D0E-4ABF-A970-C079F785A09C</RequestId>\\n <Message>Successful</Message>\\n</UpdateSmartAccessGatewayBgpRouteResponse>","errorExample":""}]',
+ 'title' => 'UpdateSmartAccessGatewayBgpRoute',
+ 'description' => 'You can modify the BGP configuration only of SCG5000 and SCG5000-5G devices whose version is 3.4.2 or later.',
+ ],
+ 'ViewSmartAccessGatewayBgpRoute' => [
+ 'summary' => 'Queries the BGP configuration of an SCG5000 or SCG5000-5G device whose version is 3.4.2 or later.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SagInsId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '网关实例id',
+ 'description' => 'The ID of the Smart Access Gateway (SAG) instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sag-3manef62evrfr6****',
+ ],
+ ],
+ [
+ 'name' => 'SagSn',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '设备SN',
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sagf4dk****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'region id',
+ 'description' => 'The region ID of the SAG instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to query only the SAG instances that belong to another Alibaba Cloud account. Valid values:'."\n"
+ ."\n"
+ .'* **false** (default)'."\n"
+ .'* **true**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ResourceUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '109790620697****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'F1FEABC0-F7B7-53EA-83EE-AA470ABACE60',
+ ],
+ 'HoldTime' => [
+ 'description' => 'The hold time. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '9',
+ ],
+ 'KeepAlive' => [
+ 'description' => 'The time interval at which keep-alive packets are sent. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'LocalAs' => [
+ 'description' => 'The autonomous system number (ASN) to which the SAG device belongs.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '12****',
+ ],
+ 'RouterId' => [
+ 'description' => 'The ID of the BGP router.'."\n",
+ 'type' => 'string',
+ 'example' => '192.XX.XX.1',
+ ],
+ 'TaskStates' => [
+ 'description' => 'The status of the task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The status of the task.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMessage' => [
+ 'description' => 'The error message. A value of Successful indicates that the task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'State' => [
+ 'description' => 'The status of the asynchronous task. Valid values:'."\n"
+ ."\n"
+ .'* **Initialized**: The query task is initialized.'."\n"
+ .'* **Offline**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. After the SAG device is connected to Alibaba Cloud, Alibaba Cloud assigns the query task to the SAG device.'."\n"
+ .'* **Succeed**: Alibaba Cloud has assigned the query task to the SAG device.'."\n"
+ .'* **Processing**: Alibaba Cloud is assigning the query task to the SAG device.'."\n"
+ .'* **VersionNotSupport**: The query task is not supported by the current version of the SAG device.'."\n"
+ .'* **BuildRequestError**: The query task is not supported by the controller of the SAG device.'."\n"
+ .'* **HardwareError**: Alibaba Cloud failed to assign the query task to the SAG device because the SAG device is faulty.'."\n"
+ .'* **TaskNotExist**: The query task does not exist.'."\n"
+ .'* **OfflineNotConfiged**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. Alibaba Cloud does not assign the query task to the SAG device even after the SAG device is connected to Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => 'Succeed',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code. A value of 200 indicates that the task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The timestamp when the task was created. Unit: milliseconds.'."\n"
+ ."\n"
+ .'The value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '1586855592000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'GATEWAY.InvalidSN',
+ 'errorMessage' => 'The specified gateway serial number does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified software instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'DeviceNotExist',
+ 'errorMessage' => 'The specified device does not exist',
+ ],
+ [
+ 'errorCode' => 'MissParameter.GatewayId',
+ 'errorMessage' => 'The input parameter GatewayId that is mandatory for processing this model is not supplied.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F1FEABC0-F7B7-53EA-83EE-AA470ABACE60\\",\\n \\"HoldTime\\": 9,\\n \\"KeepAlive\\": 3,\\n \\"LocalAs\\": 0,\\n \\"RouterId\\": \\"192.XX.XX.1\\",\\n \\"TaskStates\\": [\\n {\\n \\"ErrorMessage\\": \\"Successful\\",\\n \\"State\\": \\"Succeed\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CreateTime\\": \\"1586855592000\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ViewSmartAccessGatewayBgpRouteResponse>\\n <RequestId>F1FEABC0-F7B7-53EA-83EE-AA470ABACE60</RequestId>\\n <HoldTime>9</HoldTime>\\n <KeepAlive>3</KeepAlive>\\n <RouterId>192.XX.XX.1</RouterId>\\n <TaskStates>\\n <ErrorMessage>Successful</ErrorMessage>\\n <State>Succeed</State>\\n <ErrorCode>200</ErrorCode>\\n <CreateTime>1586855592000</CreateTime>\\n </TaskStates>\\n</ViewSmartAccessGatewayBgpRouteResponse>","errorExample":""}]',
+ 'title' => 'ViewSmartAccessGatewayBgpRoute',
+ 'description' => 'You can query the BGP configuration only of SCG5000 and SCG5000-5G devices whose version is 3.4.2 or later.',
+ ],
+ 'UpdateSmartAccessGatewayGlobalRouteProtocol' => [
+ 'summary' => 'Modifies the global routing protocol of an SCG5000 or SCG5000-5G device whose version is 3.4.2 or later.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SagInsId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '网关实例id',
+ 'description' => 'The ID of the Smart Access Gateway (SAG) instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sag-3manef62evrfr6****',
+ ],
+ ],
+ [
+ 'name' => 'SagSn',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '设备SN',
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sagf4dk****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'region id',
+ 'description' => 'The region ID of the SAG instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'RouteProtocol',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The routing protocol. Valid values:'."\n"
+ ."\n"
+ .'* **STATIC**'."\n"
+ .'* **OSPF**'."\n"
+ .'* **BGP**'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'BGP',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to query only the SAG instances that belong to another Alibaba Cloud account. Valid values:'."\n"
+ ."\n"
+ .'* **false** (default)'."\n"
+ .'* **true**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ResourceUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '109790620697****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. A value of 200 indicates that the task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '407E391C-7FB6-5552-AF39-DBB5CB062E3C',
+ ],
+ 'Message' => [
+ 'description' => 'The response message. A value of Successful indicates that the task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'GATEWAY.InvalidSN',
+ 'errorMessage' => 'The specified gateway serial number does not exist.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'Internal server error',
+ ],
+ [
+ 'errorCode' => 'MissParameter.GatewayId',
+ 'errorMessage' => 'The input parameter GatewayId that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.GlobalRouteType',
+ 'errorMessage' => 'The input parameter GlobalRouteType that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.GlobalRouteType',
+ 'errorMessage' => 'The input parameter GlobalRouteType is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'DeviceNotExist',
+ 'errorMessage' => 'The specified device does not exist',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true,\\n \\"RequestId\\": \\"407E391C-7FB6-5552-AF39-DBB5CB062E3C\\",\\n \\"Message\\": \\"Successful\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateSmartAccessGatewayGlobalRouteProtocolResponse>\\n <Code>200</Code>\\n <Success>true</Success>\\n <RequestId>407E391C-7FB6-5552-AF39-DBB5CB062E3C</RequestId>\\n <Message>successful</Message>\\n</UpdateSmartAccessGatewayGlobalRouteProtocolResponse>","errorExample":""}]',
+ 'title' => 'UpdateSmartAccessGatewayGlobalRouteProtocol',
+ 'description' => 'You can modify the global routing protocol only of SCG5000 and SCG5000-5G devices whose version is 3.4.2 or later.',
+ ],
+ 'ViewSmartAccessGatewayGlobalRouteProtocol' => [
+ 'summary' => 'Queries the global routing protocol of an SCG5000 or SCG5000-5G device whose version is 3.4.2 or later.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SagInsId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '网关实例id',
+ 'description' => 'The ID of the Smart Access Gateway (SAG) instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sag-iv408aov6k7xxm****',
+ ],
+ ],
+ [
+ 'name' => 'SagSn',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '设备SN',
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sagf4ea****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'region id',
+ 'description' => 'The region ID of the SAG instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to query only the SAG instances that belong to another Alibaba Cloud account. Valid values:'."\n"
+ ."\n"
+ .'* **false** (default)'."\n"
+ .'* **true**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ResourceUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '109790620697****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RouteProtocol' => [
+ 'description' => 'The routing protocol. Valid values:'."\n"
+ ."\n"
+ .'* **STATIC**'."\n"
+ .'* **OSPF**'."\n"
+ .'* **BGP**'."\n",
+ 'type' => 'string',
+ 'example' => 'STATIC',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'D10FFDB2-AF7D-530A-A2AC-EBDC16500399',
+ ],
+ 'TaskStates' => [
+ 'description' => 'The status of the task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The status of the task.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMessage' => [
+ 'description' => 'The error message. A value of Successful indicates that the task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'State' => [
+ 'description' => 'The status of the asynchronous task. Valid values:'."\n"
+ ."\n"
+ .'* **Initialized**: The query task is initialized.'."\n"
+ .'* **Offline**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. After the SAG device is connected to Alibaba Cloud, Alibaba Cloud assigns the query task to the SAG device.'."\n"
+ .'* **Succeed**: Alibaba Cloud has assigned the query task to the SAG device.'."\n"
+ .'* **Processing**: Alibaba Cloud is assigning the query task to the SAG device.'."\n"
+ .'* **VersionNotSupport**: The query task is not supported by the current version of the SAG device.'."\n"
+ .'* **BuildRequestError**: The query task is not supported by the controller of the SAG device.'."\n"
+ .'* **HardwareError**: Alibaba Cloud failed to assign the query task to the SAG device because the SAG device is faulty.'."\n"
+ .'* **TaskNotExist**: The query task does not exist.'."\n"
+ .'* **OfflineNotConfiged**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. Alibaba Cloud does not assign the query task to the SAG device even after the SAG device is connected to Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => 'Succeed',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code. A value of 200 indicates that the task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The timestamp when the task was created. Unit: milliseconds.'."\n"
+ ."\n"
+ .'The value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '1586843621000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'GATEWAY.InvalidSN',
+ 'errorMessage' => 'The specified gateway serial number does not exist.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.GatewayId',
+ 'errorMessage' => 'The input parameter GatewayId that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'DeviceNotExist',
+ 'errorMessage' => 'The specified device does not exist',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RouteProtocol\\": \\"STATIC\\",\\n \\"RequestId\\": \\"D10FFDB2-AF7D-530A-A2AC-EBDC16500399\\",\\n \\"TaskStates\\": [\\n {\\n \\"ErrorMessage\\": \\"Successful\\",\\n \\"State\\": \\"Succeed\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CreateTime\\": \\"1586843621000\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ViewSmartAccessGatewayGlobalRouteProtocolResponse>\\n <RouteProtocol>STATIC</RouteProtocol>\\n <RequestId>D10FFDB2-AF7D-530A-A2AC-EBDC16500399</RequestId>\\n <TaskStates>\\n <ErrorMessage>Successful</ErrorMessage>\\n <State>Succeed</State>\\n <ErrorCode>200</ErrorCode>\\n <CreateTime>1586843621000</CreateTime>\\n </TaskStates>\\n</ViewSmartAccessGatewayGlobalRouteProtocolResponse>","errorExample":""}]',
+ 'title' => 'ViewSmartAccessGatewayGlobalRouteProtocol',
+ 'description' => 'You can query the global protocol only of SCG5000 and SCG5000-5G devices whose version is 3.4.2 or later.',
+ ],
+ 'UpdateSmartAccessGatewayPortRouteProtocol' => [
+ 'summary' => 'Modifies the port protocol of an SCG5000 or SCG5000-5G device whose version is 3.4.2 or later.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SagInsId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '网关实例id',
+ 'description' => 'The ID of the Smart Access Gateway (SAG) instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sag-3manef62evrfr6****',
+ ],
+ ],
+ [
+ 'name' => 'SagSn',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '设备SN',
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sagf4dk****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'region id',
+ 'description' => 'The region ID of the SAG instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'PortName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The port name.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '0',
+ ],
+ ],
+ [
+ 'name' => 'Vlan',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The VLAN ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'RouteProtocol',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The routing protocol. Valid values:'."\n"
+ ."\n"
+ .'* **STATIC**'."\n"
+ .'* **OSPF**'."\n"
+ .'* **BGP**'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'STATIC',
+ ],
+ ],
+ [
+ 'name' => 'RemoteIp',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address of the peer device.'."\n"
+ ."\n"
+ .'> When you enable BGP, you must set this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '192.XX.XX.1',
+ ],
+ ],
+ [
+ 'name' => 'RemoteAs',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The autonomous system number (ASN) of the SAG device.'."\n"
+ ."\n"
+ .'> When you enable BGP, you must set this parameter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '65535',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to query only the SAG instances that belong to another Alibaba Cloud account. Valid values:'."\n"
+ ."\n"
+ .'* **false** (default)'."\n"
+ .'* **true**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ResourceUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '109790620697****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. A value of 200 indicates that the task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'A7DB1241-17CB-5457-83A9-638162A514C6',
+ ],
+ 'Message' => [
+ 'description' => 'The response message. A value of Successful indicates that the task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'GATEWAY.InvalidSN',
+ 'errorMessage' => 'The specified gateway serial number does not exist.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'Internal server error',
+ ],
+ [
+ 'errorCode' => 'MissParameter.GatewayId',
+ 'errorMessage' => 'The input parameter GatewayId that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.PortName',
+ 'errorMessage' => 'The input parameter PortName that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.RouteType',
+ 'errorMessage' => 'The input parameter RouteType that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Vlan',
+ 'errorMessage' => 'The input parameter Vlan is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.RouteType',
+ 'errorMessage' => 'The input parameter RouteType is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.RemoteIp',
+ 'errorMessage' => 'The input parameter RemoteIp is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.RemoteAs',
+ 'errorMessage' => 'The input parameter RemoteAs is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidSpec.FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the cloudbranch does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'SMARTAG.PORT.ROLE.INVALID',
+ 'errorMessage' => 'Invalid port role',
+ ],
+ [
+ 'errorCode' => 'DeviceNotExist',
+ 'errorMessage' => 'The specified device does not exist',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true,\\n \\"RequestId\\": \\"A7DB1241-17CB-5457-83A9-638162A514C6\\",\\n \\"Message\\": \\"Successful\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateSmartAccessGatewayPortRouteProtocolResponse>\\n <Code>200</Code>\\n <Success>true</Success>\\n <RequestId>A7DB1241-17CB-5457-83A9-638162A514C6</RequestId>\\n <Message>Successful</Message>\\n</UpdateSmartAccessGatewayPortRouteProtocolResponse>","errorExample":""}]',
+ 'title' => 'UpdateSmartAccessGatewayPortRouteProtocol',
+ 'description' => 'You can modify the port protocol only of SCG5000 and SCG5000-5G devices whose version is 3.4.2 or later.',
+ ],
+ 'ViewSmartAccessGatewayPortRouteProtocol' => [
+ 'summary' => 'Queries the ports that have routing protocols enabled on an SAG SCG5000 or SCG5000-5G device whose version is 3.4.2 or later.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SagInsId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '网关实例id',
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sag-sv487b7lno6go5****',
+ ],
+ ],
+ [
+ 'name' => 'SagSn',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '设备SN',
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sagf4dk****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'region id',
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ResourceUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '109790620697****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '877F5673-FFD1-5168-99D1-1E8009FBFF7B',
+ ],
+ 'Ports' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'UP',
+ ],
+ 'RemoteIp' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '192.XX.XX.1',
+ ],
+ 'PortName' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '5',
+ ],
+ 'NeighborIp' => [
+ 'type' => 'string',
+ ],
+ 'RouteProtocol' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'BGP',
+ ],
+ 'RemoteAs' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '65535',
+ ],
+ 'Vlan' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '2',
+ ],
+ ],
+ ],
+ ],
+ 'TaskStates' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMessage' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'State' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'Succeed',
+ ],
+ 'ErrorCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'CreateTime' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '1586765938000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'GATEWAY.InvalidSN',
+ 'errorMessage' => 'The specified gateway serial number does not exist.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.GatewayId',
+ 'errorMessage' => 'The input parameter GatewayId that is mandatory for processing this model is not supplied.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"877F5673-FFD1-5168-99D1-1E8009FBFF7B\\",\\n \\"Ports\\": [\\n {\\n \\"Status\\": \\"UP\\",\\n \\"RemoteIp\\": \\"192.XX.XX.1\\",\\n \\"PortName\\": \\"5\\",\\n \\"NeighborIp\\": \\"192.XX.XX.2\\",\\n \\"RouteProtocol\\": \\"BGP\\",\\n \\"RemoteAs\\": \\"65535\\",\\n \\"Vlan\\": \\"2\\"\\n }\\n ],\\n \\"TaskStates\\": [\\n {\\n \\"ErrorMessage\\": \\"Successful\\",\\n \\"State\\": \\"Succeed\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CreateTime\\": \\"1586765938000\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ViewSmartAccessGatewayPortRouteProtocolResponse>\\n <RequestId>877F5673-FFD1-5168-99D1-1E8009FBFF7B</RequestId>\\n <Ports>\\n <Status>UP</Status>\\n <RemoteIp>192.XX.XX.1</RemoteIp>\\n <PortName>5</PortName>\\n <RouteProtocol>BGP</RouteProtocol>\\n <RemoteAs>65535</RemoteAs>\\n <Vlan>2</Vlan>\\n </Ports>\\n <TaskStates>\\n <ErrorMessage>Successful</ErrorMessage>\\n <State>Succeed</State>\\n <ErrorCode>200</ErrorCode>\\n <CreateTime>1586765938000</CreateTime>\\n </TaskStates>\\n</ViewSmartAccessGatewayPortRouteProtocolResponse>","errorExample":""}]',
+ 'title' => 'ViewSmartAccessGatewayPortRouteProtocol',
+ ],
+ 'ViewSmartAccessGatewayRoutes' => [
+ 'summary' => 'Queries the route details about an SCG5000 or SCG5000-5G device whose version is 3.4.2 or later.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SagInsId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '网关实例id',
+ 'description' => 'The ID of the Smart Access Gateway (SAG) instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sag-sv487b7lno6go5****',
+ ],
+ ],
+ [
+ 'name' => 'SagSn',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '设备SN',
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sagf4ea****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'region id',
+ 'description' => 'The region ID of the SAG instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to query only the SAG instances that belong to another Alibaba Cloud account. Valid values:'."\n"
+ ."\n"
+ .'* **false** (default)'."\n"
+ .'* **true**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ResourceUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '147304382796****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'F3D21D0B-5258-5412-AD1C-3929D297286B',
+ ],
+ 'Routes' => [
+ 'description' => 'The information about the queried routes.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The information about the route.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Idx' => [
+ 'description' => 'The port number. A value of -1 indicates that the next hop points to a VPN tunnel.'."\n"
+ ."\n"
+ .'Valid values: **-1** to **4294967295**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'Type' => [
+ 'description' => 'The route type. Valid values:'."\n"
+ ."\n"
+ .'* **static**'."\n"
+ .'* **bgp**'."\n"
+ .'* **ospf**'."\n",
+ 'type' => 'string',
+ 'example' => 'static',
+ ],
+ 'Role' => [
+ 'description' => 'The port role.'."\n",
+ 'type' => 'string',
+ 'example' => 'WAN',
+ ],
+ 'Dst' => [
+ 'description' => 'The destination CIDR block.'."\n",
+ 'type' => 'string',
+ 'example' => '172.1.1.0/24',
+ ],
+ 'Nexthop' => [
+ 'description' => 'The next hop.'."\n",
+ 'type' => 'string',
+ 'example' => '1.XX.XX.1',
+ ],
+ 'ConflictCidrs' => [
+ 'description' => 'The CIDR blocks that overlap with each other.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The CIDR block that overlaps with another CIDR block.'."\n",
+ 'type' => 'string',
+ 'example' => '192.XX.XX.0/24',
+ ],
+ ],
+ 'Cost' => [
+ 'description' => 'The route cost.'."\n"
+ ."\n"
+ .'The first **0** represents the administrative distance (AD).'."\n"
+ ."\n"
+ .'The second **0** represents the router metric.'."\n",
+ 'type' => 'string',
+ 'example' => '[0/0]',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'GATEWAY.InvalidSN',
+ 'errorMessage' => 'The specified gateway serial number does not exist.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.GatewayId',
+ 'errorMessage' => 'The input parameter GatewayId that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'InvalidSpec.FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the cloudbranch does not support this feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F3D21D0B-5258-5412-AD1C-3929D297286B\\",\\n \\"Routes\\": [\\n {\\n \\"Idx\\": 2,\\n \\"Type\\": \\"static\\",\\n \\"Role\\": \\"WAN\\",\\n \\"Dst\\": \\"172.1.1.0/24\\",\\n \\"Nexthop\\": \\"1.XX.XX.1\\",\\n \\"ConflictCidrs\\": [\\n \\"192.XX.XX.0/24\\"\\n ],\\n \\"Cost\\": \\"[0/0]\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ViewSmartAccessGatewayRoutesResponse>\\n <RequestId>F3D21D0B-5258-5412-AD1C-3929D297286B</RequestId>\\n <Routes>\\n <Idx>2</Idx>\\n <Type>static</Type>\\n <Role>WAN</Role>\\n <Dst>172.1.1.0/24</Dst>\\n <Nexthop>1.XX.XX.1</Nexthop>\\n <ConflictCidrs>192.XX.XX.0/24</ConflictCidrs>\\n <Cost>[0/0]</Cost>\\n </Routes>\\n</ViewSmartAccessGatewayRoutesResponse>","errorExample":""}]',
+ 'title' => 'ViewSmartAccessGatewayRoutes',
+ 'description' => 'You can query the route details only of SCG5000 and SCG5000-5G devices whose version is 3.4.2 or later.',
+ ],
+ 'UpdateSmartAccessGatewayOspfRoute' => [
+ 'summary' => 'Modifies the OSPF configurations for an SAG SCG5000 or SCG5000-5G device whose version is 3.4.2 or later.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SagInsId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '网关实例id',
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sag-3manef62evrfr6****',
+ ],
+ ],
+ [
+ 'name' => 'SagSn',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '设备SN',
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sagf4dk****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'region id',
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'RouterId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '192.XX.XX.1',
+ ],
+ ],
+ [
+ 'name' => 'AreaId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'DeadTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '40',
+ ],
+ ],
+ [
+ 'name' => 'HelloTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'AuthenticationType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'MD5',
+ ],
+ ],
+ [
+ 'name' => 'Md5KeyId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '7',
+ ],
+ ],
+ [
+ 'name' => 'Md5Key',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '5',
+ ],
+ ],
+ [
+ 'name' => 'Password',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'duuf****',
+ ],
+ ],
+ [
+ 'name' => 'InterfaceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'OspfNetworkType',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'OspfCost',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'RedistributeProtocol',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'Networks',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'CrossAccount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ResourceUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '109790620697****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'RequestId' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '9CF52A9E-FC3C-5CC8-B5EB-90DC03E9A531',
+ ],
+ 'Message' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'successful',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'GATEWAY.InvalidSN',
+ 'errorMessage' => 'The specified gateway serial number does not exist.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'Internal server error',
+ ],
+ [
+ 'errorCode' => 'ParamCommonNotNull',
+ 'errorMessage' => 'Parameter must not be null',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified software instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'DeviceNotExist',
+ 'errorMessage' => 'The specified device does not exist',
+ ],
+ [
+ 'errorCode' => 'MissParameter.GatewayId',
+ 'errorMessage' => 'The input parameter GatewayId that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.RouterId',
+ 'errorMessage' => 'The input parameter RouterId that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.AreaId',
+ 'errorMessage' => 'The input parameter AreaId that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.HelloTime',
+ 'errorMessage' => 'The input parameter HelloTime that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.DeadTime',
+ 'errorMessage' => 'The input parameter DeadTime that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.InterfaceName',
+ 'errorMessage' => 'The input parameter InterfaceName that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.OspfCost',
+ 'errorMessage' => 'The input parameter OspfCost that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.RouterId',
+ 'errorMessage' => 'The input parameter RouterId is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.AreaId',
+ 'errorMessage' => 'The input parameter AreaId is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.HelloTime',
+ 'errorMessage' => 'The input parameter HelloTime is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.DeadTime',
+ 'errorMessage' => 'The input parameter DeadTime is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.AuthenticationType',
+ 'errorMessage' => 'The input parameter AuthenticationType is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Password',
+ 'errorMessage' => 'The input parameter Password is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Md5KeyId',
+ 'errorMessage' => 'The input parameter Md5KeyId is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Md5Key',
+ 'errorMessage' => 'The input parameter Md5Key is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.OspfCost',
+ 'errorMessage' => 'The input parameter OspfCost is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.AuthenticationType',
+ 'errorMessage' => 'The input parameter AuthenticationType that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.RedistributeProtocol',
+ 'errorMessage' => 'The input parameter RedistributeProtocol is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Networks',
+ 'errorMessage' => 'The input parameter Networks is illegal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true,\\n \\"RequestId\\": \\"9CF52A9E-FC3C-5CC8-B5EB-90DC03E9A531\\",\\n \\"Message\\": \\"successful\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateSmartAccessGatewayOspfRouteResponse>\\n <Code>200</Code>\\n <Success>true</Success>\\n <RequestId>9CF52A9E-FC3C-5CC8-B5EB-90DC03E9A531</RequestId>\\n <Message>successful</Message>\\n</UpdateSmartAccessGatewayOspfRouteResponse>","errorExample":""}]',
+ 'title' => 'UpdateSmartAccessGatewayOspfRoute',
+ ],
+ 'ViewSmartAccessGatewayOspfRoute' => [
+ 'summary' => 'Queries the BGP configuration of an SCG5000 or SCG5000-5G device whose version is 3.4.2 or later and has OSPF enabled.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'SagInsId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '网关实例id',
+ 'description' => 'The ID of the Smart Access Gateway (SAG) instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sag-3manef62evrfr6****',
+ ],
+ ],
+ [
+ 'name' => 'SagSn',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '设备SN',
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sagf4dk****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'region id',
+ 'description' => 'The region ID of the SAG instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to query only the SAG instances that belong to another Alibaba Cloud account. Valid values:'."\n"
+ ."\n"
+ .'* **false** (default)'."\n"
+ .'* **true**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ResourceUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '109790620697****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'AA1AE941-84A9-5F83-A955-C8DAF31C2CB8',
+ ],
+ 'AreaId' => [
+ 'description' => 'The ID of the OSPF area.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'AuthenticationType' => [
+ 'description' => 'The authentication type. Valid values:'."\n"
+ ."\n"
+ .'* **NONE**: Authentication is disabled.'."\n"
+ .'* **CLEARTEXT**: Plaintext authentication is used.'."\n"
+ .'* **MD5**: MD5 authentication is used.'."\n",
+ 'type' => 'string',
+ 'example' => 'NONE',
+ ],
+ 'DeadTime' => [
+ 'description' => 'The timeout period of connections between OSPF peers. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'HelloTime' => [
+ 'description' => 'The time interval at which Hello packets are sent. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Md5Key' => [
+ 'description' => 'The MD5 key value.'."\n",
+ 'type' => 'string',
+ 'example' => '123****',
+ ],
+ 'Md5KeyId' => [
+ 'description' => 'The ID of the MD5 key.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'RouterId' => [
+ 'description' => 'The ID of the router that has OSPF enabled.'."\n",
+ 'type' => 'string',
+ 'example' => '1.XX.XX.1',
+ ],
+ 'TaskStates' => [
+ 'description' => 'The status of the task.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The status of the task.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ErrorMessage' => [
+ 'description' => 'The error message. A value of Successful indicates that the task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ 'State' => [
+ 'description' => 'The status of the asynchronous task. Valid values:'."\n"
+ ."\n"
+ .'* **Initialized**: The query task is initialized.'."\n"
+ .'* **Offline**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. After the SAG device is connected to Alibaba Cloud, Alibaba Cloud assigns the query task to the SAG device.'."\n"
+ .'* **Succeed**: Alibaba Cloud has assigned the query task to the SAG device.'."\n"
+ .'* **Processing**: Alibaba Cloud is assigning the query task to the SAG device.'."\n"
+ .'* **VersionNotSupport**: The query task is not supported by the current version of the SAG device.'."\n"
+ .'* **BuildRequestError**: The query task is not supported by the controller of the SAG device.'."\n"
+ .'* **HardwareError**: Alibaba Cloud failed to assign the query task to the SAG device because the SAG device is faulty.'."\n"
+ .'* **TaskNotExist**: The query task does not exist.'."\n"
+ .'* **OfflineNotConfiged**: The SAG device is disconnected from Alibaba Cloud and Alibaba Cloud has not assigned the query task to the SAG device. Alibaba Cloud does not assign the query task to the SAG device even after the SAG device is connected to Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => 'Succeed',
+ ],
+ 'ErrorCode' => [
+ 'description' => 'The error code. A value of 200 indicates that the task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'CreateTime' => [
+ 'description' => 'The timestamp when the task was created. Unit: milliseconds.'."\n"
+ ."\n"
+ .'The value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time January 1, 1970, 00:00:00 UTC.'."\n",
+ 'type' => 'string',
+ 'example' => '1586843621000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'GATEWAY.InvalidSN',
+ 'errorMessage' => 'The specified gateway serial number does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified software instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'DeviceNotExist',
+ 'errorMessage' => 'The specified device does not exist',
+ ],
+ [
+ 'errorCode' => 'MissParameter.GatewayId',
+ 'errorMessage' => 'The input parameter GatewayId that is mandatory for processing this model is not supplied.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AA1AE941-84A9-5F83-A955-C8DAF31C2CB8\\",\\n \\"AreaId\\": 10,\\n \\"AuthenticationType\\": \\"NONE\\",\\n \\"DeadTime\\": 10,\\n \\"HelloTime\\": 1,\\n \\"Md5Key\\": \\"123****\\",\\n \\"Md5KeyId\\": 1,\\n \\"RouterId\\": \\"1.XX.XX.1\\",\\n \\"TaskStates\\": [\\n {\\n \\"ErrorMessage\\": \\"Successful\\",\\n \\"State\\": \\"Succeed\\",\\n \\"ErrorCode\\": \\"200\\",\\n \\"CreateTime\\": \\"1586843621000\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ViewSmartAccessGatewayOspfRouteResponse>\\n <RequestId>AA1AE941-84A9-5F83-A955-C8DAF31C2CB8</RequestId>\\n <AreaId>10</AreaId>\\n <AuthenticationType>NONE</AuthenticationType>\\n <DeadTime>10</DeadTime>\\n <HelloTime>1</HelloTime>\\n <Md5Key>123****</Md5Key>\\n <Md5KeyId>1</Md5KeyId>\\n <RouterId>1.XX.XX.1</RouterId>\\n <TaskStates>\\n <ErrorMessage>Successful</ErrorMessage>\\n <State>Succeed</State>\\n <ErrorCode>200</ErrorCode>\\n <CreateTime>1586843621000</CreateTime>\\n </TaskStates>\\n</ViewSmartAccessGatewayOspfRouteResponse>","errorExample":""}]',
+ 'title' => 'ViewSmartAccessGatewayOspfRoute',
+ 'description' => 'You can query the BGP configuration only of SCG5000 and SCG5000-5G devices whose version is 3.4.2 or later and have OSPF enabled.',
+ ],
+ 'UpdateSmartAccessGatewayAdminPassword' => [
+ 'summary' => 'Modifies the password that is used to log on to an SCG5000 or SCG5000-5G device whose version is 3.4.2 or later.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SagInsId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '网关实例id',
+ 'description' => 'The ID of the Smart Access Gateway (SAG) instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sag-sv487b7lno6go5****',
+ ],
+ ],
+ [
+ 'name' => 'SagSn',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '设备SN',
+ 'description' => 'The serial number of the SAG device.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sagf4ea****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'region id',
+ 'description' => 'The region ID of the SAG instance.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'Password',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new password used to log on to the SAG device.'."\n"
+ ."\n"
+ .'The password must be 8 to 30 characters in length and can contain letters, digits, and underscores (\\_).'."\n"
+ ."\n"
+ .'> In the example, asterisks (\\*) are used to conceal the real password. This does not mean that the password supports asterisks (\\*). The actual format requirement prevails.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '1234****',
+ ],
+ ],
+ [
+ 'name' => 'CrossAccount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to query only the SAG instances that belong to another Alibaba Cloud account. Valid values:'."\n"
+ ."\n"
+ .'* **false** (default)'."\n"
+ .'* **true**'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ResourceUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the SAG instance belongs.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '147304382796****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Code' => [
+ 'description' => 'The response code. A value of 200 indicates that the task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Success' => [
+ 'description' => 'Indicates whether the call is successful. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => 'EC8487CD-9338-5FCF-896A-B6D1BB1646A7',
+ ],
+ 'Message' => [
+ 'description' => 'The response message. A value of Successful indicates that the task is successful.'."\n",
+ 'type' => 'string',
+ 'example' => 'Successful',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'GATEWAY.InvalidSN',
+ 'errorMessage' => 'The specified gateway serial number does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified software instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotActivated',
+ 'errorMessage' => 'The specified Smart Access Gateway has not been activated.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.GatewayId',
+ 'errorMessage' => 'The input parameter GatewayId that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.Password',
+ 'errorMessage' => 'The input parameter Password that is mandatory for processing this model is not supplied.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Password',
+ 'errorMessage' => 'The input parameter Password is not legal, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidSpec.FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the cloudbranch does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'Cloud Box Not Support the Feature',
+ ],
+ [
+ 'errorCode' => 'DeviceNotExist',
+ 'errorMessage' => 'The specified device does not exist',
+ ],
+ [
+ 'errorCode' => 'SmartAccessGatewayNotOnline',
+ 'errorMessage' => 'The specified instance is not online.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true,\\n \\"RequestId\\": \\"EC8487CD-9338-5FCF-896A-B6D1BB1646A7\\",\\n \\"Message\\": \\"Successful\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateSmartAccessGatewayAdminPasswordResponse>\\n <Code>200</Code>\\n <Success>true</Success>\\n <RequestId>EC8487CD-9338-5FCF-896A-B6D1BB1646A7</RequestId>\\n <Message>Successful</Message>\\n</UpdateSmartAccessGatewayAdminPasswordResponse>","errorExample":""}]',
+ 'title' => 'UpdateSmartAccessGatewayAdminPassword',
+ 'description' => 'You can modify passwords that are used to log on to only SCG5000 and SCG5000-5G devices whose version is 3.4.2 or later.',
+ ],
+ 'CreateSmartAccessGatewaySoftware' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where you want to create the SAG app instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'Period',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The subscription duration of the SAG app instance. Unit: months.'."\n"
+ ."\n"
+ .'Valid values: **1** to **9**, **12**, **24**, and **36**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '12',
+ ],
+ ],
+ [
+ 'name' => 'AutoPay',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to automatically complete the payment of the order. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false** (default): no'."\n"
+ ."\n"
+ .'If you set the parameter to false, go to Billing Management to complete the payment after you call this operation. The instance is created only after you complete the payment.'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ChargeType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The billing method of the SAG app instance. Set the value to **PREPAY**. This value indicates that the SAG app instance is a subscription resource.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'PREPAY',
+ ],
+ ],
+ [
+ 'name' => 'UserCount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of client accounts that can be created on the SAG app instance.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '5',
+ ],
+ ],
+ [
+ 'name' => 'DataPlan',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The size of the free data plan that is allocated to each client account per month. Unit: GB. Valid value: **5**.'."\n"
+ ."\n"
+ .'> This value specifies that a free data plan of 5 GB is allocated to each client account per month.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '5',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '24675405-74DF-4C94-82C6-B749580C498E',
+ ],
+ 'OrderId' => [
+ 'description' => 'The ID of the order that you placed to purchase the SAG app instance.'."\n",
+ 'type' => 'string',
+ 'example' => '203000000000000',
+ ],
+ 'SmartAGId' => [
+ 'description' => 'The ID of the SAG app instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-gnhe6sywtare5******',
+ ],
+ 'ResourceGroupId' => [
+ 'description' => 'The ID of the resource group to which the SAG app instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'rg-acfm2iu4fnc****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"24675405-74DF-4C94-82C6-B749580C498E\\",\\n \\"OrderId\\": \\"203000000000000\\",\\n \\"SmartAGId\\": \\"sag-gnhe6sywtare5******\\",\\n \\"ResourceGroupId\\": \\"rg-acfm2iu4fnc****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateSmartAccessGatewaySoftwareResponse>\\n <RequestId>24675405-74DF-4C94-82C6-B749580C498E</RequestId>\\n <OrderId>203000000000000</OrderId>\\n <SmartAGId>sag-gnhe6sywtare5******</SmartAGId>\\n <ResourceGroupId>rg-acfm2iu4fnc****</ResourceGroupId>\\n</CreateSmartAccessGatewaySoftwareResponse>","errorExample":""}]',
+ 'title' => 'CreateSmartAccessGatewaySoftware',
+ 'summary' => 'Creates a Smart Access Gateway (SAG) app instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpgradeSmartAccessGatewaySoftware' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG app instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-8biez7habqwmx6****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG app instance is created.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'AutoPay',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable auto-payment for the instance.'."\n"
+ ."\n"
+ .'* **false**: no'."\n"
+ .'* **true**: yes'."\n"
+ ."\n"
+ .'> If the parameter is set to false, you must complete the payment in the SAG console after you call this operation.'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'DataPlan',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The data transfer plan for each client account. Unit: GB.'."\n"
+ ."\n"
+ .'> Each client account has a data transfer plan of 5 GB that is free of charge each month.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '5',
+ ],
+ ],
+ [
+ 'name' => 'UserCount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum number of client accounts supported by the SAG app instance.'."\n"
+ ."\n"
+ .'After you complete the payment, you can create a client account for each employee who needs to use the SAG app.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '5',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '97A4F8A5-603E-4C3B-A91E-17CD87090EA9',
+ ],
+ 'OrderId' => [
+ 'description' => 'The ID of the order.'."\n",
+ 'type' => 'string',
+ 'example' => '20697688135****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InvalidUserCount',
+ 'errorMessage' => 'The specified UserCount is invalid.',
+ ],
+ [
+ 'errorCode' => 'SAG.InvalidDataPlan',
+ 'errorMessage' => 'The specified DataPlan is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"97A4F8A5-603E-4C3B-A91E-17CD87090EA9\\",\\n \\"OrderId\\": \\"20697688135****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpgradeSmartAccessGatewaySoftwareResponse>\\n<RequestId>97A4F8A5-603E-4C3B-A91E-17CD87090EA9</RequestId>\\n<OrderId>20697688135****</OrderId>\\n</UpgradeSmartAccessGatewaySoftwareResponse>","errorExample":""}]',
+ 'title' => 'UpgradeSmartAccessGatewaySoftware',
+ 'summary' => 'Increases the maximum number of client accounts supported by a Smart Access Gateway (SAG) app instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DowngradeSmartAccessGatewaySoftware' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG app instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-n2uym2h45lnd31****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG app instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'AutoPay',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specify whether the bill belongs to a subscription instance that has auto renewal enabled. Valid values:'."\n"
+ ."\n"
+ .'* **false** (default): no'."\n"
+ .'* **true**: yes'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'DataPlan',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The amount of free data transfer allocated to each client account per month, which is 5 GB.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '5',
+ ],
+ ],
+ [
+ 'name' => 'UserCount',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The quota of client accounts that can be connected to an SAG app instance. Typically, you need to create an account for each user that needs to log on to the SAG app.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '5',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '3145AF24-1A5E-4AB7-90DA-7201FDD90B8D',
+ ],
+ 'OrderId' => [
+ 'description' => 'The ID of the order.'."\n",
+ 'type' => 'string',
+ 'example' => '204595234160786',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InvalidUserCount',
+ 'errorMessage' => 'The specified UserCount is invalid.',
+ ],
+ [
+ 'errorCode' => 'SAG.InvalidDataPlan',
+ 'errorMessage' => 'The specified DataPlan is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"3145AF24-1A5E-4AB7-90DA-7201FDD90B8D\\",\\n \\"OrderId\\": \\"204595234160786\\"\\n}","errorExample":""},{"type":"xml","example":"<DowngradeSmartAccessGatewaySoftwareResponse>\\n <RequestId>3145AF24-1A5E-4AB7-90DA-7201FDD90B8D</RequestId>\\n <OrderId>204595234160786</OrderId>\\n</DowngradeSmartAccessGatewaySoftwareResponse>","errorExample":""}]',
+ 'title' => 'DowngradeSmartAccessGatewaySoftware',
+ 'summary' => 'Decreases the quota of client accounts that can be connected to a Smart Access Gateway (SAG) app instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateSmartAccessGatewayClientUser' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the Smart Access Gateway (SAG) app instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG app instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-gnhe6sywtare5****',
+ ],
+ ],
+ [
+ 'name' => 'UserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The username of the client account. The usernames of client accounts added to the same SAG app instance must be unique.'."\n"
+ ."\n"
+ .'The username must be 7 to 33 characters in length, and can contain letters, digits, underscores (\\_), at signs (@), periods (.), and hyphens (-). It must start with a letter or a digit.'."\n"
+ ."\n"
+ .'> For a client account, if you specify the username, you must also specify the password. If you specify the password, you must specify the username.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'doctest',
+ ],
+ ],
+ [
+ 'name' => 'ClientIp',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '* If you enable the client app service, you must set the IP address of the client app. The current client account uses the specified IP address to connect to Alibaba Cloud.'."\n"
+ ."\n"
+ .'> The IP address must fall within a private CIDR block.'."\n"
+ ."\n"
+ .'* If you disable the client app service, an IP address within a private CIDR block is assigned to the client account. Each connection to Alibaba Cloud uses a different IP address.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '10.0.XX.XX',
+ ],
+ ],
+ [
+ 'name' => 'UserMail',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The email address of the client account. The username and password are sent to the specified email address by the administrator.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '[email protected]',
+ ],
+ ],
+ [
+ 'name' => 'Bandwidth',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum bandwidth value. Unit: Kbit/s. Valid values: **1 to 20000**. Default value: **2000**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '20',
+ ],
+ ],
+ [
+ 'name' => 'Password',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The password that is used to log on to the SAG app.'."\n"
+ ."\n"
+ .'The password must be 8 to 32 characters in length. It can contain letters, digits, underscores (\\_), at signs (@), and hyphens (-). It must start with a letter or a digit.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'duuf****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'UserName' => [
+ 'description' => 'The username.'."\n",
+ 'type' => 'string',
+ 'example' => 'doc',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '72E82F5E-66E8-4C22-BF1F-5CEB7DC132E7',
+ ],
+ 'UserMail' => [
+ 'description' => 'The email address of the client account.'."\n",
+ 'type' => 'string',
+ 'example' => '[email protected]',
+ ],
+ 'Bandwidth' => [
+ 'description' => 'The maximum bandwidth value. Unit: Kbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'ClientIp' => [
+ 'description' => 'The IP address of the client app.'."\n",
+ 'type' => 'string',
+ 'example' => '10.0.XX.XX',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ClientUser.BandwidthInvalid',
+ 'errorMessage' => 'The specified Bandwidth is invalid.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.EmailEmpty',
+ 'errorMessage' => 'You must specify UserEmail.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.EmailInvalid',
+ 'errorMessage' => 'The format of the specified UserEmail is invalid.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.InvalidClientIp',
+ 'errorMessage' => 'The specified ClientIp is invalid.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.IpEmpty',
+ 'errorMessage' => 'You must specify ClientIp.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.IpInvalid',
+ 'errorMessage' => 'The specified ClientIp is invalid.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.NameEmpty',
+ 'errorMessage' => 'You must specify UserName.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.NameInvalid',
+ 'errorMessage' => 'The specified UserName is invalid.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.UserExist',
+ 'errorMessage' => 'The specified user already exists.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.UserOverLimit',
+ 'errorMessage' => 'The maximum number of users is exceeded.',
+ ],
+ [
+ 'errorCode' => 'SAG.CidrEmpty',
+ 'errorMessage' => 'You must specify the CIDR blocks of SAG.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.PasswordInvalid',
+ 'errorMessage' => 'The specified password format is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"UserName\\": \\"doc\\",\\n \\"RequestId\\": \\"72E82F5E-66E8-4C22-BF1F-5CEB7DC132E7\\",\\n \\"UserMail\\": \\"[email protected]\\",\\n \\"Bandwidth\\": 20,\\n \\"ClientIp\\": \\"10.0.XX.XX\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateSmartAccessGatewayClientUserResponse>\\n <UserName>doc</UserName>\\n <RequestId>72E82F5E-66E8-4C22-BF1F-5CEB7DC132E7</RequestId>\\n <UserMail>[email protected]</UserMail>\\n <Bandwidth>20</Bandwidth>\\n <ClientIp>10.0.XX.XX</ClientIp>\\n</CreateSmartAccessGatewayClientUserResponse>","errorExample":""}]',
+ 'title' => 'CreateSmartAccessGatewayClientUser ',
+ 'summary' => 'Creates a client account.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSmartAccessGatewayClientUsers' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG app instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG app instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-kzo5dvms3dqii3*****',
+ ],
+ ],
+ [
+ 'name' => 'UserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The username of the client account.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'username',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Default value: **10**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'UserMail',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The email address of the client account.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[email protected]',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => [
+ 'description' => 'The number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '62F4CF10-F909-487E-8E95-BC35457C5F50',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Users' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'User' => [
+ 'description' => 'The information about the client account.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Bandwidth' => [
+ 'description' => 'The maximum bandwidth allocated to the client account. Unit: Kbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2000',
+ ],
+ 'State' => [
+ 'description' => 'Indicates whether the client is enabled. Valid values:'."\n"
+ ."\n"
+ .'* **0**: enabled'."\n"
+ .'* **1**: disabled'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'ClientIp' => [
+ 'description' => 'The IP address assigned by the system to the client.'."\n",
+ 'type' => 'string',
+ 'example' => '10.10.10.1',
+ ],
+ 'UserName' => [
+ 'description' => 'The username of the client account.'."\n",
+ 'type' => 'string',
+ 'example' => 'username',
+ ],
+ 'UserMail' => [
+ 'description' => 'The email address of the client account.'."\n",
+ 'type' => 'string',
+ 'example' => '[email protected]',
+ ],
+ 'AccelerateBandwidth' => [
+ 'description' => 'The maximum application acceleration bandwidth allocated to the client account. Unit: Kbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1000',
+ ],
+ 'IsStaticIp' => [
+ 'description' => 'Indicates whether the client IP address is a static IP address.'."\n"
+ ."\n"
+ .'* **1**: yes'."\n"
+ .'* **0**: no'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '0',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceIdEmpty',
+ 'errorMessage' => 'You must specify the SAG instance ID.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"62F4CF10-F909-487E-8E95-BC35457C5F50\\",\\n \\"PageNumber\\": 1,\\n \\"Users\\": {\\n \\"User\\": [\\n {\\n \\"Bandwidth\\": 2000,\\n \\"State\\": 1,\\n \\"ClientIp\\": \\"10.10.10.1\\",\\n \\"UserName\\": \\"username\\",\\n \\"UserMail\\": \\"[email protected]\\",\\n \\"AccelerateBandwidth\\": 1000,\\n \\"IsStaticIp\\": 0\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeSmartAccessGatewayClientUsersResponse>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <RequestId>62F4CF10-F909-487E-8E95-BC35457C5F50</RequestId>\\n <PageNumber>1</PageNumber>\\n <Users>\\n <Bandwidth>2000</Bandwidth>\\n <State>1</State>\\n <ClientIp>10.10.10.1</ClientIp>\\n <UserName>username</UserName>\\n <UserMail>[email protected]</UserMail>\\n <AccelerateBandwidth>1000</AccelerateBandwidth>\\n <IsStaticIp>0</IsStaticIp>\\n </Users>\\n</DescribeSmartAccessGatewayClientUsersResponse>","errorExample":""}]',
+ 'title' => 'DescribeSmartAccessGatewayClientUsers',
+ 'summary' => 'Queries client accounts added to a Smart Access Gateway (SAG) app instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifySmartAccessGatewayClientUser' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG app instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG app instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-rz2e23c0e78ema****',
+ ],
+ ],
+ [
+ 'name' => 'UserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The username of the client account.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'username',
+ ],
+ ],
+ [
+ 'name' => 'Bandwidth',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum bandwidth allocated to the client account. Unit: Kbit/s.'."\n"
+ ."\n"
+ .'Valid values: **1** to **20000**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'Email',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The email address of the client account.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[email protected]',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'UserName' => [
+ 'description' => 'The username of the client account.'."\n",
+ 'type' => 'string',
+ 'example' => 'username',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '5F0078B5-8AAD-4B53-8351-4C91B8EA528A',
+ ],
+ 'UserMail' => [
+ 'description' => 'The email address of the client account.'."\n",
+ 'type' => 'string',
+ 'example' => '[email protected]',
+ ],
+ 'Bandwidth' => [
+ 'description' => 'The maximum bandwidth allocated to the client account. Unit: Kbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'ClientIp' => [
+ 'description' => 'The IP address of the client.'."\n",
+ 'type' => 'string',
+ 'example' => '10.10.10.1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ClientUser.BandwidthInvalid',
+ 'errorMessage' => 'The specified Bandwidth is invalid.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.NameEmpty',
+ 'errorMessage' => 'You must specify UserName.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.NameInvalid',
+ 'errorMessage' => 'The specified UserName is invalid.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceIdEmpty',
+ 'errorMessage' => 'You must specify the SAG instance ID.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.User',
+ 'errorMessage' => 'The specified user is not found.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"UserName\\": \\"username\\",\\n \\"RequestId\\": \\"5F0078B5-8AAD-4B53-8351-4C91B8EA528A\\",\\n \\"UserMail\\": \\"[email protected]\\",\\n \\"Bandwidth\\": 1,\\n \\"ClientIp\\": \\"10.10.10.1\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifySmartAccessGatewayClientUserResponse>\\n <UserName>username</UserName>\\n <RequestId>5F0078B5-8AAD-4B53-8351-4C91B8EA528A</RequestId>\\n <UserMail>[email protected]</UserMail>\\n <Bandwidth>1</Bandwidth>\\n <ClientIp>10.10.10.1</ClientIp>\\n</ModifySmartAccessGatewayClientUserResponse>","errorExample":""}]',
+ 'title' => 'ModifySmartAccessGatewayClientUser',
+ 'summary' => 'Modifies the maximum bandwidth and email address of a client account on a Smart Access Gateway (SAG) app instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ResetSmartAccessGatewayClientUserPassword' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG app instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG app instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-kzo5dvms3dqii3****',
+ ],
+ ],
+ [
+ 'name' => 'UserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The username of the client account for which you want to reset the password.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'username',
+ ],
+ ],
+ [
+ 'name' => 'Password',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new password.'."\n"
+ ."\n"
+ .'* If you do not specify a new password, the system generates a random password.'."\n"
+ ."\n"
+ .'* If you specify a new password, the password is reset to the specified new password.'."\n"
+ ."\n"
+ .' The password must be 8 to 32 characters in length, and can contain letters, digits, underscores (\\_), at signs (@), periods (.), and hyphens (-). It must start with a letter or a digit.'."\n"
+ ."\n"
+ .'After the password is reset, an email that contains the new password is sent to the email address of the client account.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Password****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'BE1F7E80-4558-4021-B6D2-B94DA8AAAF81',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ClientUser.NameEmpty',
+ 'errorMessage' => 'You must specify UserName.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.NameInvalid',
+ 'errorMessage' => 'The specified UserName is invalid.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceIdEmpty',
+ 'errorMessage' => 'You must specify the SAG instance ID.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.PasswordInvalid',
+ 'errorMessage' => 'The specified password format is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BE1F7E80-4558-4021-B6D2-B94DA8AAAF81\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n <ResetSmartAccessGatewayClientUserPasswordResponse>\\r\\n\\t<RequestId>BE1F7E80-4558-4021-B6D2-B94DA8AAAF81</RequestId>\\r\\n </ResetSmartAccessGatewayClientUserPasswordResponse>","errorExample":""}]',
+ 'title' => 'ResetSmartAccessGatewayClientUserPassword',
+ 'summary' => 'Resets the password that a client account uses to log on to the Smart Access Gateway (SAG) app.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteSmartAccessGatewayClientUser' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG app instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG app instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-kzo5dvms3dqii3****',
+ ],
+ ],
+ [
+ 'name' => 'UserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The username of the client account.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'username',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '09AD82DC-FE26-4B66-B526-2FA6BE82A4D3',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceIdEmpty',
+ 'errorMessage' => 'You must specify the SAG instance ID.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.NameEmpty',
+ 'errorMessage' => 'You must specify UserName.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.NameInvalid',
+ 'errorMessage' => 'The specified UserName is invalid.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.UserInUsing',
+ 'errorMessage' => 'The specified SAG user account is already in use this month. You cannot delete it.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"09AD82DC-FE26-4B66-B526-2FA6BE82A4D3\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n <DeleteSmartAccessGatewayClientUserResponse>\\r\\n\\t<RequestId>09AD82DC-FE26-4B66-B526-2FA6BE82A4D3</RequestId>\\r\\n </DeleteSmartAccessGatewayClientUserResponse>","errorExample":""}]',
+ 'title' => 'DeleteSmartAccessGatewayClientUser',
+ 'summary' => 'Deletes a client account from a Smart Access Gateway (SAG) app instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'EnableSmartAccessGatewayUser' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'UserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The username of the client account.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '1234',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG APP instance.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-va03wf4l4idaj*****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG APP instance is deployed.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.',
+ 'type' => 'string',
+ 'example' => 'F5894299-84A2-48C1-A999-28908B99F45D',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Forbbiden.SubUser',
+ 'errorMessage' => 'You are not authorized to operate on the specified resource.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F5894299-84A2-48C1-A999-28908B99F45D\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<EnableSmartAccessGatewayUserResponse>\\r\\n\\t<RequestId>F5894299-84A2-48C1-A999-28908B99F45D</RequestId>\\r\\n</EnableSmartAccessGatewayUserResponse>","errorExample":""}]',
+ 'title' => 'EnableSmartAccessGatewayUser',
+ 'summary' => 'Activates a client account of a Smart Access Gateway (SAG) app instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DisableSmartAccessGatewayUser' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'UserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The username of the client account.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '1234',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG APP instance.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-va03wf4l4idaj*****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG APP instance is deployed.',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '05E86199-6CF6-4F4E-A9CE-9BFC5B020B72',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Forbbiden.SubUser',
+ 'errorMessage' => 'You are not authorized to operate on the specified resource.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"05E86199-6CF6-4F4E-A9CE-9BFC5B020B72\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DisableSmartAccessGatewayUserResponse>\\r\\n\\t<RequestId>05E86199-6CF6-4F4E-A9CE-9BFC5B020B72</RequestId>\\r\\n</DisableSmartAccessGatewayUserResponse>","errorExample":""}]',
+ 'title' => 'DisableSmartAccessGatewayUser',
+ 'summary' => 'Disables a client account of a Smart Access Gateway (SAG) app instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifyClientUserDNS' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG app instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG app instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-9uyg53s6juhpxv****',
+ ],
+ ],
+ [
+ 'name' => 'AppDNS',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The active and standby DNS servers that the SAG app uses when it connects to private networks.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '100.100.2.136',
+ ],
+ 'required' => false,
+ 'example' => '100.XX.XX.100',
+ 'maxItems' => 2,
+ ],
+ ],
+ [
+ 'name' => 'RecoveredDNS',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The active and standby DNS servers that the SAG app instance uses to disconnect from private networks.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '100.100.2.138',
+ ],
+ 'required' => false,
+ 'example' => '100.XX.XX.110',
+ 'maxItems' => 2,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'BFE2D0C0-B69F-422D-A8A3-928AD511B471',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidParam.Ip',
+ 'errorMessage' => 'The specified IP address is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BFE2D0C0-B69F-422D-A8A3-928AD511B471\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyClientUserDNSResponse>\\r\\n<RequestId>BFE2D0C0-B69F-422D-A8A3-928AD511B471</RequestId>\\r\\n</ModifyClientUserDNSResponse>","errorExample":""}]',
+ 'title' => 'ModifyClientUserDNS',
+ 'summary' => 'Modifies the DNS settings of a Smart Access Gateway (SAG) app instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeClientUserDNS' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG app instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG app instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-9uyg53s6juhpxv****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'AppDNS' => [
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The IP address of DNS server.',
+ 'type' => 'string',
+ 'example' => '100.XX.XX.100',
+ ],
+ 'description' => 'The active and standby DNS servers that the SAG app instance uses when it connects to private networks.',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '894AA8BD-0627-45B1-AA18-9CE1D50DA9D0',
+ ],
+ 'RecoveredDNS' => [
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The IP address of DNS server.',
+ 'type' => 'string',
+ 'example' => '110.XX.XX.110',
+ ],
+ 'description' => 'The active and standby DNS servers that the SAG app instance uses when it disconnects from private networks.'."\n",
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"AppDNS\\": [\\n \\"100.XX.XX.100\\"\\n ],\\n \\"RequestId\\": \\"894AA8BD-0627-45B1-AA18-9CE1D50DA9D0\\",\\n \\"RecoveredDNS\\": [\\n \\"110.XX.XX.110\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeClientUserDNSResponse>\\n<AppDNS>100.XX.XX.100</AppDNS>\\n<AppDNS>100.XX.XX.130</AppDNS>\\n<RequestId>894AA8BD-0627-45B1-AA18-9CE1D50DA9D0</RequestId>\\n</DescribeClientUserDNSResponse>","errorExample":""}]',
+ 'title' => 'DescribeClientUserDNS',
+ 'summary' => 'Queries the DNS settings of a Smart Access Gateway (SAG) instance associated with SAG app.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeUserFlowStatistics' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region where the SAG APP instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG APP instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-mfkg*****',
+ ],
+ ],
+ [
+ 'name' => 'StatisticsDate',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The month during which the data transfer statistics are collected.'."\n"
+ ."\n"
+ .'If you do not specify a month, the current month is queried.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '201905',
+ ],
+ ],
+ [
+ 'name' => 'UserNames',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The list of usernames of client accounts. Maximum value of N: 50.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The username of the client account.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'doctest',
+ ],
+ 'required' => true,
+ 'maxItems' => 50,
+ 'example' => '12',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SagStatistics' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Statistics' => [
+ 'description' => 'The statistics of data transfer.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The statistics of data transfer.',
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalBytes' => [
+ 'description' => 'The amount of data consumed. Unit: byte.'."\n",
+ 'type' => 'string',
+ 'example' => '12',
+ ],
+ 'UserName' => [
+ 'description' => 'The username of the client account.'."\n",
+ 'type' => 'string',
+ 'example' => 'doctest',
+ ],
+ 'TotalLeaveBytes' => [
+ 'description' => 'The remaining quota of the free data transfer plan. Unit: bytes.',
+ 'type' => 'string',
+ 'example' => '1000',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '9552AD68-18EA-4074-B27D-40040FBA9683',
+ ],
+ ],
+ 'description' => 'The response.',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceIdEmpty',
+ 'errorMessage' => 'You must specify the SAG instance ID.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"SagStatistics\\": {\\n \\"Statistics\\": [\\n {\\n \\"TotalBytes\\": \\"100\\",\\n \\"UserName\\": \\"doctest\\",\\n \\"TotalLeaveBytes\\": \\"1000\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"9552AD68-18EA-4074-B27D-40040FBA9683\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeUserFlowStatisticsResponse>\\n <SagStatistics>\\n <TotalBytes>100</TotalBytes>\\n <UserName>doctest</UserName>\\n <TotalLeaveBytes>1000</TotalLeaveBytes>\\n </SagStatistics>\\n <RequestId>9552AD68-18EA-4074-B27D-40040FBA9683</RequestId>\\n</DescribeUserFlowStatisticsResponse>","errorExample":""}]',
+ 'title' => 'DescribeUserFlowStatistics',
+ 'summary' => 'Queries the amount of data transfer generated by each client account of a Smart Access Gateway (SAG) app instance.',
+ ],
+ 'DescribeUserOnlineClients' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region where the SAG APP instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG APP instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-wfjgn**********',
+ ],
+ ],
+ [
+ 'name' => 'UserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The username of the client account. Usernames of client accounts added to the same SAG APP instance are unique.'."\n"
+ ."\n"
+ .'For a client account, if you specify the username, you must also specify the password.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'doctest',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '7108A98F-C47D-45F7-A4D8-C2E3022735DA',
+ ],
+ 'Users' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'User' => [
+ 'description' => 'The information about the client.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'ClientIp' => [
+ 'description' => 'The IP address of the client.'."\n",
+ 'type' => 'string',
+ 'example' => '10.**.**.**',
+ ],
+ 'OnlineTime' => [
+ 'description' => 'The time when the client was connected to Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => '1559125519',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ClientUser.NameEmpty',
+ 'errorMessage' => 'You must specify UserName.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.NameInvalid',
+ 'errorMessage' => 'The specified UserName is invalid.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceIdEmpty',
+ 'errorMessage' => 'You must specify the SAG instance ID.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7108A98F-C47D-45F7-A4D8-C2E3022735DA\\",\\n \\"Users\\": {\\n \\"User\\": [\\n {\\n \\"ClientIp\\": \\"10.**.**.**\\",\\n \\"OnlineTime\\": \\"1559125519\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n\\t<DescribeUserOnlineClientsResponse>\\r\\n <Users>\\r\\n\\t\\t<User>\\r\\n\\t\\t\\t<OnlineTime>1559125519</OnlineTime>\\r\\n\\t\\t\\t<ClientIp>192.168.0.2</ClientIp>\\r\\n\\t\\t</User>\\r\\n\\t</Users>\\r\\n\\t<RequestId>92B22889-5451-4A1D-9432-66ED5AB3DD04</RequestId>\\r\\n </DescribeUserOnlineClientsResponse>","errorExample":""}]',
+ 'title' => 'DescribeUserOnlineClients',
+ 'summary' => 'You can call this operation to query the connection information about a client based on the ID of the Smart Access Gateway (SAG) APP instance and username of the client account.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeSagOnlineClientStatistics' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG app instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the SAG app instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sag-6z21oj0vjjrx6s****',
+ ],
+ 'required' => false,
+ 'example' => 'sag-va03wf4l4idaj*****',
+ 'maxItems' => 50,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SagStatistics' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Statistics' => [
+ 'description' => 'The information about the clients that are connected to Alibaba Cloud.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'SmartAGId' => [
+ 'description' => 'The ID of the SAG app instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-va03wf4l4idaj*****',
+ ],
+ 'OnlineCount' => [
+ 'description' => 'The number of clients that are connected to Alibaba Cloud through the specified SAG APP instance.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.',
+ 'type' => 'string',
+ 'example' => '9EC839B6-0EA5-4F19-A4B7-A9E465D057AE',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidId.SMARTAG',
+ 'errorMessage' => ' The specified smart access gateway instance ID does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"SagStatistics\\": {\\n \\"Statistics\\": [\\n {\\n \\"SmartAGId\\": \\"sag-va03wf4l4idaj*****\\",\\n \\"OnlineCount\\": \\"0\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"9EC839B6-0EA5-4F19-A4B7-A9E465D057AE\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n <DescribeSagOnlineClientStatisticsResponse>\\r\\n\\t<RequestId>9EC839B6-0EA5-4F19-A4B7-A9E465D057AE</RequestId>\\r\\n\\t<SagStatistics>\\r\\n\\t\\t<Statistics>\\r\\n\\t\\t\\t<SmartAGId>sag-va03wf4l4idaj0***</SmartAGId>\\r\\n\\t\\t\\t<OnlineCount>0</OnlineCount>\\r\\n\\t\\t</Statistics>\\r\\n\\t</SagStatistics>\\r\\n </DescribeSagOnlineClientStatisticsResponse>","errorExample":""}]',
+ 'title' => 'DescribeSagOnlineClientStatistics',
+ 'summary' => 'Queries the number of clients connected to Alibaba Cloud through a Smart Access Gateway (SAG) app instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeUserOnlineClientStatistics' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region where the SAG app instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG app instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sag-sfjg*****',
+ ],
+ ],
+ [
+ 'name' => 'UserNames',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The username.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'doctest',
+ ],
+ 'required' => true,
+ 'example' => 'doctest',
+ 'maxItems' => 50,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'UserStatistics' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Statistics' => [
+ 'description' => 'The connection information about the specified clients.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'OnlineCount' => [
+ 'description' => 'The number of clients that are connected to Alibaba Cloud.'."\n",
+ 'type' => 'string',
+ 'example' => '2',
+ ],
+ 'UserName' => [
+ 'description' => 'The username.'."\n",
+ 'type' => 'string',
+ 'example' => 'doctest',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.',
+ 'type' => 'string',
+ 'example' => '14846A6A-2192-4F6A-B272-B8BD68EBC89B',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ClientUser.NameEmpty',
+ 'errorMessage' => 'You must specify UserName.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.NameInvalid',
+ 'errorMessage' => 'The specified UserName is invalid.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceIdEmpty',
+ 'errorMessage' => 'You must specify the SAG instance ID.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"UserStatistics\\": {\\n \\"Statistics\\": [\\n {\\n \\"OnlineCount\\": \\"2\\",\\n \\"UserName\\": \\"doctest\\"\\n }\\n ]\\n },\\n \\"RequestId\\": \\"14846A6A-2192-4F6A-B272-B8BD68EBC89B\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n <DescribeUserOnlineClientStatisticsResponse>\\r\\n\\t<RequestId>14846A6A-2192-4F6A-B272-B8BD68EBC89B</RequestId>\\r\\n\\t<UserStatistics>\\r\\n\\t\\t<Statistics>\\r\\n\\t\\t\\t<UserName>doctest</UserName>\\r\\n\\t\\t\\t<OnlineCount>0</OnlineCount>\\r\\n\\t\\t</Statistics>\\r\\n\\t</UserStatistics>\\r\\n </DescribeUserOnlineClientStatisticsResponse>","errorExample":""}]',
+ 'title' => 'DescribeUserOnlineClientStatistics',
+ 'summary' => 'Queries the number of clients that are connected to Alibaba Cloud through a specific Smart Access Gateway (SAG) app instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'KickOutClients' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region where the SAG APP instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG APP instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-ehjfb*******',
+ ],
+ ],
+ [
+ 'name' => 'Username',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The username of the client account. Usernames of client accounts added to the same SAG APP instance are unique.'."\n"
+ ."\n"
+ .'For a client account, if you specify the username, you must also specify the password.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'doctest',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '76FD7E08-6AA1-4B1B-99FB-8B3CA6C99A8E',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ClientUser.NameEmpty',
+ 'errorMessage' => 'You must specify UserName.',
+ ],
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"76FD7E08-6AA1-4B1B-99FB-8B3CA6C99A8E\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n <KickOutClientsResponse>\\r\\n\\t<RequestId>7108A98F-C47D-45F7-A4D8-C2E3022735DA</RequestId>\\r\\n </KickOutClientsResponse>","errorExample":""}]',
+ 'title' => 'KickOutClients',
+ 'summary' => 'Closes a connection based on the Smart Access Gateway (SAG) app instance ID and username.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'RoamClientUser' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the SAG app instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'OriginSmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the source SAG app instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-m9uhqekwnqcnyy****',
+ ],
+ ],
+ [
+ 'name' => 'TargetSmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the destination SAG app instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-ghwa10ko6ndwug****',
+ ],
+ ],
+ [
+ 'name' => 'OriginRegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID of the SAG app instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ap-southeast-1',
+ ],
+ ],
+ [
+ 'name' => 'UserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The usernames of the client for which you want to enable roaming.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'nametest',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The request ID.'."\n",
+ 'type' => 'string',
+ 'example' => '3200E8A3-563F-4FFC-8BDB-0F1263FA69E8',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.InstanceNoFound',
+ 'errorMessage' => 'The specified SAG instance does not exist.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.NotSupportAction',
+ 'errorMessage' => 'You cannot create a user in the current SAG instance.',
+ ],
+ [
+ 'errorCode' => 'SAG.CidrEmpty',
+ 'errorMessage' => 'You must specify the CIDR blocks of SAG.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.BandwidthInvalid',
+ 'errorMessage' => 'The specified Bandwidth is invalid.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.InvalidClientIp',
+ 'errorMessage' => 'The specified ClientIp is invalid.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.UserOverLimit',
+ 'errorMessage' => 'The maximum number of users is exceeded.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.UserExist',
+ 'errorMessage' => 'The specified user already exists.',
+ ],
+ [
+ 'errorCode' => 'ClientUser.NameInvalid',
+ 'errorMessage' => 'The specified UserName is invalid.',
+ ],
+ [
+ 'errorCode' => 'SAG.CidrOverlap',
+ 'errorMessage' => 'The specified CIDR overlaps with an existing CIDR.',
+ ],
+ [
+ 'errorCode' => 'EnterpriseCode.ConfigDifferent',
+ 'errorMessage' => 'The target smart access gateway enterprise code or idaas configuration is not the same.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"3200E8A3-563F-4FFC-8BDB-0F1263FA69E8\\"\\n}","errorExample":""},{"type":"xml","example":"<RoamClientUserResponse>\\n <RequestId>3200E8A3-563F-4FFC-8BDB-0F1263FA69E8</RequestId>\\n</RoamClientUserResponse>","errorExample":""}]',
+ 'title' => 'RoamClientUser',
+ 'summary' => 'Enables roaming for the SAG app to allow clients to access Alibaba Cloud across regions.',
+ 'description' => 'Before you call `RoamClientUser`, we recommend that you read and understand the features and usage notes of roaming. For more information, see [Configure roaming on clients](~~177220~~).'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateEnterpriseCode' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'EnterpriseCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The enterprise code.'."\n"
+ ."\n"
+ .'The enterprise code must be five characters in length and must contain letters and digits. Each enterprise code must be globally unique.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '12P**',
+ ],
+ ],
+ [
+ '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 value, but you must make sure that it is unique among different requests. ClientToken can contain only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not set this parameter, the system automatically set **ClientToken** to the value of **RequestId**. The value of **RequestId** may be different for each API request.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => '02fb3da4**** ',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'FBDB18D8-E91E-4978-8D6C-6E2E3EE10133',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'EnterpriseCode.BeenOccupied',
+ 'errorMessage' => 'The specified enterprise code is occupied by other enterprises.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"FBDB18D8-E91E-4978-8D6C-6E2E3EE10133\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateEnterpriseCodeResponse>\\r\\n<RequestId>FBDB18D8-E91E-4978-8D6C-6E2E3EE10133</RequestId>\\r\\n</CreateEnterpriseCodeResponse>","errorExample":""}]',
+ 'title' => 'CreateEnterpriseCode',
+ 'summary' => 'Creates an enterprise code.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteEnterpriseCode' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the enterprise code belongs.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'EnterpriseCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The enterprise code that you want to delete.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '12***',
+ ],
+ ],
+ [
+ '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 value, but you must ensure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => '02fb3da4****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '9DD3DFB2-A9BF-4BEE-9542-661411A9851E',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'EnterpriseCode.BeingUsed',
+ 'errorMessage' => 'The specified enterprise code is being used.',
+ ],
+ [
+ 'errorCode' => 'EnterpriseCode.DeleteLimit',
+ 'errorMessage' => 'The specified default enterprise code cannot be deleted.',
+ ],
+ [
+ 'errorCode' => 'EnterpriseCode.NotExist',
+ 'errorMessage' => 'The specified enterprise code does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9DD3DFB2-A9BF-4BEE-9542-661411A9851E\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteEnterpriseCodeResponse>\\r\\n<RequestId>9DD3DFB2-A9BF-4BEE-9542-661411A9851E</RequestId>\\r\\n</DeleteEnterpriseCodeResponse>","errorExample":""}]',
+ 'title' => 'DeleteEnterpriseCode',
+ 'summary' => 'Deletes a specified enterprise code.',
+ 'description' => 'Before you call this operation, take note of the following rules:'."\n"
+ ."\n"
+ .'* You cannot delete default enterprise codes.'."\n"
+ ."\n"
+ .' To delete a default enterprise code, change it to a custom enterprise code and then delete it. For more information, see [UpdateEnterpriseCode](~~197700~~).'."\n"
+ ."\n"
+ .'* You cannot delete enterprise codes that are associated with a Smart Access Gateway (SAG) APP instance.'."\n"
+ ."\n"
+ .' To delete an enterprise code that is associated with an SAG APP instance, associate the SAG APP instance with another enterprise code, and then delete the enterprise code. For more information, see [UpdateSmartAGEnterpriseCode](~~197701~~).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateEnterpriseCode' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the enterprise code belongs.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'EnterpriseCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The enterprise code.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '12P**',
+ ],
+ ],
+ [
+ 'name' => 'IsDefault',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to specify the enterprise code as the default one. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ '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 value, but you must ensure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => '02fb3da4****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'FBDB18D8-E91E-4978-8D6C-6E2E3EE10133',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'EnterpriseCode.NotExist',
+ 'errorMessage' => 'The specified enterprise code does not exist.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"FBDB18D8-E91E-4978-8D6C-6E2E3EE10133\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateEnterpriseCodeResponse>\\r\\n<RequestId>FBDB18D8-E91E-4978-8D6C-6E2E3EE10133</RequestId>\\r\\n</UpdateEnterpriseCodeResponse>","errorExample":""}]',
+ 'title' => 'UpdateEnterpriseCode',
+ 'summary' => 'Modifies the attributes of a specified enterprise code.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'UpdateSmartAGEnterpriseCode' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG APP instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'EnterpriseCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The enterprise code with you want to associate the SAG APP instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '12P**',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG APP instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-rz2e23c0e78ema****',
+ ],
+ ],
+ [
+ '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 value, but you must ensure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => '02fb3da4-130e****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'FBDB18D8-E91E-4978-8D6C-6E2E3EE10133',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'EnterpriseCode.UserNameConflict',
+ 'errorMessage' => 'The specified username already exists.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"FBDB18D8-E91E-4978-8D6C-6E2E3EE10133\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateSmartAGEnterpriseCodeResponse>\\r\\n<RequestId>FBDB18D8-E91E-4978-8D6C-6E2E3EE10133</RequestId>\\r\\n</UpdateSmartAGEnterpriseCodeResponse>","errorExample":""}]',
+ 'title' => 'UpdateSmartAGEnterpriseCode',
+ 'summary' => 'Associates a Smart Access Gateway (SAG) APP instance with another enterprise code.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ListEnterpriseCode' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'EnterpriseCode',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The enterprise code that you want to query.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => '12P**',
+ ],
+ ],
+ [
+ 'name' => 'IsDefault',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to query only default enterprise codes. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false** (default): no'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The token for returning the next page when the data is returned in more than one page.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'caeba0bbb2be03f84eb48b699f0*****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries returned per page.'."\n"
+ ."\n"
+ .'Valid values: **1** to **100**. Default value: **10**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '100',
+ 'minimum' => '1',
+ 'example' => '2',
+ 'default' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'NextToken' => [
+ 'description' => 'The token for returning the next page when the data is returned in more than one page.'."\n",
+ 'type' => 'string',
+ 'example' => 'caeba0bbb2be03f84eb48b699f0*****',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '1A57EF84-D587-4CF9-B0C8-307488BF52C9',
+ ],
+ 'MaxResults' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'EnterpriseCodes' => [
+ 'description' => 'The information about enterprise codes.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'IsDefault' => [
+ 'description' => 'Indicates whether the enterprise code is the default one.'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'EnterpriseCode' => [
+ 'description' => 'The enterprise code.'."\n",
+ 'type' => 'string',
+ 'example' => '12P**',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 2,\\n \\"NextToken\\": \\"caeba0bbb2be03f84eb48b699f0*****\\",\\n \\"RequestId\\": \\"1A57EF84-D587-4CF9-B0C8-307488BF52C9\\",\\n \\"MaxResults\\": 2,\\n \\"EnterpriseCodes\\": [\\n {\\n \\"IsDefault\\": true,\\n \\"EnterpriseCode\\": \\"12P**\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<ListEnterpriseCodeResponse>\\n <TotalCount>2</TotalCount>\\n <RequestId>1A57EF84-D587-4CF9-B0C8-307488BF52C9</RequestId>\\n <MaxResults>10</MaxResults>\\n <EnterpriseCodes>\\n <IsDefault>false</IsDefault>\\n <EnterpriseCode>12P**</EnterpriseCode>\\n <SmartAGCount>2</SmartAGCount>\\n </EnterpriseCodes>\\n <EnterpriseCodes>\\n <IsDefault>true</IsDefault>\\n <EnterpriseCode>12P**</EnterpriseCode>\\n <SmartAGCount>5</SmartAGCount>\\n </EnterpriseCodes>\\n</ListEnterpriseCodeResponse>","errorExample":""}]',
+ 'title' => 'ListEnterpriseCode',
+ 'summary' => 'Queries enterprise codes.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateCloudConnectNetwork' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the CCN instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the CCN instance.'."\n"
+ ."\n"
+ .'The name must be 2 to 100 characters in length and can contain letters, digits, periods (.), underscores (\\_),and hyphens (-). The name must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ccnname',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the CCN instance.'."\n"
+ ."\n"
+ .'The description must be 2 to 128 characters in length and can contain letters, digits, underscores (\\_), and hyphens (-). The description must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ccndesc',
+ ],
+ ],
+ [
+ 'name' => 'CidrBlock',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The private CIDR block.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '172.XX.XX.0/24',
+ ],
+ ],
+ [
+ 'name' => 'SnatCidrBlock',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The private CIDR block used for Source Network Address Translation (SNAT).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '172.XX.XX.0/25',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the CCN instance. Valid values:'."\n"
+ ."\n"
+ .'* **Active**: indicates the CNN instance running as expected.'."\n"
+ .'* **Pending**: indicates the CCN instance is to be created.'."\n",
+ 'type' => 'string',
+ 'example' => 'Active',
+ ],
+ 'Description' => [
+ 'description' => 'The description about the CCN instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'ccndesc',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'C48E8EB2-37A4-495B-A95C-29CA1FD26C82',
+ ],
+ 'CcnId' => [
+ 'description' => 'The ID of the CCN instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'ccn-l9340rlu5ens*****',
+ ],
+ 'CidrBlock' => [
+ 'description' => 'The private CIDR block.'."\n",
+ 'type' => 'string',
+ 'example' => '172.XX.XX.0/24',
+ ],
+ 'SnatCidrBlock' => [
+ 'description' => 'The private CIDR block used for SNAT.'."\n",
+ 'type' => 'string',
+ 'example' => '172.XX.XX.0/25',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the CCN instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'ccnname',
+ ],
+ 'ResourceGroupId' => [
+ 'description' => 'The ID of the resource group to which the CCN instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'rg-acfm2iu4fnc****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'CCN.CidrAmountLimit',
+ 'errorMessage' => 'The maximum number of CCN CIDR blocks is exceeded.',
+ ],
+ [
+ 'errorCode' => 'CCN.CidrEmpty',
+ 'errorMessage' => 'You must specify the CCN CIDR block.',
+ ],
+ [
+ 'errorCode' => 'CCN.InvalidCidr',
+ 'errorMessage' => 'The specified CCN CIDR block is invalid.',
+ ],
+ [
+ 'errorCode' => 'CCN.InvalidSnatCidr',
+ 'errorMessage' => 'The SNAT CIDR block of CCN is invalid.',
+ ],
+ [
+ 'errorCode' => 'CCN.SnatCidrConflict',
+ 'errorMessage' => 'The specified SNAT CIDR block is invalid.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InvalidDescription',
+ 'errorMessage' => 'Description not valid.',
+ ],
+ [
+ 'errorCode' => 'InvalidName',
+ 'errorMessage' => 'Name not valid.',
+ ],
+ [
+ 'errorCode' => 'CcnAmountLimit',
+ 'errorMessage' => 'The CCNs you created has reached the limit, you can raise the limit by application.',
+ ],
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Status\\": \\"Active\\",\\n \\"Description\\": \\"ccndesc\\",\\n \\"RequestId\\": \\"C48E8EB2-37A4-495B-A95C-29CA1FD26C82\\",\\n \\"CcnId\\": \\"ccn-l9340rlu5ens*****\\",\\n \\"CidrBlock\\": \\"172.XX.XX.0/24\\",\\n \\"SnatCidrBlock\\": \\"172.XX.XX.0/25\\",\\n \\"Name\\": \\"ccnname\\",\\n \\"ResourceGroupId\\": \\"rg-acfm2iu4fnc****\\"\\n}","errorExample":"{\\n \\"Name\\": \\"DocTest\\",\\n \\"Status\\": \\"Active\\",\\n \\"RequestId\\": \\"F0C4D78D-C60E-4A3B-A652-3A2835305C0B\\",\\n \\"CcnId\\": \\"ccn-l9340rlu5enstmzj5i\\"\\n}"},{"type":"xml","example":"<CreateCloudConnectNetworkResponse>\\n<Status>Active</Status>\\n<RequestId>C48E8EB2-37A4-495B-A95C-29CA1FD26C82</RequestId>\\n<ResourceGroupId>rg-acfm2iu4fnc****</ResourceGroupId>\\n<CcnId>ccn-tcw17az0542xcj****</CcnId>\\n<Name>zxtest</Name>\\n</CreateCloudConnectNetworkResponse>","errorExample":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<CreateCloudConnectNetworkResponse>\\n <Name>DocTest</Name>\\n <Status>Active</Status>\\n <RequestId>F0C4D78D-C60E-4A3B-A652-3A2835305C0B</RequestId>\\n <CcnId>ccn-l9340rlu5enstmzj5i</CcnId>\\n</CreateCloudConnectNetworkResponse>"}]',
+ 'title' => 'CreateCloudConnectNetwork',
+ 'summary' => 'Creates a Cloud Connect Network (CCN) instance.',
+ 'description' => 'CCN is a matrix consisting of Alibaba Cloud distributed access gateways. It is an important component of Smart Access Gateway (SAG). After you associate an SAG instance with a CCN instance, the SAG instance connects the private networks associated with Alibaba Cloud. For more information, see [Overview of Cloud Connect Network](~~93667~~).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteCloudConnectNetwork' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'CcnId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the CCN instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ccn-bxuau4ezctts2*****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the CCN instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '0BAAF2B9-88B8-4574-BDBE-102A90EE3FEE',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.CCN',
+ 'errorMessage' => 'Invalid cloud connect network id.',
+ ],
+ [
+ 'errorCode' => 'AlreadyBound.CEN',
+ 'errorMessage' => 'This instance has been bound, please unbind first.',
+ ],
+ [
+ 'errorCode' => 'AlreadyBound.SMARTAG',
+ 'errorMessage' => 'This instance has been bound, please unbind smart access gateway first.',
+ ],
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0BAAF2B9-88B8-4574-BDBE-102A90EE3FEE\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteCloudConnectNetworkResponse>\\n <RequestId>0BAAF2B9-88B8-4574-BDBE-102A90EE3FEE</RequestId>\\n</DeleteCloudConnectNetworkResponse>","errorExample":""}]',
+ 'title' => 'DeleteCloudConnectNetwork',
+ 'summary' => 'Deletes a Cloud Connect Network (CCN) instance.',
+ 'description' => '> Make sure that the CCN instance you want to delete is not associated with a Smart Access Gateway (SAG) instance or a Cloud Enterprise Network (CEN) instance.'."\n",
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifyCloudConnectNetwork' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'CcnId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the CCN instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ccn-l9340rlu5ens*****',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the CCN instance.'."\n"
+ ."\n"
+ .'The name must be 2 to 128 characters in length, and can contain digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter and cannot start with `http://` or `https://`.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Name',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the CCN instance.'."\n"
+ ."\n"
+ .'The description must be 2 to 256 characters in length. The description must start with a letter but cannot start with `http://` or `https://`.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Description',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the CCN instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'CidrBlock',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The private CIDR block.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '10.10.10.0/24',
+ ],
+ ],
+ [
+ 'name' => 'InterworkingStatus',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to allow the SAG instances associated with the same CCN instance to communicate with each other.'."\n"
+ ."\n"
+ .'* **enable**: yes'."\n"
+ .'* **disable**: no'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'enable',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '0BAAF2B9-88B8-4574-BDBE-102A90EE3FEE',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'CCN.CidrEmpty',
+ 'errorMessage' => 'You must specify the CCN CIDR block.',
+ ],
+ [
+ 'errorCode' => 'CCN.CidrAmountLimit',
+ 'errorMessage' => 'The maximum number of CCN CIDR blocks is exceeded.',
+ ],
+ [
+ 'errorCode' => 'CCN.CidrInUse',
+ 'errorMessage' => 'The specified CCN CIDR block is being used.',
+ ],
+ [
+ 'errorCode' => 'CCN.InvalidCidr',
+ 'errorMessage' => 'The specified CCN CIDR block is invalid.',
+ ],
+ [
+ 'errorCode' => 'CCN.InvalidId',
+ 'errorMessage' => 'You must specify the CCN instance ID.',
+ ],
+ [
+ 'errorCode' => 'CCN.InvalidSnatCidr',
+ 'errorMessage' => 'The SNAT CIDR block of CCN is invalid.',
+ ],
+ [
+ 'errorCode' => 'CCN.SnatCidrConflict',
+ 'errorMessage' => 'The specified SNAT CIDR block is invalid.',
+ ],
+ [
+ 'errorCode' => 'CCN.SnatCidrInUse',
+ 'errorMessage' => 'The SNAT CIDR block of the CCN is being used and cannot be changed.',
+ ],
+ [
+ 'errorCode' => 'CCN.SnatCidrNoConfig',
+ 'errorMessage' => 'You must configure the SNAT CIDR block of the CCN.',
+ ],
+ [
+ 'errorCode' => 'SAG.CcnCidrNoConfig',
+ 'errorMessage' => 'You must configure the CIDR block of CCN.',
+ ],
+ [
+ 'errorCode' => 'CCN.InvalidInterworkingStatus',
+ 'errorMessage' => 'The specified connection status is invalid. Specify the connection status to enable or disable.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.CCN',
+ 'errorMessage' => 'Invalid cloud connect network id.',
+ ],
+ [
+ 'errorCode' => 'UpdateError.CCN',
+ 'errorMessage' => 'Update cloud connect network error.',
+ ],
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0BAAF2B9-88B8-4574-BDBE-102A90EE3FEE\\"\\n}","errorExample":"{\\n \\"RequestId\\":\\"0BAAF2B9-88B8-4574-BDBE-102A90EE3FEE\\"\\n}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<ModifyCloudConnectNetworkResponse>\\n <RequestId>0BAAF2B9-88B8-4574-BDBE-102A90EE3FEE</RequestId>\\n</ModifyCloudConnectNetworkResponse>","errorExample":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<ModifyCloudConnectNetworkResponse>\\n <RequestId>0BAAF2B9-88B8-4574-BDBE-102A90EE3FEE</RequestId>\\n</ModifyCloudConnectNetworkResponse>"}]',
+ 'title' => 'ModifyCloudConnectNetwork',
+ 'summary' => 'Modifies the configurations of a Cloud Connect Network (CCN) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeCloudConnectNetworks' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the CCN instances are deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the CCN instance.'."\n"
+ ."\n"
+ .'The name must be 2 to 100 characters in length and can contain letters, digits, periods (.), underscores (\\_),and hyphens (-). The name must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ccnname',
+ ],
+ ],
+ [
+ 'name' => 'CcnId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the CCN instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ccn-l9340rlu5enst*****',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Default value: **10**. Maximum value: **50**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The key of the tag that is bound to the CCN instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ 'Value' => [
+ 'description' => 'The value of the tag that is bound to the CCN instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'CloudConnectNetworks' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'CloudConnectNetwork' => [
+ 'description' => 'The list of CCN instances.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'CreateTime' => [
+ 'description' => 'The timestamp when the CCN instance was created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1523618639000',
+ ],
+ 'AssociatedCenOwnerId' => [
+ 'description' => 'The account ID of the Cloud Enterprise Network (CEN) instance to which the CCN instance is attached.'."\n",
+ 'type' => 'string',
+ 'example' => '168800000000****',
+ ],
+ 'AssociatedCloudBoxCount' => [
+ 'description' => 'The number of Smart Access Gateway (SAG) instances that are associated with the CCN instance.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'Tags' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Tag' => [
+ 'description' => 'The list of tags.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => 'The key of the tag that is bound to the CCN instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'Value' => [
+ 'description' => 'The value of the tag that is bound to the CCN instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'InterworkingStatus' => [
+ 'description' => 'Indicates whether the SAG instances that are associated with the same CCN instance communicate with each other. '."\n"
+ ."\n"
+ .'- **enable**: allows SAG instances that are associated with the same CCN instance to communicate with each other.'."\n"
+ .'- **disable**: does not allow SAG instances that are associated with the same CCN instance to communicate with each other.',
+ 'type' => 'string',
+ 'example' => 'enable',
+ ],
+ 'CcnId' => [
+ 'description' => 'The ID of the CCN instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'ccn-l9340rlu5enst******',
+ ],
+ 'AvailableCloudBoxCount' => [
+ 'description' => 'The number of SAG instances in the **Available** state that are associated with the CCN instance.'."\n",
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ 'CidrBlock' => [
+ 'description' => 'The private CIDR block.'."\n",
+ 'type' => 'string',
+ 'example' => '10.10.10.0/24',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the CCN instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'ccndesc',
+ ],
+ 'SnatCidrBlock' => [
+ 'description' => 'The CIDR block that is used in Source Network Address Translation (SNAT).'."\n",
+ 'type' => 'string',
+ 'example' => '10.10.10.0/25',
+ ],
+ 'AssociatedCenId' => [
+ 'description' => 'The ID of the CEN instance to which the CCN instance is attached.'."\n",
+ 'type' => 'string',
+ 'example' => 'cen-0jtu0bcbika5b5****',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the CCN instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'ccnname',
+ ],
+ 'ResourceGroupId' => [
+ 'description' => 'The ID of the resource group to which the CCN instance belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'rg-acfm2iu4fnc****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of the CCN instances.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '3F2A0B80-D6D1-4764-8D77-38067DBBA345',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidTagKey',
+ 'errorMessage' => 'The specified tag key is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidTagValue',
+ 'errorMessage' => 'The specified tag value is invalid.',
+ ],
+ [
+ 'errorCode' => 'SizeLimitExceeded.TagNum',
+ 'errorMessage' => 'The maximum number of tags is exceeded.',
+ ],
+ [
+ 'errorCode' => 'SizeLimitExceeded.ResourceId',
+ 'errorMessage' => 'The maximum number of resource IDs is exceeded.',
+ ],
+ [
+ 'errorCode' => 'Forbidden.TagKey.Duplicated',
+ 'errorMessage' => 'The specified tag key already exists.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"CloudConnectNetworks\\": {\\n \\"CloudConnectNetwork\\": [\\n {\\n \\"CreateTime\\": 1523618639000,\\n \\"AssociatedCenOwnerId\\": \\"168800000000****\\",\\n \\"AssociatedCloudBoxCount\\": \\"1\\",\\n \\"Tags\\": {\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"test\\",\\n \\"Value\\": \\"test\\"\\n }\\n ]\\n },\\n \\"InterworkingStatus\\": \\"enable\\",\\n \\"CcnId\\": \\"ccn-l9340rlu5enst******\\",\\n \\"AvailableCloudBoxCount\\": \\"1\\",\\n \\"CidrBlock\\": \\"10.10.10.0/24\\",\\n \\"Description\\": \\"ccndesc\\",\\n \\"SnatCidrBlock\\": \\"10.10.10.0/25\\",\\n \\"AssociatedCenId\\": \\"cen-0jtu0bcbika5b5****\\",\\n \\"Name\\": \\"ccnname\\",\\n \\"ResourceGroupId\\": \\"rg-acfm2iu4fnc****\\"\\n }\\n ]\\n },\\n \\"TotalCount\\": 3,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"3F2A0B80-D6D1-4764-8D77-38067DBBA345\\",\\n \\"PageNumber\\": 1\\n}","errorExample":""},{"type":"xml","example":"<DescribeCloudConnectNetworksResponse>\\n <CloudConnectNetworks>\\n <CloudConnectNetwork>\\n <IsDefault>false</IsDefault>\\n <InterworkingStatus>enable</InterworkingStatus>\\n <ResourceGroupId>rg-acfm2iu4fnc****</ResourceGroupId>\\n <CreateTime>1604385674000</CreateTime>\\n <CcnId>ccn-iz26o9zye6lhoo****</CcnId>\\n <AvailableCloudBoxCount>1</AvailableCloudBoxCount>\\n <AssociatedCenOwnerId>1688000000000000</AssociatedCenOwnerId>\\n <AssociatedCenId>cen-9z595pdzhmi3jz****</AssociatedCenId>\\n <AssociatedCloudBoxCount>1</AssociatedCloudBoxCount>\\n <Name>zxtest-202106</Name>\\n </CloudConnectNetwork>\\n <CloudConnectNetwork>\\n <IsDefault>false</IsDefault>\\n <InterworkingStatus>enable</InterworkingStatus>\\n <ResourceGroupId>rg-acfm2iu4fnc****</ResourceGroupId>\\n <CreateTime>1594619327000</CreateTime>\\n <CcnId>ccn-frx6evdue4daza****</CcnId>\\n <AvailableCloudBoxCount>3</AvailableCloudBoxCount>\\n <AssociatedCenOwnerId>1688000000000000</AssociatedCenOwnerId>\\n <AssociatedCenId>cen-ol0xptl3edqc8i****</AssociatedCenId>\\n <AssociatedCloudBoxCount>3</AssociatedCloudBoxCount>\\n <Name>zxtest-OSS</Name>\\n </CloudConnectNetwork>\\n <CloudConnectNetwork>\\n <IsDefault>false</IsDefault>\\n <InterworkingStatus>enable</InterworkingStatus>\\n <ResourceGroupId>rg-acfm2iu4fnc****</ResourceGroupId>\\n <CreateTime>1589866291000</CreateTime>\\n <CcnId>ccn-wf0kz6wohe03h2****</CcnId>\\n <AvailableCloudBoxCount>1</AvailableCloudBoxCount>\\n <AssociatedCenOwnerId>1688000000000000</AssociatedCenOwnerId>\\n <CidrBlock>192.168.10.0/24</CidrBlock>\\n <AssociatedCenId>cen-8z69wtwqel33lq****</AssociatedCenId>\\n <AssociatedCloudBoxCount>1</AssociatedCloudBoxCount>\\n <Name>zxtest</Name>\\n </CloudConnectNetwork>\\n </CloudConnectNetworks>\\n <TotalCount>3</TotalCount>\\n <PageSize>10</PageSize>\\n <RequestId>7DA93FE9-D008-49FB-8D9B-186F509EA307</RequestId>\\n <PageNumber>1</PageNumber>\\n</DescribeCloudConnectNetworksResponse>","errorExample":""}]',
+ 'title' => 'DescribeCloudConnectNetworks',
+ 'summary' => 'Queries Cloud Connect Network (CCN) instances that you have created in a specific region.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetCloudConnectNetworkUseLimit' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the CCN instances are deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'UsedAmount' => [
+ 'description' => 'The number of CCN instances that you have created.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '6',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'BCD04867-56C3-43DC-8FEF-923EFB8B56DA',
+ ],
+ 'TotalAmount' => [
+ 'description' => 'The maximum number of CCN instances that the current account can create in the specified region.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"UsedAmount\\": 6,\\n \\"RequestId\\": \\"BCD04867-56C3-43DC-8FEF-923EFB8B56DA\\",\\n \\"TotalAmount\\": 10\\n}","errorExample":"{\\n\\"RequestId\\": \\"BCD04867-56C3-43DC-8FEF-923EFB8B56DA\\",\\n\\"TotalAmount\\": 10,\\n\\"UsedAmount\\": 6\\n}"},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<GetCloudConnectNetworkUseLimitResponse>\\n <RequestId>BCD04867-56C3-43DC-8FEF-923EFB8B56DA</RequestId>\\n <TotalAmount>10</TotalAmount>\\n <UsedAmount>6</UsedAmount>\\n</GetCloudConnectNetworkUseLimitResponse>","errorExample":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\"?>\\n<GetCloudConnectNetworkUseLimitResponse>\\n <RequestId>BCD04867-56C3-43DC-8FEF-923EFB8B56DA</RequestId>\\n <TotalAmount>10</TotalAmount>\\n <UsedAmount>6</UsedAmount>\\n</GetCloudConnectNetworkUseLimitResponse>"}]',
+ 'title' => 'GetCloudConnectNetworkUseLimit',
+ 'summary' => 'Queries the number of Cloud Connect Network (CCN) instances that can be created within the current account in a region.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeGrantRules' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the CCN instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'AssociatedCcnId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the CCN instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ccn-n2935s1mnwv8i*****',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page.'."\n"
+ ."\n"
+ .'Default value: **10**. Maximum value: **50**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return.'."\n"
+ ."\n"
+ .'Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '0',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned on each page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'FA579C2D-84A0-4BA1-B9C3-1E5A3B15F1B6',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'GrantRules' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'GrantRule' => [
+ 'description' => 'The permissions that are granted.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'CenInstanceId' => [
+ 'description' => 'The ID of the Cloud Enterprise Network (CEN) instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'cen-0jtu0bcbika5b5****',
+ ],
+ 'CenUid' => [
+ 'description' => 'The UID of the Alibaba Cloud account to which the CEN instance belongs.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1250123456123456',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The timestamp when the permissions are granted.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1563439920000',
+ ],
+ 'GrantRuleId' => [
+ 'description' => 'The ID of the authorization rule.'."\n",
+ 'type' => 'string',
+ 'example' => '18313265-d988-406c-965d-3e110ff*****',
+ ],
+ 'GrantTrafficService' => [
+ 'description' => 'Indicates whether the permissions to manage network traffic from the CCN instance are granted to a CEN instance that belongs to another account. Valid values:'."\n"
+ ."\n"
+ .'* **true**: yes'."\n"
+ .'* **false**: no'."\n",
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'GmtModified' => [
+ 'description' => 'The timestamp when the permissions are modified.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1563439920000',
+ ],
+ 'CcnUid' => [
+ 'description' => 'The UID of the Alibaba Cloud account to which the CCN instance belongs.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1220123456123456',
+ ],
+ 'RegionId' => [
+ 'description' => 'The ID of the region where the CCN instance is deployed.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'CcnInstanceId' => [
+ 'description' => 'The ID of the CCN instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'ccn-n2935s1mnwv8i*****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"FA579C2D-84A0-4BA1-B9C3-1E5A3B15F1B6\\",\\n \\"PageNumber\\": 1,\\n \\"GrantRules\\": {\\n \\"GrantRule\\": [\\n {\\n \\"CenInstanceId\\": \\"cen-0jtu0bcbika5b5****\\",\\n \\"CenUid\\": 1250123456123456,\\n \\"GmtCreate\\": 1563439920000,\\n \\"GrantRuleId\\": \\"18313265-d988-406c-965d-3e110ff*****\\",\\n \\"GrantTrafficService\\": false,\\n \\"GmtModified\\": 1563439920000,\\n \\"CcnUid\\": 1220123456123456,\\n \\"RegionId\\": \\"cn-shanghai\\",\\n \\"CcnInstanceId\\": \\"ccn-n2935s1mnwv8i*****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeGrantRulesResponse>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <RequestId>FA579C2D-84A0-4BA1-B9C3-1E5A3B15F1B6</RequestId>\\n <PageNumber>1</PageNumber>\\n <GrantRules>\\n <CenInstanceId>cen-0jtu0bcbika5b5****</CenInstanceId>\\n <CenUid>1250123456123456</CenUid>\\n <GmtCreate>1563439920000</GmtCreate>\\n <GrantRuleId>18313265-d988-406c-965d-3e110ff*****</GrantRuleId>\\n <GrantTrafficService>false</GrantTrafficService>\\n <GmtModified>1563439920000</GmtModified>\\n <CcnUid>1220123456123456</CcnUid>\\n <RegionId>cn-shanghai</RegionId>\\n <CcnInstanceId>ccn-n2935s1mnwv8i*****</CcnInstanceId>\\n </GrantRules>\\n</DescribeGrantRulesResponse>","errorExample":""}]',
+ 'title' => 'DescribeGrantRules',
+ 'summary' => 'Queries the authorization information about a Cloud Connect Network (CCN) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GrantInstanceToCbn' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'CenUid',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the Alibaba Cloud account to which the CEN instance belongs.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '1250123456123456',
+ ],
+ ],
+ [
+ 'name' => 'CcnInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the CCN instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ccn-n2935s1mnwv8i*****',
+ ],
+ ],
+ [
+ 'name' => 'CenInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the CEN instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cen-7qthudw0ll6jm*****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the CCN instance is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~l) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'GrantTrafficService',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to grant the CEN instance permissions to manage network traffic from the CCN instance. Valid values:'."\n"
+ ."\n"
+ .'* **true**: grants permissions.'."\n"
+ .'* **false**: does not grant permissions. This is the default value.'."\n"
+ ."\n"
+ .'> If you set the value to true and the SAG instance connected to the CCN instance has the secure rerouting feature enabled, you cannot revoke the permissions.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '22840034-ADE9-41D8-A5DC-A7CF435CEE75',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'DuplicatedGrantRule',
+ 'errorMessage' => 'The specified privilege granting rule already exists.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"22840034-ADE9-41D8-A5DC-A7CF435CEE75\\"\\n}","errorExample":""},{"type":"xml","example":"<GrantInstanceToCbnResponse>\\r\\n<RequestId>22840034-ADE9-41D8-A5DC-A7CF435CEE75</RequestId>\\r\\n</GrantInstanceToCbnResponse>","errorExample":""}]',
+ 'title' => 'GrantInstanceToCbn',
+ 'summary' => 'Authorizes a Cloud Enterprise Network (CEN) instance to communicate with a Cloud Connect Network (CCN) instance that belongs to another Alibaba Cloud account.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'RevokeInstanceFromCbn' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'CcnInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the CCN instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'ccn-n2935s1mnwv8i*****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the CCN instance is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'CenInstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the CEN instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cen-7qthudw0ll6jm*****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '07D73949-2508-4169-8C64-7CCDB33871C4',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"07D73949-2508-4169-8C64-7CCDB33871C4\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<RevokeInstanceFromCbnResponse>\\r\\n\\t<RequestId>07D73949-2508-4169-8C64-7CCDB33871C4</RequestId>\\r\\n</RevokeInstanceFromCbnResponse>","errorExample":""}]',
+ 'title' => 'RevokeInstanceFromCbn',
+ 'summary' => 'Disallows a Cloud Enterprise Network (CEN) instance to communicate with a Cloud Connect Network (CCN) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'AddACLRule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the ACL is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'AclId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the ACL.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'acl-xhwhyuo43l0n*****',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the ACL rule.'."\n"
+ ."\n"
+ .'The description must be **1 to 512** characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'desctest',
+ ],
+ ],
+ [
+ 'name' => 'Direction',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The direction of traffic in which the ACL rule is applied. Valid values:'."\n"
+ ."\n"
+ .'* **in**: The ACL rule controls inbound network traffic of the on-premises network that is associated with the Smart Access Gateway (SAG) instance.'."\n"
+ .'* **out**: The ACL rule controls outbound network traffic of the on-premises network that is associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'in',
+ ],
+ ],
+ [
+ 'name' => 'SourceCidr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The range of the source IP addresses.'."\n"
+ ."\n"
+ .'Specify the value of this parameter in CIDR notation. Example: 192.168.1.0/24.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '192.168.20.0/24',
+ ],
+ ],
+ [
+ 'name' => 'DestCidr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The range of the destination IP addresses.'."\n"
+ ."\n"
+ .'Specify the value of this parameter in CIDR notation. Example: 192.168.10.0/24.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '192.168.10.0/24',
+ ],
+ ],
+ [
+ 'name' => 'IpProtocol',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The protocol used by the ACL rule.'."\n"
+ ."\n"
+ .'The protocols that are provided in this topic are for reference only. The protocols available in the SAG console may vary. The value of the parameter is not case-sensitive.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'tcp',
+ ],
+ ],
+ [
+ 'name' => 'SourcePortRange',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The source port range.'."\n"
+ ."\n"
+ .'Valid values: **1** to **65535** and **-1**.'."\n"
+ ."\n"
+ .'Set the source port range in one of the following formats: 1/200 or 80/80. A value of -1/-1 indicates all ports.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '1/200',
+ ],
+ ],
+ [
+ 'name' => 'DestPortRange',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The destination port range.'."\n"
+ ."\n"
+ .'Valid values: **1** to **65535** and **-1**.'."\n"
+ ."\n"
+ .'Set the destination port range in one of the following formats: 1/200 or 80/80. A value of -1/-1 indicates all ports.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '1/200',
+ ],
+ ],
+ [
+ 'name' => 'Policy',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The action policy of the ACL rule. Valid values:'."\n"
+ ."\n"
+ .'* **accept**: allows network traffic.'."\n"
+ .'* **drop**: blocks the network traffic.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'accept',
+ ],
+ ],
+ [
+ 'name' => 'Priority',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The priority of the ACL rule.'."\n"
+ ."\n"
+ .'A smaller value indicates a higher priority. If rules have the same priority, whichever applied to the SAG devices earlier takes effect.'."\n"
+ ."\n"
+ .'Valid values: **1 to 100**. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '12',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the ACL rule: Valid values:'."\n"
+ ."\n"
+ .'* **LAN**: The ACL rule controls network traffic transmitted through private IP addresses.'."\n"
+ .'* **WAN**: The ACL rule controls network traffic transmitted through public IP addresses.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'LAN',
+ 'default' => 'LAN',
+ 'enum' => [
+ 'LAN',
+ 'WAN',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the ACL rule.'."\n"
+ ."\n"
+ .'The name must be 2 to 100 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'doctest',
+ ],
+ ],
+ [
+ 'name' => 'DpiSignatureIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the application.'."\n"
+ ."\n"
+ .'You can enter at most 100 application IDs in each call.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ 'required' => false,
+ 'example' => '1',
+ 'maxItems' => 100,
+ ],
+ ],
+ [
+ 'name' => 'DpiGroupIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the application group.'."\n"
+ ."\n"
+ .'You can enter at most 100 application group IDs in each call.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '20',
+ ],
+ 'required' => false,
+ 'example' => '20',
+ 'maxItems' => 100,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Policy' => [
+ 'description' => 'The action policy of the ACL rule.'."\n"
+ ."\n"
+ .'* **accept**: allows the network traffic.'."\n"
+ .'* **drop**: blocks the network traffic.'."\n",
+ 'type' => 'string',
+ 'example' => 'drop',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the ACL rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '880F84CB-9B54-4413-A8A3-8832C82D1BC4',
+ ],
+ 'SourcePortRange' => [
+ 'description' => 'The source port range.'."\n",
+ 'type' => 'string',
+ 'example' => '1/65535',
+ ],
+ 'SourceCidr' => [
+ 'description' => 'The source CIDR block.'."\n"
+ ."\n"
+ .'The value of this parameter is specified in CIDR notation. Example: 192.168.1.0/24.'."\n",
+ 'type' => 'string',
+ 'example' => '192.168.20.0/24',
+ ],
+ 'Priority' => [
+ 'description' => 'The priority of the ACL rule.'."\n"
+ ."\n"
+ .'A smaller value indicates a higher priority. If rules have the same priority, whichever applied to the SAG devices earlier takes effect.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'AclId' => [
+ 'description' => 'The ID of the ACL.'."\n",
+ 'type' => 'string',
+ 'example' => 'acl-xhwhyuo43l0*******',
+ ],
+ 'AcrId' => [
+ 'description' => 'The ID of the ACL rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'acr-c1hkd054qywi******',
+ ],
+ 'DestPortRange' => [
+ 'description' => 'The destination port range.'."\n",
+ 'type' => 'string',
+ 'example' => '1/65535',
+ ],
+ 'Direction' => [
+ 'description' => 'The direction of traffic in which the ACL rule is applied. Valid values:'."\n"
+ ."\n"
+ .'* **in**: The ACL rule controls inbound network traffic of the on-premises network that is associated with the SAG instance.'."\n"
+ .'* **out**: The ACL rule controls outbound network traffic of the on-premises network that is associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'out',
+ ],
+ 'DpiGroupIds' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DpiGroupId' => [
+ 'description' => 'The IDs of the application groups that match the current ACL rule.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '20',
+ ],
+ ],
+ ],
+ ],
+ 'Name' => [
+ 'description' => 'The name of the ACL rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'doctest',
+ ],
+ 'Type' => [
+ 'description' => 'The type of the ACL rule:'."\n"
+ ."\n"
+ .'* **LAN**: The ACL rule controls network traffic transmitted through private IP addresses.'."\n"
+ .'* **WAN**: The ACL rule controls network traffic transmitted through public IP addresses.'."\n",
+ 'type' => 'string',
+ 'example' => 'LAN',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The timestamp when the ACL rule was created.'."\n"
+ ."\n"
+ .'The timestamp is of the Long data type. If multiple ACL rules have the same priority, the rule with the earliest timestamp takes effect.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1553766882689',
+ ],
+ 'DestCidr' => [
+ 'description' => 'The destination CIDR block.'."\n"
+ ."\n"
+ .'The value of this parameter is specified in CIDR notation. Example: 192.168.10.0/24.'."\n",
+ 'type' => 'string',
+ 'example' => '192.168.10.0/24',
+ ],
+ 'DpiSignatureIds' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DpiSignatureId' => [
+ 'description' => 'The IDs of the applications that match the current ACL rule.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ 'IpProtocol' => [
+ 'description' => 'The protocol used by the ACL rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'TCP',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ACL.NoSupportWanType',
+ 'errorMessage' => 'An SAG 1000 device does not support a WAN ACL.',
+ ],
+ [
+ 'errorCode' => 'ACL.InvalidType',
+ 'errorMessage' => 'The specified ACL type is invalid.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidDescription',
+ 'errorMessage' => 'Description not valid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter',
+ 'errorMessage' => 'The specified parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'NotSupportedProtocol',
+ 'errorMessage' => 'The specified protocol of the ACL rule is not supported.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.ACL',
+ 'errorMessage' => 'The specified ACL ID is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidPortRange',
+ 'errorMessage' => 'The specified port range is invalid.',
+ ],
+ [
+ 'errorCode' => 'AcrPerAclAmountLimit',
+ 'errorMessage' => 'The maximum number of rules in an ACL is exceeded. You can open a ticket to increase the quota.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Policy\\": \\"drop\\",\\n \\"Description\\": \\"test\\",\\n \\"RequestId\\": \\"880F84CB-9B54-4413-A8A3-8832C82D1BC4\\",\\n \\"SourcePortRange\\": \\"1/65535\\",\\n \\"SourceCidr\\": \\"192.168.20.0/24\\",\\n \\"Priority\\": 1,\\n \\"AclId\\": \\"acl-xhwhyuo43l0*******\\",\\n \\"AcrId\\": \\"acr-c1hkd054qywi******\\",\\n \\"DestPortRange\\": \\"1/65535\\",\\n \\"Direction\\": \\"out\\",\\n \\"DpiGroupIds\\": {\\n \\"DpiGroupId\\": [\\n \\"20\\"\\n ]\\n },\\n \\"Name\\": \\"doctest\\",\\n \\"Type\\": \\"LAN\\",\\n \\"GmtCreate\\": 1553766882689,\\n \\"DestCidr\\": \\"192.168.10.0/24\\",\\n \\"DpiSignatureIds\\": {\\n \\"DpiSignatureId\\": [\\n \\"1\\"\\n ]\\n },\\n \\"IpProtocol\\": \\"TCP\\"\\n}","errorExample":""},{"type":"xml","example":"<AddACLRuleResponse>\\n <Policy>drop</Policy>\\n <Description>test</Description>\\n <RequestId>880F84CB-9B54-4413-A8A3-8832C82D1BC4</RequestId>\\n <SourcePortRange>1/65535</SourcePortRange>\\n <SourceCidr>192.168.20.0/24</SourceCidr>\\n <Priority>1</Priority>\\n <AclId>acl-xhwhyuo43l0*******</AclId>\\n <AcrId>acr-c1hkd054qywi******</AcrId>\\n <DestPortRange>1/65535</DestPortRange>\\n <Direction>out</Direction>\\n <DpiGroupIds>20</DpiGroupIds>\\n <Name>doctest</Name>\\n <Type>LAN</Type>\\n <GmtCreate>1553766882689</GmtCreate>\\n <DestCidr>192.168.10.0/24</DestCidr>\\n <DpiSignatureIds>1</DpiSignatureIds>\\n <IpProtocol>TCP</IpProtocol>\\n</AddACLRuleResponse>","errorExample":""}]',
+ 'title' => 'AddACLRule',
+ 'summary' => 'Creates an access control list (ACL) rule.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateACL' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where you want to create the ACL.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the ACL.'."\n"
+ ."\n"
+ .'The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). The name must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'username',
+ ],
+ ],
+ [
+ 'name' => 'AclType',
+ 'in' => 'query',
+ 'allowEmptyValue' => true,
+ 'schema' => [
+ 'description' => 'The type of SAG instance to be associated with the ACL. Valid values:'."\n"
+ ."\n"
+ .'* **acl-hardware** (default): SAG CPE instance'."\n"
+ .'* **acl-software**: SAG app instance'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'acl-hardware',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'EE837E9F-BD50-4C2B-9E47-260F9D848480',
+ ],
+ 'AclId' => [
+ 'description' => 'The ID of the ACL.'."\n",
+ 'type' => 'string',
+ 'example' => 'acl-o6yol7zowii5n2****',
+ ],
+ 'ResourceGroupId' => [
+ 'description' => 'The ID of the resource group to which the ACL belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'rg-acfm2iu4fnc****',
+ ],
+ 'AclType' => [
+ 'description' => 'The type of SAG instance to be associated with the ACL.'."\n",
+ 'type' => 'string',
+ 'example' => 'acl-hardware',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidName',
+ 'errorMessage' => 'Name not valid.',
+ ],
+ [
+ 'errorCode' => 'AclAmountLimit',
+ 'errorMessage' => 'No more ACL can be created. You can open a ticket to increase the quota of ACLs.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EE837E9F-BD50-4C2B-9E47-260F9D848480\\",\\n \\"AclId\\": \\"acl-o6yol7zowii5n2****\\",\\n \\"ResourceGroupId\\": \\"rg-acfm2iu4fnc****\\",\\n \\"AclType\\": \\"acl-hardware\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateACLResponse>\\n <RequestId>EE837E9F-BD50-4C2B-9E47-260F9D848480</RequestId>\\n <AclId>acl-o6yol7zowii5n2****</AclId>\\n <ResourceGroupId>rg-acfm2iu4fnc****</ResourceGroupId>\\n <AclType>acl-hardware</AclType>\\n</CreateACLResponse>","errorExample":""}]',
+ 'title' => 'CreateACL',
+ 'summary' => 'Creates an access control list (ACL).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteACL' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'AclId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the ACL.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'acl-ohlexqptfhy*******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '00546174-2CE6-4587-9550-04B6A3313938',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.ACL',
+ 'errorMessage' => 'The specified ACL ID is invalid.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"00546174-2CE6-4587-9550-04B6A3313938\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteACLResponse>\\n <RequestId>00546174-2CE6-4587-9550-04B6A3313938</RequestId>\\n</DeleteACLResponse>","errorExample":""}]',
+ 'title' => 'DeleteACL',
+ 'summary' => 'Deletes an access control list (ACL).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteACLRule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the ACL rule to be deleted belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'AclId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the ACL to which the ACL rule to be deleted belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'acl-xhwhyuo43l0n*****',
+ ],
+ ],
+ [
+ 'name' => 'AcrId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the ACL rule to be deleted.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'acr-c1hkd054qywiw******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '39E71162-699A-4E02-AF0F-17621BA6AEF6',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.ACL',
+ 'errorMessage' => 'The specified ACL ID is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.ACR',
+ 'errorMessage' => 'The specified ACL rule ID is invalid.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"39E71162-699A-4E02-AF0F-17621BA6AEF6\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DeleteACLRule>\\r\\n <RequestId>39E71162-699A-4E02-AF0F-17621BA6AEF6</RequestId>\\r\\n</DeleteACLRule>","errorExample":""}]',
+ 'title' => 'DeleteACLRule',
+ 'summary' => 'Deletes a rule from an ACL.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifyACL' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the ACL is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'AclId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the ACL.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'acl-e30a66to95cs****',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The new name of the ACL.'."\n"
+ ."\n"
+ .'The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). It must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'newname',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '076FD0BE-67D5-4338-A2A1-C54DE7D78B16',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidName',
+ 'errorMessage' => 'Name not valid.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.ACL',
+ 'errorMessage' => 'The specified ACL ID is invalid.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"076FD0BE-67D5-4338-A2A1-C54DE7D78B16\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyACLResponse>\\n <RequestId>076FD0BE-67D5-4338-A2A1-C54DE7D78B16</RequestId>\\n</ModifyACLResponse>","errorExample":""}]',
+ 'title' => 'ModifyACL',
+ 'summary' => 'Modifies the name of an access control list (ACL).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifyACLRule' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the ACL is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'AclId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the ACL.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'acl-xhwhyuo43l0n*******',
+ ],
+ ],
+ [
+ 'name' => 'AcrId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the ACL rule.'."\n"
+ ."\n"
+ .'You can call the [DescribeACLAttribute](~~114017~~) operation to query the ID of the ACL rule that is added to the ACL.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'acr-u98qztgtgvhb********',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the ACL rule.'."\n"
+ ."\n"
+ .'The description must be **1** to **512** characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'Direction',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The direction of traffic in which the ACL rule is applied. Valid values:'."\n"
+ ."\n"
+ .'* **in**: The ACL rule controls inbound network traffic of the on-premises network that is associated with the SAG instance.'."\n"
+ .'* **out**: The ACL rule controls outbound network traffic of the on-premises network that is associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'in',
+ ],
+ ],
+ [
+ 'name' => 'SourceCidr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The source CIDR block.'."\n"
+ ."\n"
+ .'Specify the value of this parameter in CIDR notation. Example: 192.168.1.0/24.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0.0.0.0/0',
+ ],
+ ],
+ [
+ 'name' => 'DestCidr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The destination CIDR block.'."\n"
+ ."\n"
+ .'Specify the value of this parameter in CIDR notation. Example: 192.168.10.0/24.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0.0.0.0/0',
+ ],
+ ],
+ [
+ 'name' => 'IpProtocol',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The protocol used by the ACL rule.'."\n"
+ ."\n"
+ .'The supported protocols provided in this topic are for reference only. The actual protocols in the SAG console shall prevail. The value of the parameter is not case-sensitive.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'tcp',
+ ],
+ ],
+ [
+ 'name' => 'SourcePortRange',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The source port range. Valid values: **1** to **65535** and **-1**.'."\n"
+ ."\n"
+ .'Examples:'."\n"
+ ."\n"
+ .'* 1/200: port 1 to port 200.'."\n"
+ .'* 80/80: port 80.'."\n"
+ .'* \\-1/-1: all ports.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '80/80',
+ ],
+ ],
+ [
+ 'name' => 'DestPortRange',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The destination port range. Valid values: **1** to **65535** and **-1**.'."\n"
+ ."\n"
+ .'Examples:'."\n"
+ ."\n"
+ .'* 1/200: port 1 to port 200.'."\n"
+ .'* 80/80: port 80.'."\n"
+ .'* \\-1/-1: all ports.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '80/80',
+ ],
+ ],
+ [
+ 'name' => 'Policy',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The action of the ACL rule. Valid values:'."\n"
+ ."\n"
+ .'* **accept**: allows network traffic.'."\n"
+ .'* **drop**: blocks network traffic.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'accept',
+ ],
+ ],
+ [
+ 'name' => 'Priority',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The priority of the ACL rule.'."\n"
+ ."\n"
+ .'A smaller value indicates a higher priority. If multiple rules have the same priority, the rule that is applied earlier takes effect.'."\n"
+ ."\n"
+ .'Valid values: **1 to 100**. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '2',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the ACL rule: Valid values:'."\n"
+ ."\n"
+ .'* **LAN**: The ACL rule controls traffic of private IP addresses.'."\n"
+ .'* **WAN**: The ACL rule controls traffic of public IP addresses.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'LAN',
+ 'enum' => [
+ 'LAN',
+ 'WAN',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the ACL rule.'."\n"
+ ."\n"
+ .'The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). The name must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'doctest',
+ ],
+ ],
+ [
+ 'name' => 'DpiSignatureIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The IDs of applications that match the ACL rule.'."\n"
+ ."\n"
+ .'You can call the [ListDpiSignatures](~~196630~~) operation to query application IDs and information about the applications.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ ],
+ ],
+ [
+ 'name' => 'DpiGroupIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The IDs of application groups that match the ACL rule.'."\n"
+ ."\n"
+ .'You can call the [ListDpiGroups](~~196754~~) operation to query application group IDs and information about the applications.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '20',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Policy' => [
+ 'description' => 'The action of the ACL rule.'."\n"
+ ."\n"
+ .'* **accept**: allows network traffic.'."\n"
+ .'* **drop**: blocks network traffic.'."\n",
+ 'type' => 'string',
+ 'example' => 'accept',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the ACL rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '7F3DD2C1-0F6B-4575-9106-B2D50DF7A711',
+ ],
+ 'SourcePortRange' => [
+ 'description' => 'The source port range.'."\n",
+ 'type' => 'string',
+ 'example' => '-1/-1',
+ ],
+ 'SourceCidr' => [
+ 'description' => 'The source CIDR block.'."\n"
+ ."\n"
+ .'The value of this parameter is in CIDR notation. Example: 192.168.1.0/24.'."\n",
+ 'type' => 'string',
+ 'example' => '0.0.0.0/0',
+ ],
+ 'Priority' => [
+ 'description' => 'The priority of the ACL rule.'."\n"
+ ."\n"
+ .'A smaller value indicates a higher priority. If multiple rules have the same priority, the rule that is applied earlier takes effect.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'AclId' => [
+ 'description' => 'The ID of ACL.'."\n",
+ 'type' => 'string',
+ 'example' => 'acl-jdc7tir4fkplwr****',
+ ],
+ 'AcrId' => [
+ 'description' => 'The ID of the ACL rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'acr-r8hezn2pi39s5a****',
+ ],
+ 'DestPortRange' => [
+ 'description' => 'The destination port range.'."\n",
+ 'type' => 'string',
+ 'example' => '-1/-1',
+ ],
+ 'Direction' => [
+ 'description' => 'The direction of traffic in which the ACL rule is applied. Valid values:'."\n"
+ ."\n"
+ .'* **in**: The ACL rule controls inbound network traffic of the on-premises network that is associated with the SAG instance.'."\n"
+ .'* **out**: The ACL rule controls outbound network traffic of the on-premises network that is associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'in',
+ ],
+ 'DpiGroupIds' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DpiGroupId' => [
+ 'description' => 'The IDs of application groups that match the ACL rule.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '20',
+ ],
+ ],
+ ],
+ ],
+ 'Name' => [
+ 'description' => 'The name of the ACL rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'doctest',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The timestamp when the ACL rule was created.'."\n"
+ ."\n"
+ .'The timestamp is of the Long data type. If multiple ACL rules have the same priority, the rule with the earliest timestamp takes effect.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1553777700000',
+ ],
+ 'DestCidr' => [
+ 'description' => 'The destination CIDR block.'."\n"
+ ."\n"
+ .'The value of this parameter is in CIDR notation. Example: 192.168.10.0/24.'."\n",
+ 'type' => 'string',
+ 'example' => '0.0.0.0/0',
+ ],
+ 'DpiSignatureIds' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DpiSignatureId' => [
+ 'description' => 'The IDs of applications that match the ACL rule.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ 'IpProtocol' => [
+ 'description' => 'The protocol used by the ACL rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'ALL',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ACL.NoSupportWanType',
+ 'errorMessage' => 'An SAG 1000 device does not support a WAN ACL.',
+ ],
+ [
+ 'errorCode' => 'ACL.InvalidType',
+ 'errorMessage' => 'The specified ACL type is invalid.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidDescription',
+ 'errorMessage' => 'Description not valid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter',
+ 'errorMessage' => 'The specified parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'NotSupportedProtocol',
+ 'errorMessage' => 'The specified protocol of the ACL rule is not supported.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.ACL',
+ 'errorMessage' => 'The specified ACL ID is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.ACR',
+ 'errorMessage' => 'The specified ACL rule ID is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidPortRange',
+ 'errorMessage' => 'The specified port range is invalid.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Policy\\": \\"accept\\",\\n \\"Description\\": \\"test\\",\\n \\"RequestId\\": \\"7F3DD2C1-0F6B-4575-9106-B2D50DF7A711\\",\\n \\"SourcePortRange\\": \\"-1/-1\\",\\n \\"SourceCidr\\": \\"0.0.0.0/0\\",\\n \\"Priority\\": 1,\\n \\"AclId\\": \\"acl-jdc7tir4fkplwr****\\",\\n \\"AcrId\\": \\"acr-r8hezn2pi39s5a****\\",\\n \\"DestPortRange\\": \\"-1/-1\\",\\n \\"Direction\\": \\"in\\",\\n \\"DpiGroupIds\\": {\\n \\"DpiGroupId\\": [\\n \\"20\\"\\n ]\\n },\\n \\"Name\\": \\"doctest\\",\\n \\"GmtCreate\\": 1553777700000,\\n \\"DestCidr\\": \\"0.0.0.0/0\\",\\n \\"DpiSignatureIds\\": {\\n \\"DpiSignatureId\\": [\\n \\"1\\"\\n ]\\n },\\n \\"IpProtocol\\": \\"ALL\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyACLRuleResponse>\\n <Policy>accept</Policy>\\n <Description>test</Description>\\n <RequestId>7F3DD2C1-0F6B-4575-9106-B2D50DF7A711</RequestId>\\n <SourcePortRange>-1/-1</SourcePortRange>\\n <SourceCidr>0.0.0.0/0</SourceCidr>\\n <Priority>1</Priority>\\n <AclId>acl-jdc7tir4fkplwr****</AclId>\\n <AcrId>acr-r8hezn2pi39s5a****</AcrId>\\n <DestPortRange>-1/-1</DestPortRange>\\n <Direction>in</Direction>\\n <DpiGroupIds>20</DpiGroupIds>\\n <Name>doctest</Name>\\n <GmtCreate>1553777700000</GmtCreate>\\n <DestCidr>0.0.0.0/0</DestCidr>\\n <DpiSignatureIds>1</DpiSignatureIds>\\n <IpProtocol>ALL</IpProtocol>\\n</ModifyACLRuleResponse>","errorExample":""}]',
+ 'title' => 'ModifyACLRule',
+ 'summary' => 'Modifies an access control list (ACL) rule.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeACLs' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the ACL is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'AclIds',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the ACL.'."\n"
+ ."\n"
+ .'* If you want to query multiple ACLs at the same time, separate the ACL IDs with commas (,).'."\n"
+ .'* If you do not set this parameter, all ACLs in the specified region are queried.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'acl-xhwhyuo43l*******',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the ACL.'."\n"
+ ."\n"
+ .'The name must be 2 to 100 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Maximum value: **50**. Default value: **10**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'AclType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the SAG instance associated with the ACL. Valid values:'."\n"
+ ."\n"
+ .'* **acl-hardware**: SAG CPE instance'."\n"
+ .'* **acl-software**: SAG app instance'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'acl-hardware',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '660F303F-C88E-4026-BC6A-FC24B78FD7EA',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Acls' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Acl' => [
+ 'description' => 'A list of ACLs.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'SagCount' => [
+ 'description' => 'The number of SAG instances associated with the ACL.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'AclId' => [
+ 'description' => 'The ID of the ACL.'."\n",
+ 'type' => 'string',
+ 'example' => 'acl-xhwhyuo43l*******',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the ACL.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'ResourceGroupId' => [
+ 'description' => 'The ID of the resource group to which the ACL belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'rg-acfm2iu4fnc****',
+ ],
+ 'AclType' => [
+ 'description' => 'The type of the SAG instance associated with the ACL. Valid values:'."\n"
+ ."\n"
+ .'* **acl-hardware**: SAG CPE instance'."\n"
+ .'* **acl-software**: SAG app instance'."\n",
+ 'type' => 'string',
+ 'example' => 'acl-hardware',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter',
+ 'errorMessage' => 'The specified parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"660F303F-C88E-4026-BC6A-FC24B78FD7EA\\",\\n \\"PageNumber\\": 1,\\n \\"Acls\\": {\\n \\"Acl\\": [\\n {\\n \\"SagCount\\": \\"0\\",\\n \\"AclId\\": \\"acl-xhwhyuo43l*******\\",\\n \\"Name\\": \\"test\\",\\n \\"ResourceGroupId\\": \\"rg-acfm2iu4fnc****\\",\\n \\"AclType\\": \\"acl-hardware\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeACLsResponse>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <RequestId>660F303F-C88E-4026-BC6A-FC24B78FD7EA</RequestId>\\n <PageNumber>1</PageNumber>\\n <Acls>\\n <SagCount>0</SagCount>\\n <AclId>acl-xhwhyuo43l*******</AclId>\\n <Name>test</Name>\\n <ResourceGroupId>rg-acfm2iu4fnc****</ResourceGroupId>\\n <AclType>acl-hardware</AclType>\\n </Acls>\\n</DescribeACLsResponse>","errorExample":""}]',
+ 'title' => 'DescribeACLs',
+ 'summary' => 'Queries access control lists (ACLs) in a specified region.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeACLAttribute' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the ACL is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'AclId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the ACL.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'acl-ohlexqptfhyaq****',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page.'."\n"
+ ."\n"
+ .'Valid values: **1** to **50**.'."\n"
+ ."\n"
+ .'Default value: **10**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'Direction',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The direction of traffic in which the ACL rule is applied. Valid values:'."\n"
+ ."\n"
+ .'* **in**: The ACL rule controls inbound network traffic of the on-premises network that is associated with the Smart Access Gateway (SAG) instance.'."\n"
+ .'* **out**: The ACL rule controls outbound network traffic of the on-premises network that is associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'out',
+ ],
+ ],
+ [
+ 'name' => 'Order',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the order.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1255444444',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the ACL.'."\n"
+ ."\n"
+ .'The name must be 2 to 100 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n"
+ ."\n"
+ .'> This parameter supports fuzzy match.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'doctest',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries to return on each page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '8F62CE77-FBA2-4F8D-AED9-0A02814EDA69',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Acrs' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Acr' => [
+ 'description' => 'The information about the ACL rules in the ACL.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Direction' => [
+ 'description' => 'The direction of traffic in which the ACL rule is applied.'."\n"
+ ."\n"
+ .'* **in**: The ACL rule controls inbound network traffic of the on-premises network that is associated with the SAG instance.'."\n"
+ .'* **out**: The ACL rule controls outbound network traffic of the on-premises network that is associated with the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'out',
+ ],
+ 'Type' => [
+ 'description' => 'The type of the ACL rule:'."\n"
+ ."\n"
+ .'* **LAN**: The ACL rule controls network traffic transmitted through private IP addresses.'."\n"
+ .'* **WAN**: The ACL rule controls network traffic transmitted through public IP addresses.'."\n",
+ 'type' => 'string',
+ 'example' => 'WAN',
+ ],
+ 'DpiSignatureIds' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DpiSignatureId' => [
+ 'description' => 'The IDs of the applications that match the current ACL rule.'."\n"
+ ."\n"
+ .'You can call the [ListDpiSignatures](~~196630~~) operation to query application IDs and information about the applications.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ 'IpProtocol' => [
+ 'description' => 'The protocol used by the ACL rule.'."\n"
+ ."\n"
+ .'The supported protocols provided in this topic are for reference only. The actual protocols in the SAG console shall prevail. The value of the parameter is not case-sensitive.'."\n",
+ 'type' => 'string',
+ 'example' => 'UDP',
+ ],
+ 'Priority' => [
+ 'description' => 'The priority of the ACL rule.'."\n"
+ ."\n"
+ .'Valid values: **1 to 100**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '70',
+ ],
+ 'AclId' => [
+ 'description' => 'The ID of ACL.'."\n",
+ 'type' => 'string',
+ 'example' => 'acl-7louazbja80bmg****',
+ ],
+ 'Policy' => [
+ 'description' => 'The action of the ACL rule. Valid values:'."\n"
+ ."\n"
+ .'* **accept**: allows network traffic.'."\n"
+ .'* **drop**: blocks network traffic.'."\n",
+ 'type' => 'string',
+ 'example' => 'drop',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the ACL rule.'."\n"
+ ."\n"
+ .'The description must be **1 to 512** characters in length.'."\n"
+ ."\n"
+ .'By default, this parameter is not returned. You can call the ModifyACLRule operation to add a description for the ACL rule. Then, this parameter is included in the response.'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'GmtCreate' => [
+ 'description' => 'The timestamp when the ACL rule was created.'."\n"
+ ."\n"
+ .'The timestamp is of the Long data type. If multiple ACL rules have the same priority, the rule with the earliest timestamp takes effect.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1580821597000',
+ ],
+ 'DestCidr' => [
+ 'description' => 'The destination CIDR block.'."\n"
+ ."\n"
+ .'The value of this parameter is specified in CIDR notation. Example: 192.168.10.0/24.'."\n",
+ 'type' => 'string',
+ 'example' => '0.0.0.0/0',
+ ],
+ 'DestPortRange' => [
+ 'description' => 'The destination port range.'."\n"
+ ."\n"
+ .'Valid values: **1** to **65535** and **-1**.'."\n"
+ ."\n"
+ .'The destination port range is in one of the following formats: 1/200 or 80/80. A value of -1/-1 indicates all ports.'."\n",
+ 'type' => 'string',
+ 'example' => '10000/20000',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the ACL.'."\n"
+ ."\n"
+ .'The name must be 2 to 100 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n",
+ 'type' => 'string',
+ 'example' => 'doctest',
+ ],
+ 'AcrId' => [
+ 'description' => 'The ID of the ACL rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'acr-gxzxj5w9qqdf1c****',
+ ],
+ 'SourceCidr' => [
+ 'description' => 'The source CIDR block.'."\n"
+ ."\n"
+ .'The value of this parameter in is specified in CIDR notation. Example: 192.168.1.0/24.'."\n",
+ 'type' => 'string',
+ 'example' => '0.0.0.0/0',
+ ],
+ 'SourcePortRange' => [
+ 'description' => 'The source port range.'."\n"
+ ."\n"
+ .'Valid values: **1** to **65535** and **-1**.'."\n"
+ ."\n"
+ .'The source port range is in one of the following formats: 1/200 or 80/80. A value of -1/-1 indicates all ports.'."\n",
+ 'type' => 'string',
+ 'example' => '30000/40000',
+ ],
+ 'DpiGroupIds' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DpiGroupId' => [
+ 'description' => 'The IDs of the application groups that match the current ACL rule.'."\n"
+ ."\n"
+ .'You can call the [ListDpiGroups](~~196754~~) operation to query application group IDs and information about the applications.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '20',
+ ],
+ ],
+ ],
+ ],
+ 'AclType' => [
+ 'description' => 'The number of SAG instances associated with the ACL. Valid values:'."\n"
+ ."\n"
+ .'* **acl-hardware**: SAG CPE instance'."\n"
+ .'* **acl-software**: SAG app instance'."\n",
+ 'type' => 'string',
+ 'example' => 'acl-hardware',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter',
+ 'errorMessage' => 'The specified parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.ACL',
+ 'errorMessage' => 'The specified ACL ID is invalid.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 3,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"8F62CE77-FBA2-4F8D-AED9-0A02814EDA69\\",\\n \\"PageNumber\\": 1,\\n \\"Acrs\\": {\\n \\"Acr\\": [\\n {\\n \\"Direction\\": \\"out\\",\\n \\"Type\\": \\"WAN\\",\\n \\"DpiSignatureIds\\": {\\n \\"DpiSignatureId\\": [\\n \\"1\\"\\n ]\\n },\\n \\"IpProtocol\\": \\"UDP\\",\\n \\"Priority\\": 70,\\n \\"AclId\\": \\"acl-7louazbja80bmg****\\",\\n \\"Policy\\": \\"drop\\",\\n \\"Description\\": \\"ACLRule\\",\\n \\"GmtCreate\\": 1580821597000,\\n \\"DestCidr\\": \\"0.0.0.0/0\\",\\n \\"DestPortRange\\": \\"10000/20000\\",\\n \\"Name\\": \\"doctest\\",\\n \\"AcrId\\": \\"acr-gxzxj5w9qqdf1c****\\",\\n \\"SourceCidr\\": \\"0.0.0.0/0\\",\\n \\"SourcePortRange\\": \\"30000/40000\\",\\n \\"DpiGroupIds\\": {\\n \\"DpiGroupId\\": [\\n \\"20\\"\\n ]\\n },\\n \\"AclType\\": \\"acl-hardware\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeACLAttributeResponse>\\n <TotalCount>3</TotalCount>\\n <PageSize>10</PageSize>\\n <RequestId>8F62CE77-FBA2-4F8D-AED9-0A02814EDA69</RequestId>\\n <PageNumber>1</PageNumber>\\n <Acrs>\\n <Direction>out</Direction>\\n <Type>WAN</Type>\\n <DpiSignatureIds>1</DpiSignatureIds>\\n <IpProtocol>UDP</IpProtocol>\\n <Priority>70</Priority>\\n <AclId>acl-7louazbja80bmg****</AclId>\\n <Policy>drop</Policy>\\n <Description>访问规则</Description>\\n <GmtCreate>1580821597000</GmtCreate>\\n <DestCidr>0.0.0.0/0</DestCidr>\\n <DestPortRange>10000/20000</DestPortRange>\\n <Name>doctest</Name>\\n <AcrId>acr-gxzxj5w9qqdf1c****</AcrId>\\n <SourceCidr>0.0.0.0/0</SourceCidr>\\n <SourcePortRange>30000/40000</SourcePortRange>\\n <DpiGroupIds>20</DpiGroupIds>\\n <AclType>acl-hardware</AclType>\\n </Acrs>\\n</DescribeACLAttributeResponse>","errorExample":""}]',
+ 'title' => 'DescribeACLAttribute',
+ 'summary' => 'Queries the information about an access control list (ACL).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'AssociateACL' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the ACL is created.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'AclId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of ACL.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'acl-ohlexqptfhy******',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance to be associated with the ACL.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-4yr0p2xa6o3k*******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'C9A75915-0260-4335-851A-D866A7ED396C',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.SMARTAG',
+ 'errorMessage' => 'The specified smart access gateway instance id is invalid.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'SmartAGAlreadyAssociateAcl',
+ 'errorMessage' => 'The specified smart access gateway has already been associated with the specified ACL.',
+ ],
+ [
+ 'errorCode' => 'AclPerSmartagAmountLimit',
+ 'errorMessage' => 'No more ACL can be associated with this smart access gateway.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.ACL',
+ 'errorMessage' => 'The specified ACL ID is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C9A75915-0260-4335-851A-D866A7ED396C\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<AssociateACL>\\r\\n\\t<RequestId>00546174-2CE6-4587-9550-04B6A3313938</RequestId>\\r\\n</AssociateACL>","errorExample":""}]',
+ 'title' => 'AssociateACL',
+ 'summary' => 'Associates an access control list (ACL) with a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DisassociateACL' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the ACL is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'AclId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of ACL.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'acl-xhwhyuo43l0****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-ke3kq4evpi8****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'B28A9AB3-05BD-4A88-AB6A-A555A0BF70C0',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.SMARTAG',
+ 'errorMessage' => 'The specified smart access gateway instance id is invalid.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.ACL',
+ 'errorMessage' => 'The specified ACL ID is invalid.',
+ ],
+ [
+ 'errorCode' => 'SmartAGNotAssociateAcl',
+ 'errorMessage' => 'The specified smart access gateway is not associated with the specified ACL.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B28A9AB3-05BD-4A88-AB6A-A555A0BF70C0\\"\\n}","errorExample":""},{"type":"xml","example":"<DisassociateACLResponse>\\n <RequestId>B28A9AB3-05BD-4A88-AB6A-A555A0BF70C0</RequestId>\\n</DisassociateACLResponse>","errorExample":""}]',
+ 'title' => 'DisassociateACL',
+ 'summary' => 'Disassociates an access control list (ACL) from a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateQos' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the QoS policy is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'QosName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the QoS policy.'."\n"
+ ."\n"
+ .'The name must be 2 to 100 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). It must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'doctest',
+ ],
+ ],
+ [
+ 'name' => 'QosDescription',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the QoS policy.'."\n"
+ ."\n"
+ .'The description must be 1 to 512 characters in length and can contain letters, digits, underscores (\\_), and hyphens (-). It must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testdesc',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'AACF5140-783D-48F0-9E4F-E59D716F7D08',
+ ],
+ 'QosId' => [
+ 'description' => 'The ID of the QoS policy.'."\n",
+ 'type' => 'string',
+ 'example' => 'rg-acfm2iu4fnc****',
+ ],
+ 'ResourceGroupId' => [
+ 'description' => 'The ID of the resource group to which the QoS policy belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'qos-oek3r2cmvk7m8q****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'QosAmountLimit',
+ 'errorMessage' => 'No more QoS can be created. You can submit a ticket to increase the quota of QoSes.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.RegionId',
+ 'errorMessage' => 'You must specify RegionId.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.Name',
+ 'errorMessage' => 'You must specify Name.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Name',
+ 'errorMessage' => 'The specified Name is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Description',
+ 'errorMessage' => 'The specified Description is invalid.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AACF5140-783D-48F0-9E4F-E59D716F7D08\\",\\n \\"QosId\\": \\"rg-acfm2iu4fnc****\\",\\n \\"ResourceGroupId\\": \\"qos-oek3r2cmvk7m8q****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateQosResponse>\\n <RequestId>AACF5140-783D-48F0-9E4F-E59D716F7D08</RequestId>\\n <QosId>rg-acfm2iu4fnc****</QosId>\\n <ResourceGroupId>qos-oek3r2cmvk7m8q****</ResourceGroupId>\\n</CreateQosResponse>","errorExample":""}]',
+ 'title' => 'CreateQos',
+ 'summary' => 'Creates a quality of service (QoS) policy.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteQos' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the QoS policy belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'QosId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the QoS policy to be deleted.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'qos-xhwhyuo43l****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'F77B3F0E-CAA2-41CF-A752-4F2893C5F7F0',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidId.Qos',
+ 'errorMessage' => 'The specified QosId is invalid.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.RegionId',
+ 'errorMessage' => 'You must specify RegionId.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.QosId',
+ 'errorMessage' => 'You must specify QosId.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F77B3F0E-CAA2-41CF-A752-4F2893C5F7F0\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n <DeleteQosResponse>\\r\\n\\t<RequestId>F77B3F0E-CAA2-41CF-A752-4F2893C5F7F0</RequestId>\\r\\n </DeleteQosResponse>","errorExample":""}]',
+ 'title' => 'DeleteQos',
+ 'summary' => 'Deletes a Quality of Service (QoS) policy.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifyQos' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region where the QoS policy is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'QosId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the QoS policy that you want to modify.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'qos-awfxl1adxeqyk****',
+ ],
+ ],
+ [
+ 'name' => 'QosName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the QoS policy.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'doctest',
+ ],
+ ],
+ [
+ 'name' => 'QosDescription',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the QoS policy. The description must be 1 to 512 characters in length, and can contain digits, underscores (\\_), and hyphens (-). It must start with a letter or Chinese character.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'qosdes',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'EE837E9F-BD50-4C2B-9E47-260F9D848480',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MissParameter.RegionId',
+ 'errorMessage' => 'You must specify RegionId.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.QosId',
+ 'errorMessage' => 'You must specify QosId.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.Name',
+ 'errorMessage' => 'You must specify Name.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Name',
+ 'errorMessage' => 'The specified Name is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.Qos',
+ 'errorMessage' => 'The specified QosId is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Description',
+ 'errorMessage' => 'The specified Description is invalid.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EE837E9F-BD50-4C2B-9E47-260F9D848480\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n <ModifyQosResponse>\\r\\n\\t<RequestId>F77B3F0E-CAA2-41CF-A752-4F2893C5F7F0</RequestId>\\r\\n </ModifyQosResponse>","errorExample":""}]',
+ 'title' => 'ModifyQos',
+ 'summary' => 'You can call this operation to modify a quality of service (QoS) policy, for example, its name.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'AssociateQos' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the QoS policy belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'QosId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the QoS policy.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'qos-awfxl1adxeqyk****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance to which the QoS policy is to be applied.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-c3m3n1khz58l****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '551CD836-9E46-4F2C-A167-B4363180A647',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'SmartAGAlreadyAssociateQos',
+ 'errorMessage' => 'The specified smart access gateway has already been associated with the specified QoS.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.Qos',
+ 'errorMessage' => 'The specified QosId is invalid.',
+ ],
+ [
+ 'errorCode' => 'SAG.SoftwareNotSupport',
+ 'errorMessage' => 'The specified SAG software edition instance does not support ACL.',
+ ],
+ [
+ 'errorCode' => 'QosPerSmartagAmountLimit',
+ 'errorMessage' => 'No more QoS can be associated with this smart access gateway.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.RegionId',
+ 'errorMessage' => 'You must specify RegionId.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.QosId',
+ 'errorMessage' => 'You must specify QosId.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.SmartAGId',
+ 'errorMessage' => 'You must specify SmartAGId.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.SMARTAG',
+ 'errorMessage' => 'The specified smart access gateway instance id is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"551CD836-9E46-4F2C-A167-B4363180A647\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n <AssociateQosResponse>\\r\\n\\t<RequestId>551CD836-9E46-4F2C-A167-B4363180A647</RequestId>\\r\\n </AssociateQosResponse>","errorExample":""}]',
+ 'title' => 'AssociateQos',
+ 'summary' => 'Applies a Quality of Service (QoS) policy to a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DisassociateQos' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the QoS policy belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'QosId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the QoS policy.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'qos-1lcl9gv5ew7x****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance to be disassociated.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-c3m3n1khz58l****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '551CD836-9E46-4F2C-A167-B4363180A647',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MissParameter.RegionId',
+ 'errorMessage' => 'You must specify RegionId.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.QosId',
+ 'errorMessage' => 'You must specify QosId.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.SmartAGId',
+ 'errorMessage' => 'You must specify SmartAGId.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.Qos',
+ 'errorMessage' => 'The specified QosId is invalid.',
+ ],
+ [
+ 'errorCode' => 'SmartAGNotAssociateQos',
+ 'errorMessage' => 'The specified smart access gateway is not associated with the specified QoS.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.SMARTAG',
+ 'errorMessage' => 'The specified smart access gateway instance id is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"551CD836-9E46-4F2C-A167-B4363180A647\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n <DisassociateQosResponse>\\r\\n\\t<RequestId>551CD836-9E46-4F2C-A167-B4363180A647</RequestId>\\r\\n </DisassociateQosResponse>","errorExample":""}]',
+ 'title' => 'DisassociateQos',
+ 'summary' => 'Disassociates a Smart Access Gateway (SAG) instance from a Quality of Service (QoS) policy.',
+ ],
+ 'DescribeQoses' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the QoS policy is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'QosIds',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the QoS policy.'."\n"
+ ."\n"
+ .'* Separate multiple QoS polices with commas (,).'."\n"
+ .'* If you do not specify this parameter, all QoS policies in the region are queried.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'qos-oek3r2cmvk7m8q****',
+ ],
+ ],
+ [
+ 'name' => 'QosName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the QoS policy.'."\n"
+ ."\n"
+ .'The name must be 2 to 100 characters in length and can contain letters, digits, periods (.), underscores (\\_),and hyphens (-). The name must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'zxtest',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Default value: **10**. Maximum value: **50**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => [
+ 'description' => 'The total number of QoS polices.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '2B5F35DD-0D66-41FC-AA99-BAE473E1A7A2',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Qoses' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Qos' => [
+ 'description' => 'The list of QoS policies.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'QosDescription' => [
+ 'description' => 'The description of the QoS policy.'."\n",
+ 'type' => 'string',
+ 'example' => 'description',
+ ],
+ 'SagCount' => [
+ 'description' => 'The number of the SAG instances to which the QoS policy is applied.'."\n",
+ 'type' => 'string',
+ 'example' => '0',
+ ],
+ 'SmartAGIds' => [
+ 'description' => 'The IDs of the SAG instances to which the QoS policy is applied.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-x34wj76fe0vhw*****,sag-jp04l844chg16*****',
+ ],
+ 'QosId' => [
+ 'description' => 'The ID of the QoS policy.'."\n",
+ 'type' => 'string',
+ 'example' => 'qos-oek3r2cmvk7m8q****',
+ ],
+ 'QosName' => [
+ 'description' => 'The name of the QoS policy.'."\n",
+ 'type' => 'string',
+ 'example' => 'zxtest',
+ ],
+ 'ResourceGroupId' => [
+ 'description' => 'The ID of the resource group to which the QoS policy belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'rg-acfm2iu4fnc****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 403 => [
+ [
+ 'errorCode' => 'InvalidParameter',
+ 'errorMessage' => 'The specified parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 1,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"2B5F35DD-0D66-41FC-AA99-BAE473E1A7A2\\",\\n \\"PageNumber\\": 1,\\n \\"Qoses\\": {\\n \\"Qos\\": [\\n {\\n \\"QosDescription\\": \\"description\\",\\n \\"SagCount\\": \\"0\\",\\n \\"SmartAGIds\\": \\"sag-x34wj76fe0vhw*****,sag-jp04l844chg16*****\\",\\n \\"QosId\\": \\"qos-oek3r2cmvk7m8q****\\",\\n \\"QosName\\": \\"zxtest\\",\\n \\"ResourceGroupId\\": \\"rg-acfm2iu4fnc****\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeQosesResponse>\\n <TotalCount>1</TotalCount>\\n <PageSize>10</PageSize>\\n <RequestId>2B5F35DD-0D66-41FC-AA99-BAE473E1A7A2</RequestId>\\n <PageNumber>1</PageNumber>\\n <Qoses>\\n <Qos>\\n <SagCount>0</SagCount>\\n <ResourceGroupId>rg-acfm2iu4fnc****</ResourceGroupId>\\n <QosId>qos-oek3r2cmvk7m8q****</QosId>\\n <QosName>zxtest</QosName>\\n </Qos>\\n </Qoses>\\n</DescribeQosesResponse>","errorExample":""}]',
+ 'title' => 'DescribeQoses',
+ 'summary' => 'Queries quality of service (QoS) policies in a specified region.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'GetQosAttribute' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the QoS policy is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'QosId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the QoS policy.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'qos-1iqifund3gcno5****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'QosPolicies' => [
+ 'description' => 'List of QoS policies based on 5-tuple.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'EndTime' => [
+ 'description' => 'The end time of the valid time of the 5-tuple.'."\n"
+ ."\n"
+ .'The time must be in UTC+8.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '2021-07-29T00:00:00+0800',
+ ],
+ 'StartTime' => [
+ 'description' => 'The start time of the valid time of the 5-tuple.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '2021-06-21T00:00:00+0800',
+ ],
+ 'DestCidr' => [
+ 'description' => 'The range of the destination CIDR block.'."\n",
+ 'type' => 'string',
+ 'example' => '0.0.0.0/0',
+ ],
+ 'DestPortRange' => [
+ 'description' => 'The range of destination ports.'."\n"
+ ."\n"
+ .'Valid values: **1** to **65535** and **-1**.'."\n"
+ ."\n"
+ .'Examples of the format of the destination port range:'."\n"
+ ."\n"
+ .'* **1/200**: a port range from 1 to 200.'."\n"
+ .'* **80/80**: port 80.'."\n"
+ .'* **-1/-1**: all ports.'."\n",
+ 'type' => 'string',
+ 'example' => '-1/-1',
+ ],
+ 'IpProtocol' => [
+ 'description' => 'The type of the protocol that is applied to the 5-tuple rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'ALL',
+ ],
+ 'Priority' => [
+ 'description' => 'The priority of the traffic throttling rule that is applied to the 5-tuple.rule.'."\n"
+ ."\n"
+ .'A smaller value indicates a higher priority.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'QosPolicieDescription' => [
+ 'description' => 'The description of the 5-tuple.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'SourceCidr' => [
+ 'description' => 'The range of the source CIDR block.'."\n",
+ 'type' => 'string',
+ 'example' => '0.0.0.0/0',
+ ],
+ 'QosPolicieName' => [
+ 'description' => 'The name of the 5-tuple.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'SourcePortRange' => [
+ 'description' => 'The range of source ports.'."\n"
+ ."\n"
+ .'Valid values: **1** to **65535** and **-1**.'."\n"
+ ."\n"
+ .'Examples of the format of the source port range:'."\n"
+ ."\n"
+ .'* **1/200**: a port range from 1 to 200.'."\n"
+ .'* **80/80**: port 80.'."\n"
+ .'* **-1/-1**: all ports.'."\n",
+ 'type' => 'string',
+ 'example' => '-1/-1',
+ ],
+ ],
+ ],
+ ],
+ 'QosCars' => [
+ 'description' => 'The traffic throttling rule applied to the QoS policies that have exceptional configurations.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'MaxBandwidthAbs' => [
+ 'description' => 'The maximum bandwidth. Unit: Mbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'QosCarName' => [
+ 'description' => 'The name of the traffic throttling rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'PercentSourceType' => [
+ 'description' => 'Bandwidth type when traffic is throttled to a percentage of the total bandwidth of the network.'."\n"
+ ."\n"
+ .'* **CcnBandwidth**: Cloud Connect Network (CCN) bandwidth.'."\n"
+ .'* **InternetUpBandwidth**: Internet upstream bandwidth.'."\n",
+ 'type' => 'string',
+ 'example' => 'InternetUpBandwidth',
+ ],
+ 'MinBandwidthAbs' => [
+ 'description' => 'The minimum bandwidth. Unit: Mbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'MaxBandwidthPercent' => [
+ 'description' => 'The maximum bandwidth percentage that the traffic is throttled to.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'QosCarDescription' => [
+ 'description' => 'The description of the traffic throttling rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'LimitType' => [
+ 'description' => 'The type of traffic throttling. Valid values:'."\n"
+ ."\n"
+ .'* **Absolute**: throttles traffic based on a specific range of bandwidth.'."\n"
+ .'* **Percent**: throttles traffic based on a specific range of bandwidth percentage.'."\n",
+ 'type' => 'string',
+ 'example' => 'Absolute',
+ ],
+ 'Priority' => [
+ 'description' => 'The priority of the traffic throttling rule.'."\n"
+ ."\n"
+ .'Valid values are from **1** to **3**. A smaller value indicates a higher priority.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'MinBandwidthPercent' => [
+ 'description' => 'The minimum bandwidth percentage.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'QosCarId' => [
+ 'description' => 'The ID of the traffic throttling rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'qoscar-xir1apa8ayjp56ei****',
+ ],
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '91058E01-1806-45D5-B305-19E4D0A5CE04',
+ ],
+ 'ErrorConfigSmartAGCount' => [
+ 'description' => 'The number of Smart Access Gateway (SAG) instances that have exceptional configurations.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'QosName' => [
+ 'description' => 'The name of the QoS policy.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'QosDescription' => [
+ 'description' => 'The description of the QoS policy.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"QosPolicies\\": [\\n {\\n \\"EndTime\\": 0,\\n \\"StartTime\\": 0,\\n \\"DestCidr\\": \\"0.0.0.0/0\\",\\n \\"DestPortRange\\": \\"-1/-1\\",\\n \\"IpProtocol\\": \\"ALL\\",\\n \\"Priority\\": 1,\\n \\"QosPolicieDescription\\": \\"test\\",\\n \\"SourceCidr\\": \\"0.0.0.0/0\\",\\n \\"QosPolicieName\\": \\"test\\",\\n \\"SourcePortRange\\": \\"-1/-1\\"\\n }\\n ],\\n \\"QosCars\\": [\\n {\\n \\"MaxBandwidthAbs\\": 2,\\n \\"QosCarName\\": \\"test\\",\\n \\"PercentSourceType\\": \\"InternetUpBandwidth\\",\\n \\"MinBandwidthAbs\\": 1,\\n \\"MaxBandwidthPercent\\": 20,\\n \\"QosCarDescription\\": \\"test\\",\\n \\"LimitType\\": \\"Absolute\\",\\n \\"Priority\\": 1,\\n \\"MinBandwidthPercent\\": 10,\\n \\"QosCarId\\": \\"qoscar-xir1apa8ayjp56ei****\\"\\n }\\n ],\\n \\"RequestId\\": \\"91058E01-1806-45D5-B305-19E4D0A5CE04\\",\\n \\"ErrorConfigSmartAGCount\\": 1,\\n \\"QosName\\": \\"test\\",\\n \\"QosDescription\\": \\"test\\"\\n}","errorExample":""},{"type":"xml","example":"<GetQosAttributeResponse>\\n <QosPolicies>\\n <DestCidr>0.0.0.0/0</DestCidr>\\n <SourcePortRange>-1/-1</SourcePortRange>\\n <SourceCidr>0.0.0.0/0</SourceCidr>\\n <Priority>1</Priority>\\n <IpProtocol>ALL</IpProtocol>\\n <DestPortRange>-1/-1</DestPortRange>\\n </QosPolicies>\\n <QosCars>\\n <MinBandwidthAbs>1</MinBandwidthAbs>\\n <QosCarId>qoscar-xir1apa8ayjp56ei****</QosCarId>\\n <Priority>1</Priority>\\n <MaxBandwidthAbs>2</MaxBandwidthAbs>\\n <PercentSourceType>InternetUpBandwidth</PercentSourceType>\\n <LimitType>Absolute</LimitType>\\n </QosCars>\\n <RequestId>91058E01-1806-45D5-B305-19E4D0A5CE04</RequestId>\\n <ErrorConfigSmartAGCount>1</ErrorConfigSmartAGCount>\\n <QosName>ccn-yaochi-bvt-qos</QosName>\\n</GetQosAttributeResponse>","errorExample":""}]',
+ 'title' => 'GetQosAttribute',
+ 'summary' => 'Queries the attributes of a quality of service (QoS) policy.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateQosCar' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the traffic throttling rule.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Qosdesc',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the QoS policy belongs.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~69813~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'QosId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the QoS policy.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'qos-xitd8690ucu8ro****',
+ ],
+ ],
+ [
+ 'name' => 'Priority',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The priority of the traffic throttling rule.'."\n"
+ ."\n"
+ .'Valid values: **1** to **3**. A smaller value indicates a higher priority. If rules have the same priority, the one created the earliest is applied.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '2',
+ ],
+ ],
+ [
+ 'name' => 'LimitType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the traffic throttling rule. Valid values:'."\n"
+ ."\n"
+ .'* **Absolute**: throttles traffic based on a specific range of bandwidth values.'."\n"
+ .'* **Percent**: throttles traffic based on a specific range of bandwidth percentage.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'Absolute',
+ ],
+ ],
+ [
+ 'name' => 'MinBandwidthAbs',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The minimum bandwidth value. The value must be an integer. Unit: Mbit/s.'."\n"
+ ."\n"
+ .'This parameter is returned when **LimitType** is set to **Absolute**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '2',
+ ],
+ ],
+ [
+ 'name' => 'MaxBandwidthAbs',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum bandwidth value. The value must be an integer. Unit: Mbit/s.'."\n"
+ ."\n"
+ .'This parameter is returned when **LimitType** is set to **Absolute**.'."\n"
+ ."\n"
+ .'> The maximum bandwidth value must be greater than the minimum bandwidth value.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '6',
+ ],
+ ],
+ [
+ 'name' => 'MinBandwidthPercent',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The minimum bandwidth percentage. Unit: percent (%). Valid values: **1 to 100**.'."\n"
+ ."\n"
+ .'This parameter is required when you set **LimitType** to **Percent**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '20',
+ ],
+ ],
+ [
+ 'name' => 'MaxBandwidthPercent',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum bandwidth percentage. Unit: percent (%). Valid values: **1 to 100**.'."\n"
+ ."\n"
+ .'This parameter is required when you set **LimitType** to **Percent**.'."\n"
+ ."\n"
+ .'> The maximum bandwidth percentage must be greater than the minimum bandwidth percentage.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '90',
+ ],
+ ],
+ [
+ 'name' => 'PercentSourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of bandwidth when traffic is throttled based on bandwidth percentage. Valid values:'."\n"
+ ."\n"
+ .'* **CcnBandwidth**: CCN bandwidth'."\n"
+ .'* **InternetUpBandwidth**: total Internet bandwidth'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'CcnBandwidth',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the traffic throttling rule.'."\n"
+ ."\n"
+ .'The name must be 2 to 128 characters in length, and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'nametest',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'MinBandwidthAbs' => [
+ 'description' => 'The minimum bandwidth value. Unit: Mbit/s.'."\n"
+ ."\n"
+ .'This parameter is returned when **LimitType** is set to **Absolute**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the traffic throttling rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'Qosdesc',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'AC13E8FF-4D61-40AD-868E-817F2D3AC86A',
+ ],
+ 'QosCarId' => [
+ 'description' => 'The ID of the traffic throttling rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'qoscar-n5k8g97lihlph****',
+ ],
+ 'MaxBandwidthAbs' => [
+ 'description' => 'The maximum bandwidth value. Unit: Mbit/s.'."\n"
+ ."\n"
+ .'This parameter is returned when **LimitType** is set to **Absolute**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '6',
+ ],
+ 'MaxBandwidthPercent' => [
+ 'description' => 'The maximum bandwidth percentage. Unit: percent (%).'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '90',
+ ],
+ 'Priority' => [
+ 'description' => 'The priority value of the traffic throttling rule.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'QosId' => [
+ 'description' => 'The ID of the QoS policy.'."\n",
+ 'type' => 'string',
+ 'example' => 'qos-xitd8690ucu8ro****',
+ ],
+ 'PercentSourceType' => [
+ 'description' => 'The type of bandwidth when traffic is throttled based on bandwidth percentage. Valid values:'."\n"
+ ."\n"
+ .'* **CcnBandwidth**: CCN bandwidth'."\n"
+ .'* **InternetUpBandwidth**: total Internet bandwidth'."\n",
+ 'type' => 'string',
+ 'example' => 'CcnBandwidth',
+ ],
+ 'MinBandwidthPercent' => [
+ 'description' => 'The minimum bandwidth percentage. Unit: percent (%).'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'LimitType' => [
+ 'description' => 'The type of the traffic throttling rule. Valid values:'."\n"
+ ."\n"
+ .'* **Absolute**: throttles traffic based on a specific range of bandwidth.'."\n"
+ .'* **Percent**: throttles traffic based on a specific range of bandwidth percentage.'."\n",
+ 'type' => 'string',
+ 'example' => 'Percent',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MissParameter.RegionId',
+ 'errorMessage' => 'You must specify RegionId.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.QosId',
+ 'errorMessage' => 'You must specify QosId.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.LimitType',
+ 'errorMessage' => 'You must specify LimitType.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.Priority',
+ 'errorMessage' => 'You must specify Priority.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.LimitType',
+ 'errorMessage' => 'You must specify LimitType.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.MaxBandwidthAbs',
+ 'errorMessage' => 'You must specify MaxBandwidthAbs.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.MaxBandwidthPercent',
+ 'errorMessage' => 'You must specify MaxBandwidthPercent.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.MinBandwidthAbs',
+ 'errorMessage' => 'You must specify MinBandwidthAbs.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.MinBandwidthPercent',
+ 'errorMessage' => 'You must specify MinBandwidthPercent.',
+ ],
+ [
+ 'errorCode' => 'InvalidBandwidthCompare',
+ 'errorMessage' => 'The specified maximum bandwidth is smaller than the minimum bandwidth. Please check your input.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.PercentSourceType',
+ 'errorMessage' => 'You must specify PercentSourceType.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.Qos',
+ 'errorMessage' => 'The specified QosId is invalid.',
+ ],
+ [
+ 'errorCode' => 'Invalid.QosCar.Priority',
+ 'errorMessage' => 'The specified priority of QosCarId is invalid.',
+ ],
+ [
+ 'errorCode' => 'QosCarPerQosAmountLimit',
+ 'errorMessage' => 'The maximum number of QosCar in a QoS is exceeded. You can submit a ticket to increase the quota.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Priority',
+ 'errorMessage' => 'The specified Priority is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.PercentSourceType',
+ 'errorMessage' => 'The specified PercentSourceType is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Description',
+ 'errorMessage' => 'The specified Description is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Name',
+ 'errorMessage' => 'The specified Name is invalid.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"MinBandwidthAbs\\": 2,\\n \\"Description\\": \\"Qosdesc\\",\\n \\"RequestId\\": \\"AC13E8FF-4D61-40AD-868E-817F2D3AC86A\\",\\n \\"QosCarId\\": \\"qoscar-n5k8g97lihlph****\\",\\n \\"MaxBandwidthAbs\\": 6,\\n \\"MaxBandwidthPercent\\": 90,\\n \\"Priority\\": 2,\\n \\"QosId\\": \\"qos-xitd8690ucu8ro****\\",\\n \\"PercentSourceType\\": \\"CcnBandwidth\\",\\n \\"MinBandwidthPercent\\": 20,\\n \\"LimitType\\": \\"Percent\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateQosCarResponse>\\n <MinBandwidthAbs>2</MinBandwidthAbs>\\n <Description>Qosdesc</Description>\\n <RequestId>AC13E8FF-4D61-40AD-868E-817F2D3AC86A</RequestId>\\n <QosCarId>qoscar-n5k8g97lihlph****</QosCarId>\\n <MaxBandwidthAbs>6</MaxBandwidthAbs>\\n <MaxBandwidthPercent>90</MaxBandwidthPercent>\\n <Priority>2</Priority>\\n <QosId>qos-xitd8690ucu8ro****</QosId>\\n <PercentSourceType>CcnBandwidth</PercentSourceType>\\n <MinBandwidthPercent>20</MinBandwidthPercent>\\n <LimitType>Percent</LimitType>\\n</CreateQosCarResponse>","errorExample":""}]',
+ 'title' => 'CreateQosCar',
+ 'summary' => 'Creates a traffic throttling rule for a quality of service (QoS) policy.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteQosCar' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the QoS policy belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'QosId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the QoS policy.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'qos-awfxl1adxeqyk****',
+ ],
+ ],
+ [
+ 'name' => 'QosCarId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the QoS speed limiting rule.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'qoscar-n5k8g97lihlph****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '551CD836-9E46-4F2C-A167-B4363180A647',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidId.Qos',
+ 'errorMessage' => 'The specified QosId is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.QOSCAR',
+ 'errorMessage' => 'The specified QosCarId is invalid.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.RegionId',
+ 'errorMessage' => 'You must specify RegionId.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.QosCarId',
+ 'errorMessage' => 'You must specify QosCarId.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.QosId',
+ 'errorMessage' => 'You must specify QosId.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"551CD836-9E46-4F2C-A167-B4363180A647\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n <DeleteQosCarResponse>\\r\\n\\t<RequestId>551CD836-9E46-4F2C-A167-B4363180A647</RequestId>\\r\\n </DeleteQosCarResponse>","errorExample":""}]',
+ 'title' => 'DeleteQosCar',
+ 'summary' => 'Deletes a speed limiting rule of a Quality of Service (QoS) policy.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifyQosCar' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the traffic throttling rule.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Qostest',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the QoS policy belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'QosId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the QoS policy.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'qos-awfxl1adxeqyk****',
+ ],
+ ],
+ [
+ 'name' => 'QosCarId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the traffic throttling rule.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'qoscar-n5k8g97lihlph****',
+ ],
+ ],
+ [
+ 'name' => 'Priority',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The priority value of the traffic throttling rule. A smaller value specifies a higher priority. If multiple rules have the same priority, the rule that is applied first takes effect. Valid values: **1 to 7**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '2',
+ ],
+ ],
+ [
+ 'name' => 'LimitType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the traffic throttling rule. Valid values:'."\n"
+ ."\n"
+ .'* **Absolute**: throttles traffic based on a specific range of bandwidth.'."\n"
+ .'* **Percent**: throttles traffic based on a specific range of bandwidth percentage.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Absolute',
+ ],
+ ],
+ [
+ 'name' => 'MinBandwidthAbs',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The minimum bandwidth value. The value must be an integer. Unit: Mbit/s.'."\n"
+ ."\n"
+ .'This parameter is required when you set **LimitType** to **Absolute**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '2',
+ ],
+ ],
+ [
+ 'name' => 'MaxBandwidthAbs',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum bandwidth value. The value must be an integer. Unit: Mbit /s.'."\n"
+ ."\n"
+ .'This parameter is required when you set **LimitType** to **Absolute**.'."\n"
+ ."\n"
+ .'> The maximum bandwidth value must be greater than the minimum bandwidth value.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '6',
+ ],
+ ],
+ [
+ 'name' => 'MinBandwidthPercent',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The minimum bandwidth percentage. Unit: percent (%). Valid values: **1 to 100**.'."\n"
+ ."\n"
+ .'This parameter is required when you set **LimitType** to **Percent**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '20',
+ ],
+ ],
+ [
+ 'name' => 'MaxBandwidthPercent',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The maximum bandwidth percentage. Unit: percent (%). Valid values: **1 to 100**.'."\n"
+ ."\n"
+ .'This parameter is required when you set **LimitType** to **Percent**.'."\n"
+ ."\n"
+ .'> The maximum bandwidth percentage must be greater than the minimum bandwidth percentage.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '90',
+ ],
+ ],
+ [
+ 'name' => 'PercentSourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of bandwidth when traffic is throttled based on bandwidth percentage. Valid values:'."\n"
+ ."\n"
+ .'* **CcnBandwidth**: Cloud Connect Network (CCN) bandwidth'."\n"
+ .'* **InternetUpBandwidth**: total Internet bandwidth'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'CcnBandwidth',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the traffic throttling rule.'."\n"
+ ."\n"
+ .'The name must be 2 to 128 characters in length and can contain letters, digits, periods (.), underscores (\\_), and hyphens (-). The name must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'nametest',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '551CD836-9E46-4F2C-A167-B4363180A647',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MissParameter.RegionId',
+ 'errorMessage' => 'You must specify RegionId.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.QosCarId',
+ 'errorMessage' => 'You must specify QosCarId.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.QosId',
+ 'errorMessage' => 'You must specify QosId.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Description',
+ 'errorMessage' => 'You must specify Description.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.MaxBandwidthAbs',
+ 'errorMessage' => 'You must specify MaxBandwidthAbs.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.MaxBandwidthPercent',
+ 'errorMessage' => 'You must specify MaxBandwidthPercent.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.MinBandwidthAbs',
+ 'errorMessage' => 'You must specify MinBandwidthAbs.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.MinBandwidthPercent',
+ 'errorMessage' => 'You must specify MinBandwidthPercent.',
+ ],
+ [
+ 'errorCode' => 'InvalidBandwidthCompare',
+ 'errorMessage' => 'The specified maximum bandwidth is smaller than the minimum bandwidth. Please check your input.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.PercentSourceType',
+ 'errorMessage' => 'You must specify PercentSourceType.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Priority',
+ 'errorMessage' => 'The specified Priority is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.PercentSourceType',
+ 'errorMessage' => 'The specified PercentSourceType is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Name',
+ 'errorMessage' => 'The specified Name is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"551CD836-9E46-4F2C-A167-B4363180A647\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyQosCarResponse>\\n <RequestId>551CD836-9E46-4F2C-A167-B4363180A647</RequestId>\\n</ModifyQosCarResponse>","errorExample":""}]',
+ 'title' => 'ModifyQosCar',
+ 'summary' => 'Modifies a traffic throttling rule in a quality of service (QoS) policy.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeQosCars' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the QoS policy is created.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'QosId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the QoS policy.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'qos-awfxl1adxeqyk****',
+ ],
+ ],
+ [
+ 'name' => 'QosCarId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the traffic throttling rule.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'qoscar-n5k8g97lihlph****',
+ ],
+ ],
+ [
+ 'name' => 'Order',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The sorting method of the traffic throttling rules. Valid values:'."\n"
+ ."\n"
+ .'* **asc**: sorted in ascending order. This is the default value.'."\n"
+ .'* **desc**: sorted in descending order.'."\n"
+ ."\n"
+ .'By default, traffic throttling rules are sorted in ascending order of priority.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'asc',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the traffic throttling rule.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testdesc',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return per page. Valid values: **1** to **50**. Default value: **10**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => [
+ 'description' => 'The total number of entries returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'QosCars' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'QosCar' => [
+ 'description' => 'The list of traffic throttling rules.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'MaxBandwidthAbs' => [
+ 'description' => 'The maximum bandwidth. Unit: **Mbit/s**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '6',
+ ],
+ 'PercentSourceType' => [
+ 'description' => 'The bandwidth type when traffic is throttled based on bandwidth percentage.'."\n"
+ ."\n"
+ .'* **CcnBandwidth**: Cloud Connect Network (CCN) bandwidth.'."\n"
+ .'* **InternetUpBandwidth**: Internet upstream bandwidth.'."\n",
+ 'type' => 'string',
+ 'example' => 'CcnBandwidth',
+ ],
+ 'MinBandwidthAbs' => [
+ 'description' => 'The minimum bandwidth. Unit: **Mbit/s**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'MaxBandwidthPercent' => [
+ 'description' => 'The maximum bandwidth percentage.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '90',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the traffic throttling rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'des',
+ ],
+ 'QosId' => [
+ 'description' => 'The ID of the QoS policy.'."\n",
+ 'type' => 'string',
+ 'example' => 'qos-awfxl1adxeqyk****',
+ ],
+ 'LimitType' => [
+ 'description' => 'The type of traffic throttling. Valid values:'."\n"
+ ."\n"
+ .'* **Absolute**: throttles traffic based on a specific range of bandwidth.'."\n"
+ .'* **Percent**: throttles traffic based on a specific range of bandwidth percentage.'."\n",
+ 'type' => 'string',
+ 'example' => ' Absolute',
+ ],
+ 'Priority' => [
+ 'description' => 'The priority of the rule.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the traffic throttling rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'name',
+ ],
+ 'MinBandwidthPercent' => [
+ 'description' => 'The minimum bandwidth percentage.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'QosCarId' => [
+ 'description' => 'The ID of the traffic throttling rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'qos-awfxl1adxeqyk****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned on each page.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'B7B758A9-009E-4C9D-9618-714EAE8BA5E9',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidId.Qos',
+ 'errorMessage' => 'The specified QosId is invalid.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter',
+ 'errorMessage' => 'The specified parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 10,\\n \\"QosCars\\": {\\n \\"QosCar\\": [\\n {\\n \\"MaxBandwidthAbs\\": 6,\\n \\"PercentSourceType\\": \\"CcnBandwidth\\",\\n \\"MinBandwidthAbs\\": 2,\\n \\"MaxBandwidthPercent\\": 90,\\n \\"Description\\": \\"des\\",\\n \\"QosId\\": \\"qos-awfxl1adxeqyk****\\",\\n \\"LimitType\\": \\" Absolute\\",\\n \\"Priority\\": 3,\\n \\"Name\\": \\"name\\",\\n \\"MinBandwidthPercent\\": 20,\\n \\"QosCarId\\": \\"qos-awfxl1adxeqyk****\\"\\n }\\n ]\\n },\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"B7B758A9-009E-4C9D-9618-714EAE8BA5E9\\",\\n \\"PageNumber\\": 1\\n}","errorExample":""},{"type":"xml","example":"<DescribeQosCarsResponse>\\n <TotalCount>10</TotalCount>\\n <QosCars>\\n <MaxBandwidthAbs>6</MaxBandwidthAbs>\\n <PercentSourceType>CcnBandwidth</PercentSourceType>\\n <MinBandwidthAbs>2</MinBandwidthAbs>\\n <MaxBandwidthPercent>90</MaxBandwidthPercent>\\n <Description>des</Description>\\n <QosId>qos-awfxl1adxeqyk****</QosId>\\n <LimitType> Absolute</LimitType>\\n <Priority>3</Priority>\\n <Name>name</Name>\\n <MinBandwidthPercent>20</MinBandwidthPercent>\\n <QosCarId>qos-awfxl1adxeqyk****</QosCarId>\\n </QosCars>\\n <PageSize>10</PageSize>\\n <RequestId>B7B758A9-009E-4C9D-9618-714EAE8BA5E9</RequestId>\\n <PageNumber>1</PageNumber>\\n</DescribeQosCarsResponse>","errorExample":""}]',
+ 'title' => 'DescribeQosCars',
+ 'summary' => 'Queries traffic throttling rules of a quality of service (QoS) policy.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateQosPolicy' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the traffic classification rule.'."\n"
+ ."\n"
+ .'The description must be 1 to 512 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). It must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'desctest',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the QoS policy belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'QosId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the QoS policy.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'qos-xitd8690ucu8ro****',
+ ],
+ ],
+ [
+ 'name' => 'Priority',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The priority of the traffic throttling policy to which the traffic classification rule belongs.'."\n"
+ ."\n"
+ .'Valid values: **1 to 3**. A smaller value indicates a higher priority.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '3',
+ ],
+ ],
+ [
+ 'name' => 'SourceCidr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The source CIDR block.'."\n"
+ ."\n"
+ .'Specify the value of this parameter in CIDR notation. Example: 192.168.1.0/24.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '10.10.10.0/24',
+ ],
+ ],
+ [
+ 'name' => 'DestCidr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The destination CIDR block.'."\n"
+ ."\n"
+ .'Specify the value of this parameter in CIDR notation. Example: 192.168.10.0/24.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '10.10.20.0/24',
+ ],
+ ],
+ [
+ 'name' => 'IpProtocol',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the protocol that applies to the traffic classification rule.'."\n"
+ ."\n"
+ .'The supported protocols provided in this topic are for reference only. The actual protocols in the console shall prevail.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'TCP',
+ ],
+ ],
+ [
+ 'name' => 'SourcePortRange',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The source port range.'."\n"
+ ."\n"
+ .'Valid values: **1** to **65535** and **-1**.'."\n"
+ ."\n"
+ .'Examples:'."\n"
+ ."\n"
+ .'* **1/200**: a port range from 1 to 200'."\n"
+ .'* **80/80**: port 80'."\n"
+ .'* **-1/-1**: all ports'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '80/80',
+ ],
+ ],
+ [
+ 'name' => 'DestPortRange',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The destination port range.'."\n"
+ ."\n"
+ .'Valid values: **1** to **65535** and **-1**.'."\n"
+ ."\n"
+ .'Examples:'."\n"
+ ."\n"
+ .'* **1/200**: a port range from 1 to 200'."\n"
+ .'* **80/80**: port 80'."\n"
+ .'* **-1/-1**: all ports'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => '80/80',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The time when the traffic classification rule takes effect.'."\n"
+ ."\n"
+ .'Specify the time in the ISO 8601 standard in the `YYYY-MM-DDThh:mm:ss+0800` format. The time must be in UTC+8.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2022-07-14T16:41:33+0800',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The time when the traffic classification rule expires.'."\n"
+ ."\n"
+ .'Specify the time in the ISO 8601 standard in the `YYYY-MM-DDThh:mm:ss+0800` format. The time must be in UTC+8.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2022-09-14T16:41:33+0800',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the traffic classification rule.'."\n"
+ ."\n"
+ .'The name must be 2 to 100 characters in length, and can contain letters, digits, underscores (\\_), and hyphens (-). It must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'nametest',
+ ],
+ ],
+ [
+ 'name' => 'DpiSignatureIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the application.'."\n"
+ ."\n"
+ .'You can enter at most 100 application IDs at a time.'."\n"
+ ."\n"
+ .'You can call the [ListDpiSignatures](~~196630~~) operation to query application IDs and information about the applications.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ 'required' => false,
+ 'example' => '1',
+ 'maxItems' => 100,
+ ],
+ ],
+ [
+ 'name' => 'DpiGroupIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the application group.'."\n"
+ ."\n"
+ .'You can enter at most 100 application group IDs at a time.'."\n"
+ ."\n"
+ .'You can call the [ListDpiGroups](~~196754~~) operation to query application group IDs and information about the applications.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '20',
+ ],
+ 'required' => false,
+ 'example' => '20',
+ 'maxItems' => 100,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Description' => [
+ 'description' => 'The description of the traffic classification rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'desctest',
+ ],
+ 'EndTime' => [
+ 'description' => 'The time when the traffic classification rule expires.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-09-14T16:41:33+0800',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '97862812-2C7E-4D25-B0D5-B26DAC7FA293',
+ ],
+ 'QosPolicyId' => [
+ 'description' => 'The ID of the traffic classification rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'qospy-xhwhyuo43l********',
+ ],
+ 'SourcePortRange' => [
+ 'description' => 'The source port range.'."\n",
+ 'type' => 'string',
+ 'example' => '80/80',
+ ],
+ 'SourceCidr' => [
+ 'description' => 'The source CIDR block.'."\n",
+ 'type' => 'string',
+ 'example' => '10.10.10.0/24',
+ ],
+ 'Priority' => [
+ 'description' => 'The priority of the traffic throttling policy to which the traffic classification rule belongs.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '3',
+ ],
+ 'StartTime' => [
+ 'description' => 'The time when the traffic classification rule takes effect.'."\n",
+ 'type' => 'string',
+ 'example' => '2022-07-14T16:41:33+0800',
+ ],
+ 'DestPortRange' => [
+ 'description' => 'The destination port range.'."\n",
+ 'type' => 'string',
+ 'example' => '80/80',
+ ],
+ 'DpiGroupIds' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DpiGroupId' => [
+ 'description' => 'The ID of the application group.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '20',
+ ],
+ ],
+ ],
+ ],
+ 'Name' => [
+ 'description' => 'The name of the traffic classification rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'nametest',
+ ],
+ 'DestCidr' => [
+ 'description' => 'The destination CIDR block.'."\n",
+ 'type' => 'string',
+ 'example' => '10.10.10.0/24',
+ ],
+ 'DpiSignatureIds' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DpiSignatureId' => [
+ 'description' => 'The IDs of applications.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ 'QosId' => [
+ 'description' => 'The ID of the QoS policy.'."\n",
+ 'type' => 'string',
+ 'example' => 'qos-xitd8690ucu8ro****',
+ ],
+ 'IpProtocol' => [
+ 'description' => 'The protocol that applies to the traffic classification rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'TCP',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'NotSupportedProtocol',
+ 'errorMessage' => 'The specified protocol of the QoS policy is not supported.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.Qos',
+ 'errorMessage' => 'The specified QosId is invalid.',
+ ],
+ [
+ 'errorCode' => 'QosPolicyPerQosAmountLimit',
+ 'errorMessage' => 'The maximum number of policies in a QoS is exceeded. You can submit a ticket to increase the quota.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.RegionId',
+ 'errorMessage' => 'You must specify RegionId.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.QosId',
+ 'errorMessage' => 'You must specify QosId.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.QosPolicyId',
+ 'errorMessage' => 'You must specify QosPolicyId.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Priority',
+ 'errorMessage' => 'The specified Priority is invalid.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.SourceCidr',
+ 'errorMessage' => 'You must specify SourceCidr.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.SourcePortRange',
+ 'errorMessage' => 'You must specify SourcePortRange.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.DestCidr',
+ 'errorMessage' => 'You must specify DestCidr.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.DestPortRange',
+ 'errorMessage' => 'You must specify DestPortRange.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.IpProtocol',
+ 'errorMessage' => 'You must specify IpProtocol.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Description',
+ 'errorMessage' => 'The specified Description is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.DestCidr',
+ 'errorMessage' => 'The specified DestCidr is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.DestPortRange',
+ 'errorMessage' => 'The specified DestPortRange is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.SourceCidr',
+ 'errorMessage' => 'The specified SourceCidr is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.SourcePortRange',
+ 'errorMessage' => 'The specified SourcePortRange is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.StartTime',
+ 'errorMessage' => 'The specified StartTime is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.EndTime',
+ 'errorMessage' => 'The specified EndTime is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidTimeRangeCompare',
+ 'errorMessage' => 'The specified end time is earlier than the start time. Please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Name',
+ 'errorMessage' => 'The specified Name is invalid.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ [
+ 'errorCode' => 'InvalidPortRange',
+ 'errorMessage' => 'The specified port range is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"Description\\": \\"desctest\\",\\n \\"EndTime\\": \\"2022-09-14T16:41:33+0800\\",\\n \\"RequestId\\": \\"97862812-2C7E-4D25-B0D5-B26DAC7FA293\\",\\n \\"QosPolicyId\\": \\"qospy-xhwhyuo43l********\\",\\n \\"SourcePortRange\\": \\"80/80\\",\\n \\"SourceCidr\\": \\"10.10.10.0/24\\",\\n \\"Priority\\": 3,\\n \\"StartTime\\": \\"2022-07-14T16:41:33+0800\\",\\n \\"DestPortRange\\": \\"80/80\\",\\n \\"DpiGroupIds\\": {\\n \\"DpiGroupId\\": [\\n \\"20\\"\\n ]\\n },\\n \\"Name\\": \\"nametest\\",\\n \\"DestCidr\\": \\"10.10.10.0/24\\",\\n \\"DpiSignatureIds\\": {\\n \\"DpiSignatureId\\": [\\n \\"1\\"\\n ]\\n },\\n \\"QosId\\": \\"qos-xitd8690ucu8ro****\\",\\n \\"IpProtocol\\": \\"TCP\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateQosPolicyResponse>\\n <Description>desctest</Description>\\n <EndTime>2022-09-14T16:41:33+0800</EndTime>\\n <RequestId>97862812-2C7E-4D25-B0D5-B26DAC7FA293</RequestId>\\n <QosPolicyId>qospy-xhwhyuo43l********</QosPolicyId>\\n <SourcePortRange>80/80</SourcePortRange>\\n <SourceCidr>10.10.10.0/24</SourceCidr>\\n <Priority>3</Priority>\\n <StartTime>2022-07-14T16:41:33+0800</StartTime>\\n <DestPortRange>80/80</DestPortRange>\\n <DpiGroupIds>20</DpiGroupIds>\\n <Name>nametest</Name>\\n <DestCidr>10.10.10.0/24</DestCidr>\\n <DpiSignatureIds>1</DpiSignatureIds>\\n <QosId>qos-xitd8690ucu8ro****</QosId>\\n <IpProtocol>TCP</IpProtocol>\\n</CreateQosPolicyResponse>","errorExample":""}]',
+ 'title' => 'CreateQosPolicy',
+ 'summary' => 'Creates a traffic classification rule for a quality of service (QoS) policy.',
+ 'description' => '## Prerequisites'."\n"
+ ."\n"
+ .'A traffic throttling rule is created. For more information, see [CreateQosCar](~~131806~~).',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteQosPolicy' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the QoS policy belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'QosId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the QoS policy.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'qos-xitd8690ucu8ro****',
+ ],
+ ],
+ [
+ 'name' => 'QosPolicyId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the quintuple rule.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'qospy-xhwhyuo43l****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '551CD836-9E46-4F2C-A167-B4363180A647',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MissParameter.RegionId',
+ 'errorMessage' => 'You must specify RegionId.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.QosId',
+ 'errorMessage' => 'You must specify QosId.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.QosPolicyId',
+ 'errorMessage' => 'You must specify QosPolicyId.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.Qos',
+ 'errorMessage' => 'The specified QosId is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.QOSPY',
+ 'errorMessage' => 'The specified QosPolicyId is invalid.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"551CD836-9E46-4F2C-A167-B4363180A647\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n <DeleteQosPolicyResponse>\\r\\n\\t<RequestId>551CD836-9E46-4F2C-A167-B4363180A647</RequestId>\\r\\n </DeleteQosPolicyResponse>","errorExample":""}]',
+ 'title' => 'DeleteQosPolicy',
+ 'summary' => 'Deletes a quintuple rule of a Quality of Service (QoS) policy.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifyQosPolicy' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the QoS policy belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'QosId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the QoS policy.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'qos-xitd8690ucu8ro****',
+ ],
+ ],
+ [
+ 'name' => 'QosPolicyId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the traffic classification rule.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'qospy-427m9fo6wkh****',
+ ],
+ ],
+ [
+ 'name' => 'Priority',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The priority of the traffic throttling policy to which the traffic classification rule belongs.'."\n"
+ ."\n"
+ .'Valid values: **1 to 3**. A smaller value indicates a higher priority.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '3',
+ ],
+ ],
+ [
+ 'name' => 'SourceCidr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The range of the source IP addresses.'."\n"
+ ."\n"
+ .'Specify the value of this parameter in CIDR notation. Example: 192.168.1.0/24.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '10.10.10.0/24',
+ ],
+ ],
+ [
+ 'name' => 'DestCidr',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The range of the destination IP addresses.'."\n"
+ ."\n"
+ .'Specify the value of this parameter in CIDR notation. Example: 192.168.10.0/24.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '10.10.20.0/24',
+ ],
+ ],
+ [
+ 'name' => 'IpProtocol',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the protocol that applies to the traffic classification rule.'."\n"
+ ."\n"
+ .'The supported protocols provided in this topic are for reference only. The actual protocols in the console shall prevail.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'TCP',
+ ],
+ ],
+ [
+ 'name' => 'SourcePortRange',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The range of source ports.'."\n"
+ ."\n"
+ .'Valid values: **1** to **65535** and **-1**.'."\n"
+ ."\n"
+ .'Set this parameter in one of the following formats:'."\n"
+ ."\n"
+ .'* **1/200**: a port range from 1 to 200'."\n"
+ .'* **80/80**: port 80'."\n"
+ .'* **-1/-1**: all ports'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1/200',
+ ],
+ ],
+ [
+ 'name' => 'DestPortRange',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The range of destination ports.'."\n"
+ ."\n"
+ .'Valid values: **1** to **65535** and **-1**.'."\n"
+ ."\n"
+ .'Set this parameter in one of the following formats:'."\n"
+ ."\n"
+ .'* **1/200**: port 1 to port 200'."\n"
+ .'* **80/80**: port 80'."\n"
+ .'* **-1/-1**: all ports'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '300/400',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The time when the traffic classification rule takes effect.'."\n"
+ ."\n"
+ .'Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss+0800 format. The time must be in UTC+8.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2019-07-14T16:41:33+0800',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The time when the traffic classification rule becomes invalid.'."\n"
+ ."\n"
+ .'Specify the time in the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss+0800 format. The time must be in UTC+8.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2019-09-14T16:41:33+0800',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the traffic classification rule.'."\n"
+ ."\n"
+ .'The description must be 1 to 512 characters in length, and can contain digits, underscores (\\_), and hyphens (-). It must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'desctest',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the traffic classification rule.'."\n"
+ ."\n"
+ .'The name must be 2 to 100 characters in length, and can contain digits, underscores (\\_), and hyphens (-). It must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'nametest',
+ ],
+ ],
+ [
+ 'name' => 'DpiSignatureIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the application.'."\n"
+ ."\n"
+ .'You can enter at most 100 application IDs at a time.'."\n"
+ ."\n"
+ .'You can call the [ListDpiSignatures](~~196630~~) operation to query application IDs and information about the applications.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ 'required' => false,
+ 'example' => '1',
+ 'maxItems' => 100,
+ ],
+ ],
+ [
+ 'name' => 'DpiGroupIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the application group.'."\n"
+ ."\n"
+ .'You can enter at most 100 application group IDs at a time.'."\n"
+ ."\n"
+ .'You can call the [ListDpiGroups](~~196754~~) operation to query application group IDs and information about the applications.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '20',
+ ],
+ 'required' => false,
+ 'example' => '20',
+ 'maxItems' => 100,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '551CD836-9E46-4F2C-A167-B4363180A647',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MissParameter.RegionId',
+ 'errorMessage' => 'You must specify RegionId.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.QosId',
+ 'errorMessage' => 'You must specify QosId.',
+ ],
+ [
+ 'errorCode' => 'MissParameter.QosPolicyId',
+ 'errorMessage' => 'You must specify QosPolicyId.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Description',
+ 'errorMessage' => 'The specified Description is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Priority',
+ 'errorMessage' => 'The specified Priority is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.SourcePortRange',
+ 'errorMessage' => 'The specified SourcePortRange is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.DestCidr',
+ 'errorMessage' => 'The specified DestCidr is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.DestPortRange',
+ 'errorMessage' => 'The specified DestPortRange is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.SourceCidr',
+ 'errorMessage' => 'The specified SourceCidr is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.StartTime',
+ 'errorMessage' => 'The specified StartTime is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.EndTime',
+ 'errorMessage' => 'The specified EndTime is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidTimeRangeCompare',
+ 'errorMessage' => 'The specified end time is earlier than the start time. Please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.QOSPY',
+ 'errorMessage' => 'The specified QosPolicyId is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidId.Qos',
+ 'errorMessage' => 'The specified QosId is invalid.',
+ ],
+ [
+ 'errorCode' => 'NotSupportedProtocol',
+ 'errorMessage' => 'The specified protocol of the QoS policy is not supported.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Name',
+ 'errorMessage' => 'The specified Name is invalid.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ [
+ 'errorCode' => 'InvalidPortRange',
+ 'errorMessage' => 'The specified port range is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"551CD836-9E46-4F2C-A167-B4363180A647\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyQosPolicyRespon>\\r\\n<RequestId>551CD836-9E46-4F2C-A167-B4363180A647</RequestId>\\r\\n</ModifyQosPolicyRespon>","errorExample":""}]',
+ 'title' => 'ModifyQosPolicy',
+ 'summary' => 'Modifies a traffic classification rule of a quality of service (QoS) policy.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeQosPolicies' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the QoS policy belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'QosId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the QoS policy.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'qos-xitd8690ucu8ro****',
+ ],
+ ],
+ [
+ 'name' => 'QosPolicyId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the 5-tuple.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'qospy-427m9fo6wkh****',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the 5-tuple.'."\n"
+ ."\n"
+ .'The description must be 1 to 512 characters in length, and can contain digits, underscores (\\_), and hyphens (-). It must start with a letter.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'docdesc',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page.'."\n"
+ ."\n"
+ .'Default value: **10**. A maximum of **50** entries can be returned on each page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ [
+ 'name' => 'Priority',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The priority of the traffic throttling rule that is applied to the 5-tuple.'."\n"
+ ."\n"
+ .'Valid values: **1 to 3**. A smaller value indicates a higher priority.'."\n"
+ ."\n"
+ .'> If you have submitted a ticket and created a QoS policy with the priority value 4 by calling the [CreateQosPolicy](~~131575~~) operation, you can set the value to 4.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'QosPolicies' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'QosPolicy' => [
+ 'description' => 'The details about the 5-tuple.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'DpiSignatureIds' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DpiSignatureId' => [
+ 'description' => 'The IDs of applications.'."\n"
+ ."\n"
+ .'You can call the [ListDpiSignatures](~~196630~~) operation to query application IDs and information about the applications.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ 'IpProtocol' => [
+ 'description' => 'The type of the protocol that is applied to the 5-tuple.'."\n",
+ 'type' => 'string',
+ 'example' => 'TCP',
+ ],
+ 'QosId' => [
+ 'description' => 'The ID of the QoS policy.'."\n",
+ 'type' => 'string',
+ 'example' => 'qos-xitd8690ucu8ro****',
+ ],
+ 'Priority' => [
+ 'description' => 'The priority of the traffic throttling rule that is applied to the 5-tuple.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'EndTime' => [
+ 'description' => 'The time when the 5-tuple stops taking effect.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-07-14T16:41:33+0800',
+ ],
+ 'StartTime' => [
+ 'description' => 'The time when the 5-tuple starts to take effect.'."\n",
+ 'type' => 'string',
+ 'example' => '2019-07-14T16:41:33+0800',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the 5-tuple.'."\n",
+ 'type' => 'string',
+ 'example' => 'docdesc',
+ ],
+ 'DestCidr' => [
+ 'description' => 'The destination CIDR block.'."\n",
+ 'type' => 'string',
+ 'example' => '10.10.10.0/24',
+ ],
+ 'DestPortRange' => [
+ 'description' => 'The destination port range.'."\n",
+ 'type' => 'string',
+ 'example' => '90/90',
+ ],
+ 'QosPolicyId' => [
+ 'description' => 'The ID of the 5-tuple.'."\n",
+ 'type' => 'string',
+ 'example' => 'qospy-427m9fo6wkh****',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the 5-tuple.'."\n",
+ 'type' => 'string',
+ 'example' => 'test',
+ ],
+ 'SourceCidr' => [
+ 'description' => 'The range of the source IP addresses.'."\n",
+ 'type' => 'string',
+ 'example' => '10.0.0.0/24',
+ ],
+ 'SourcePortRange' => [
+ 'description' => 'The range of the source port.'."\n",
+ 'type' => 'string',
+ 'example' => '80/80',
+ ],
+ 'DpiGroupIds' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'DpiGroupId' => [
+ 'description' => 'The ID of the application group.'."\n"
+ ."\n"
+ .'You can call the [ListDpiGroups](~~196754~~) operation to query application group IDs and information about the applications.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '20',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'TotalCount' => [
+ 'description' => 'The total number of entries returned.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '97862812-2C7E-4D25-B0D5-B26DAC7FA293',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidId.Qos',
+ 'errorMessage' => 'The specified QosId is invalid.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter',
+ 'errorMessage' => 'The specified parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"QosPolicies\\": {\\n \\"QosPolicy\\": [\\n {\\n \\"DpiSignatureIds\\": {\\n \\"DpiSignatureId\\": [\\n \\"1\\"\\n ]\\n },\\n \\"IpProtocol\\": \\"TCP\\",\\n \\"QosId\\": \\"qos-xitd8690ucu8ro****\\",\\n \\"Priority\\": 1,\\n \\"EndTime\\": \\"2019-07-14T16:41:33+0800\\",\\n \\"StartTime\\": \\"2019-07-14T16:41:33+0800\\",\\n \\"Description\\": \\"docdesc\\",\\n \\"DestCidr\\": \\"10.10.10.0/24\\",\\n \\"DestPortRange\\": \\"90/90\\",\\n \\"QosPolicyId\\": \\"qospy-427m9fo6wkh****\\",\\n \\"Name\\": \\"test\\",\\n \\"SourceCidr\\": \\"10.0.0.0/24\\",\\n \\"SourcePortRange\\": \\"80/80\\",\\n \\"DpiGroupIds\\": {\\n \\"DpiGroupId\\": [\\n \\"20\\"\\n ]\\n }\\n }\\n ]\\n },\\n \\"TotalCount\\": 2,\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"97862812-2C7E-4D25-B0D5-B26DAC7FA293\\",\\n \\"PageNumber\\": 1\\n}","errorExample":""},{"type":"xml","example":"<DescribeQosPoliciesResponse>\\n <QosPolicies>\\n <DpiSignatureIds>1</DpiSignatureIds>\\n <IpProtocol>TCP</IpProtocol>\\n <QosId>qos-xitd8690ucu8ro****</QosId>\\n <Priority>1</Priority>\\n <EndTime>2019-07-14T16:41:33+0800</EndTime>\\n <StartTime>2019-07-14T16:41:33+0800</StartTime>\\n <Description>docdesc</Description>\\n <DestCidr>10.10.10.0/24</DestCidr>\\n <DestPortRange>90/90</DestPortRange>\\n <QosPolicyId>qospy-427m9fo6wkh****</QosPolicyId>\\n <Name>test</Name>\\n <SourceCidr>10.0.0.0/24</SourceCidr>\\n <SourcePortRange>80/80</SourcePortRange>\\n <DpiGroupIds>20</DpiGroupIds>\\n </QosPolicies>\\n <TotalCount>2</TotalCount>\\n <PageSize>10</PageSize>\\n <RequestId>97862812-2C7E-4D25-B0D5-B26DAC7FA293</RequestId>\\n <PageNumber>1</PageNumber>\\n</DescribeQosPoliciesResponse>","errorExample":""}]',
+ 'title' => 'DescribeQosPolicies',
+ 'summary' => 'Queries quality of service (QoS) rules that contain 5-tuples.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'CreateFlowLog' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'create',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the flow log belongs.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the flow log.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the flow log.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => 'sag-flowlog-1',
+ ],
+ ],
+ [
+ 'name' => 'ActiveAging',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The output interval under active connections. Valid values: **60 to 6000**. Unit: seconds. Default value: **300**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '300',
+ ],
+ ],
+ [
+ 'name' => 'InactiveAging',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The output interval under inactive connections. Valid values: **10 to 600**. Unit: seconds. Default value: **15**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => '15',
+ ],
+ ],
+ [
+ 'name' => 'OutputType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the flow log. Valid values:'."\n"
+ ."\n"
+ .'* **sls**: The flow log is stored in Log Service.'."\n"
+ .'* **netflow**: The flow log is stored on a NetFlow collector.'."\n"
+ .'* **all**: The flow log is stored both in Log Service and on a NetFlow collector.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'all',
+ ],
+ ],
+ [
+ 'name' => 'SlsRegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where Log Service is deployed.'."\n"
+ ."\n"
+ .'If OutputType is set to **sls** or **all**, this parameter is required.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'ProjectName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The project in Log Service.'."\n"
+ ."\n"
+ .'If OutputType is set to **sls** or **all**, this parameter is required.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => 'sag-flowlog-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'LogstoreName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The Logstore in Log Service.'."\n"
+ ."\n"
+ .'If OutputType is set to **sls** or **all**, this parameter is required.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => 'config-operation-log',
+ ],
+ ],
+ [
+ 'name' => 'NetflowServerIp',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address of the NetFlow collector where the flow log is stored.'."\n"
+ ."\n"
+ .'If OutputType is set to **netflow** or **all**, this parameter is required.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => '192.168.0.2',
+ ],
+ ],
+ [
+ 'name' => 'NetflowServerPort',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The port number of the NetFlow collector where the flow log is stored. Default value: **9995**.'."\n"
+ ."\n"
+ .'If OutputType is set to **netflow** or **all**, this parameter is required.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => '9995',
+ ],
+ ],
+ [
+ 'name' => 'NetflowVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version of the NetFlow collector where the flow log is stored. Valid values: **V5**, **V9**, and **V10**. Default value: **V9**.'."\n"
+ ."\n"
+ .'If OutputType is set to **netflow** or **all**, this parameter is required.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => 'V9',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '650CB9E8-20F3-4538-A4FC-1DA1B36E42D9',
+ ],
+ 'FlowLogId' => [
+ 'description' => 'The ID of the flow log.'."\n",
+ 'type' => 'string',
+ 'example' => 'fl-7a56mar1kfw9vj****',
+ ],
+ 'ResourceGroupId' => [
+ 'description' => 'The ID of the resource group to which the flow log belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'rg-acfm2iu4f****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'DependencyViolation.FlowLog',
+ 'errorMessage' => 'This FlowLog instance is bound to an SAG instance.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.FlowLog',
+ 'errorMessage' => 'The current FlowLog instance status does not support this operation.',
+ ],
+ [
+ 'errorCode' => 'InvalidFlowLogId.NotFound',
+ 'errorMessage' => 'The specified FlowLogId does not exist.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.FlowLogId',
+ 'errorMessage' => 'Specify the FlowLogId parameter.',
+ ],
+ [
+ 'errorCode' => 'OperationFailed.AssociateFlowLog',
+ 'errorMessage' => 'The operation failed. The specified SAG instance has already been associated with another FlowLog instance.',
+ ],
+ [
+ 'errorCode' => 'OperationUnsupported.AssociateFlowLog',
+ 'errorMessage' => 'You cannot bind the SAG device of the current version or model to a FlowLog instance.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded.Flowlog',
+ 'errorMessage' => 'The maximum number of FlowLog instances is exceeded.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.LogstoreName',
+ 'errorMessage' => 'Specify the LogstoreName parameter.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.NetflowServerIp',
+ 'errorMessage' => 'Specify the NetflowServerIp parameter.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.NetflowServerPort',
+ 'errorMessage' => 'Specify the NetflowServerPort parameter.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.NetflowVersion',
+ 'errorMessage' => 'Specify the NetflowVersion parameter.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.ProjectName',
+ 'errorMessage' => 'Specify the ProjectName parameter.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.SlsRegionId',
+ 'errorMessage' => 'Specify the SlsRegionId parameter.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.ActiveAging',
+ 'errorMessage' => 'The specified ActiveAging is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.InactiveAging',
+ 'errorMessage' => 'The specified InactiveAging is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowServerIp',
+ 'errorMessage' => 'The specified NetflowServerIp is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowServerPort',
+ 'errorMessage' => 'The specified NetflowServerPort is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowVersion',
+ 'errorMessage' => 'The specified NetflowVersion is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.OutputType',
+ 'errorMessage' => 'The specified OutputType is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.RegionId',
+ 'errorMessage' => 'The specified RegionId is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.SlsRegionId',
+ 'errorMessage' => 'The specified SlsRegionId is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.Status',
+ 'errorMessage' => 'The specified Status parameter is invalid.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"650CB9E8-20F3-4538-A4FC-1DA1B36E42D9\\",\\n \\"FlowLogId\\": \\"fl-7a56mar1kfw9vj****\\",\\n \\"ResourceGroupId\\": \\"rg-acfm2iu4f****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateFlowLogResponse>\\n <RequestId>650CB9E8-20F3-4538-A4FC-1DA1B36E42D9</RequestId>\\n <FlowLogId>fl-7a56mar1kfw9vj****</FlowLogId>\\n <ResourceGroupId>rg-acfm2iu4f****</ResourceGroupId>\\n</CreateFlowLogResponse>","errorExample":""}]',
+ 'title' => 'CreateFlowLog',
+ 'summary' => 'Creates a flow log.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteFlowLog' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the flow log belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'FlowLogId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the flow log.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'fl-7a56mar1kfw9vj****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'B05AF87C-0FE5-42D7-BEA3-665D90FAA71D',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'DependencyViolation.FlowLog',
+ 'errorMessage' => 'This FlowLog instance is bound to an SAG instance.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.FlowLog',
+ 'errorMessage' => 'The current FlowLog instance status does not support this operation.',
+ ],
+ [
+ 'errorCode' => 'InvalidFlowLogId.NotFound',
+ 'errorMessage' => 'The specified FlowLogId does not exist.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.FlowLogId',
+ 'errorMessage' => 'Specify the FlowLogId parameter.',
+ ],
+ [
+ 'errorCode' => 'OperationFailed.AssociateFlowLog',
+ 'errorMessage' => 'The operation failed. The specified SAG instance has already been associated with another FlowLog instance.',
+ ],
+ [
+ 'errorCode' => 'OperationUnsupported.AssociateFlowLog',
+ 'errorMessage' => 'You cannot bind the SAG device of the current version or model to a FlowLog instance.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded.Flowlog',
+ 'errorMessage' => 'The maximum number of FlowLog instances is exceeded.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.LogstoreName',
+ 'errorMessage' => 'Specify the LogstoreName parameter.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.NetflowServerIp',
+ 'errorMessage' => 'Specify the NetflowServerIp parameter.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.NetflowServerPort',
+ 'errorMessage' => 'Specify the NetflowServerPort parameter.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.NetflowVersion',
+ 'errorMessage' => 'Specify the NetflowVersion parameter.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.ProjectName',
+ 'errorMessage' => 'Specify the ProjectName parameter.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.SlsRegionId',
+ 'errorMessage' => 'Specify the SlsRegionId parameter.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.ActiveAging',
+ 'errorMessage' => 'The specified ActiveAging is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.InactiveAging',
+ 'errorMessage' => 'The specified InactiveAging is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowServerIp',
+ 'errorMessage' => 'The specified NetflowServerIp is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowServerPort',
+ 'errorMessage' => 'The specified NetflowServerPort is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowVersion',
+ 'errorMessage' => 'The specified NetflowVersion is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.OutputType',
+ 'errorMessage' => 'The specified OutputType is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.RegionId',
+ 'errorMessage' => 'The specified RegionId is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.SlsRegionId',
+ 'errorMessage' => 'The specified SlsRegionId is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.Status',
+ 'errorMessage' => 'The specified Status parameter is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B05AF87C-0FE5-42D7-BEA3-665D90FAA71D\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n\\t<DeleteFlowLogResponse>\\r\\n <RequestId>B05AF87C-0FE5-42D7-BEA3-665D90FAA71D</RequestId>\\r\\n\\t</DeleteFlowLogResponse>","errorExample":""}]',
+ 'title' => 'DeleteFlowLog',
+ 'summary' => 'Deletes a flow log.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ModifyFlowLogAttribute' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'update',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the flow log is deployed.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the flow log.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '',
+ ],
+ ],
+ [
+ 'name' => 'Name',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the flow log.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'DDE',
+ ],
+ ],
+ [
+ 'name' => 'ActiveAging',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The interval at which log data of active network connections is collected. Default value: **300**. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '300',
+ ],
+ ],
+ [
+ 'name' => 'InactiveAging',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The interval at which log data of inactive network connections is collected. Default value: **15**. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '15',
+ ],
+ ],
+ [
+ 'name' => 'OutputType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The location where the flow log is stored. Valid values:'."\n"
+ ."\n"
+ .'* **sls**: The flow log is stored in Log Service.'."\n"
+ .'* **netflow**: The flow log is stored on a NetFlow collector.'."\n"
+ .'* **all**: The flow log is stored both in Log Service and on a NetFlow collector.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'sls',
+ ],
+ ],
+ [
+ 'name' => 'SlsRegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where Log Service is deployed. This parameter is required when OutputType is set to **sls**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'ProjectName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The project to which the Logstore of Log Service belongs. This parameter is required when OutputType is set to **sls**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'ddrrgt',
+ ],
+ ],
+ [
+ 'name' => 'LogstoreName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The Logstore of Log Service. This parameter is required when OutputType is set to **sls**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'ssfghgh',
+ ],
+ ],
+ [
+ 'name' => 'NetflowServerIp',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The IP address of the NetFlow collector where the flow log is stored. This parameter is required when OutputType is set to **netflow**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '192.168.0.2',
+ ],
+ ],
+ [
+ 'name' => 'NetflowServerPort',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The port of the NetFlow collector. Default value: **9995**. This parameter is required when OutputType is set to **netflow**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => '9995',
+ ],
+ ],
+ [
+ 'name' => 'NetflowVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The NetFlow version. Valid values: **V5**, **V9**, and **V10**. Default value: **V9**. This parameter is required when OutputType is set to **netflow**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'V9',
+ ],
+ ],
+ [
+ 'name' => 'FlowLogId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the flow log.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'fl-7a56mar1kfw9vj****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'AAC70A63-1A2E-4857-9CA3-5DE5B4041D1E',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'DependencyViolation.FlowLog',
+ 'errorMessage' => 'This FlowLog instance is bound to an SAG instance.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.FlowLog',
+ 'errorMessage' => 'The current FlowLog instance status does not support this operation.',
+ ],
+ [
+ 'errorCode' => 'InvalidFlowLogId.NotFound',
+ 'errorMessage' => 'The specified FlowLogId does not exist.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.FlowLogId',
+ 'errorMessage' => 'Specify the FlowLogId parameter.',
+ ],
+ [
+ 'errorCode' => 'OperationFailed.AssociateFlowLog',
+ 'errorMessage' => 'The operation failed. The specified SAG instance has already been associated with another FlowLog instance.',
+ ],
+ [
+ 'errorCode' => 'OperationUnsupported.AssociateFlowLog',
+ 'errorMessage' => 'You cannot bind the SAG device of the current version or model to a FlowLog instance.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded.Flowlog',
+ 'errorMessage' => 'The maximum number of FlowLog instances is exceeded.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.ActiveAging',
+ 'errorMessage' => 'The specified ActiveAging is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.InactiveAging',
+ 'errorMessage' => 'The specified InactiveAging is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.OutputType',
+ 'errorMessage' => 'The specified OutputType is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowServerIp',
+ 'errorMessage' => 'The specified NetflowServerIp is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowServerPort',
+ 'errorMessage' => 'The specified NetflowServerPort is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowVersion',
+ 'errorMessage' => 'The specified NetflowVersion is invalid.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.NetflowServerIp',
+ 'errorMessage' => 'Specify the NetflowServerIp parameter.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.NetflowServerPort',
+ 'errorMessage' => 'Specify the NetflowServerPort parameter.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.NetflowVersion',
+ 'errorMessage' => 'Specify the NetflowVersion parameter.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.SlsRegionId',
+ 'errorMessage' => 'The specified SlsRegionId is invalid.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.SlsRegionId',
+ 'errorMessage' => 'Specify the SlsRegionId parameter.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.RegionId',
+ 'errorMessage' => 'The specified RegionId is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.Status',
+ 'errorMessage' => 'The specified Status parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidSmartAGId.NotFound',
+ 'errorMessage' => 'The specified SmartAGId does not exist.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AAC70A63-1A2E-4857-9CA3-5DE5B4041D1E\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyFlowLogAttributeResponse>\\n <RequestId>AAC70A63-1A2E-4857-9CA3-5DE5B4041D1E</RequestId>\\n</ModifyFlowLogAttributeResponse>","errorExample":""}]',
+ 'title' => 'ModifyFlowLogAttribute',
+ 'summary' => 'Modifies the settings of a flow log.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeFlowLogs' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region that the flow logs are stored.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'FlowLogId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of a flow log.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => false,
+ 'example' => 'fl-7a56mar1kfw9vj****',
+ ],
+ ],
+ [
+ 'name' => 'FlowLogName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the flow log.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'DDE',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the flow log.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'desc',
+ ],
+ ],
+ [
+ 'name' => 'Status',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The status of the flow log. Valid values:'."\n"
+ ."\n"
+ .'* **Active**: The flow log is enabled.'."\n"
+ .'* **Inactive**: The flow log is disabled.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Active',
+ ],
+ ],
+ [
+ 'name' => 'OutputType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The location where the flow log is stored. Valid values:'."\n"
+ ."\n"
+ .'* **sls**: The flow log is stored in Log Service.'."\n"
+ .'* **netflow**: The flow log is stored on a NetFlow collector.'."\n"
+ .'* **all**: The flow log is stored both in Log Service and on a NetFlow collector.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'all',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return on each page. Default value: **10**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return. Default value: **1**.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => [
+ 'description' => 'The total number of flow logs.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ 'FlowLogs' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'FlowLogSetType' => [
+ 'description' => 'The list of flow logs.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'The status of the flow log. Valid values:'."\n"
+ ."\n"
+ .'* **Active**: The flow log is enabled.'."\n"
+ .'* **Inactive**: The flow log is disabled.'."\n",
+ 'type' => 'string',
+ 'example' => 'Active',
+ ],
+ 'TotalSagNum' => [
+ 'description' => 'The number of Smart Access gateway (SAG) instances with which the flow log is associated.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'NetflowServerIp' => [
+ 'description' => 'The address of the NetFlow collector where the flow log is stored.'."\n",
+ 'type' => 'string',
+ 'example' => '192.168.0.1',
+ ],
+ 'ProjectName' => [
+ 'description' => 'The name of the Log Service project.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-flowlog-shanghai',
+ ],
+ 'SlsRegionId' => [
+ 'description' => 'The ID of the region that the Log Service is deployed.'."\n",
+ 'type' => 'string',
+ 'example' => 'cn-shanghai',
+ ],
+ 'ActiveAging' => [
+ 'description' => 'The output interval under active connections. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '300',
+ ],
+ 'OutputType' => [
+ 'description' => 'The location where the flow log is stored. Valid values:'."\n"
+ ."\n"
+ .'* **sls**: The flow log is stored in Log Service.'."\n"
+ .'* **netflow**: The flow log is stored on a NetFlow collector.'."\n"
+ .'* **all**: The flow log is stored both in Log Service and on a NetFlow collector.'."\n",
+ 'type' => 'string',
+ 'example' => 'sls',
+ ],
+ 'Description' => [
+ 'description' => 'The description of the flow log.'."\n",
+ 'type' => 'string',
+ 'example' => 'aaa',
+ ],
+ 'NetflowVersion' => [
+ 'description' => 'The protocol version number of the NetFlow collector that stores the flow log. Default value: **V9**.'."\n",
+ 'type' => 'string',
+ 'example' => 'V9',
+ ],
+ 'InactiveAging' => [
+ 'description' => 'The output interval under inactive connections. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '15',
+ ],
+ 'NetflowServerPort' => [
+ 'description' => 'The port number of the NetFlow collector that stores the flow log. Default value: **9995**.'."\n",
+ 'type' => 'string',
+ 'example' => '9995',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the flow log.'."\n",
+ 'type' => 'string',
+ 'example' => 'DDE',
+ ],
+ 'FlowLogId' => [
+ 'description' => 'The ID of the flow log.'."\n",
+ 'type' => 'string',
+ 'example' => 'fl-7a56mar1kfw9vj****',
+ ],
+ 'LogstoreName' => [
+ 'description' => 'The name of the Logstore in Log Service.'."\n",
+ 'type' => 'string',
+ 'example' => 'config-operation-log',
+ ],
+ 'ResourceGroupId' => [
+ 'description' => 'The ID of the resource group to which the flow log belongs.'."\n",
+ 'type' => 'string',
+ 'example' => 'rg-acfm2iu4fnc****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries returned per page.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '44F4E2D0-77F7-4DEC-969B-061688946143',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The page number of the returned page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 5,\\n \\"FlowLogs\\": {\\n \\"FlowLogSetType\\": [\\n {\\n \\"Status\\": \\"Active\\",\\n \\"TotalSagNum\\": 2,\\n \\"NetflowServerIp\\": \\"192.168.0.1\\",\\n \\"ProjectName\\": \\"sag-flowlog-shanghai\\",\\n \\"SlsRegionId\\": \\"cn-shanghai\\",\\n \\"ActiveAging\\": 300,\\n \\"OutputType\\": \\"sls\\",\\n \\"Description\\": \\"aaa\\",\\n \\"NetflowVersion\\": \\"V9\\",\\n \\"InactiveAging\\": 15,\\n \\"NetflowServerPort\\": \\"9995\\",\\n \\"Name\\": \\"DDE\\",\\n \\"FlowLogId\\": \\"fl-7a56mar1kfw9vj****\\",\\n \\"LogstoreName\\": \\"config-operation-log\\",\\n \\"ResourceGroupId\\": \\"rg-acfm2iu4fnc****\\"\\n }\\n ]\\n },\\n \\"PageSize\\": 10,\\n \\"RequestId\\": \\"44F4E2D0-77F7-4DEC-969B-061688946143\\",\\n \\"PageNumber\\": 1\\n}","errorExample":""},{"type":"xml","example":"<DescribeFlowLogsResponse>\\n <TotalCount>1</TotalCount>\\n <FlowLogs>\\n <FlowLogSetType>\\n <Status>Active</Status>\\n <NetflowServerPort>9995</NetflowServerPort>\\n <LogstoreName>\\r\\nsag-shanghai</LogstoreName>\\n <ActiveAging>300</ActiveAging>\\n <ResourceGroupId>rg-acfm2iu4fnc****</ResourceGroupId>\\n <ProjectName>sag-flowlog-shanghai</ProjectName>\\n <NetflowVersion>V9</NetflowVersion>\\n <InactiveAging>15</InactiveAging>\\n <FlowLogId>fl-49u97c08z42n3f****</FlowLogId>\\n <Name>zxtest</Name>\\n <TotalSagNum>0</TotalSagNum>\\n <SlsRegionId>cn-shanghai</SlsRegionId>\\n <OutputType>sls</OutputType>\\n </FlowLogSetType>\\n </FlowLogs>\\n <PageSize>10</PageSize>\\n <RequestId>67D7003F-9D67-4935-9C47-10C5B3074028</RequestId>\\n <PageNumber>1</PageNumber>\\n</DescribeFlowLogsResponse>","errorExample":""}]',
+ 'title' => 'DescribeFlowLogs',
+ 'summary' => 'Queries flow logs in a specified region.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeFlowLogSags' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the flow log belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghahi',
+ ],
+ ],
+ [
+ 'name' => 'FlowLogId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the flow log.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'docRequired' => true,
+ 'example' => 'fl-l934tsa5504yuc****',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page in the case of a paged query result. Maximum value: **50**. Default value: **10**'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ 'default' => '10',
+ ],
+ ],
+ [
+ 'name' => 'PageNumber',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number of the SAG instance list. Minimum value: **1**. Default value: **1**'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ 'default' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'TotalCount' => [
+ 'description' => 'The total number of entries.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '35',
+ ],
+ 'PageSize' => [
+ 'description' => 'The number of entries on the current page.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '4',
+ ],
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '8D945945-85F2-4BD7-A144-7DC0E8B5A0DC',
+ ],
+ 'PageNumber' => [
+ 'description' => 'The current page number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ 'Sags' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Sag' => [
+ 'description' => 'The list of SAG instances.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Description' => [
+ 'description' => 'The description of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-100wm',
+ ],
+ 'SmartAGId' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-6rm1awijm3ktic****',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'ruijie-test-2',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'IllegalParam.ActiveAging',
+ 'errorMessage' => 'The specified ActiveAging is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.InactiveAging',
+ 'errorMessage' => 'The specified InactiveAging is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowServerIp',
+ 'errorMessage' => 'The specified NetflowServerIp is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowServerPort',
+ 'errorMessage' => 'The specified NetflowServerPort is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowVersion',
+ 'errorMessage' => 'The specified NetflowVersion is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.OutputType',
+ 'errorMessage' => 'The specified OutputType is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.RegionId',
+ 'errorMessage' => 'The specified RegionId is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.SlsRegionId',
+ 'errorMessage' => 'The specified SlsRegionId is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.Status',
+ 'errorMessage' => 'The specified Status parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'DependencyViolation.FlowLog',
+ 'errorMessage' => 'This FlowLog instance is bound to an SAG instance.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.FlowLog',
+ 'errorMessage' => 'The current FlowLog instance status does not support this operation.',
+ ],
+ [
+ 'errorCode' => 'InvalidFlowLogId.NotFound',
+ 'errorMessage' => 'The specified FlowLogId does not exist.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.FlowLogId',
+ 'errorMessage' => 'Specify the FlowLogId parameter.',
+ ],
+ [
+ 'errorCode' => 'OperationFailed.AssociateFlowLog',
+ 'errorMessage' => 'The operation failed. The specified SAG instance has already been associated with another FlowLog instance.',
+ ],
+ [
+ 'errorCode' => 'OperationUnsupported.AssociateFlowLog',
+ 'errorMessage' => 'You cannot bind the SAG device of the current version or model to a FlowLog instance.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded.Flowlog',
+ 'errorMessage' => 'The maximum number of FlowLog instances is exceeded.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 35,\\n \\"PageSize\\": 4,\\n \\"RequestId\\": \\"8D945945-85F2-4BD7-A144-7DC0E8B5A0DC\\",\\n \\"PageNumber\\": 1,\\n \\"Sags\\": {\\n \\"Sag\\": [\\n {\\n \\"Description\\": \\"sag-100wm\\",\\n \\"SmartAGId\\": \\"sag-6rm1awijm3ktic****\\",\\n \\"Name\\": \\"ruijie-test-2\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DescribeFlowLogSagsResponse>\\r\\n\\t<PageNumber>1</PageNumber>\\r\\n\\t<Sags>\\r\\n\\t\\t<Sag>\\r\\n\\t\\t\\t<Name>ruijie-test-2</Name>\\r\\n\\t\\t\\t<SmartAGId>sag-6rm1awijm3ktic****</SmartAGId>\\r\\n\\t\\t</Sag>\\r\\n\\t\\t<Sag>\\r\\n\\t\\t\\t<Name>zhanxiaolong</Name>\\r\\n\\t\\t\\t<SmartAGId>sag-ecvqa7bw8fxbdn****</SmartAGId>\\r\\n\\t\\t</Sag>\\r\\n\\t\\t<Sag>\\r\\n\\t\\t\\t<Name>ccn-e2e-cn-sh-0-0820-005408</Name>\\r\\n\\t\\t\\t<SmartAGId>sag-gn7m5v5bpjykne****</SmartAGId>\\r\\n\\t\\t</Sag>\\r\\n\\t\\t<Sag>\\r\\n\\t\\t\\t<Name>sag-sec-1b</Name>\\r\\n\\t\\t\\t<SmartAGId>sag-hk69hizmi21fy9****</SmartAGId>\\r\\n\\t\\t</Sag>\\r\\n\\t\\t<Sag>\\r\\n\\t\\t\\t<Name></Name>\\r\\n\\t\\t\\t<SmartAGId>sag-i54wm4v15ruxji****</SmartAGId>\\r\\n\\t\\t</Sag>\\r\\n\\t\\t<Sag>\\r\\n\\t\\t\\t<Name>china-0-0424-222240</Name>\\r\\n\\t\\t\\t<SmartAGId>sag-iunln2dztruttt****</SmartAGId>\\r\\n\\t\\t</Sag>\\r\\n\\t\\t<Sag>\\r\\n\\t\\t\\t<Name>sag-sec-1</Name>\\r\\n\\t\\t\\t<SmartAGId>sag-q1sqc77sk2oe08****</SmartAGId>\\r\\n\\t\\t</Sag>\\r\\n\\t\\t<Sag>\\r\\n\\t\\t\\t<Name>sag1000_box5</Name>\\r\\n\\t\\t\\t<SmartAGId>sag-u42tn80ro3bxsd****</SmartAGId>\\r\\n\\t\\t</Sag>\\r\\n\\t\\t<Sag>\\r\\n\\t\\t\\t<Name>ccn-e2e-cn-sh-0-0820-005549</Name>\\r\\n\\t\\t\\t<SmartAGId>sag-wle98f4o41nm3f****</SmartAGId>\\r\\n\\t\\t</Sag>\\r\\n\\t\\t<Sag>\\r\\n\\t\\t\\t<Name>jia_双机_SAG1000</Name>\\r\\n\\t\\t\\t<SmartAGId>sag-yev5ajsek9x12o****</SmartAGId>\\r\\n\\t\\t</Sag>\\r\\n\\t</Sags>\\r\\n\\t<TotalCount>35</TotalCount>\\r\\n\\t<PageSize>10</PageSize>\\r\\n\\t<RequestId>8D945945-85F2-4BD7-A144-7DC0E8B5A0DC</RequestId>\\r\\n\\t</DescribeFlowLogSagsResponse>\\r\\n","errorExample":""}]',
+ 'title' => 'DescribeFlowLogSags',
+ 'summary' => 'Queries Smart Access Gateway (SAG) instances that are associated with a specified flow log.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DescribeUnbindFlowLogSags' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [
+ 'operationType' => 'get',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region where the SAG instances are deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'C850C10E-9856-45FF-8640-80288BA467DF',
+ ],
+ 'Count' => [
+ 'description' => 'The total number of the SAG instances.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'Sags' => [
+ 'type' => 'object',
+ 'itemNode' => true,
+ 'properties' => [
+ 'Sag' => [
+ 'description' => 'The list of the SAG instances.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Description' => [
+ 'description' => 'The description of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'desctest',
+ ],
+ 'SmartAGId' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sag-tzirqx07bvcngm****',
+ ],
+ 'Name' => [
+ 'description' => 'The name of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'example' => 'sj1000-yf-01',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'DependencyViolation.FlowLog',
+ 'errorMessage' => 'This FlowLog instance is bound to an SAG instance.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.FlowLog',
+ 'errorMessage' => 'The current FlowLog instance status does not support this operation.',
+ ],
+ [
+ 'errorCode' => 'InvalidFlowLogId.NotFound',
+ 'errorMessage' => 'The specified FlowLogId does not exist.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.FlowLogId',
+ 'errorMessage' => 'Specify the FlowLogId parameter.',
+ ],
+ [
+ 'errorCode' => 'OperationFailed.AssociateFlowLog',
+ 'errorMessage' => 'The operation failed. The specified SAG instance has already been associated with another FlowLog instance.',
+ ],
+ [
+ 'errorCode' => 'OperationUnsupported.AssociateFlowLog',
+ 'errorMessage' => 'You cannot bind the SAG device of the current version or model to a FlowLog instance.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded.Flowlog',
+ 'errorMessage' => 'The maximum number of FlowLog instances is exceeded.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.ActiveAging',
+ 'errorMessage' => 'The specified ActiveAging is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.InactiveAging',
+ 'errorMessage' => 'The specified InactiveAging is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowServerIp',
+ 'errorMessage' => 'The specified NetflowServerIp is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowServerPort',
+ 'errorMessage' => 'The specified NetflowServerPort is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowVersion',
+ 'errorMessage' => 'The specified NetflowVersion is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.OutputType',
+ 'errorMessage' => 'The specified OutputType is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.RegionId',
+ 'errorMessage' => 'The specified RegionId is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.SlsRegionId',
+ 'errorMessage' => 'The specified SlsRegionId is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.Status',
+ 'errorMessage' => 'The specified Status parameter is invalid.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'Forbidden',
+ 'errorMessage' => 'User not authorized to operate on the specified resource.',
+ ],
+ [
+ 'errorCode' => 'MissingParameter',
+ 'errorMessage' => 'The input parameter is missing, please check your input.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter',
+ 'errorMessage' => 'The specified parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'InternalError',
+ 'errorMessage' => 'An internal server error occurred.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"C850C10E-9856-45FF-8640-80288BA467DF\\",\\n \\"Count\\": 20,\\n \\"Sags\\": {\\n \\"Sag\\": [\\n {\\n \\"Description\\": \\"desctest\\",\\n \\"SmartAGId\\": \\"sag-tzirqx07bvcngm****\\",\\n \\"Name\\": \\"sj1000-yf-01\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeUnbindFlowLogSagsResponse>\\n <Sags>\\n <Sag>\\n <Name>jialiang_1000_test_2</Name>\\n <SmartAGId>sag-0v3pmd7qpnvx5f****</SmartAGId>\\n </Sag>\\n <Sag>\\n <Name>ccn-bvt-china-0-0625-023417</Name>\\n <SmartAGId>sag-0wxbzaf623oz8a****</SmartAGId>\\n </Sag>\\n <Sag>\\n <SmartAGId>sag-13wvoucmn6tjqm****</SmartAGId>\\n </Sag>\\n <Sag>\\n <Name>sj1000-joe-04</Name>\\n <SmartAGId>sag-1ihuk7d1qskqk0****</SmartAGId>\\n </Sag>\\n <Sag>\\n <Name>ccn-bvt-china-0-0625-023333</Name>\\n <SmartAGId>sag-1tvzazjggo0vac****</SmartAGId>\\n </Sag>\\n <Sag>\\n <Name>joe-casetest-0808</Name>\\n <SmartAGId>sag-2c9nradcadqceg****</SmartAGId>\\n </Sag>\\n <Sag>\\n <Name>sj1000-joe_01</Name>\\n <SmartAGId>sag-2d102o7focaqxo****</SmartAGId>\\n </Sag>\\n <Sag>\\n <Name>sag1000-b5</Name>\\n <SmartAGId>sag-60q4iaq068nxt2****</SmartAGId>\\n </Sag>\\n <Sag>\\n <Name>ccn-bvt-china-0-0625-022008</Name>\\n <SmartAGId>sag-6m5684w9mhcgzz****</SmartAGId>\\n </Sag>\\n <Sag>\\n <Name>ccn-bvt-china-0-0426-005047</Name>\\n <SmartAGId>sag-6t4pxotq7rfz6w****</SmartAGId>\\n </Sag>\\n <Sag>\\n <Name>sag-1000-rd-test-env1</Name>\\n <SmartAGId>sag-8gocbtkbp9b52c****</SmartAGId>\\n </Sag>\\n <Sag>\\n <Name>tianye-test-vbr</Name>\\n <SmartAGId>sag-8z7hn75tubgac2****</SmartAGId>\\n </Sag>\\n <Sag>\\n <Name>sj1000-joe-05</Name>\\n <SmartAGId>sag-d866xl31k8lleb****</SmartAGId>\\n </Sag>\\n <Sag>\\n <Name>sag1000_box6</Name>\\n <SmartAGId>sag-dztg1lco3aacpu****</SmartAGId>\\n </Sag>\\n <Sag>\\n <Name>sag1000-ha-for-case</Name>\\n <SmartAGId>sag-ewmmi6fcq3gldu****</SmartAGId>\\n </Sag>\\n <Sag>\\n <Name>ccn-bvt-china-0-0613-003734</Name>\\n <SmartAGId>sag-fckt58zc4j4b8o****</SmartAGId>\\n </Sag>\\n <Sag>\\n <Name>sag-sec-2</Name>\\n <SmartAGId>sag-h4j0klyvprxta5****</SmartAGId>\\n </Sag>\\n <Sag>\\n <Name>sn-sag1000-2018-11-08-17-27-11</Name>\\n <SmartAGId>sag-h79g3zs0q7nk9f****</SmartAGId>\\n </Sag>\\n <Sag>\\n <Name>sag1000_sh_upgrade</Name>\\n <SmartAGId>sag-mrrrlh3xgpyipu****</SmartAGId>\\n </Sag>\\n <Sag>\\n <Name>ccn-bvt-china-0-0625-021924</Name>\\n <SmartAGId>sag-ruia2xefxbdm5e****</SmartAGId>\\n </Sag>\\n <Sag>\\n <Name>chengxi_bigbox_cn</Name>\\n <SmartAGId>sag-sb7t1efidyc5d5****</SmartAGId>\\n </Sag>\\n <Sag>\\n <Name>sj1000-joe_03</Name>\\n <SmartAGId>sag-srgxemiqbyzdxf****</SmartAGId>\\n </Sag>\\n <Sag>\\n <Name>sj1000-yf-01</Name>\\n <SmartAGId>sag-tzirqx07bvcngm****</SmartAGId>\\n </Sag>\\n <Sag>\\n <Name>ccn-bvt-china-0-0426-005001</Name>\\n <SmartAGId>sag-xboakpuqext95x****</SmartAGId>\\n </Sag>\\n </Sags>\\n <Count>20</Count>\\n <RequestId>C850C10E-9856-45FF-8640-80288BA467DF</RequestId>\\n</DescribeUnbindFlowLogSagsResponse>","errorExample":""}]',
+ 'title' => 'DescribeUnbindFlowLogSags',
+ 'summary' => 'Queries Smart Access Gateway (SAG) instances that are not associated with a flow log in a specific region.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'ActiveFlowLog' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the flow log belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'FlowLogId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the flow log.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'fl-l934tsa5504yuc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'CBBE5EBF-69C1-4395-B36B-26B7605F87EA',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'IllegalParam.ActiveAging',
+ 'errorMessage' => 'The specified ActiveAging is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.InactiveAging',
+ 'errorMessage' => 'The specified InactiveAging is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowServerIp',
+ 'errorMessage' => 'The specified NetflowServerIp is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowServerPort',
+ 'errorMessage' => 'The specified NetflowServerPort is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowVersion',
+ 'errorMessage' => 'The specified NetflowVersion is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.OutputType',
+ 'errorMessage' => 'The specified OutputType is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.RegionId',
+ 'errorMessage' => 'The specified RegionId is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.SlsRegionId',
+ 'errorMessage' => 'The specified SlsRegionId is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.Status',
+ 'errorMessage' => 'The specified Status parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.FlowLog',
+ 'errorMessage' => 'The current FlowLog instance status does not support this operation.',
+ ],
+ [
+ 'errorCode' => 'DependencyViolation.FlowLog',
+ 'errorMessage' => 'This FlowLog instance is bound to an SAG instance.',
+ ],
+ [
+ 'errorCode' => 'InvalidFlowLogId.NotFound',
+ 'errorMessage' => 'The specified FlowLogId does not exist.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.FlowLogId',
+ 'errorMessage' => 'Specify the FlowLogId parameter.',
+ ],
+ [
+ 'errorCode' => 'OperationFailed.AssociateFlowLog',
+ 'errorMessage' => 'The operation failed. The specified SAG instance has already been associated with another FlowLog instance.',
+ ],
+ [
+ 'errorCode' => 'OperationUnsupported.AssociateFlowLog',
+ 'errorMessage' => 'You cannot bind the SAG device of the current version or model to a FlowLog instance.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded.Flowlog',
+ 'errorMessage' => 'The maximum number of FlowLog instances is exceeded.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CBBE5EBF-69C1-4395-B36B-26B7605F87EA\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<ActiveFlowLogResponse>\\r\\n\\t<RequestId>CBBE5EBF-69C1-4395-B36B-26B7605F87EA</RequestId>\\r\\n </ActiveFlowLogResponse>","errorExample":""}]',
+ 'title' => 'ActiveFlowLog',
+ 'summary' => 'Enables a flow log.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeactiveFlowLog' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the flow log belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'FlowLogId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the flow log.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'fl-l934tsa5504yuc****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '5F2BAEAF-96D4-4BE5-A031-6CAD7B145D0D',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'DependencyViolation.FlowLog',
+ 'errorMessage' => 'This FlowLog instance is bound to an SAG instance.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.FlowLog',
+ 'errorMessage' => 'The current FlowLog instance status does not support this operation.',
+ ],
+ [
+ 'errorCode' => 'InvalidFlowLogId.NotFound',
+ 'errorMessage' => 'The specified FlowLogId does not exist.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.FlowLogId',
+ 'errorMessage' => 'Specify the FlowLogId parameter.',
+ ],
+ [
+ 'errorCode' => 'OperationFailed.AssociateFlowLog',
+ 'errorMessage' => 'The operation failed. The specified SAG instance has already been associated with another FlowLog instance.',
+ ],
+ [
+ 'errorCode' => 'OperationUnsupported.AssociateFlowLog',
+ 'errorMessage' => 'You cannot bind the SAG device of the current version or model to a FlowLog instance.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded.Flowlog',
+ 'errorMessage' => 'The maximum number of FlowLog instances is exceeded.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5F2BAEAF-96D4-4BE5-A031-6CAD7B145D0D\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DeactiveFlowLogResponse>\\r\\n\\t<RequestId>5F2BAEAF-96D4-4BE5-A031-6CAD7B145D0D</RequestId>\\r\\n </DeactiveFlowLogResponse> ","errorExample":""}]',
+ 'title' => 'DeactiveFlowLog',
+ 'summary' => 'Stops a flow log.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'AssociateFlowLog' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the flow log belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'FlowLogId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the flow log.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'fl-l934tsa5504yuc****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance to be associated.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-39u6j9a49i03wk****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'A6E1680B-B34F-4BB7-B504-F8ED675E721C',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'DependencyViolation.FlowLog',
+ 'errorMessage' => 'This FlowLog instance is bound to an SAG instance.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.FlowLog',
+ 'errorMessage' => 'The current FlowLog instance status does not support this operation.',
+ ],
+ [
+ 'errorCode' => 'InvalidFlowLogId.NotFound',
+ 'errorMessage' => 'The specified FlowLogId does not exist.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.FlowLogId',
+ 'errorMessage' => 'Specify the FlowLogId parameter.',
+ ],
+ [
+ 'errorCode' => 'OperationFailed.AssociateFlowLog',
+ 'errorMessage' => 'The operation failed. The specified SAG instance has already been associated with another FlowLog instance.',
+ ],
+ [
+ 'errorCode' => 'OperationUnsupported.AssociateFlowLog',
+ 'errorMessage' => 'You cannot bind the SAG device of the current version or model to a FlowLog instance.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded.Flowlog',
+ 'errorMessage' => 'The maximum number of FlowLog instances is exceeded.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.ActiveAging',
+ 'errorMessage' => 'The specified ActiveAging is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.InactiveAging',
+ 'errorMessage' => 'The specified InactiveAging is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowServerIp',
+ 'errorMessage' => 'The specified NetflowServerIp is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowServerPort',
+ 'errorMessage' => 'The specified NetflowServerPort is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowVersion',
+ 'errorMessage' => 'The specified NetflowVersion is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.OutputType',
+ 'errorMessage' => 'The specified OutputType is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.RegionId',
+ 'errorMessage' => 'The specified RegionId is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.SlsRegionId',
+ 'errorMessage' => 'The specified SlsRegionId is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.Status',
+ 'errorMessage' => 'The specified Status parameter is invalid.',
+ ],
+ [
+ 'errorCode' => 'InvalidSmartAGId.NotFound',
+ 'errorMessage' => 'The specified SmartAGId does not exist.',
+ ],
+ ],
+ 403 => [
+ [
+ 'errorCode' => 'FeatureNotSupport',
+ 'errorMessage' => 'The current edition of the smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForActiveSmartAG',
+ 'errorMessage' => 'The current edition of the active smart access gateway does not support this feature.',
+ ],
+ [
+ 'errorCode' => 'FeatureNotSupportForStandBySmartAG',
+ 'errorMessage' => 'The current edition of the standby smart access gateway does not support this feature.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"A6E1680B-B34F-4BB7-B504-F8ED675E721C\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<AssociateFlowLogResponse>\\r\\n\\t<RequestId>A6E1680B-B34F-4BB7-B504-F8ED675E721C</RequestId>\\r\\n </AssociateFlowLogResponse>","errorExample":""}]',
+ 'title' => 'AssociateFlowLog',
+ 'summary' => 'Associates a flow log with a Smart Access Gateway (SAG) instance.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DisassociateFlowLog' => [
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the region to which the flow log belongs.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'FlowLogId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID of the flow log.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'fl-l934tsa5504yuc****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'sag-0v3pmd7qpnvx5f****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'DD864F79-FDAC-4909-AFAF-84D1DCAF30A3',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'DependencyViolation.FlowLog',
+ 'errorMessage' => 'This FlowLog instance is bound to an SAG instance.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.FlowLog',
+ 'errorMessage' => 'The current FlowLog instance status does not support this operation.',
+ ],
+ [
+ 'errorCode' => 'InvalidFlowLogId.NotFound',
+ 'errorMessage' => 'The specified FlowLogId does not exist.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.FlowLogId',
+ 'errorMessage' => 'Specify the FlowLogId parameter.',
+ ],
+ [
+ 'errorCode' => 'OperationFailed.AssociateFlowLog',
+ 'errorMessage' => 'The operation failed. The specified SAG instance has already been associated with another FlowLog instance.',
+ ],
+ [
+ 'errorCode' => 'OperationUnsupported.AssociateFlowLog',
+ 'errorMessage' => 'You cannot bind the SAG device of the current version or model to a FlowLog instance.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded.Flowlog',
+ 'errorMessage' => 'The maximum number of FlowLog instances is exceeded.',
+ ],
+ [
+ 'errorCode' => 'InvalidSmartAGId.NotFound',
+ 'errorMessage' => 'The specified SmartAGId does not exist.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.ActiveAging',
+ 'errorMessage' => 'The specified ActiveAging is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.InactiveAging',
+ 'errorMessage' => 'The specified InactiveAging is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowServerIp',
+ 'errorMessage' => 'The specified NetflowServerIp is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowServerPort',
+ 'errorMessage' => 'The specified NetflowServerPort is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.NetflowVersion',
+ 'errorMessage' => 'The specified NetflowVersion is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.OutputType',
+ 'errorMessage' => 'The specified OutputType is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.RegionId',
+ 'errorMessage' => 'The specified RegionId is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.SlsRegionId',
+ 'errorMessage' => 'The specified SlsRegionId is invalid.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.Status',
+ 'errorMessage' => 'The specified Status parameter is invalid.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"DD864F79-FDAC-4909-AFAF-84D1DCAF30A3\\"\\n}","errorExample":""},{"type":"xml","example":"<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" ?>\\r\\n<DisassociateFlowLogResponse>\\r\\n\\t<RequestId>DD864F79-FDAC-4909-AFAF-84D1DCAF30A3</RequestId>\\r\\n </DisassociateFlowLogResponse>","errorExample":""}]',
+ 'title' => 'DisassociateFlowLog',
+ 'summary' => 'Disassociates a Smart Access Gateway (SAG) instance from a flow log.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'AssociateSmartAGWithApplicationBandwidthPackage' => [
+ 'summary' => 'Associates a bandwidth plan for application acceleration with a Smart Access Gateway (SAG) instance.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to precheck the request. Check items include permissions and the status of the specified cloud resources. Valid values:'."\n"
+ ."\n"
+ .'* **false** (default): sends the request. After the request passes the check, the bandwidth plan for application acceleration is associated with the SAG instance.'."\n"
+ .'* **true**: prechecks the request but does not associate the bandwidth plan for application acceleration with the SAG instance. If you use this value, the system checks the required parameters and the request syntax. If the request fails the precheck, an error message is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '幂等',
+ 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
+ ."\n"
+ .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The token can contain only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not set this parameter, ClientToken is set to the value of RequestId. The value of RequestId for each API request may be different.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '02fb3da4-130e-11e9-8e44-001****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '业务单元',
+ 'description' => 'The region ID of the bandwidth plan for application acceleration.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'ApplicationBandwidthPackageId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '实例ID',
+ 'description' => 'The ID of the bandwidth plan for application acceleration.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'abwp-7963l7iqnquyj3****',
+ ],
+ ],
+ [
+ 'name' => 'AssociateConfigs',
+ 'in' => 'query',
+ 'style' => 'flat',
+ 'schema' => [
+ 'title' => '绑定列表',
+ 'description' => 'The configuration of application acceleration.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'SmartAGId' => [
+ 'title' => '智能接入网关实例ID',
+ 'description' => 'The ID of the SAG instance.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sag-gf5serujbhrn2j****',
+ ],
+ 'Bandwidth' => [
+ 'title' => '带宽',
+ 'description' => 'The maximum bandwidth value for application acceleration. Unit: Mbit/s.'."\n"
+ ."\n"
+ .'> The maximum bandwidth value of each SAG instance cannot exceed that of the associated bandwidth plan for application acceleration.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '2',
+ ],
+ ],
+ 'required' => true,
+ ],
+ 'required' => true,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => 'AFF2FD9D-66BD-4DD4-8152-C4508119D7B1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'UnsupportedFeature.ApplicationAccelerate',
+ 'errorMessage' => 'The feature of ApplicationAccelerate is not supported.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.ApplicationBandwidthPackage',
+ 'errorMessage' => 'The specified resource of ApplicationBandwidthPackage is not found.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.NoBindCcn',
+ 'errorMessage' => 'The CCN is not associated. The operation is denied.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.Arrearage',
+ 'errorMessage' => 'The operation is denied due to overdue payment.',
+ ],
+ [
+ 'errorCode' => 'IncorrectBusinessStatus.ApplicationBandwidthPackage',
+ 'errorMessage' => 'The business status of ApplicationBandwidthPackage is incorrect.',
+ ],
+ [
+ 'errorCode' => 'ResourceAlreadyAssociated.SmartAccessGateway',
+ 'errorMessage' => 'The specified resource of SmartAccessGateway is already associated.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.SmartAccessGateway',
+ 'errorMessage' => 'The specified resource of SmartAccessGateway is not found.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AFF2FD9D-66BD-4DD4-8152-C4508119D7B1\\"\\n}","errorExample":""},{"type":"xml","example":"<AssociateSmartAGWithApplicationBandwidthPackageResponse>\\n <RequestId>AFF2FD9D-66BD-4DD4-8152-C4508119D7B1</RequestId>\\n</AssociateSmartAGWithApplicationBandwidthPackageResponse>","errorExample":""}]',
+ 'title' => 'AssociateSmartAGWithApplicationBandwidthPackage',
+ 'description' => 'Before you associate a bandwidth plan for application acceleration with an SAG instance, make sure that the following requirements are met:'."\n"
+ ."\n"
+ .'* If you want to associate a bandwidth plan for application acceleration with an SAG CPE instance, the version of the SAG device associated with the SAG CPE instance must be 2.4.0 or later.'."\n"
+ ."\n"
+ .' If the version of the SAG device is earlier than 2.4.0, update it. For more information, see [Update the version of an SAG device](~~163948~~).'."\n"
+ ."\n"
+ .'* If you want to associate a bandwidth plan for application acceleration with an SAG app instance, the version of the SAG app must be 2.4.0 or later.'."\n"
+ ."\n"
+ .' If the version of the SAG app is earlier than 2.4.0, update it. For more information, see [Install the SAG app](~~102544~~).'."\n"
+ ."\n"
+ .'* The SAG instance to be associated is in the available state.',
+ ],
+ 'UpdateSmartAGUserAccelerateConfig' => [
+ 'summary' => 'Modifies the maximum bandwidth for application acceleration of client accounts on Smart Access Gateway (SAG) app.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to perform a precheck to check information such as the permissions and instance status. Valid values:'."\n"
+ ."\n"
+ .'* **false** (default): sends the request. After the request passes the check, the maximum bandwidth value of the client is modified.'."\n"
+ .'* **true**: prechecks the request but does not modify the maximum bandwidth value of the client. If you use this value, the system checks the required parameters and the request syntax. If the request fails the precheck, an error message is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '幂等',
+ 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
+ ."\n"
+ .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The token can contain only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not set this parameter, ClientToken is set to the value of RequestId. The value of RequestId for each API request may be different.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '02fb3da4-130e-11e9-8e44-001****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '业务单元',
+ 'description' => 'The ID of the region where the SAG app instance is deployed.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '智能接入网关实例ID',
+ 'description' => 'The ID of the SAG app instance.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sag-w11hk4bqxpakem****',
+ ],
+ ],
+ [
+ 'name' => 'UserName',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '用户名',
+ 'description' => 'The username of the client account.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '[email protected]',
+ ],
+ ],
+ [
+ 'name' => 'Bandwidth',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '实例ID',
+ 'description' => 'The maximum bandwidth value for the client. Unit: Kbit/s.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1000',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '465B5F94-C7CF-4D54-803D-A7BEAC8545D6',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ResourceNotFound.User',
+ 'errorMessage' => 'The specified user is not found.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.BandwidthExceeded',
+ 'errorMessage' => 'The total bandwidth exceeds the limit. The operation is denied.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.SmartAccessGateway',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"465B5F94-C7CF-4D54-803D-A7BEAC8545D6\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateSmartAGUserAccelerateConfigResponse>\\n <RequestId>465B5F94-C7CF-4D54-803D-A7BEAC8545D6</RequestId>\\n</UpdateSmartAGUserAccelerateConfigResponse>","errorExample":""}]',
+ 'title' => 'UpdateSmartAGUserAccelerateConfig',
+ 'description' => 'Before you set a maximum bandwidth value for a client, take note of the following rules:'."\n"
+ ."\n"
+ .'* The maximum bandwidth value of a client cannot exceed that of the SAG app instance to which the client belongs.'."\n"
+ .'* If you have not set maximum bandwidth values for clients that belong to an SAG app instance, and the maximum bandwidth value of the instance is less than 5 Mbit/s, for example, 4 Mbit/s, the maximum bandwidth value of each client that belongs to the SAG app instance is 4 Mbit/s by default.'."\n"
+ .'* If you have not set maximum bandwidth values for clients that belong to an SAG app instance, and the maximum bandwidth value of the instance is 5 Mbit/s or higher, the maximum bandwidth value of each client that belongs to the SAG app instance is 5 Mbit/s by default.',
+ ],
+ 'DissociateSmartAGFromApplicationBandwidthPackage' => [
+ 'summary' => 'Disassociates a Smart Access Gateway (SAG) instance from a bandwidth plan for application acceleration.',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [],
+ 'parameters' => [
+ [
+ 'name' => 'DryRun',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to precheck the request. Check items include permissions and the status of the specified cloud resources. Valid values:'."\n"
+ ."\n"
+ .'* **false** (default): sends the request. After the request passes the check, the SAG instance is disassociated from the bandwidth plan for application acceleration.'."\n"
+ .'* **true**: prechecks the request but does not disassociate the SAG instance from the bandwidth plan for application acceleration. If you use this value, the system checks the required parameters and the request syntax. If the request fails the precheck, an error message is returned. If the request passes the precheck, the `DryRunOperation` error code is returned.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '幂等',
+ 'description' => 'The client token that is used to ensure the idempotence of the request.'."\n"
+ ."\n"
+ .'You can use the client to generate the value, but you must make sure that it is unique among different requests. The token can contain only ASCII characters.'."\n"
+ ."\n"
+ .'> If you do not set this parameter, ClientToken is set to the value of RequestId. The value of RequestId for each API request may be different.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '02fb3da4-130e-11e9-8e44-001****',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '业务单元',
+ 'description' => 'The region ID of the bandwidth plan for application acceleration.'."\n"
+ ."\n"
+ .'You can call the [DescribeRegions](~~36063~~) operation to query the most recent region list.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ 'name' => 'ApplicationBandwidthPackageId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '实例ID',
+ 'description' => 'The ID of the bandwidth plan for application acceleration.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'abwp-7963l7iqnquyj3****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '智能接入网关实例ID',
+ 'description' => 'The ID of the SAG instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sag-w11hk4bqxpakem****',
+ ],
+ ],
+ [
+ 'name' => 'SmartAGIdList',
+ 'in' => 'query',
+ 'style' => 'repeatList',
+ 'schema' => [
+ 'description' => 'The list of the SAG instance id.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The ID of the SAG instance.'."\n"
+ ."\n"
+ .'You can specify at most 100 SAG instance IDs in each call.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sag-5oq6e314i26piy****',
+ ],
+ 'required' => false,
+ 'maxItems' => 100,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'title' => 'Id of the request',
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'example' => '4EC47282-1B74-4534-BD0E-403F3EE64CAF',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ResourceNotFound.ApplicationBandwidthPackage',
+ 'errorMessage' => 'The specified resource of ApplicationBandwidthPackage is not found.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotAssociated.SmartAccessGateway',
+ 'errorMessage' => 'The specified smart access gateway is not associated.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.SmartAccessGateway',
+ 'errorMessage' => 'The specified resource of SmartAccessGateway is not found.',
+ ],
+ ],
+ ],
+ 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4EC47282-1B74-4534-BD0E-403F3EE64CAF\\"\\n}","errorExample":""},{"type":"xml","example":"<DissociateSmartAGFromApplicationBandwidthPackageResponse>\\n <RequestId>4EC47282-1B74-4534-BD0E-403F3EE64CAF</RequestId>\\n</DissociateSmartAGFromApplicationBandwidthPackageResponse>","errorExample":""}]',
+ 'title' => 'DissociateSmartAGFromApplicationBandwidthPackage',
+ 'description' => 'When you call **DissociateSmartAGFromApplicationBandwidthPackage**, you can set the **SmartAGId** parameter to specify an SAG instance, or set the **SmartAGIdList** to specify multiple SAG instances.',
+ ],
+ ],
+ 'endpoints' => [
+ [
+ 'regionId' => 'cn-shanghai',
+ 'endpoint' => 'smartag.cn-shanghai.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hongkong',
+ 'endpoint' => 'smartag.cn-hongkong.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-1',
+ 'endpoint' => 'smartag.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-2',
+ 'endpoint' => 'smartag.ap-southeast-2.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-3',
+ 'endpoint' => 'smartag.ap-southeast-3.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-5',
+ 'endpoint' => 'smartag.ap-southeast-5.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-northeast-1',
+ 'endpoint' => 'smartag.ap-northeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'eu-central-1',
+ 'endpoint' => 'smartag.eu-central-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shanghai-finance-1',
+ 'endpoint' => 'smartag.cn-shanghai-finance-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hangzhou',
+ 'endpoint' => 'smartag.cn-hangzhou.aliyuncs.com',
+ ],
+ ],
+];