diff options
Diffstat (limited to 'data/en_us/servicemesh/2020-01-11')
| -rw-r--r-- | data/en_us/servicemesh/2020-01-11/api-docs.php | 16075 |
1 files changed, 16075 insertions, 0 deletions
diff --git a/data/en_us/servicemesh/2020-01-11/api-docs.php b/data/en_us/servicemesh/2020-01-11/api-docs.php new file mode 100644 index 0000000..410ab56 --- /dev/null +++ b/data/en_us/servicemesh/2020-01-11/api-docs.php @@ -0,0 +1,16075 @@ +<?php return [ + 'version' => '1.0', + 'info' => [ + 'style' => 'RPC', + 'product' => 'servicemesh', + 'version' => '2020-01-11', + ], + 'directories' => [ + [ + 'id' => 182044, + 'title' => 'Service information', + 'type' => 'directory', + 'children' => [ + 'DescribeMetadata', + ], + ], + [ + 'id' => 151629, + 'title' => 'ASM instance', + 'type' => 'directory', + 'children' => [ + 'CreateServiceMesh', + 'DeleteServiceMesh', + 'ModifyServiceMeshName', + 'UpdateMeshFeature', + 'RevokeKubeconfig', + 'DescribeServiceMeshes', + 'DescribeServiceMeshDetail', + 'DescribeServiceMeshKubeconfig', + 'DescribeServiceMeshAdditionalStatus', + 'DescribeVersions', + ], + ], + [ + 'id' => 151641, + 'title' => 'Mesh management', + 'type' => 'directory', + 'children' => [ + 'ReActivateAudit', + 'DescribeNodesInstanceType', + 'DescribeCCMVersion', + 'GetCaCert', + ], + ], + [ + 'id' => 167520, + 'title' => 'Permission management', + 'type' => 'directory', + 'children' => [ + 'GrantUserPermissions', + 'DescribeUserPermissions', + 'DescribeUsersWithPermissions', + ], + ], + [ + 'id' => 151648, + 'title' => 'Mesh resources', + 'type' => 'directory', + 'children' => [ + 'UpdateMeshCRAggregation', + 'ModifyApiServerEipResource', + 'DescribeVSwitches', + 'DescribeVpcs', + 'DescribeCens', + 'DescribeCrTemplates', + 'DescribeEipResources', + ], + ], + [ + 'id' => 151653, + 'title' => 'Dataplane component management', + 'type' => 'directory', + 'children' => [ + 'UpdateNamespaceScopeSidecarConfig', + 'UpdateIstioInjectionConfig', + 'DescribeServiceMeshProxyStatus', + 'DescribeNamespaceScopeSidecarConfig', + ], + ], + [ + 'id' => 151680, + 'title' => 'Cluster', + 'type' => 'directory', + 'children' => [ + 'AddClusterIntoServiceMesh', + 'RemoveClusterFromServiceMesh', + 'UpdateASMNamespaceFromGuestCluster', + 'DescribeServiceMeshClusters', + 'DescribeClustersInServiceMesh', + 'DescribeGuestClusterPods', + 'DescribeGuestClusterNamespaces', + 'DescribeReusableSlb', + 'GetRegisteredServiceEndpoints', + 'GetRegisteredServiceNamespaces', + ], + ], + [ + 'id' => 151657, + 'title' => 'ASM gateway', + 'type' => 'directory', + 'children' => [ + 'CreateASMGateway', + 'CreateIstioGatewayRoutes', + 'CreateGatewaySecret', + 'CreateIstioGatewayDomains', + 'DeleteGatewayRoute', + 'DeleteGatewaySecret', + 'DeleteIstioGatewayDomains', + 'UpdateASMGateway', + 'UpdateASMGatewayImportedServices', + 'UpdateIstioGatewayRoutes', + 'UpdateIstioRouteAdditionalStatus', + 'DescribeImportedServicesDetail', + 'DescribeASMGatewayImportedServices', + 'DescribeIstioGatewayRouteDetail', + 'DescribeGatewaySecretDetails', + 'DescribeIstioGatewayDomains', + 'DescribeIstioGatewayRoutes', + ], + ], + [ + 'id' => 151664, + 'title' => 'Observability', + 'type' => 'directory', + 'children' => [ + 'DescribeClusterGrafana', + 'DescribeClusterPrometheus', + 'DescribeServiceMeshLogs', + 'DescribeGuestClusterAccessLogDashboards', + 'GetGrafanaDashboardUrl', + ], + ], + [ + 'id' => 151669, + 'title' => 'Update', + 'type' => 'directory', + 'children' => [ + 'UpgradeMeshVersion', + 'UpgradeMeshEditionPartially', + 'DescribeUpgradeVersion', + 'DescribeServiceMeshUpgradeStatus', + ], + ], + [ + 'id' => 182047, + 'title' => 'Traffic swimlane', + 'type' => 'directory', + 'children' => [ + 'CreateSwimLane', + 'CreateSwimLaneGroup', + 'DeleteSwimLane', + 'DeleteSwimLaneGroup', + 'UpdateSwimLane', + 'UpdateSwimLaneGroup', + 'GetSwimLaneDetail', + 'GetSwimLaneGroupList', + 'GetSwimLaneList', + ], + ], + [ + 'id' => 181960, + 'title' => 'Others', + 'type' => 'directory', + 'children' => [ + 'GetDeploymentBySelector', + 'UpdateControlPlaneLogConfig', + 'UntagResources', + 'ListTagResources', + 'TagResources', + 'UpdateWaypoint', + 'CreateWaypoint', + 'DeleteWaypoint', + 'ListWaypoints', + 'ListServiceAccounts', + 'UpdateMeshMultiClusterNetwork', + 'DescribeMeshMultiClusterNetwork', + 'ModifyPilotEipResource', + 'UpdateGuestClusterConfig', + ], + ], + [ + 'id' => 151673, + 'title' => 'Virtual machine ', + 'type' => 'directory', + 'children' => [ + 'AddVMIntoServiceMesh', + 'RemoveVMFromServiceMesh', + 'GetVmMeta', + 'GetVmAppMeshInfo', + 'DescribeVMsInServiceMesh', + 'DescribeServiceMeshVMs', + ], + ], + ], + 'components' => [ + 'schemas' => [], + ], + 'apis' => [ + 'DescribeMetadata' => [ + 'summary' => 'Queries basic information about a Service Mesh (ASM) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '17611', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh4LB119', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'F93DDAD7-6E04-5AC3-86F4-852708******', + ], + 'MetaData' => [ + 'description' => 'The ASM metadata, including the basic information about ASM.'."\n", + 'type' => 'object', + 'properties' => [ + 'VersionCrds' => [ + 'description' => 'The custom resource definitions (CRDs) of all ASM versions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The CRD of a version.'."\n", + 'type' => 'object', + 'example' => '{"1.5":[{"kind":"DestinationRule","api_group":"networking.istio.io","id":"2","api_version":"networking.istio.io/v1alpha3"}]}', + ], + ], + 'Versions' => [ + 'description' => 'The list of ASM versions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about a version.'."\n", + 'type' => 'string', + 'example' => 'v1.14.3.87-g96cf7305-aliyun', + ], + ], + 'Regions' => [ + 'description' => 'The regions where ASM instances can be created.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'A region.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + ], + 'CurrentVersion' => [ + 'description' => 'The current version.'."\n", + 'type' => 'string', + 'example' => 'v1.14.3.87-g96cf7305-aliyun', + ], + 'VersionRegistry' => [ + 'description' => 'The Istio versions corresponding to the ASM versions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The Istio version corresponding to an ASM version.'."\n", + 'type' => 'object', + 'example' => '{"v1.14.3.87-g96cf7305-aliyun": "1.14.3"}', + ], + ], + 'ProEdition' => [ + 'description' => 'The version information about ASM of a commercial edition.'."\n", + 'type' => 'object', + 'properties' => [ + 'Versions' => [ + 'description' => 'The list of ASM versions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The version information.'."\n", + 'type' => 'string', + 'example' => 'v1.14.3.87-g96cf7305-aliyun', + ], + ], + 'CurrentVersion' => [ + 'description' => 'The current version.'."\n", + 'type' => 'string', + 'example' => 'v1.14.3.87-g96cf7305-aliyun', + ], + 'VersionRegistry' => [ + 'description' => 'The Istio versions corresponding to the ASM versions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The Istio version corresponding to an ASM version.'."\n", + 'type' => 'object', + 'example' => '{"v1.14.3.87-g96cf7305-aliyun": "1.14.3"}', + ], + ], + 'VersionCrds' => [ + 'description' => 'The CRDs of all ASM versions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The CRD of a version.'."\n", + 'type' => 'object', + 'example' => '{"1.5":[{"kind":"DestinationRule","api_group":"networking.istio.io","id":"2","api_version":"networking.istio.io/v1alpha3"}]}', + ], + ], + ], + ], + 'CompatibilityInfoList' => [ + 'description' => 'The Kubernetes versions compatible with ASM.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The Kubernetes version compatible with ASM.'."\n", + 'type' => 'object', + 'example' => '{'."\n" + .' "k8s_version": {'."\n" + .' "MaxMajor": 1,'."\n" + .' "MaxMinor": 24,'."\n" + .' "MinMajor": 1,'."\n" + .' "MinMinor": 16'."\n" + .' },'."\n" + .' "asm_version": {'."\n" + .' "Major": 1,'."\n" + .' "Minor": 5'."\n" + .' }'."\n" + .' }', + ], + ], + 'PlaygroundScene' => [ + 'description' => 'The data of the ASM Playground.'."\n", + 'type' => 'object', + 'properties' => [ + 'trafficManagement' => [ + 'description' => 'The traffic management scenarios.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the scenario.'."\n", + 'type' => 'string', + 'example' => 'ewmaLb', + ], + ], + 'security' => [ + 'description' => 'The security scenarios.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the scenario.'."\n", + 'type' => 'string', + 'example' => 'none', + ], + ], + 'observability' => [ + 'description' => 'The observability scenarios.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the scenario.'."\n", + 'type' => 'string', + 'example' => 'none', + ], + ], + 'other' => [ + 'description' => 'Other scenarios.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the scenario.'."\n", + 'type' => 'string', + 'example' => 'none', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"F93DDAD7-6E04-5AC3-86F4-852708******\\",\\n \\"MetaData\\": {\\n \\"VersionCrds\\": [\\n {\\n \\"1.5\\": [\\n {\\n \\"kind\\": \\"DestinationRule\\",\\n \\"api_group\\": \\"networking.istio.io\\",\\n \\"id\\": \\"2\\",\\n \\"api_version\\": \\"networking.istio.io/v1alpha3\\"\\n }\\n ]\\n }\\n ],\\n \\"Versions\\": [\\n \\"v1.14.3.87-g96cf7305-aliyun\\"\\n ],\\n \\"Regions\\": [\\n \\"cn-hangzhou\\"\\n ],\\n \\"CurrentVersion\\": \\"v1.14.3.87-g96cf7305-aliyun\\",\\n \\"VersionRegistry\\": [\\n {\\n \\"v1.14.3.87-g96cf7305-aliyun\\": \\"1.14.3\\"\\n }\\n ],\\n \\"ProEdition\\": {\\n \\"Versions\\": [\\n \\"v1.14.3.87-g96cf7305-aliyun\\"\\n ],\\n \\"CurrentVersion\\": \\"v1.14.3.87-g96cf7305-aliyun\\",\\n \\"VersionRegistry\\": [\\n {\\n \\"v1.14.3.87-g96cf7305-aliyun\\": \\"1.14.3\\"\\n }\\n ],\\n \\"VersionCrds\\": [\\n {\\n \\"1.5\\": [\\n {\\n \\"kind\\": \\"DestinationRule\\",\\n \\"api_group\\": \\"networking.istio.io\\",\\n \\"id\\": \\"2\\",\\n \\"api_version\\": \\"networking.istio.io/v1alpha3\\"\\n }\\n ]\\n }\\n ]\\n },\\n \\"CompatibilityInfoList\\": [\\n {\\n \\"k8s_version\\": {\\n \\"MaxMajor\\": 1,\\n \\"MaxMinor\\": 24,\\n \\"MinMajor\\": 1,\\n \\"MinMinor\\": 16\\n },\\n \\"asm_version\\": {\\n \\"Major\\": 1,\\n \\"Minor\\": 5\\n }\\n }\\n ],\\n \\"PlaygroundScene\\": {\\n \\"trafficManagement\\": [\\n \\"ewmaLb\\"\\n ],\\n \\"security\\": [\\n \\"none\\"\\n ],\\n \\"observability\\": [\\n \\"none\\"\\n ],\\n \\"other\\": [\\n \\"none\\"\\n ]\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeMetadataResponse>\\n <RequestId>F93DDAD7-6E04-5AC3-86F4-852708******</RequestId>\\n <MetaData>\\n <VersionCrds/>\\n <Versions>v1.14.3.87-g96cf7305-aliyun</Versions>\\n <Regions>cn-hangzhou</Regions>\\n <CurrentVersion>v1.14.3.87-g96cf7305-aliyun</CurrentVersion>\\n <VersionRegistry/>\\n <ProEdition>\\n <Versions>v1.14.3.87-g96cf7305-aliyun</Versions>\\n <CurrentVersion>v1.14.3.87-g96cf7305-aliyun</CurrentVersion>\\n <VersionRegistry/>\\n <VersionCrds/>\\n </ProEdition>\\n </MetaData>\\n</DescribeMetadataResponse>","errorExample":""}]', + 'title' => 'DescribeMetadata', + ], + 'CreateServiceMesh' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '17603', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh4LB119', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the region in which the ASM instance resides.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'IstioVersion', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The Istio version of the ASM instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'v1.5.4.1-g5960ec40-aliyun', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the virtual private cloud (VPC) in which the ASM instance resides.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'vpc-xzelac2tw4ic7wz31****', + ], + ], + [ + 'name' => 'ApiServerPublicEip', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to expose the API server to the Internet. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n" + ."\n" + .'> If you set this parameter to `false`, the API server cannot be accessed over the Internet.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Tracing', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable the Tracing Analysis feature. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the ASM instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'mesh1', + ], + ], + [ + 'name' => 'VSwitches', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the vSwitch to which the ASM instance is connected.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '["vsw-xzegf5dndkbf4m6eg****"]', + ], + ], + [ + 'name' => 'TraceSampling', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The sampling percentage of Tracing Analysis.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '100', + ], + ], + [ + 'name' => 'CustomizedZipkin', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to use a self-managed Zipkin system to collect tracing data. Valid values:'."\n" + ."\n" + .'* `true`: uses a self-managed Zipkin system to collect tracing data.'."\n" + .'* `false`: uses Alibaba Cloud Tracing Analysis to collect tracing data.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'LocalityLoadBalancing', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to route traffic to the nearest instance. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'LocalityLBConf', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The configurations for the access to the nearest instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"failover":[{"from":"cn-hangzhou","to":"cn-shanghai"}]}', + ], + ], + [ + 'name' => 'Telemetry', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable Prometheus monitoring. We recommend that you use Prometheus Service of [Application Real-Time Monitoring Service (ARMS)](https://arms.console.aliyun.com/). Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'OpenAgentPolicy', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to install the Open Policy Agent (OPA) plug-in. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'OPALogLevel', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The log level of the OPA container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'info', + ], + ], + [ + 'name' => 'OPARequestCPU', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The minimum number of CPU cores that are required by the OPA container. You can specify the parameter value in the standard representation form of CPUs in Kubernetes. For example, if you set the value to 1, one CPU core is required.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'OPARequestMemory', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The minimum size of the memory that is required by the OPA container. You can specify the parameter value in the standard quantity representation form used by Kubernetes. 1 Mi equals 1,024 KB.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '512Mi', + ], + ], + [ + 'name' => 'OPALimitCPU', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of CPU cores that are available to the OPA container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'OPALimitMemory', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum size of the memory that is available to the OPA container. You can specify the parameter value in the standard quantity representation form used by Kubernetes. 1 Mi equals 1,024 KB.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1024Mi', + ], + ], + [ + 'name' => 'EnableAudit', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable the mesh audit feature. To enable this feature, make sure that you have activated [Log Service](https://sls.console.aliyun.com/). Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AuditProject', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the Log Service project that is used for mesh audit.'."\n" + ."\n" + .'Default value: mesh-log-{ASM instance ID}.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'mesh-log-xxxx', + ], + ], + [ + 'name' => 'ClusterDomain', + 'in' => 'formData', + 'schema' => [ + 'description' => 'ASM cluster domain.', + 'type' => 'string', + 'required' => false, + 'example' => 'cluster.local', + ], + ], + [ + 'name' => 'ProxyRequestCPU', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The minimum number of CPU cores that are required by the proxy container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '100m', + ], + ], + [ + 'name' => 'ProxyRequestMemory', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The minimum size of the memory that is required by the proxy container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '128Mi', + ], + ], + [ + 'name' => 'ProxyLimitCPU', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of CPU cores that are available to the proxy container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2000m', + ], + ], + [ + 'name' => 'ProxyLimitMemory', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum size of the memory that is available to the proxy container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1024Mi', + ], + ], + [ + 'name' => 'IncludeIPRanges', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The IP ranges in CIDR form for which traffic is to be redirected to the sidecar proxy in the ASM instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '*', + ], + ], + [ + 'name' => 'ExcludeIPRanges', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The IP ranges in CIDR form to be excluded from redirection to the sidecar proxy in the ASM instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '100.100.10*.***', + ], + ], + [ + 'name' => 'ExcludeOutboundPorts', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The outbound ports to be excluded from redirection to the sidecar proxy in the ASM instance. Separate multiple port numbers with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '80,81', + ], + ], + [ + 'name' => 'ExcludeInboundPorts', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The inbound ports to be excluded from redirection to the sidecar proxy in the ASM instance. Separate multiple port numbers with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '80,81', + ], + ], + [ + 'name' => 'OpaEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable the OPA plug-in. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'KialiEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable the mesh topology feature. To enable this feature, make sure that you have enabled Prometheus monitoring. If Prometheus monitoring is disabled, you must set this parameter to `false`.`` Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AccessLogEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable access log collection. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'CustomizedPrometheus', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to use a custom Prometheus instance. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'PrometheusUrl', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The endpoint of the custom Prometheus instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'http://prometheus:9090', + ], + ], + [ + 'name' => 'RedisFilterEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable Redis Filter. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'MysqlFilterEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable MySQL Filter. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ThriftFilterEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable Thrift Filter. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'WebAssemblyFilterEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable WebAssembly Filter. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'MSEEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable Microservices Engine (MSE). Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DNSProxyingEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable the DNS proxy feature. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Edition', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The edition of the ASM instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Pro', + ], + ], + [ + 'name' => 'ConfigSourceEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable the external service registry. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ConfigSourceNacosID', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The instance ID of the Nacos registry.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'mse-cn-tl326******', + ], + ], + [ + 'name' => 'DubboFilterEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable Dubbo Filter. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'FilterGatewayClusterConfig', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable gateway configuration filtering. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'EnableSDSServer', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable Secret Discovery Service (SDS). Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AccessLogServiceEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable gRPC Access Log Service (ALS) of Envoy. gRPC is short for Google Remote Procedure Call. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AccessLogServiceHost', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The endpoint of Envoy\'s gRPC ALS.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '0.0.0.0', + ], + ], + [ + 'name' => 'AccessLogServicePort', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The port of Envoy\'s gRPC ALS.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '9999', + ], + ], + [ + 'name' => 'GatewayAPIEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable Gateway API. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ControlPlaneLogEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable the collection of control plane logs. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ControlPlaneLogProject', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the Log Service project that is used to collect the logs of the control plane.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'mesh-log-cf245a429b6ff4b6e97f20797758*****', + ], + ], + [ + 'name' => 'AccessLogFormat', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Custom fields of access logs. To set this parameter, you must enable access log collection. Otherwise, you cannot set this parameter. The value must be a JSON string. The following key values must be contained: authority_for, bytes_received, bytes_sent, downstream_local_address, downstream_remote_address, duration, istio_policy_status, method, path, protocol, requested_server_name, response_code, response_flags, route_name, start_time, trace_id, upstream_cluster, upstream_host, upstream_local_address, upstream_service_time, upstream_transport_failure_reason, user_agent, and x_forwarded_for.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"authority_for":"%REQ(:AUTHORITY)%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","downstream_local_address":"%DOWNSTREAM_LOCAL_ADDRESS%","downstream_remote_address":"%DOWNSTREAM_REMOTE_ADDRESS%","duration":"%DURATION%","istio_policy_status":"%DYNAMIC_METADATA(istio.mixer:status)%","method":"%REQ(:METHOD)%","path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","protocol":"%PROTOCOL%","request_id":"%REQ(X-REQUEST-ID)%","requested_server_name":"%REQUESTED_SERVER_NAME%","response_code":"%RESPONSE_CODE%","response_flags":"%RESPONSE_FLAGS%","route_name":"%ROUTE_NAME%","start_time":"%START_TIME%","trace_id":"%REQ(X-B3-TRACEID)%","upstream_cluster":"%UPSTREAM_CLUSTER%","upstream_host":"%UPSTREAM_HOST%","upstream_local_address":"%UPSTREAM_LOCAL_ADDRESS%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_transport_failure_reason":"%UPSTREAM_TRANSPORT_FAILURE_REASON%","user_agent":"%REQ(USER-AGENT)%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%"}', + ], + ], + [ + 'name' => 'AccessLogFile', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable access log collection. Valid values:'."\n" + ."\n" + .'* "": disables access log collection.'."\n" + .'* `/dev/stdout`: enables access log collection. Access logs are written to /dev/stdout.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '/dev/stdout', + ], + ], + [ + 'name' => 'AccessLogProject', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The SLS project from which access logs are collected.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'mesh-log-cf245a429b6ff4b6e97f20797758*****', + ], + ], + [ + 'name' => 'EnableCRHistory', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable the rollback feature for Istio resources. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'CRAggregationEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to allow the Kubernetes API of clusters on the data plane to access Istio resources. The version of the ASM instance must be V1.9.7.93 or later. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ApiServerLoadBalancerSpec', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The type of the Classic Load Balancer (CLB) instance that is bound to the API server. Valid values: `slb.s1.small`, `slb.s2.small`, `slb.s2.medium`, `slb.s3.small`, `slb.s3.medium`, and `slb.s3.large`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'slb.s1.small', + ], + ], + [ + 'name' => 'PilotLoadBalancerSpec', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The type of the CLB instance that is bound to Istio Pilot. Valid values: `slb.s1.small`, `slb.s2.small`, `slb.s2.medium`, `slb.s3.small`, `slb.s3.medium`, and `slb.s3.large`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'slb.s1.small', + ], + ], + [ + 'name' => 'ChargeType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The billing method of the CLB instance. Valid values:'."\n" + ."\n" + .'* `PayOnDemand`: pay-as-you-go'."\n" + .'* `PrePay`: subscription'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PrePay', + ], + ], + [ + 'name' => 'Period', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The subscription period of the CLB instance. This parameter is valid only if `ChargeType` is set to `PrePay`. The value of this parameter indicates the subscription period of the CLB instance. Unit: month. For example, if the subscription period is one year, set this parameter to 12.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + ], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable auto-renewal for the CLB instance if the CLB instance uses the subscription billing method. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'AutoRenewPeriod', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The auto-renewal period of the subscription CLB instance. This parameter is valid only if `ChargeType` is set to `PrePay`. If the original subscription period of the CLB instance is less than one year, the value of this parameter indicates the number of months for auto-renewal. If the original subscription period of the CLB instance is more than one year, the value of this parameter indicates the number of years for auto-renewal.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + ], + ], + [ + 'name' => 'ClusterSpec', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The edition of the ASM instance. Valid values:'."\n" + ."\n" + .'- `standard`: Standard Edition'."\n" + ."\n" + .'- `enterprise`: Enterprise Edition'."\n" + ."\n" + .'- `ultimate`: Ultimate Edition', + 'type' => 'string', + 'required' => false, + 'example' => 'standard', + ], + ], + [ + 'name' => 'MultiBufferEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable MultiBuffer-based Transport Layer Security (TLS) acceleration. Valid values:'."\n" + ."\n" + .'- `true`'."\n" + ."\n" + .'- `false`'."\n" + ."\n\n" + .'Default value: `true`', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'MultiBufferPollDelay', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The pull-request latency. Default value: 30. Unit: seconds.', + 'type' => 'string', + 'required' => false, + 'example' => '30s', + ], + ], + [ + 'name' => 'UseExistingCA', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to use an existing CA certificate and private key.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ExistingCaCert', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The existing CA certificate, which is encoded in Base64. This parameter is used in scenarios where you migrate open source Istio to ASM. It specifies the content of the ca-cert.pem file in the istio-ca-secret secret. The secret is in the istio-system namespace of the Kubernetes cluster where the open source Istio is installed.', + 'type' => 'string', + 'deprecated' => false, + 'required' => false, + 'docRequired' => false, + 'example' => 'CA cert content, base64 encoded format.', + ], + ], + [ + 'name' => 'ExistingCaKey', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The existing CA key, which is encoded in Base64. This parameter is used in scenarios where you migrate open source Istio to ASM. It specifies the content of the ca-key.pem file in the istio-ca-secret secret. The secret is in the istio-system namespace of the Kubernetes cluster where the open source Istio is installed.', + 'type' => 'string', + 'deprecated' => false, + 'required' => false, + 'example' => 'CA key content, base64 encoded format.', + ], + ], + [ + 'name' => 'ExistingCaType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The type of the existing CA certificate. Valid values:'."\n" + ."\n" + .'* 1: Self-signed certificate generated by istiod. The certificate corresponds to the secret named istio-ca-secret in the istio-system namespace. If you use this type of certificate, you must set the `ExistingCaCert` and `ExistingCaKey` parameters.'."\n" + .'* 2: Administrator-specified certificate. For more information, see [plugin ca cert](https://istio.io/latest/docs/tasks/security/cert-management/plugin-ca-cert/). In most cases, the certificate corresponds to the secret named cacerts in the istio-system namespace. If you use this type of certificate, you must set the `ExisingRootCaCert` and `ExisingRootCaKey` parameters.', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'ExistingRootCaCert', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The existing root certificate, which is encoded in Base64.', + 'type' => 'string', + 'deprecated' => false, + 'required' => false, + 'example' => 'Existing CA cert content, base64 encoded format.', + ], + ], + [ + 'name' => 'ExistingRootCaKey', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The private key that corresponds to the root certificate, which is encoded in Base64.'."\n", + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'example' => 'Existing CA key content, base64 encoded format.', + ], + ], + [ + 'name' => 'CertChain', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The certificate chain from the CA certificate to the root certificate. At least two certificates are included in the chain.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Base64 encoded PEM certificate chain.', + ], + ], + [ + 'name' => 'GuestCluster', + 'in' => 'formData', + 'schema' => [ + 'description' => 'When you create an ASM instance, you can add a cluster to the ASM instance. If you do not specify this parameter, no cluster is added to the ASM instance. The cluster and the ASM instance must be in the same vSwitch of the same VPC and have the same domain name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ACK cluster id', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'Tag of the ASM instance. A tag contains the following information:'."\n" + ."\n" + .'* key: the name of the tag'."\n" + .'* value: the value of the tag'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The name of the tag.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'env', + ], + 'Value' => [ + 'description' => 'The value of the tag.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'prod', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + [ + 'name' => 'EnableAmbient', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable the Ambient Mesh mode for the ASM instance.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'PlaygroundScene', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The playground scenario. If you specify this parameter, an ASM playground instance is created. Valid values:'."\n" + ."\n" + .'* ewmaLb: the exponentially weighted moving average (EWMA) load balancing algorithm.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ewmaLb', + ], + ], + [ + 'name' => 'EnableACMG', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable the ACMG mode for the ASM instance.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + 'ServiceMeshId' => [ + 'description' => 'The ID of the ASM instance.'."\n", + 'type' => 'string', + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'ERR404', + 'errorMessage' => 'Not found', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\",\\n \\"ServiceMeshId\\": \\"c08ba3fd1e6484b0f8cc1ad8fe10d****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateServiceMeshResponse>\\n <RequestId>BD65C0AD-D3C6-48D3-8D93-38D2015C****</RequestId>\\n <ServiceMeshId>c08ba3fd1e6484b0f8cc1ad8fe10d****</ServiceMeshId>\\n</CreateServiceMeshResponse>","errorExample":""}]', + 'title' => 'CreateServiceMesh', + 'summary' => 'Creates a Service Mesh (ASM) instance.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DeleteServiceMesh' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + [ + 'name' => 'Force', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to forcibly delete the ASM instance. Valid values:'."\n" + ."\n" + .'* `true`: forcibly deletes the ASM instance.'."\n" + .'* `false`: does not forcibly delete the ASM instance.'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RetainResources', + 'in' => 'formData', + 'schema' => [ + 'description' => 'A JSON string that can be parsed into a string array. You can use this JSON string to specify the IDs of the resource instances that need to be retained when the ASM instance is deleted.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '[" lb-bp1fxvl3q8akbj6m*****", "lb-bp1hoxkolggdw0y3*****"]', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '11fd0027-c27e-41bb-a565-75583054****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"11fd0027-c27e-41bb-a565-75583054****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteServiceMeshResponse>\\n <RequestId>11fd0027-c27e-41bb-a565-75583054****</RequestId>\\n</DeleteServiceMeshResponse>","errorExample":""}]', + 'title' => 'DeleteServiceMesh', + 'summary' => 'Deletes a Service Mesh (ASM) instance.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'ModifyServiceMeshName' => [ + 'summary' => 'Modifies the name of a Service Mesh (ASM) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cdd30a90a7cea480ebcc7ff****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The new name of the ASM instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test-mesh', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EDDC0D86-2FC3-56FB-9213-96EB0A3523F1', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EDDC0D86-2FC3-56FB-9213-96EB0A3523F1\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyServiceMeshNameResponse>\\n <RequestId>EDDC0D86-2FC3-56FB-9213-96EB0A3523F1</RequestId>\\n</ModifyServiceMeshNameResponse>","errorExample":""}]', + 'title' => 'ModifyServiceMeshName', + ], + 'UpdateMeshFeature' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '17645', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh4LB119', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the ASM instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cb8963379255149cb98c8686f274x****', + ], + ], + [ + 'name' => 'Tracing', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable Managed Service for OpenTelemetry. (Before you enable [Managed Service for OpenTelemetry](https://tracing-analysis.console.aliyun.com/), make sure that you have activated it.) Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TraceSampling', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The sampling percentage of Tracing Analysis.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '100', + ], + ], + [ + 'name' => 'TraceCustomTags', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The custom tag of Tracing Analysis. Specify this parameter in the JSON format.'."\n" + ."\n" + .' {'."\n" + .' "name1": CustomTag,'."\n" + .' "name2": CustomTag'."\n" + .' }'."\n" + ."\n" + .'Tag key: literal, header, or environment.'."\n" + ."\n" + .' {'."\n" + .' "literal": {'."\n" + .' "value": "Fixed value"'."\n" + .' }'."\n" + .' "header": {'."\n" + .' "name": "Header name"'."\n" + .' "defaultValue": "Default value that is used if the specified header does not exist"'."\n" + .' }'."\n" + .' "environment": {'."\n" + .' "name": "Environment variable name"'."\n" + .' "defaultValue": "Default value that is used if the specified environment variable does not exist"'."\n" + .' }'."\n" + .' }'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"mytag": {"literal":{"value":"test"}}}', + ], + ], + [ + 'name' => 'TraceMaxPathTagLength', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum length of the request path contained in the HttpUrl span tag. Default value: `256`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '256', + ], + ], + [ + 'name' => 'LocalityLoadBalancing', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable cross-region load balancing. Valid values:'."\n" + ."\n" + .'* `true`: enables cross-region load balancing.'."\n" + .'* `false`: disables cross-region load balancing.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'LocalityLBConf', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The configurations of cross-region load balancing. Valid values:'."\n" + ."\n" + .'* `failover`: the configurations of cross-region failover. Example:'."\n" + ."\n" + .'<!---->'."\n" + ."\n" + .' failover: [// Cross-region failover configurations of the struct type. '."\n" + .' {'."\n" + .' // If a service fails in the China (Beijing) region, the traffic is redirected to the same service in the China (Hangzhou) region. '."\n" + .' from: "cn-beijing", '."\n" + .' to: "cn-hangzhou",'."\n" + .' }'."\n" + .' ]'."\n" + ."\n" + .'* `distribute`: the configurations of cross-region traffic distribution. Example:'."\n" + ."\n" + .'<!---->'."\n" + ."\n" + .' distribute: [// Cross-region traffic distribution configurations of the struct type. '."\n" + .' {'."\n" + .' // For traffic that is routed to the China (Beijing) region, 70% of the traffic is allocated to the China (Beijing) region and the rest of the traffic is redirected to the China (Hangzhou) region. '."\n" + .' "from": "cn-beijing",'."\n" + .' "to": {'."\n" + .' "cn-beijing": 70,'."\n" + .' "cn-hangzhou": 30,'."\n" + .' }'."\n" + .' }'."\n" + .' ]'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"failover":[{"from":"cn-hangzhou","to":"cn-shanghai"}]}', + ], + ], + [ + 'name' => 'Telemetry', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable Prometheus monitoring. We recommend that you enable [ARMS Prometheus](https://arms.console.aliyun.com/). Valid values:'."\n" + ."\n" + .'* `true`: enables Prometheus monitoring.'."\n" + .'* `false`: disables Prometheus monitoring.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'OpenAgentPolicy', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to install the Open Policy Agent (OPA) plug-in. Valid values:'."\n" + ."\n" + .'* `true`: installs the OPA plug-in.'."\n" + .'* `false`: does not install the OPA plug-in.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'OPALogLevel', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The log level of the OPA proxy container.'."\n" + ."\n" + .'* `info`: outputs all information.'."\n" + .'* `debug`: outputs debugging and error information.'."\n" + .'* `error`: outputs only error information.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'info', + ], + ], + [ + 'name' => 'OPARequestCPU', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The number of CPU cores that are requested by the OPA proxy container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'OPARequestMemory', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The size of the memory that is requested by the OPA proxy container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '512Mi', + ], + ], + [ + 'name' => 'OPALimitCPU', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of CPU cores that are available to the OPA proxy container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'OPALimitMemory', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum size of the memory that is available to the OPA proxy container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1024Mi', + ], + ], + [ + 'name' => 'EnableAudit', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable the mesh audit feature. To enable this feature, make sure that you have activated [Log Service](https://sls.console.aliyun.com/). Valid values:'."\n" + ."\n" + .'* `true`: enables the mesh audit feature.'."\n" + .'* `false`: disables the mesh audit feature.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AuditProject', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the Log Service project that is used for mesh audit.'."\n" + ."\n" + .'Default value: `mesh-log-{ASM instance ID}`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'mesh-log-c08ba3fd1e64xxb0f8cc1ad8****', + ], + ], + [ + 'name' => 'CustomizedZipkin', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to use a self-managed Zipkin system to collect tracing data. Valid values:'."\n" + ."\n" + .'* `true`: uses a self-managed Zipkin system.'."\n" + .'* `false`: does not use a self-managed Zipkin system.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'OutboundTrafficPolicy', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The policy for accessing external services. Valid values:'."\n" + ."\n" + .'* `ALLOW_ANY`: allows access to all external services.'."\n" + .'* `REGISTRY_ONLY`: allows access to only the external services that are defined in the ServiceEntry of the ASM instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ALLOW_ANY', + ], + ], + [ + 'name' => 'ProxyRequestCPU', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The number of CPU cores that are requested by the sidecar proxy container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '100m', + ], + ], + [ + 'name' => 'ProxyRequestMemory', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The size of the memory that is requested by the sidecar proxy container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '128Mi', + ], + ], + [ + 'name' => 'ProxyLimitCPU', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of CPU cores that are available to the sidecar proxy container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2000m', + ], + ], + [ + 'name' => 'ProxyLimitMemory', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum size of the memory that is available to the sidecar proxy container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1024Mi', + ], + ], + [ + 'name' => 'IncludeIPRanges', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The IP addresses of external services to which traffic is intercepted.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '*', + ], + ], + [ + 'name' => 'ExcludeIPRanges', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The IP addresses of external services to which traffic is not intercepted.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '100.100.XXX.XXX', + ], + ], + [ + 'name' => 'ExcludeOutboundPorts', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ports for which outbound traffic is not redirected to the sidecar proxy. Separate multiple ports with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '80,81', + ], + ], + [ + 'name' => 'IncludeInboundPorts', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ports for which inbound traffic is redirected to the sidecar proxy.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '80,81', + ], + ], + [ + 'name' => 'ExcludeInboundPorts', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ports for which inbound traffic is not redirected to the sidecar proxy. Separate multiple ports with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '80,81', + ], + ], + [ + 'name' => 'EnableNamespacesByDefault', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable automatic sidecar proxy injection for all namespaces. Valid values:'."\n" + ."\n" + .'* `true`: enables automatic sidecar proxy injection for all namespaces.'."\n" + .'* `false`: disables automatic sidecar proxy injection for all namespaces.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AutoInjectionPolicyEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable automatic sidecar proxy injection by using pod annotations. Valid values:'."\n" + ."\n" + .'* `true`: enables automatic sidecar proxy injection by using pod annotations.'."\n" + .'* `false`: disables automatic sidecar proxy injection by using pod annotations.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'SidecarInjectorRequestCPU', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The number of CPU cores that are requested by the pod where a sidecar proxy injector resides.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1000m', + ], + ], + [ + 'name' => 'SidecarInjectorRequestMemory', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The size of the memory that is requested by the pod where a sidecar proxy injector resides.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '512Mi', + ], + ], + [ + 'name' => 'SidecarInjectorLimitCPU', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of CPU cores that are available to the pod where a sidecar proxy injector resides.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '4000m', + ], + ], + [ + 'name' => 'SidecarInjectorLimitMemory', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum size of the memory that is available to the pod where a sidecar proxy injector resides.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2048Mi', + ], + ], + [ + 'name' => 'SidecarInjectorWebhookAsYaml', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Other configurations of automatic sidecar proxy injection, in the YAML format.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"injectedAnnotations":{"test/istio-init":"runtime/default2","test/istio-proxy":"runtime/default"},"replicaCount":2,"nodeSelector":{"beta.kubernetes.io/os":"linux"}}', + ], + ], + [ + 'name' => 'CniEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable the Container Network Interface (CNI) plug-in. Valid values:'."\n" + ."\n" + .'* `true`: enables the CNI plug-in.'."\n" + .'* `false`: disables the CNI plug-in.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'CniExcludeNamespaces', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The namespaces to be excluded for the CNI plug-in.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'kube-system', + ], + ], + [ + 'name' => 'OpaEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable the OPA plug-in. Valid values:'."\n" + ."\n" + .'* `true`: enables the OPA plug-in.'."\n" + .'* `false`: disables the OPA plug-in.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Http10Enabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to support HTTP 1.0. Valid values:'."\n" + ."\n" + .'* `true`: supports HTTP 1.0.'."\n" + .'* `false`: does not support HTTP 1.0.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'KialiEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable the Mesh Topology feature. To enable this feature, make sure that you have enabled Prometheus monitoring. If Prometheus monitoring is disabled, the Mesh Topology feature must be disabled. Valid values:````'."\n" + ."\n" + .'* `true`: enables the Mesh Topology feature.'."\n" + .'* `false`: disables the Mesh Topology feature.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'CustomizedPrometheus', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to use a custom Prometheus instance. Valid values:'."\n" + ."\n" + .'* `true`: uses a custom Prometheus instance.'."\n" + .'* `false`: does not use a custom Prometheus instance.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'PrometheusUrl', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The endpoint of Prometheus monitoring. If you use ARMS Prometheus, set this parameter to the endpoint of Prometheus provided by ARMS.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'http://prometheus:9090', + ], + ], + [ + 'name' => 'AccessLogEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable access log collection. Valid values:'."\n" + ."\n" + .'* `true`: enables access log collection.'."\n" + .'* `false`: disables access log collection.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'MSEEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable Microservices Engine (MSE). Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'deprecated' => true, + 'required' => false, + 'docRequired' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RedisFilterEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable Redis Filter. Valid values:'."\n" + ."\n" + .'* `true`: enables Redis Filter.'."\n" + .'* `false`: disables Redis Filter.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'MysqlFilterEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable MySQL Filter. Valid values:'."\n" + ."\n" + .'* `true`: enables MySQL Filter.'."\n" + .'* `false`: disables MySQL Filter.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ThriftFilterEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable Thrift Filter. Valid values:'."\n" + ."\n" + .'* `true`: enables Thrift Filter.'."\n" + .'* `false`: disables Thrift Filter.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'WebAssemblyFilterEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable WebAssembly Filter. Valid values:'."\n" + ."\n" + .'* `true`: enables WebAssembly Filter.'."\n" + .'* `false`: disables WebAssembly Filter.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DNSProxyingEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable DNS proxy. Valid values:'."\n" + ."\n" + .'* `true`: enables the DNS proxy feature.'."\n" + .'* `false`: disables the DNS proxy feature.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DubboFilterEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable Dubbo Filter. Valid values:'."\n" + ."\n" + .'* `true`: enables Dubbo Filter.'."\n" + .'* `false`: disables Dubbo Filter.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'FilterGatewayClusterConfig', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable gateway configuration filtering. Valid values:'."\n" + ."\n" + .'* `true`: enables gateway configuration filtering.'."\n" + .'* `false`: disables gateway configuration filtering.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'EnableSDSServer', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable Secret Discovery Service (SDS). Valid values:'."\n" + ."\n" + .'* `true`: enables SDS.'."\n" + .'* `false`: disables SDS.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AccessLogServiceEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable gRPC Access Log Service (ALS) for Envoy. Valid values:'."\n" + ."\n" + .'* `true`: enables gRPC ALS for Envoy.'."\n" + .'* `false`: disables gRPC ALS for Envoy.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AccessLogServiceHost', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The endpoint of gRPC ALS for Envoy.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '0.0.0.0', + ], + ], + [ + 'name' => 'AccessLogServicePort', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The port of gRPC ALS for Envoy.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '9999', + ], + ], + [ + 'name' => 'GatewayAPIEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable Gateway API. Valid values:'."\n" + ."\n" + .'* `true`: enables Gateway API.'."\n" + .'* `false`: disables Gateway API.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ConfigSourceEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable the external service registry. Valid values:'."\n" + ."\n" + .'* `true`: enables the external service registry.'."\n" + .'* `false`: disables the external service registry.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ConfigSourceNacosID', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The instance ID of the Nacos registry.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'mse-cn-tl326******', + ], + ], + [ + 'name' => 'AccessLogFormat', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The custom format of access logs. To set this parameter, make sure that you have enabled access log collection. The value must be a JSON string. The following key names must be contained: authority_for, bytes_received, bytes_sent, downstream_local_address, downstream_remote_address, duration, istio_policy_status, method, path, protocol, requested_server_name, response_code, response_flags, route_name, start_time, trace_id, upstream_cluster, upstream_host, upstream_local_address, upstream_service_time, upstream_transport_failure_reason, user_agent, and x_forwarded_for.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"authority_for":"%REQ(:AUTHORITY)%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","downstream_local_address":"%DOWNSTREAM_LOCAL_ADDRESS%","downstream_remote_address":"%DOWNSTREAM_REMOTE_ADDRESS%","duration":"%DURATION%","istio_policy_status":"%DYNAMIC_METADATA(istio.mixer:status)%","method":"%REQ(:METHOD)%","path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","protocol":"%PROTOCOL%","request_id":"%REQ(X-REQUEST-ID)%","requested_server_name":"%REQUESTED_SERVER_NAME%","response_code":"%RESPONSE_CODE%","response_flags":"%RESPONSE_FLAGS%","route_name":"%ROUTE_NAME%","start_time":"%START_TIME%","trace_id":"%REQ(X-B3-TRACEID)%","upstream_cluster":"%UPSTREAM_CLUSTER%","upstream_host":"%UPSTREAM_HOST%","upstream_local_address":"%UPSTREAM_LOCAL_ADDRESS%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_transport_failure_reason":"%UPSTREAM_TRANSPORT_FAILURE_REASON%","user_agent":"%REQ(USER-AGENT)%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%"}', + ], + ], + [ + 'name' => 'AccessLogFile', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable access logging. Valid values:'."\n" + ."\n" + .'* `""`: disables access logging.'."\n" + .'* `/dev/stdout`: enables access logging. Access logs are written to /dev/stdout.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '“”', + ], + ], + [ + 'name' => 'AccessLogProject', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The custom project on which the Log Service collects logs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'mesh-log-cf245a429b6ff4b6e97f20797758e****', + ], + ], + [ + 'name' => 'EnableCRHistory', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable the rollback feature for Istio resources.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'CRAggregationEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to use the Kubernetes API of clusters on the data plane to access Istio resources. To use this feature, the version of the ASM instance must be V1.9.7.93 or later.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TerminationDrainDuration', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum period of time that the sidecar proxy waits for requests to be processed before the proxy is stopped. For example, if you want to specify a period of 5 seconds, set this parameter to 5s.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '5s', + ], + ], + [ + 'name' => 'ProxyInitCPUResourceLimit', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of CPU cores that are available to the istio-init container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2000m', + ], + ], + [ + 'name' => 'ProxyInitMemoryResourceLimit', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum size of the memory that is available to the istio-init container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1024Mi', + ], + ], + [ + 'name' => 'ProxyInitCPUResourceRequest', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The number of CPU cores that are requested by the istio-init container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '10m', + ], + ], + [ + 'name' => 'ProxyInitMemoryResourceRequest', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The size of the memory that is requested by the istio-init container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '10Mi', + ], + ], + [ + 'name' => 'Lifecycle', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The lifecycle of the sidecar proxy.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"postStart":{"exec":{"command":["pilot-agent","wait"]}},"preStop":{"exec":{"command":["/bin/sh","-c","sleep 15"]}}}', + ], + ], + [ + 'name' => 'MultiBufferEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable Transport Layer Security (TLS) acceleration based on MultiBuffer.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'MultiBufferPollDelay', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The pull-request latency. By default, this parameter is left empty.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '0.02s', + ], + ], + [ + 'name' => 'DiscoverySelectors', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The label selectors used to specify the namespaces of the clusters on the data plane for selective service discovery.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '[{"matchExpressions":[{"key":"asm-discovery","operator":"Exists"}]}]', + ], + ], + [ + 'name' => 'ClusterSpec', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable the feature of controlling the OPA injection scope. Valid values:'."\n" + ."\n" + .'* `true`: enables the feature.'."\n" + .'* `false`: disables the feature.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'standard', + ], + ], + [ + 'name' => 'OPAScopeInjected', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The minimum number of CPU cores requested by the pod that injects OPA proxies into application pods. For example, `1000m` indicates one CPU core.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'OPAInjectorCPURequirement', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The minimum size of the memory requested by the pod that injects OPA proxies into application pods. For example, `50 Mi` indicates 50 MB.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '80m', + ], + ], + [ + 'name' => 'OPAInjectorMemoryRequirement', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of CPU cores that are available to the pod that injects OPA proxies into application pods. For example, `1000m` indicates one CPU core.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '50Mi', + ], + ], + [ + 'name' => 'OPAInjectorCPULimit', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum size of the memory that is available to the pod that injects OPA proxies into application pods. For example, `1024Mi` indicates 1024 MB.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1000m', + ], + ], + [ + 'name' => 'OPAInjectorMemoryLimit', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to create a CLB instance for accessing the ASM mesh topology.', + 'type' => 'string', + 'required' => false, + 'example' => '1024Mi', + ], + ], + [ + 'name' => 'IntegrateKiali', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to create a Classic Load Balancer (CLB) instance for accessing Mesh Topology of Service Mesh (ASM).'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'NFDEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to clear feature labels on nodes when NFD is disabled.'."\n" + ."\n" + .'This parameter is valid only when the `NFDEnabled` parameter is set to `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'NFDLabelPruned', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The minimum number of CPU cores requested by the proxy service that exports Tracing Analysis data. For example, `1000m` indicates one CPU core.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TracingOnExtZipkinRequestCPU', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The minimum size of the memory requested by the proxy service that exports Tracing Analysis data. For example, `1Mi` indicates 1 MB.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '200m', + ], + ], + [ + 'name' => 'TracingOnExtZipkinRequestMemory', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of CPU cores that are available to the proxy service that exports Tracing Analysis data. For example, `1000m` indicates one CPU core.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '200Mi', + ], + ], + [ + 'name' => 'TracingOnExtZipkinLimitCPU', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum size of the memory that is available to the proxy service that exports Tracing Analysis data. For example, `1Mi` indicates 1 MB.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1000Mi', + ], + ], + [ + 'name' => 'TracingOnExtZipkinLimitMemory', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The retention period for the access logs of the ingress gateway. Unit: day. The logs are collected by using Log Service. For example, `30` indicates 30 days.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1024Mi', + ], + ], + [ + 'name' => 'TracingOnExtZipkinReplicaCount', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The number of replicas that are available to the proxy service that exports Managed Service for OpenTelemetry data.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'AccessLogGatewayLifecycle', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The retention period for the access logs of the sidecar proxy. Unit: day. The logs are collected by using Log Service. For example, `30` indicates 30 days.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '30', + ], + ], + [ + 'name' => 'AccessLogSidecarLifecycle', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable automatic diagnostics for the ASM instance. If you enable this feature, the ASM instance is automatically diagnosed when you modify Istio resources in the ASM instance.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '30', + ], + ], + [ + 'name' => 'EnableAutoDiagnosis', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ports for which outbound traffic is redirected to the sidecar proxy.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'IncludeOutboundPorts', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The log level of the sidecar proxy on the data plane. Log levels include `none`, `error`, `warn`, `info`, and `debug`. The levels correspond to different amounts of information reported by the logs. For example, none-level logs report the least information, while debug-level logs report the most information.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '8000,8001', + ], + ], + [ + 'name' => 'LogLevel', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The number of worker threads used by the sidecar proxy on the data plane.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'info', + ], + ], + [ + 'name' => 'Concurrency', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to delay application container startup until the sidecar proxy container is started in a pod.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'HoldApplicationUntilProxyStarts', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Other metrics of the sidecar proxy on the data plane.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ProxyStatsMatcher', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The mode in which the sidecar proxy intercepts inbound traffic. Valid values:'."\n" + ."\n" + .'* `REDIRECT`: The sidecar proxy intercepts inbound traffic in the REDIRECT mode.'."\n" + .'* `TPROXY`: The sidecar proxy intercepts inbound traffic in the TPROXY mode.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"inclusionRegexps":".*adaptive_concurrency.*"}', + ], + ], + [ + 'name' => 'InterceptionMode', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to load the bootstrap configuration before the sidecar proxy is started.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TPROXY', + ], + ], + [ + 'name' => 'EnableBootstrapXdsAgent', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies the authentication token of an ARMS Prometheus instance when the Mesh Topology feature is enabled and ARMS Prometheus is used to collect monitoring metrics. The token is used to allow Mesh Topology to access the ARMS Prometheus instance. The token is in the JSON format. The key in the JSON object is the ID of the cluster on the data plane, and the value is the authentication token of the ARMS Prometheus instance deployed in the cluster.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'KialiArmsAuthTokens', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies the default scheduling configurations that ASM delivers to components on the data plane. You can configure `nodeSelector` and tolerations in the JSON format.'."\n" + ."\n" + .'> * Modifying the value of this parameter is a high-risk operation. The modification will cause all components on the data plane of ASM to restart. Exercise caution before modifying the value of this parameter.'."\n" + .'>* The configurations specified by this parameter do not apply to the ASM gateway. You can configure gateway-specific scheduling on the ASM gateway.', + 'type' => 'string', + 'required' => false, + 'example' => '{"c31e3b******5634b":"token_example"}', + ], + ], + [ + 'name' => 'DefaultComponentsScheduleConfig', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies the default scheduling configurations that ASM delivers to components on the data plane. You can configure `nodeSelector` and `tolerations` in the JSON format.'."\n" + ."\n" + .'> '."\n" + ."\n" + .'* Modifying the value of this parameter is a high-risk operation. The modification will cause all components on the data plane of ASM to restart. Exercise caution before modifying the value of this parameter.'."\n" + ."\n" + .'* The configurations specified by this parameter do not apply to ASM gateways. You can configure gateway-specific scheduling on ASM gateways.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"tolerations":[{"key":"test-taints", "operator":"Exists", "effect":"NoSchedule"}], "nodeSelector":{"kubernetes.io/hostname":"test-nodes"}}', + ], + ], + [ + 'name' => 'KialiServiceAnnotations', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies Classic Load Balancer (CLB) instances by using annotations when the Mesh Topology feature is enabled. These CLB instances are used to access the Mesh Topology feature in different clusters.'."\n" + ."\n" + .'This parameter is a JSON-encoded string. The key in the JSON object is the ID of a cluster on the data plane, and the value is the annotation content of the Mesh Topology service in the cluster.'."\n" + ."\n" + .'For more information about how to configure CLB instances by using annotations, see [Add annotations to the YAML file of a Service to configure CLB instances](https://www.alibabacloud.com/help/container-service-for-kubernetes/latest/use-annotations-to-configure-load-balancing-1).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"c31e3b******5634b":{"service.beta.kubernetes.io/alibaba-cloud-loadbalancer-address-type":"intranet"}}', + ], + ], + [ + 'name' => 'AccessLogGatewayEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the collection of access logs of ASM gateways to Simple Log Service.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AccessLogSidecarEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the collection of access logs of sidecar proxies to Simple Log Service.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'LabelsForOffloadedWorkloads', + 'in' => 'query', + 'schema' => [ + 'description' => 'The labels for isolated workloads.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'name=xx,region=xx', + ], + ], + [ + 'name' => 'ExistingRootCaCert', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The updated root certificate. You can modify this parameter only if you use a custom certificate when you create a Service Mesh (ASM) instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Base64 encoded PEM certificate.'."\n", + ], + ], + [ + 'name' => 'ExistingCaCert', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The updated certificate authority (CA) certificate. You can modify this parameter only if you use a custom certificate when you create an ASM instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Base64 encoded PEM certificate.', + ], + ], + [ + 'name' => 'ExistingCaKey', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The updated CA certificate key. You can modify this parameter only if you use a custom certificate when you create an ASM instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Base64 encoded PEM'."\n" + .' private key.', + ], + ], + [ + 'name' => 'CertChain', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The certificate chain from the CA certificate to the root certificate. At least two certificates are included in the chain.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Base64 encoded PEM cert chain.', + ], + ], + [ + 'name' => 'SMCEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable SMC optimization.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'PilotEnableQuicListeners', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to support HTTP/3.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateMeshFeatureResponse>\\n <RequestId>BD65C0AD-D3C6-48D3-8D93-38D2015C****</RequestId>\\n</UpdateMeshFeatureResponse>","errorExample":""}]', + 'title' => 'UpdateMeshFeature', + 'summary' => 'Updates the configuration of a Service Mesh (ASM) instance.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RevokeKubeconfig' => [ + 'summary' => 'Revokes the kubeconfig file of a Service Mesh (ASM) instance and generates a new kubeconfig file.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the ASM instance for which you want to revoke its kubeconfig file.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cf08a11940e8c46c48bc791fcdb3****', + ], + ], + [ + 'name' => 'PrivateIpAddress', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to return the kubeconfig file for private access.'."\n" + ."\n" + .'* `true`: returns the kubeconfig file for private access.'."\n" + .'* `false`: returns the kubeconfig file for public access.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '7CF71C8B-79DD-150F-929E-267C51C5E311', + ], + 'Kubeconfig' => [ + 'description' => 'The new kubeconfig file generated.'."\n", + 'type' => 'string', + 'example' => 'apiVersion: v1 clusters: - cluster: server: https://121.**.**.**:6443 certificate-authority-data: ***** name: kubernetes contexts: - context: cluster: kubernetes user: "*****" name: ***** current-context: ***** kind: Config preferences: {} users: - name: "*****" user: client-certificate-data: ***** client-key-data: *****', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7CF71C8B-79DD-150F-929E-267C51C5E311\\",\\n \\"Kubeconfig\\": \\"apiVersion: v1 clusters: - cluster: server: https://121.**.**.**:6443 certificate-authority-data: ***** name: kubernetes contexts: - context: cluster: kubernetes user: \\\\\\"*****\\\\\\" name: ***** current-context: ***** kind: Config preferences: {} users: - name: \\\\\\"*****\\\\\\" user: client-certificate-data: ***** client-key-data: *****\\"\\n}","errorExample":""},{"type":"xml","example":"<RevokeKubeconfigResponse>\\n <RequestId>7CF71C8B-79DD-150F-929E-267C51C5E311</RequestId>\\n <Kubeconfig>apiVersion: v1 clusters: - cluster: server: https://121.**.**.**:6443 certificate-authority-data: ***** name: kubernetes contexts: - context: cluster: kubernetes user: \\"*****\\" name: ***** current-context: ***** kind: Config preferences: {} users: - name: \\"*****\\" user: client-certificate-data: ***** client-key-data: *****</Kubeconfig>\\n</RevokeKubeconfigResponse>","errorExample":""}]', + 'title' => 'RevokeKubeconfig', + ], + 'DescribeServiceMeshes' => [ + 'summary' => 'Queries ASM instances.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '17617', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh4LB119', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Tag', + 'in' => 'query', + 'allowEmptyValue' => false, + 'style' => 'flat', + 'schema' => [ + 'description' => 'The tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'Value' => [ + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'yahaha', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 1, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + 'ServiceMeshes' => [ + 'description' => 'The information about the ASM instance.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Endpoints' => [ + 'description' => 'The information about all endpoints of the ASM instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'IntranetPilotEndpoint' => [ + 'description' => 'The endpoint that is used to access Istio Pilot from the internal network.'."\n", + 'type' => 'string', + 'example' => '192.168.xx.xx:15011', + ], + 'IntranetApiServerEndpoint' => [ + 'description' => 'The endpoint that is used to access the API server over the internal network.'."\n", + 'type' => 'string', + 'example' => 'https://192.168.xx.xx:6443', + ], + 'PublicApiServerEndpoint' => [ + 'description' => 'The endpoint that is used to access the API server over the Internet.'."\n", + 'type' => 'string', + 'example' => 'https://123.56.xx.xx:6443', + ], + 'ReverseTunnelEndpoint' => [ + 'description' => 'The endpoint of the reverse tunnel (Deprecated).'."\n", + 'type' => 'string', + 'example' => 'none', + ], + 'PublicPilotEndpoint' => [ + 'description' => 'The public endpoint of the Pilot of the ASM instance.'."\n", + 'type' => 'string', + 'example' => 'xx.xx.xx.xx', + ], + ], + ], + 'ServiceMeshInfo' => [ + 'description' => 'The basic information about the ASM instances.'."\n", + 'type' => 'object', + 'properties' => [ + 'Profile' => [ + 'description' => 'The edition of the ASM instance before ASM is available for commercial use. Valid values:'."\n" + ."\n" + .'* `Pro`: Professional Edition'."\n" + .'* `Default`: Standard Edition'."\n", + 'type' => 'string', + 'example' => 'Pro', + ], + 'CreationTime' => [ + 'description' => 'The time when the ASM instance was created.'."\n", + 'type' => 'string', + 'example' => '2020-04-21T09:42:20+08:00', + ], + 'UpdateTime' => [ + 'description' => 'The time when the ASM instance was last modified.'."\n", + 'type' => 'string', + 'example' => '2020-04-21T09:42:20+08:00', + ], + 'ErrorMessage' => [ + 'description' => 'The returned error message.'."\n", + 'type' => 'string', + 'example' => 'error', + ], + 'Version' => [ + 'description' => 'The version number of the ASM instance.'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'State' => [ + 'description' => 'The state of the ASM instance.'."\n", + 'type' => 'string', + 'example' => 'success', + ], + 'ServiceMeshId' => [ + 'description' => 'The ID of the ASM instance.'."\n", + 'type' => 'string', + 'example' => 'cb8963379255149cb98c8686f274x****', + ], + 'Name' => [ + 'description' => 'The name of the ASM instance.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'RegionId' => [ + 'description' => 'The region ID of the ASM instance.'."\n", + 'type' => 'string', + 'example' => 'cn-beijing', + ], + ], + ], + 'Spec' => [ + 'description' => 'The specifications of the ASM instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'Network' => [ + 'description' => 'The network configurations of the ASM instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => 'The ID of the virtual private cloud (VPC).'."\n", + 'type' => 'string', + 'example' => 'vpc-2zew0rajjkmxy2369****', + ], + 'SecurityGroupId' => [ + 'description' => 'The ID of the security group.'."\n", + 'type' => 'string', + 'example' => 'sg-2ze384sxttxbctnj****', + ], + 'VSwitches' => [ + 'description' => 'The IDs of the vSwitches.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the vSwitch.'."\n", + 'type' => 'string', + 'example' => '["1","2"]', + ], + ], + ], + ], + 'LoadBalancer' => [ + 'description' => 'The information about load balancing.'."\n", + 'type' => 'object', + 'properties' => [ + 'PilotPublicEip' => [ + 'description' => 'Indicates whether Istio Pilot is exposed to the Internet. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'PilotPublicLoadbalancerId' => [ + 'description' => 'The ID of the Classic Load Balancer (CLB) instance that is used when Istio Pilot is exposed to the Internet.'."\n", + 'type' => 'string', + 'example' => 'lb-2zesa8qs8kbkj9jkl****', + ], + 'ApiServerLoadbalancerId' => [ + 'description' => 'The ID of the CLB instance that is used when the API server is exposed to the Internet.'."\n", + 'type' => 'string', + 'example' => 'lb-2zekaak10uxds44vx****', + ], + 'ApiServerPublicEip' => [ + 'description' => 'Indicates whether the API server is exposed to the Internet. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + 'MeshConfig' => [ + 'description' => 'The configurations of the ASM instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'Telemetry' => [ + 'description' => 'Indicates whether Prometheus monitoring is enabled. We recommend that you use Managed Service for Prometheus. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'OutboundTrafficPolicy' => [ + 'description' => 'The outbound traffic policy. Valid values:'."\n" + ."\n" + .'* `ALLOW_ANY`: Outbound traffic to an external service is allowed.'."\n" + .'* `REGISTRY_ONLY`: Outbound traffic is allowed to only external services that are defined in the service registry of the ASM instance.'."\n", + 'type' => 'string', + 'example' => 'ALLOW_ANY', + ], + 'Tracing' => [ + 'description' => 'Indicates whether the tracing feature is enabled. This feature can be enabled only after Managed Service for OpenTelemetry is activated. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'StrictMtls' => [ + 'description' => 'Indicates whether mutual Transport Layer Security (mTLS) is strictly enforced.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'Pilot' => [ + 'description' => 'The configurations of the control plane.'."\n", + 'type' => 'object', + 'properties' => [ + 'Http10Enabled' => [ + 'description' => 'Indicates whether the support for HTTP 1.0 is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'TraceSampling' => [ + 'description' => 'The sampling rate when Managed Service for OpenTelemetry is enabled.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '0.2', + ], + ], + ], + 'Mtls' => [ + 'description' => 'Indicates whether nearby access is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'SidecarInjector' => [ + 'description' => 'The configurations of sidecar proxy injection.'."\n", + 'type' => 'object', + 'properties' => [ + 'EnableNamespacesByDefault' => [ + 'description' => 'Indicates whether automatic sidecar proxy injection is enabled for all namespaces. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'AutoInjectionPolicyEnabled' => [ + 'description' => 'Indicates whether automatic sidecar proxy injection is enabled by using annotations.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'InitCNIConfiguration' => [ + 'description' => 'The initial configurations of Container Network Interface (CNI).'."\n", + 'type' => 'object', + 'properties' => [ + 'ExcludeNamespaces' => [ + 'description' => 'The namespaces in which the CNI plug-in does not check the pods.'."\n", + 'type' => 'string', + 'example' => 'default,foo', + ], + 'Enabled' => [ + 'description' => 'Indicates whether elevated privileges are required for the istio-init container when you perform traffic redirection for the istio-proxy container. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + ], + ], + 'ExtraConfiguration' => [ + 'description' => 'The extended configurations of the ASM instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'Playground' => [ + 'description' => 'The configurations of the ASM Playground (valid only for ASM Playground instances).'."\n", + 'type' => 'object', + 'properties' => [ + 'Scene' => [ + 'description' => 'The ID of the ASM Playground scenario.'."\n", + 'type' => 'string', + 'example' => 'ewmaLb', + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'Clusters' => [ + 'description' => 'The clusters.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The cluster.'."\n", + 'type' => 'string', + 'example' => '["caf089e56daba4c51a8906fe43ea1****","c80f45444b3da447da60a911390c2****"]', + ], + ], + 'ClusterSpec' => [ + 'description' => 'The edition of the ASM instance. Valid values:'."\n" + ."\n" + .'* `standard`: Standard Edition'."\n" + .'* `enterprise`: Enterprise Edition'."\n" + .'* `ultimate`: Ultimate Edition'."\n", + 'type' => 'string', + 'example' => 'standard', + ], + 'OwnerType' => [ + 'description' => 'The Alibaba Cloud service for which the ASM instance is created. Valid values:'."\n" + ."\n" + .'* `ackone`: The ASM instance is created for Alibaba Cloud Distributed Cloud Container Platform (ACK One).'."\n" + .'* An empty value indicates that the ASM instance is created by the user.'."\n", + 'type' => 'string', + 'example' => 'ackone', + ], + 'OwnerId' => [ + 'description' => 'The ID of the Alibaba Cloud service instance for which the ASM instance is created.'."\n", + 'type' => 'string', + 'example' => 'cc3e96f249d124eb38b72718ec5*****', + ], + 'Tag' => [ + 'description' => 'The details about the tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'Value' => [ + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'example' => 'yahaha', + ], + ], + ], + ], + 'Upgradable' => [ + 'description' => 'Indicates whether the ASM instance can be upgraded.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + 'description' => '', + ], + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\",\\n \\"ServiceMeshes\\": [\\n {\\n \\"Endpoints\\": {\\n \\"IntranetPilotEndpoint\\": \\"192.168.xx.xx:15011\\",\\n \\"IntranetApiServerEndpoint\\": \\"https://192.168.xx.xx:6443\\",\\n \\"PublicApiServerEndpoint\\": \\"https://123.56.xx.xx:6443\\",\\n \\"ReverseTunnelEndpoint\\": \\"none\\",\\n \\"PublicPilotEndpoint\\": \\"xx.xx.xx.xx\\"\\n },\\n \\"ServiceMeshInfo\\": {\\n \\"Profile\\": \\"Pro\\",\\n \\"CreationTime\\": \\"2020-04-21T09:42:20+08:00\\",\\n \\"UpdateTime\\": \\"2020-04-21T09:42:20+08:00\\",\\n \\"ErrorMessage\\": \\"error\\",\\n \\"Version\\": \\"1\\",\\n \\"State\\": \\"success\\",\\n \\"ServiceMeshId\\": \\"cb8963379255149cb98c8686f274x****\\",\\n \\"Name\\": \\"test\\",\\n \\"RegionId\\": \\"cn-beijing\\"\\n },\\n \\"Spec\\": {\\n \\"Network\\": {\\n \\"VpcId\\": \\"vpc-2zew0rajjkmxy2369****\\",\\n \\"SecurityGroupId\\": \\"sg-2ze384sxttxbctnj****\\",\\n \\"VSwitches\\": [\\n \\"[\\\\\\"1\\\\\\",\\\\\\"2\\\\\\"]\\"\\n ]\\n },\\n \\"LoadBalancer\\": {\\n \\"PilotPublicEip\\": true,\\n \\"PilotPublicLoadbalancerId\\": \\"lb-2zesa8qs8kbkj9jkl****\\",\\n \\"ApiServerLoadbalancerId\\": \\"lb-2zekaak10uxds44vx****\\",\\n \\"ApiServerPublicEip\\": true\\n },\\n \\"MeshConfig\\": {\\n \\"Telemetry\\": true,\\n \\"OutboundTrafficPolicy\\": \\"ALLOW_ANY\\",\\n \\"Tracing\\": true,\\n \\"StrictMtls\\": true,\\n \\"Pilot\\": {\\n \\"Http10Enabled\\": true,\\n \\"TraceSampling\\": 0.2\\n },\\n \\"Mtls\\": true,\\n \\"SidecarInjector\\": {\\n \\"EnableNamespacesByDefault\\": false,\\n \\"AutoInjectionPolicyEnabled\\": true,\\n \\"InitCNIConfiguration\\": {\\n \\"ExcludeNamespaces\\": \\"default,foo\\",\\n \\"Enabled\\": true\\n }\\n },\\n \\"ExtraConfiguration\\": {\\n \\"Playground\\": {\\n \\"Scene\\": \\"ewmaLb\\"\\n }\\n }\\n }\\n },\\n \\"Clusters\\": [\\n \\"[\\\\\\"caf089e56daba4c51a8906fe43ea1****\\\\\\",\\\\\\"c80f45444b3da447da60a911390c2****\\\\\\"]\\"\\n ],\\n \\"ClusterSpec\\": \\"standard\\",\\n \\"OwnerType\\": \\"ackone\\",\\n \\"OwnerId\\": \\"cc3e96f249d124eb38b72718ec5*****\\",\\n \\"Tag\\": [\\n {\\n \\"Key\\": \\"test\\",\\n \\"Value\\": \\"yahaha\\"\\n }\\n ],\\n \\"Upgradable\\": false\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeServiceMeshesResponse>\\n <RequestId>BD65C0AD-D3C6-48D3-8D93-38D2015C****</RequestId>\\n <ServiceMeshes>\\n <Endpoints>\\n <IntranetPilotEndpoint>192.168.xx.xx:15011</IntranetPilotEndpoint>\\n <ReverseTunnelEndpoint>...</ReverseTunnelEndpoint>\\n <PublicPilotEndpoint>182.92.xx.xx:15011</PublicPilotEndpoint>\\n <IntranetApiServerEndpoint>https://192.168.xx.xx:6443</IntranetApiServerEndpoint>\\n <PublicApiServerEndpoint>https://123.56.xx.xx:6443</PublicApiServerEndpoint>\\n </Endpoints>\\n <ServiceMeshInfo>\\n <Profile>Pro</Profile>\\n <CreationTime>2020-04-21T09:42:20+08:00</CreationTime>\\n <UpdateTime>2020-04-21T09:42:20+08:00</UpdateTime>\\n <ErrorMessage>error</ErrorMessage>\\n <Version>1</Version>\\n <State>success</State>\\n <ServiceMeshId>cb8963379255149cb98c8686f274x****</ServiceMeshId>\\n <Name>test</Name>\\n <RegionId>cn-beijing</RegionId>\\n </ServiceMeshInfo>\\n <Spec>\\n <Network>\\n <VpcId>vpc-2zew0rajjkmxy2369****</VpcId>\\n <SecurityGroupId>sg-2ze384sxttxbctnj****</SecurityGroupId>\\n <VSwitches>[\\"1\\",\\"2\\"]</VSwitches>\\n </Network>\\n <LoadBalancer>\\n <PilotPublicEip>true</PilotPublicEip>\\n <PilotPublicLoadbalancerId>lb-2zesa8qs8kbkj9jkl****</PilotPublicLoadbalancerId>\\n <ApiServerLoadbalancerId>lb-2zekaak10uxds44vx****</ApiServerLoadbalancerId>\\n <ApiServerPublicEip>true</ApiServerPublicEip>\\n </LoadBalancer>\\n <MeshConfig>\\n <Telemetry>true</Telemetry>\\n <OutboundTrafficPolicy>xxx</OutboundTrafficPolicy>\\n <Tracing>true</Tracing>\\n <StrictMtls>true</StrictMtls>\\n <Pilot>\\n <Http10Enabled>true</Http10Enabled>\\n <TraceSampling>0.2</TraceSampling>\\n </Pilot>\\n <Mtls>true</Mtls>\\n <SidecarInjector>\\n <EnableNamespacesByDefault>false</EnableNamespacesByDefault>\\n <AutoInjectionPolicyEnabled>true</AutoInjectionPolicyEnabled>\\n <InitCNIConfiguration>\\n <ExcludeNamespaces>default,foo</ExcludeNamespaces>\\n <Enabled>true</Enabled>\\n </InitCNIConfiguration>\\n </SidecarInjector>\\n </MeshConfig>\\n </Spec>\\n <Clusters>[\\"caf089e56daba4c51a8906fe43ea1****\\",\\"c80f45444b3da447da60a911390c2****\\"]</Clusters>\\n <ClusterSpec>standard</ClusterSpec>\\n <OwnerType>ackone</OwnerType>\\n <OwnerId>cc3e96f249d124eb38b72718ec5*****</OwnerId>\\n </ServiceMeshes>\\n</DescribeServiceMeshesResponse>","errorExample":""}]', + 'title' => 'DescribeServiceMeshes', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeServiceMeshDetail' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '17616', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh4LB119', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '11fd0027-c27e-41bb-a565-75583054****', + ], + 'ServiceMesh' => [ + 'description' => 'The information about the ASM instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'Endpoints' => [ + 'description' => 'The endpoints of the ASM instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'IntranetPilotEndpoint' => [ + 'description' => 'The endpoint that is used to access Istio Pilot from the internal network.'."\n", + 'type' => 'string', + 'example' => '192.168.**.**:15011', + ], + 'PublicPilotEndpoint' => [ + 'description' => 'The endpoint that is used to expose Istio Pilot to the Internet.'."\n", + 'type' => 'string', + 'example' => '182.92.**.**:15011', + ], + 'IntranetApiServerEndpoint' => [ + 'description' => 'The endpoint that is used to access the API server from the internal network.'."\n", + 'type' => 'string', + 'example' => 'https://192.168.**.**:6443', + ], + 'PublicApiServerEndpoint' => [ + 'description' => 'The endpoint that is used to access the API server over the Internet.'."\n", + 'type' => 'string', + 'example' => 'https://123.56.**.**:6443', + ], + 'IntranetCanaryPilotEndpoint' => [ + 'description' => 'The endpoint that is used to access Istio Pilot from the internal network (Intranet) during canary release.'."\n", + 'type' => 'string', + 'example' => '192.168.**.**:15011', + ], + 'PublicCanaryPilotEndpoint' => [ + 'description' => 'The endpoint that is used to expose Istio Pilot to the public network (Internet) during canary release.'."\n", + 'type' => 'string', + 'example' => '182.92.**.**:15011', + ], + ], + ], + 'ServiceMeshInfo' => [ + 'description' => 'The basic information about the ASM instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'Profile' => [ + 'description' => 'The edition of the ASM instance. Valid values:'."\n" + ."\n" + .'* `Default`: Standard Edition'."\n" + .'* `Pro`: Enterprise Edition and Ultimate Edition'."\n", + 'type' => 'string', + 'example' => 'Default', + ], + 'CreationTime' => [ + 'description' => 'The time when the ASM instance was created.'."\n", + 'type' => 'string', + 'example' => '2020-04-21T09:42:20+08:00', + ], + 'UpdateTime' => [ + 'description' => 'The time when the ASM instance was last modified.'."\n", + 'type' => 'string', + 'example' => '2020-06-03T14:48:54+08:00', + ], + 'ErrorMessage' => [ + 'description' => 'The returned error message.'."\n", + 'type' => 'string', + 'example' => ' error', + ], + 'Version' => [ + 'description' => 'The version of the ASM instance.'."\n", + 'type' => 'string', + 'example' => 'v1.7.4.0-gfb34ba99-aliyun', + ], + 'State' => [ + 'description' => 'The state of the ASM instance.'."\n", + 'type' => 'string', + 'example' => 'running', + ], + 'ServiceMeshId' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + 'Name' => [ + 'description' => 'The name of the ASM instance.'."\n", + 'type' => 'string', + 'example' => 'mesh1', + ], + 'RegionId' => [ + 'description' => 'The ID of the region in which the ASM instance resides.'."\n", + 'type' => 'string', + 'example' => 'cn-beijing', + ], + ], + ], + 'Spec' => [ + 'description' => 'The specifications of the ASM instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'Network' => [ + 'description' => 'The network configurations of the ASM instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => 'The ID of the virtual private cloud (VPC).'."\n", + 'type' => 'string', + 'example' => 'vpc-2zew0rajjkmxy2369****', + ], + 'SecurityGroupId' => [ + 'description' => 'The security group ID.'."\n", + 'type' => 'string', + 'example' => 'sg-2ze384sxttxbctnj****', + ], + 'VSwitches' => [ + 'description' => 'The virtual switches (vSwitches).'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The vSwitch ID.'."\n", + 'type' => 'string', + 'example' => 'vsw-2ze66z3ntvsej0mdo****', + ], + ], + ], + ], + 'LoadBalancer' => [ + 'description' => 'The information about the load balancer.'."\n", + 'type' => 'object', + 'properties' => [ + 'PilotPublicLoadbalancerId' => [ + 'description' => 'The ID of the Classic Load Balancer (CLB) instance that is used when Istio Pilot is exposed to the Internet.'."\n", + 'type' => 'string', + 'example' => 'lb-2zesa8qs8kbkj9jkl****', + ], + 'PilotPublicEip' => [ + 'description' => 'Indicates whether Istio Pilot is exposed to the Internet. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'PilotPublicEipId' => [ + 'description' => 'The ID of the endpoint that is used to expose Istio Pilot to the Internet.'."\n", + 'type' => 'string', + 'example' => 'eip-wz9gtwau6b2aklgjk****', + ], + 'CanaryPilotPublicEipId' => [ + 'description' => 'The ID of the endpoint that is used to expose Istio Pilot to the Internet during canary release.'."\n", + 'type' => 'string', + 'example' => 'eip-wz9gtwau6b2aklgjk****', + ], + 'ApiServerLoadbalancerId' => [ + 'description' => 'The ID of the CLB instance that is used when the API server is exposed to the Internet.'."\n", + 'type' => 'string', + 'example' => 'lb-2zekaak10uxds44vx****', + ], + 'ApiServerPublicEip' => [ + 'description' => 'Indicates whether the API server is exposed to the Internet. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ApiServerPublicEipId' => [ + 'description' => 'The ID of the endpoint that is used to expose API server to the Internet.'."\n", + 'type' => 'string', + 'example' => 'eip-wz9gtwau6b2aklgjk****', + ], + 'CanaryPilotLoadBalancerId' => [ + 'description' => 'The ID of the Classic Load Balancer (CLB) instance that is used during the canary release of Istio Pilot.'."\n", + 'type' => 'string', + 'example' => 'lb-2zesa8qs8kbkj9jkl****'."\n", + ], + ], + ], + 'MeshConfig' => [ + 'description' => 'The configurations of the ASM instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'OPA' => [ + 'description' => 'The information about the Open Policy Agent (OPA) plug-in.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestMemory' => [ + 'description' => 'The size of the memory that is requested by OPA.'."\n", + 'type' => 'string', + 'example' => '1024Mi', + ], + 'LogLevel' => [ + 'description' => 'The level of the logs to be generated for OPA.'."\n", + 'type' => 'string', + 'example' => 'info', + ], + 'Enabled' => [ + 'description' => 'Indicates whether the OPA plug-in is installed. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'LimitMemory' => [ + 'description' => 'The maximum size of the memory that is available to the OPA proxy container.'."\n", + 'type' => 'string', + 'example' => '512Mi', + ], + 'RequestCPU' => [ + 'description' => 'The number of CPU cores that are requested by the OPA proxy container.'."\n", + 'type' => 'string', + 'example' => '2', + ], + 'LimitCPU' => [ + 'description' => 'The maximum number of CPU cores that are available to the OPA proxy container.'."\n", + 'type' => 'string', + 'example' => '1', + ], + ], + ], + 'Prometheus' => [ + 'description' => 'The configurations of Prometheus monitoring.'."\n", + 'type' => 'object', + 'properties' => [ + 'UseExternal' => [ + 'description' => 'Indicates whether a custom Prometheus instance is used. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'ExternalUrl' => [ + 'description' => 'The endpoint of Prometheus monitoring. If you use a custom Prometheus instance, this parameter is populated by the system.'."\n", + 'type' => 'string', + 'example' => 'http://prometheus:9090', + ], + ], + ], + 'AccessLog' => [ + 'description' => 'The configurations of access log collection.'."\n", + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => 'Indicates whether access log collection is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'Project' => [ + 'description' => 'The name of the Simple Log Service project that stores access logs.'."\n", + 'type' => 'string', + 'example' => 'k8s-log-b7b05d08670e41ca8c8fc0b7718f*****', + ], + ], + ], + 'Pilot' => [ + 'description' => 'The Pilot configurations.'."\n", + 'type' => 'object', + 'properties' => [ + 'Http10Enabled' => [ + 'description' => 'Indicates whether HTTP/1.0 is supported. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'TraceSampling' => [ + 'description' => 'The sampling percentage of tracing analysis.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '100', + ], + 'Feature' => [ + 'description' => 'The configurations of Pilot features.'."\n", + 'type' => 'object', + 'properties' => [ + 'FilterGatewayClusterConfig' => [ + 'description' => 'Indicates whether gateway configuration filtering is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'EnableSDSServer' => [ + 'description' => 'Indicates whether Secret Discovery Service (SDS) is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + 'ConfigSource' => [ + 'description' => 'The configurations of communication between external services and services in the mesh.'."\n", + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => 'Indicates whether communication is allowed between external services and services in the mesh. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'NacosID' => [ + 'description' => 'The ID of the Nacos instance that provides external service information.'."\n", + 'type' => 'string', + 'example' => 'mse-cn-tl326******', + ], + ], + ], + ], + ], + 'MSE' => [ + 'description' => 'The configurations of Microservices Engine (MSE).'."\n", + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => 'Indicates whether MSE is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + 'CustomizedZipkin' => [ + 'description' => 'Indicates whether a custom Zipkin system is used. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'SidecarInjector' => [ + 'description' => 'The configurations of the sidecar injector.'."\n", + 'type' => 'object', + 'properties' => [ + 'EnableNamespacesByDefault' => [ + 'description' => 'Indicates whether automatic sidecar proxy injection is enabled for all namespaces. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'RequestMemory' => [ + 'description' => 'The size of the memory that is requested by the pod where the sidecar injector resides.'."\n", + 'type' => 'string', + 'example' => '512Mi', + ], + 'LimitMemory' => [ + 'description' => 'The maximum size of the memory that is available to the pod where the sidecar injector resides.'."\n", + 'type' => 'string', + 'example' => '2048Mi', + ], + 'RequestCPU' => [ + 'description' => 'The number of CPU cores that are requested by the pod where the sidecar injector resides.'."\n", + 'type' => 'string', + 'example' => '1000m', + ], + 'AutoInjectionPolicyEnabled' => [ + 'description' => 'Indicates whether automatic sidecar proxy injection can be enabled by using pod annotations. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'LimitCPU' => [ + 'description' => 'The maximum number of CPU cores that are available to the pod where the sidecar injector resides.'."\n", + 'type' => 'string', + 'example' => '4000m', + ], + 'InitCNIConfiguration' => [ + 'description' => 'The configurations of Container Network Interface (CNI).'."\n", + 'type' => 'object', + 'properties' => [ + 'ExcludeNamespaces' => [ + 'description' => 'The namespaces to exclude. The CNI plug-in ignores pods in the excluded namespaces.'."\n", + 'type' => 'string', + 'example' => 'kube-system,istio-system', + ], + 'Enabled' => [ + 'description' => 'Indicates whether the CNI plug-in is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + 'SidecarInjectorWebhookAsYaml' => [ + 'description' => 'Other configurations of automatic sidecar proxy injection, in the YAML format. For more information, see [Enable automatic sidecar proxy injection](~~186136~~).'."\n", + 'type' => 'string', + 'example' => '{"injectedAnnotations":{"test/istio-init":"runtime/default2","test/istio-proxy":"runtime/default"},"replicaCount":2,"nodeSelector":{"beta.kubernetes.io/os":"linux"}}', + ], + 'SidecarInjectorNum' => [ + 'description' => 'The number of component replicas that are used for sidecar proxy injection. Default value: `1`.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + ], + ], + 'IncludeIPRanges' => [ + 'description' => 'The IP ranges in CIDR form to redirect to the sidecar proxies in the ASM instance.'."\n", + 'type' => 'string', + 'example' => '192.168.0.0/16', + ], + 'ExcludeIPRanges' => [ + 'description' => 'The IP ranges in CIDR form to be excluded from redirection to sidecar proxies in the ASM instance.'."\n", + 'type' => 'string', + 'example' => '172.16.0.0', + ], + 'ExcludeOutboundPorts' => [ + 'description' => 'The outbound ports to be excluded from redirection to sidecar proxies in the ASM instance.'."\n", + 'type' => 'string', + 'example' => '80,81', + ], + 'ExcludeInboundPorts' => [ + 'description' => 'The inbound ports to be excluded from redirection to sidecar proxies in the ASM instance.'."\n", + 'type' => 'string', + 'example' => '80,81', + ], + 'Telemetry' => [ + 'description' => 'Indicates whether Prometheus monitoring is enabled. We recommend that you use [Managed Service for Prometheus](https://arms.console.aliyun.com/). Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'Edition' => [ + 'description' => 'The information about the edition.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The name of the edition.'."\n", + 'type' => 'string', + 'example' => 'Pro', + ], + 'IstiodImageTag' => [ + 'description' => 'The version of the Istiod image.'."\n", + 'type' => 'string', + 'example' => 'v1.9.7.1-3-gb3f1ab3c9c-pro-aliyun', + ], + 'ProxyImageTag' => [ + 'description' => 'The version of the Istio Proxy image.'."\n", + 'type' => 'string', + 'example' => 'v1.9.7.1-3-gb3f1ab3c9c-pro-aliyun', + ], + ], + ], + 'ProtocolSupport' => [ + 'description' => 'The configurations of protocol support.'."\n", + 'type' => 'object', + 'properties' => [ + 'MysqlFilterEnabled' => [ + 'description' => 'Indicates whether MySQL Filter is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'RedisFilterEnabled' => [ + 'description' => 'Indicates whether Redis Filter is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'ThriftFilterEnabled' => [ + 'description' => 'Indicates whether Thrift Filter is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'DubboFilterEnabled' => [ + 'description' => 'Indicates whether Dubbo Filter is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + 'OutboundTrafficPolicy' => [ + 'description' => 'The outbound traffic policy. Valid values:'."\n" + ."\n" + .'* `ALLOW_ANY`: Outbound traffic to all external services is allowed.'."\n" + .'* `REGISTRY_ONLY`: Outbound traffic is allowed to only external services that are defined in the service registry of the ASM instance.'."\n", + 'type' => 'string', + 'example' => 'ALLOW_ANY', + ], + 'Kiali' => [ + 'description' => 'The configurations of mesh topology.'."\n", + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => 'Indicates whether mesh topology is enabled. Mesh topology can be enabled only when Prometheus monitoring is enabled. If Prometheus monitoring is disabled, you must set this parameter to `false`.`` Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'Url' => [ + 'description' => 'The endpoint of the mesh topology service.'."\n", + 'type' => 'string', + 'example' => 'http://1.2.**.**:20001', + ], + ], + ], + 'Tracing' => [ + 'description' => 'Indicates whether tracing analysis is enabled. This feature can be enabled only after [Managed Service for OpenTelemetry](https://tracing-analysis.console.aliyun.com/) is activated. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'WebAssemblyFilterDeployment' => [ + 'description' => 'The configurations of WebAssembly Filter.'."\n", + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => 'Indicates whether WebAssembly Filter is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + 'EnableLocalityLB' => [ + 'description' => 'Indicates whether the feature that routes traffic to the nearest instance is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'Audit' => [ + 'description' => 'The information about mesh audit.'."\n", + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => 'Indicates whether mesh audit is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'Project' => [ + 'description' => 'The name of the Simple Log Service project that is used for mesh audit.'."\n", + 'type' => 'string', + 'example' => 'audit-project', + ], + 'AuditProjectStatus' => [ + 'description' => 'Indicates whether an audit project exists in the ASM instance. Valid values:'."\n" + ."\n" + .'* `audit_project_exist`: An audit project exists.'."\n" + .'* `audit_project_not_exist`: No audit project exists.'."\n", + 'type' => 'string', + 'example' => 'audit_project_not_exist', + ], + ], + ], + 'Proxy' => [ + 'description' => 'The proxy configurations.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestMemory' => [ + 'description' => 'The size of the memory that is requested.'."\n", + 'type' => 'string', + 'example' => '128Mi', + ], + 'ClusterDomain' => [ + 'description' => 'The trusted domain.'."\n", + 'type' => 'string', + 'example' => 'cluster.domain', + ], + 'LimitMemory' => [ + 'description' => 'The maximum size of the memory.'."\n", + 'type' => 'string', + 'example' => '1024Mi', + ], + 'RequestCPU' => [ + 'description' => 'The number of CPU cores that are requested.'."\n", + 'type' => 'string', + 'example' => '100m', + ], + 'EnableDNSProxying' => [ + 'description' => 'Indicates whether the Domain Name System (DNS) proxy feature is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'LimitCPU' => [ + 'description' => 'The maximum number of CPU cores.'."\n", + 'type' => 'string', + 'example' => '2000m', + ], + 'AccessLogServiceEnabled' => [ + 'description' => 'Indicates whether gRPC Access Log Service (ALS) for Envoy is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'AccessLogServiceHost' => [ + 'description' => 'The endpoint of gRPC ALS for Envoy.'."\n", + 'type' => 'string', + 'example' => '0.0.0.0', + ], + 'AccessLogServicePort' => [ + 'description' => 'The port of gRPC ALS for Envoy.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '9999', + ], + 'AccessLogFormat' => [ + 'description' => 'The format of the access logs of sidecar proxies.'."\n", + 'type' => 'string', + 'example' => '{"authority_for":"%REQ(:AUTHORITY)%","bytes_received":"%BYTES_RECEIVED%","bytes_sent":"%BYTES_SENT%","downstream_local_address":"%DOWNSTREAM_LOCAL_ADDRESS%","downstream_remote_address":"%DOWNSTREAM_REMOTE_ADDRESS%","duration":"%DURATION%","istio_policy_status":"%DYNAMIC_METADATA(istio.mixer:status)%","method":"%REQ(:METHOD)%","path":"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%","protocol":"%PROTOCOL%","request_id":"%REQ(X-REQUEST-ID)%","requested_server_name":"%REQUESTED_SERVER_NAME%","response_code":"%RESPONSE_CODE%","response_flags":"%RESPONSE_FLAGS%","route_name":"%ROUTE_NAME%","start_time":"%START_TIME%","trace_id":"%REQ(X-B3-TRACEID)%","upstream_cluster":"%UPSTREAM_CLUSTER%","upstream_host":"%UPSTREAM_HOST%","upstream_local_address":"%UPSTREAM_LOCAL_ADDRESS%","upstream_service_time":"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%","upstream_transport_failure_reason":"%UPSTREAM_TRANSPORT_FAILURE_REASON%","user_agent":"%REQ(USER-AGENT)%","x_forwarded_for":"%REQ(X-FORWARDED-FOR)%"}', + ], + 'AccessLogFile' => [ + 'description' => 'The path to the file that stores the access logs of sidecar proxies.'."\n", + 'type' => 'string', + 'example' => '/dev/stdout', + ], + ], + ], + 'K8sNewAPIsSupport' => [ + 'description' => 'The information about the Kubernetes API.'."\n", + 'type' => 'object', + 'properties' => [ + 'GatewayAPIEnabled' => [ + 'description' => 'Indicates whether Gateway API is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + 'LocalityLB' => [ + 'description' => 'The configurations of cross-region load balancing.'."\n", + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => 'Indicates whether cross-region load balancing is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'Failover' => [ + 'description' => 'The configurations of cross-region failover.'."\n" + ."\n" + .'> Either Failover or `Distribute` can be set. If you set `Failover`, you cannot set `Distribute`.'."\n", + 'type' => 'object', + 'example' => '{"failover":[{"from":"cn-hangzhou","to":"cn-shanghai"}]}', + ], + 'Distribute' => [ + 'description' => 'The configurations of cross-region traffic distribution.'."\n" + ."\n" + .'> Either `Failover` or Distribute can be set. If you set `Distribute`, you cannot set Failover.'."\n", + 'type' => 'object', + 'example' => '[{"from":"cn-shanghai","to":{"cn-hangzhou/*":50,"cn-shanghai/*":25,"cn-zhangjiakou/*":25}},{"from":"cn-hangzhou","to":{"cn-hangzhou/*":50,"cn-shanghai/*":25,"cn-zhangjiakou/*":25}}]', + ], + 'FailoverPriority' => [ + 'type' => 'object', + ], + ], + ], + 'ControlPlaneLogInfo' => [ + 'description' => 'The configurations of control-plane log collection.'."\n", + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => 'Indicates whether the collection of control plane logs is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'Project' => [ + 'description' => 'The name of the Simple Log Service project that stores control plane logs.'."\n", + 'type' => 'string', + 'example' => 'mesh-log-cbeb85a09161b4a26ab73e0ac****', + ], + 'LogTTL' => [ + 'description' => 'The time to live (TTL) of the collected control-plane logs. Unit: day.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '30', + ], + ], + ], + 'ExtraConfiguration' => [ + 'description' => 'The configurations of additional features for the ASM instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'IstioCRHistory' => [ + 'description' => 'The configurations of the rollback feature for Istio resources.'."\n", + 'type' => 'object', + 'properties' => [ + 'EnableHistory' => [ + 'description' => 'Indicates whether the rollback feature for Istio resources is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + 'CRAggregationEnabled' => [ + 'description' => 'Indicates whether the Kubernetes API of clusters on the data plane can be used to access Istio resources. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'MultiBuffer' => [ + 'description' => 'The information about Transport Layer Security (TLS) acceleration based on MultiBuffer.', + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => 'Indicates whether MultiBuffer-based TLS acceleration is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`', + 'type' => 'boolean', + 'example' => 'false', + ], + 'PollDelay' => [ + 'description' => 'The pull-request latency.'."\n", + 'type' => 'string', + 'example' => '0.02s', + ], + ], + ], + 'TerminationDrainDuration' => [ + 'description' => 'The maximum period of time that Istio Proxy waits for a request to end.'."\n", + 'type' => 'string', + 'example' => '5s', + ], + 'Lifecycle' => [ + 'description' => 'The lifecycle of Istio Proxy.'."\n", + 'type' => 'object', + 'properties' => [ + 'postStart' => [ + 'description' => 'The post-start parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'exec' => [ + 'description' => 'The post-start script.'."\n", + 'type' => 'object', + 'properties' => [ + 'command' => [ + 'description' => 'The executed commands. The value is a string that consists of JSON arrays.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The executed command.'."\n", + 'type' => 'string', + 'example' => 'sleep 3s', + ], + ], + ], + ], + 'httpGet' => [ + 'description' => 'The HTTP GET request that is sent before the instance stops.'."\n", + 'type' => 'object', + 'properties' => [ + 'port' => [ + 'description' => 'The port number of the request.'."\n", + 'type' => 'string', + 'example' => '80', + ], + 'host' => [ + 'description' => 'The URL of the request.'."\n", + 'type' => 'string', + 'example' => '127.xx.xx.1', + ], + 'scheme' => [ + 'description' => 'The request method. Valid values: `http` and `https`.'."\n", + 'type' => 'string', + 'example' => 'http', + ], + 'httpHeaders' => [ + 'description' => 'The HTTP request headers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => 'The name of the HTTP request header.'."\n", + 'type' => 'string', + 'example' => 'key', + ], + 'value' => [ + 'description' => 'The value of the HTTP request header.'."\n", + 'type' => 'string', + 'example' => 'value', + ], + ], + ], + ], + ], + ], + 'tcpSocket' => [ + 'description' => 'The TCP socket request that is sent.'."\n", + 'type' => 'object', + 'properties' => [ + 'port' => [ + 'description' => 'The port number of the TCP socket request.'."\n", + 'type' => 'string', + 'example' => '888', + ], + 'host' => [ + 'description' => 'The URL of the TCP socket request.'."\n", + 'type' => 'string', + 'example' => '127.xx.xx.1', + ], + ], + ], + ], + ], + 'preStop' => [ + 'description' => 'The pre-close parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'exec' => [ + 'description' => 'The pre-close script.'."\n", + 'type' => 'object', + 'properties' => [ + 'command' => [ + 'description' => 'The executed commands. The value is a string that consists of JSON arrays.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The executed command.'."\n", + 'type' => 'string', + 'example' => 'sleep 3s', + ], + ], + ], + ], + 'httpGet' => [ + 'description' => 'The HTTP GET request that is sent before the instance stops.'."\n", + 'type' => 'object', + 'properties' => [ + 'port' => [ + 'description' => 'The port number of the request.'."\n", + 'type' => 'string', + 'example' => '80', + ], + 'host' => [ + 'description' => 'The URL of the request.'."\n", + 'type' => 'string', + 'example' => '127.xx.xx.1', + ], + 'scheme' => [ + 'description' => 'The request method. Valid values: `http` and `https`.'."\n", + 'type' => 'string', + 'example' => 'http', + ], + 'httpHeaders' => [ + 'description' => 'The HTTP request headers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'name' => [ + 'description' => 'The name of the HTTP request header.'."\n", + 'type' => 'string', + 'example' => 'key', + ], + 'value' => [ + 'description' => 'The value of the HTTP request header.'."\n", + 'type' => 'string', + 'example' => 'value', + ], + ], + ], + ], + ], + ], + 'tcpSocket' => [ + 'description' => 'The TCP socket request that is sent.'."\n", + 'type' => 'object', + 'properties' => [ + 'port' => [ + 'description' => 'The port number of the request.'."\n", + 'type' => 'string', + 'example' => '888', + ], + 'host' => [ + 'description' => 'The URL of the request.'."\n", + 'type' => 'string', + 'example' => '127.xx.xx.1', + ], + ], + ], + ], + ], + ], + ], + 'SidecarProxyInitResourceLimit' => [ + 'description' => 'The resource limits on the istio-init container.'."\n", + 'type' => 'object', + 'properties' => [ + 'ResourceCPULimit' => [ + 'description' => 'The maximum number of CPU cores that are available to the istio-init container.'."\n", + 'type' => 'string', + 'example' => '2000m', + ], + 'ResourceMemoryLimit' => [ + 'description' => 'The maximum size of the memory that is available to the istio-init container.'."\n", + 'type' => 'string', + 'example' => '1024Mi', + ], + ], + ], + 'SidecarProxyInitResourceRequest' => [ + 'description' => 'The resources that are required by the istio-init container.'."\n", + 'type' => 'object', + 'properties' => [ + 'ResourceCPURequest' => [ + 'description' => 'The number of CPU cores that are requested by the istio-init container.'."\n", + 'type' => 'string', + 'example' => '10m', + ], + 'ResourceMemoryRequest' => [ + 'description' => 'The size of the memory that is requested by the istio-init container.'."\n", + 'type' => 'string', + 'example' => '10Mi', + ], + ], + ], + 'DiscoverySelectors' => [ + 'description' => 'The label selectors used to specify the namespaces of the clusters on the data plane. The control plane discovers and processes only application services in the specified namespaces.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The label selectors used to specify the namespaces of the clusters on the data plane. The control plane discovers and processes only application services in the specified namespaces.'."\n", + 'type' => 'object', + 'example' => '[{"matchExpressions":[{"key":"asm-discovery","operator":"Exists"}]}]', + ], + ], + 'OPAScopeInjection' => [ + 'description' => 'The configurations of the feature of controlling the OPA injection scope.'."\n", + 'type' => 'object', + 'properties' => [ + 'OPAScopeInjected' => [ + 'description' => 'Indicates whether the feature of controlling the OPA injection scope is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + 'CRAggregationConfiguration' => [ + 'description' => 'Access to Istio resources by using the Kubernetes API on the data plane.'."\n", + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => 'Indicates whether Istio resources can be accessed by using the Kubernetes API on the data plane.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + 'NFDConfiguration' => [ + 'description' => 'The configurations of Node Feature Discovery (NFD).'."\n", + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => 'Indicates whether NFD is enabled.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'NFDLabelPruned' => [ + 'description' => 'Indicates whether feature labels on nodes are cleared when NFD is disabled.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + 'AccessLogExtraConf' => [ + 'description' => 'The configurations of additional features for access log collection.'."\n", + 'type' => 'object', + 'properties' => [ + 'GatewayLifecycle' => [ + 'description' => 'The retention period for the access logs of the ingress gateway. Unit: day. The logs are collected by using Simple Log Service. For example, the value 30 indicates that the logs are retained for 30 days.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '30', + ], + 'SidecarLifecycle' => [ + 'description' => 'The retention period for the access logs of sidecar proxies. Unit: day. The logs are collected by using Simple Log Service. For example, the value 30 indicates that the logs are retained for 30 days.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '30', + ], + 'GatewayEnabled' => [ + 'description' => 'Indicates whether gateway log collection is enabled.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'SidecarEnabled' => [ + 'description' => 'Indicates whether sidecar log collection is enabled.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + 'AutoDiagnosis' => [ + 'description' => 'The configurations of automatic diagnostics for the ASM instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'AutoDiagnosisEnabled' => [ + 'description' => 'Indicates whether automatic diagnostics is enabled for the ASM instance. If you enable this feature, the ASM instance is automatically diagnosed 5 minutes after you modify an Istio resource.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + 'AdaptiveXdsConfiguration' => [ + 'description' => 'The configurations of adaptive xDS optimization.'."\n", + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => 'Indicates whether adaptive xDS optimization is enabled.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'EgressResources' => [ + 'description' => 'The resource configurations of the egress gateway that is used by adaptive xDS optimization.'."\n", + 'type' => 'object', + 'properties' => [ + 'Requests' => [ + 'description' => 'The resources that are requested by the egress gateway.'."\n", + 'type' => 'object', + 'example' => '{"cpu":"100m", "memory": "256Mi"}', + ], + 'Limits' => [ + 'description' => 'The resources that are available to the egress gateway.'."\n", + 'type' => 'object', + 'example' => '{"cpu":"200m", "memory": "512Mi"}', + ], + ], + ], + 'EgressReplicaCount' => [ + 'description' => 'The number of the egress gateway pod replicas.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'EgressAutoscaleEnabled' => [ + 'description' => 'Indicates whether Horizontal Pod Autoscaling (HPA) is enabled for the egress gateway.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'EgressMinReplica' => [ + 'description' => 'The minimum number of egress gateway pod replicas when HPA is enabled.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'EgressMaxReplica' => [ + 'description' => 'The maximum number of egress gateway pod replicas when HPA is enabled.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'EgressHpaCpu' => [ + 'description' => 'The CPU resource configurations of the egress gateway when HPA is enabled.'."\n", + 'type' => 'object', + 'properties' => [ + 'TargetAverageUtilization' => [ + 'description' => 'The expected CPU utilization when HPA is enabled. Valid values: 1 to 100. If the CPU utilization exceeds this value, the number of pod replicas increases. If the CPU utilization is less than this value, the number of pod replicas decreases.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + ], + ], + 'EgressHpaMemory' => [ + 'description' => 'The memory resource configurations of the egress gateway when HPA is enabled.'."\n", + 'type' => 'object', + 'properties' => [ + 'TargetAverageUtilization' => [ + 'description' => 'The expected memory usage when HPA is enabled. Valid values: 1 to 100. If the memory usage exceeds this value, the number of pod replicas increases. If the memory usage is less than this value, the number of pod replicas decreases.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + ], + ], + ], + ], + 'IstiodExtraConfiguration' => [ + 'description' => 'Additional configurations for Istiod.'."\n", + 'type' => 'object', + 'properties' => [ + 'LabelsForOffloadedWorkloads' => [ + 'description' => 'The labels for isolated workloads.'."\n", + 'type' => 'string', + 'example' => 'name=xx,region=xx', + ], + 'PilotEnableQuicListeners' => [ + 'description' => '', + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + 'Playground' => [ + 'type' => 'object', + 'properties' => [ + 'Scene' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'Clusters' => [ + 'description' => 'The clusters.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The cluster.'."\n", + 'type' => 'string', + 'example' => '["caf089e56daba4c51a8906fe43ea1****","c80f45444b3da447da60a911390c2****"]', + ], + ], + 'ClusterSpec' => [ + 'description' => 'The specification of the ASM instance. Valid values:'."\n" + ."\n" + .'* `standard`: Standard Edition'."\n" + .'* `enterprise`: Enterprise Edition'."\n" + .'* `ultimate`: Ultimate Edition'."\n", + 'type' => 'string', + 'example' => 'standard', + ], + 'OwnerType' => [ + 'description' => 'The Alibaba Cloud service for which the ASM instance is created. Valid values:'."\n" + ."\n" + .'* `ackone`: The ASM instance is created for Alibaba Cloud Distributed Cloud Container Platform (ACK One).'."\n" + .'* An empty value indicates that the ASM instance is created by the user.'."\n", + 'type' => 'string', + 'example' => 'ackone', + ], + 'OwnerId' => [ + 'description' => 'The ID of the Alibaba Cloud service instance for which the ASM instance is created.'."\n", + 'type' => 'string', + 'example' => 'cc3e96f249d124eb38b72718ec5*****', + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"11fd0027-c27e-41bb-a565-75583054****\\",\\n \\"ServiceMesh\\": {\\n \\"Endpoints\\": {\\n \\"IntranetPilotEndpoint\\": \\"192.168.**.**:15011\\",\\n \\"PublicPilotEndpoint\\": \\"182.92.**.**:15011\\",\\n \\"IntranetApiServerEndpoint\\": \\"https://192.168.**.**:6443\\",\\n \\"PublicApiServerEndpoint\\": \\"https://123.56.**.**:6443\\",\\n \\"IntranetCanaryPilotEndpoint\\": \\"192.168.**.**:15011\\",\\n \\"PublicCanaryPilotEndpoint\\": \\"182.92.**.**:15011\\"\\n },\\n \\"ServiceMeshInfo\\": {\\n \\"Profile\\": \\"Default\\",\\n \\"CreationTime\\": \\"2020-04-21T09:42:20+08:00\\",\\n \\"UpdateTime\\": \\"2020-06-03T14:48:54+08:00\\",\\n \\"ErrorMessage\\": \\" error\\",\\n \\"Version\\": \\"v1.7.4.0-gfb34ba99-aliyun\\",\\n \\"State\\": \\"running\\",\\n \\"ServiceMeshId\\": \\"c08ba3fd1e6484b0f8cc1ad8fe10d****\\",\\n \\"Name\\": \\"mesh1\\",\\n \\"RegionId\\": \\"cn-beijing\\"\\n },\\n \\"Spec\\": {\\n \\"Network\\": {\\n \\"VpcId\\": \\"vpc-2zew0rajjkmxy2369****\\",\\n \\"SecurityGroupId\\": \\"sg-2ze384sxttxbctnj****\\",\\n \\"VSwitches\\": [\\n \\"vsw-2ze66z3ntvsej0mdo****\\"\\n ]\\n },\\n \\"LoadBalancer\\": {\\n \\"PilotPublicLoadbalancerId\\": \\"lb-2zesa8qs8kbkj9jkl****\\",\\n \\"PilotPublicEip\\": true,\\n \\"PilotPublicEipId\\": \\"eip-wz9gtwau6b2aklgjk****\\",\\n \\"CanaryPilotPublicEipId\\": \\"eip-wz9gtwau6b2aklgjk****\\",\\n \\"ApiServerLoadbalancerId\\": \\"lb-2zekaak10uxds44vx****\\",\\n \\"ApiServerPublicEip\\": true,\\n \\"ApiServerPublicEipId\\": \\"eip-wz9gtwau6b2aklgjk****\\",\\n \\"CanaryPilotLoadBalancerId\\": \\"lb-2zesa8qs8kbkj9jkl****\\\\n\\"\\n },\\n \\"MeshConfig\\": {\\n \\"OPA\\": {\\n \\"RequestMemory\\": \\"1024Mi\\",\\n \\"LogLevel\\": \\"info\\",\\n \\"Enabled\\": true,\\n \\"LimitMemory\\": \\"512Mi\\",\\n \\"RequestCPU\\": \\"2\\",\\n \\"LimitCPU\\": \\"1\\"\\n },\\n \\"Prometheus\\": {\\n \\"UseExternal\\": false,\\n \\"ExternalUrl\\": \\"http://prometheus:9090\\"\\n },\\n \\"AccessLog\\": {\\n \\"Enabled\\": true,\\n \\"Project\\": \\"k8s-log-b7b05d08670e41ca8c8fc0b7718f*****\\"\\n },\\n \\"Pilot\\": {\\n \\"Http10Enabled\\": false,\\n \\"TraceSampling\\": 100,\\n \\"Feature\\": {\\n \\"FilterGatewayClusterConfig\\": false,\\n \\"EnableSDSServer\\": false\\n },\\n \\"ConfigSource\\": {\\n \\"Enabled\\": false,\\n \\"NacosID\\": \\"mse-cn-tl326******\\"\\n }\\n },\\n \\"MSE\\": {\\n \\"Enabled\\": false\\n },\\n \\"CustomizedZipkin\\": false,\\n \\"SidecarInjector\\": {\\n \\"EnableNamespacesByDefault\\": false,\\n \\"RequestMemory\\": \\"512Mi\\",\\n \\"LimitMemory\\": \\"2048Mi\\",\\n \\"RequestCPU\\": \\"1000m\\",\\n \\"AutoInjectionPolicyEnabled\\": true,\\n \\"LimitCPU\\": \\"4000m\\",\\n \\"InitCNIConfiguration\\": {\\n \\"ExcludeNamespaces\\": \\"kube-system,istio-system\\",\\n \\"Enabled\\": false\\n },\\n \\"SidecarInjectorWebhookAsYaml\\": \\"{\\\\\\"injectedAnnotations\\\\\\":{\\\\\\"test/istio-init\\\\\\":\\\\\\"runtime/default2\\\\\\",\\\\\\"test/istio-proxy\\\\\\":\\\\\\"runtime/default\\\\\\"},\\\\\\"replicaCount\\\\\\":2,\\\\\\"nodeSelector\\\\\\":{\\\\\\"beta.kubernetes.io/os\\\\\\":\\\\\\"linux\\\\\\"}}\\",\\n \\"SidecarInjectorNum\\": 1\\n },\\n \\"IncludeIPRanges\\": \\"192.168.0.0/16\\",\\n \\"ExcludeIPRanges\\": \\"172.16.0.0\\",\\n \\"ExcludeOutboundPorts\\": \\"80,81\\",\\n \\"ExcludeInboundPorts\\": \\"80,81\\",\\n \\"Telemetry\\": true,\\n \\"Edition\\": {\\n \\"Name\\": \\"Pro\\",\\n \\"IstiodImageTag\\": \\"v1.9.7.1-3-gb3f1ab3c9c-pro-aliyun\\",\\n \\"ProxyImageTag\\": \\"v1.9.7.1-3-gb3f1ab3c9c-pro-aliyun\\"\\n },\\n \\"ProtocolSupport\\": {\\n \\"MysqlFilterEnabled\\": false,\\n \\"RedisFilterEnabled\\": false,\\n \\"ThriftFilterEnabled\\": false,\\n \\"DubboFilterEnabled\\": false\\n },\\n \\"OutboundTrafficPolicy\\": \\"ALLOW_ANY\\",\\n \\"Kiali\\": {\\n \\"Enabled\\": false,\\n \\"Url\\": \\"http://1.2.**.**:20001\\"\\n },\\n \\"Tracing\\": true,\\n \\"WebAssemblyFilterDeployment\\": {\\n \\"Enabled\\": false\\n },\\n \\"EnableLocalityLB\\": true,\\n \\"Audit\\": {\\n \\"Enabled\\": true,\\n \\"Project\\": \\"audit-project\\",\\n \\"AuditProjectStatus\\": \\"audit_project_not_exist\\"\\n },\\n \\"Proxy\\": {\\n \\"RequestMemory\\": \\"128Mi\\",\\n \\"ClusterDomain\\": \\"cluster.domain\\",\\n \\"LimitMemory\\": \\"1024Mi\\",\\n \\"RequestCPU\\": \\"100m\\",\\n \\"EnableDNSProxying\\": false,\\n \\"LimitCPU\\": \\"2000m\\",\\n \\"AccessLogServiceEnabled\\": false,\\n \\"AccessLogServiceHost\\": \\"0.0.0.0\\",\\n \\"AccessLogServicePort\\": 9999,\\n \\"AccessLogFormat\\": \\"{\\\\\\"authority_for\\\\\\":\\\\\\"%REQ(:AUTHORITY)%\\\\\\",\\\\\\"bytes_received\\\\\\":\\\\\\"%BYTES_RECEIVED%\\\\\\",\\\\\\"bytes_sent\\\\\\":\\\\\\"%BYTES_SENT%\\\\\\",\\\\\\"downstream_local_address\\\\\\":\\\\\\"%DOWNSTREAM_LOCAL_ADDRESS%\\\\\\",\\\\\\"downstream_remote_address\\\\\\":\\\\\\"%DOWNSTREAM_REMOTE_ADDRESS%\\\\\\",\\\\\\"duration\\\\\\":\\\\\\"%DURATION%\\\\\\",\\\\\\"istio_policy_status\\\\\\":\\\\\\"%DYNAMIC_METADATA(istio.mixer:status)%\\\\\\",\\\\\\"method\\\\\\":\\\\\\"%REQ(:METHOD)%\\\\\\",\\\\\\"path\\\\\\":\\\\\\"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%\\\\\\",\\\\\\"protocol\\\\\\":\\\\\\"%PROTOCOL%\\\\\\",\\\\\\"request_id\\\\\\":\\\\\\"%REQ(X-REQUEST-ID)%\\\\\\",\\\\\\"requested_server_name\\\\\\":\\\\\\"%REQUESTED_SERVER_NAME%\\\\\\",\\\\\\"response_code\\\\\\":\\\\\\"%RESPONSE_CODE%\\\\\\",\\\\\\"response_flags\\\\\\":\\\\\\"%RESPONSE_FLAGS%\\\\\\",\\\\\\"route_name\\\\\\":\\\\\\"%ROUTE_NAME%\\\\\\",\\\\\\"start_time\\\\\\":\\\\\\"%START_TIME%\\\\\\",\\\\\\"trace_id\\\\\\":\\\\\\"%REQ(X-B3-TRACEID)%\\\\\\",\\\\\\"upstream_cluster\\\\\\":\\\\\\"%UPSTREAM_CLUSTER%\\\\\\",\\\\\\"upstream_host\\\\\\":\\\\\\"%UPSTREAM_HOST%\\\\\\",\\\\\\"upstream_local_address\\\\\\":\\\\\\"%UPSTREAM_LOCAL_ADDRESS%\\\\\\",\\\\\\"upstream_service_time\\\\\\":\\\\\\"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%\\\\\\",\\\\\\"upstream_transport_failure_reason\\\\\\":\\\\\\"%UPSTREAM_TRANSPORT_FAILURE_REASON%\\\\\\",\\\\\\"user_agent\\\\\\":\\\\\\"%REQ(USER-AGENT)%\\\\\\",\\\\\\"x_forwarded_for\\\\\\":\\\\\\"%REQ(X-FORWARDED-FOR)%\\\\\\"}\\",\\n \\"AccessLogFile\\": \\"/dev/stdout\\"\\n },\\n \\"K8sNewAPIsSupport\\": {\\n \\"GatewayAPIEnabled\\": false\\n },\\n \\"LocalityLB\\": {\\n \\"Enabled\\": false,\\n \\"Failover\\": {\\n \\"failover\\": [\\n {\\n \\"from\\": \\"cn-hangzhou\\",\\n \\"to\\": \\"cn-shanghai\\"\\n }\\n ]\\n },\\n \\"Distribute\\": [\\n {\\n \\"from\\": \\"cn-shanghai\\",\\n \\"to\\": {\\n \\"cn-hangzhou/*\\": 50,\\n \\"cn-shanghai/*\\": 25,\\n \\"cn-zhangjiakou/*\\": 25\\n }\\n },\\n {\\n \\"from\\": \\"cn-hangzhou\\",\\n \\"to\\": {\\n \\"cn-hangzhou/*\\": 50,\\n \\"cn-shanghai/*\\": 25,\\n \\"cn-zhangjiakou/*\\": 25\\n }\\n }\\n ],\\n \\"FailoverPriority\\": [\\n \\"topology.istio.io/network\\",\\n \\"topology.kubernetes.io/region\\",\\n \\"topology.kubernetes.io/zone\\",\\n \\"topology.istio.io/subzone\\"\\n ]\\n },\\n \\"ControlPlaneLogInfo\\": {\\n \\"Enabled\\": false,\\n \\"Project\\": \\"mesh-log-cbeb85a09161b4a26ab73e0ac****\\",\\n \\"LogTTL\\": 30\\n },\\n \\"ExtraConfiguration\\": {\\n \\"IstioCRHistory\\": {\\n \\"EnableHistory\\": false\\n },\\n \\"CRAggregationEnabled\\": false,\\n \\"MultiBuffer\\": {\\n \\"Enabled\\": false,\\n \\"PollDelay\\": \\"0.02s\\"\\n },\\n \\"TerminationDrainDuration\\": \\"5s\\",\\n \\"Lifecycle\\": {\\n \\"postStart\\": {\\n \\"exec\\": {\\n \\"command\\": [\\n \\"sleep 3s\\"\\n ]\\n },\\n \\"httpGet\\": {\\n \\"port\\": \\"80\\",\\n \\"host\\": \\"127.xx.xx.1\\",\\n \\"scheme\\": \\"http\\",\\n \\"httpHeaders\\": [\\n {\\n \\"name\\": \\"key\\",\\n \\"value\\": \\"value\\"\\n }\\n ]\\n },\\n \\"tcpSocket\\": {\\n \\"port\\": \\"888\\",\\n \\"host\\": \\"127.xx.xx.1\\"\\n }\\n },\\n \\"preStop\\": {\\n \\"exec\\": {\\n \\"command\\": [\\n \\"sleep 3s\\"\\n ]\\n },\\n \\"httpGet\\": {\\n \\"port\\": \\"80\\",\\n \\"host\\": \\"127.xx.xx.1\\",\\n \\"scheme\\": \\"http\\",\\n \\"httpHeaders\\": [\\n {\\n \\"name\\": \\"key\\",\\n \\"value\\": \\"value\\"\\n }\\n ]\\n },\\n \\"tcpSocket\\": {\\n \\"port\\": \\"888\\",\\n \\"host\\": \\"127.xx.xx.1\\"\\n }\\n }\\n },\\n \\"SidecarProxyInitResourceLimit\\": {\\n \\"ResourceCPULimit\\": \\"2000m\\",\\n \\"ResourceMemoryLimit\\": \\"1024Mi\\"\\n },\\n \\"SidecarProxyInitResourceRequest\\": {\\n \\"ResourceCPURequest\\": \\"10m\\",\\n \\"ResourceMemoryRequest\\": \\"10Mi\\"\\n },\\n \\"DiscoverySelectors\\": [\\n [\\n {\\n \\"matchExpressions\\": [\\n {\\n \\"key\\": \\"asm-discovery\\",\\n \\"operator\\": \\"Exists\\"\\n }\\n ]\\n }\\n ]\\n ],\\n \\"OPAScopeInjection\\": {\\n \\"OPAScopeInjected\\": false\\n },\\n \\"CRAggregationConfiguration\\": {\\n \\"Enabled\\": true\\n },\\n \\"NFDConfiguration\\": {\\n \\"Enabled\\": true,\\n \\"NFDLabelPruned\\": true\\n },\\n \\"AccessLogExtraConf\\": {\\n \\"GatewayLifecycle\\": 30,\\n \\"SidecarLifecycle\\": 30,\\n \\"GatewayEnabled\\": true,\\n \\"SidecarEnabled\\": true\\n },\\n \\"AutoDiagnosis\\": {\\n \\"AutoDiagnosisEnabled\\": true\\n },\\n \\"AdaptiveXdsConfiguration\\": {\\n \\"Enabled\\": true,\\n \\"EgressResources\\": {\\n \\"Requests\\": {\\n \\"cpu\\": \\"100m\\",\\n \\"memory\\": \\"256Mi\\"\\n },\\n \\"Limits\\": {\\n \\"cpu\\": \\"200m\\",\\n \\"memory\\": \\"512Mi\\"\\n }\\n },\\n \\"EgressReplicaCount\\": 2,\\n \\"EgressAutoscaleEnabled\\": true,\\n \\"EgressMinReplica\\": 1,\\n \\"EgressMaxReplica\\": 2,\\n \\"EgressHpaCpu\\": {\\n \\"TargetAverageUtilization\\": 80\\n },\\n \\"EgressHpaMemory\\": {\\n \\"TargetAverageUtilization\\": 80\\n }\\n },\\n \\"IstiodExtraConfiguration\\": {\\n \\"LabelsForOffloadedWorkloads\\": \\"name=xx,region=xx\\",\\n \\"PilotEnableQuicListeners\\": false\\n },\\n \\"Playground\\": {\\n \\"Scene\\": \\"ewmaLb\\"\\n }\\n }\\n }\\n },\\n \\"Clusters\\": [\\n \\"[\\\\\\"caf089e56daba4c51a8906fe43ea1****\\\\\\",\\\\\\"c80f45444b3da447da60a911390c2****\\\\\\"]\\"\\n ],\\n \\"ClusterSpec\\": \\"standard\\",\\n \\"OwnerType\\": \\"ackone\\",\\n \\"OwnerId\\": \\"cc3e96f249d124eb38b72718ec5*****\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeServiceMeshDetailResponse>\\n <RequestId>11fd0027-c27e-41bb-a565-75583054****</RequestId>\\n <ServiceMesh>\\n <Endpoints>\\n <IntranetPilotEndpoint>192.168.**.**:15011</IntranetPilotEndpoint>\\n <PublicPilotEndpoint>182.92.**.**:15011</PublicPilotEndpoint>\\n <IntranetApiServerEndpoint>https://192.168.**.**:6443</IntranetApiServerEndpoint>\\n <PublicApiServerEndpoint>https://123.56.**.**:6443</PublicApiServerEndpoint>\\n </Endpoints>\\n <ServiceMeshInfo>\\n <Profile>Default</Profile>\\n <CreationTime>2020-04-21T09:42:20+08:00</CreationTime>\\n <UpdateTime>2020-06-03T14:48:54+08:00</UpdateTime>\\n <ErrorMessage> error</ErrorMessage>\\n <Version>v1.7.4.0-gfb34ba99-aliyun</Version>\\n <State>running</State>\\n <ServiceMeshId>c08ba3fd1e6484b0f8cc1ad8fe10d****</ServiceMeshId>\\n <Name>mesh1</Name>\\n <RegionId>cn-beijing</RegionId>\\n </ServiceMeshInfo>\\n <Spec>\\n <Network>\\n <VpcId>vpc-2zew0rajjkmxy2369****</VpcId>\\n <SecurityGroupId>sg-2ze384sxttxbctnj****</SecurityGroupId>\\n <VSwitches>vsw-2ze66z3ntvsej0mdo****</VSwitches>\\n </Network>\\n <LoadBalancer>\\n <PilotPublicEip>true</PilotPublicEip>\\n <PilotPublicLoadbalancerId>lb-2zesa8qs8kbkj9jkl****</PilotPublicLoadbalancerId>\\n <ApiServerLoadbalancerId>lb-2zekaak10uxds44vx****</ApiServerLoadbalancerId>\\n <ApiServerPublicEip>true</ApiServerPublicEip>\\n </LoadBalancer>\\n <MeshConfig>\\n <OPA>\\n <RequestMemory>1024Mi</RequestMemory>\\n <LogLevel>info</LogLevel>\\n <Enabled>true</Enabled>\\n <LimitMemory>512Mi</LimitMemory>\\n <RequestCPU>2</RequestCPU>\\n <LimitCPU>1</LimitCPU>\\n </OPA>\\n <Prometheus>\\n <UseExternal>false</UseExternal>\\n <ExternalUrl>http://prometheus:9090</ExternalUrl>\\n </Prometheus>\\n <AccessLog>\\n <Enabled>true</Enabled>\\n <Project>k8s-log-b7b05d08670e41ca8c8fc0b7718f*****</Project>\\n </AccessLog>\\n <Pilot>\\n <Http10Enabled>false</Http10Enabled>\\n <TraceSampling>100</TraceSampling>\\n <Feature>\\n <FilterGatewayClusterConfig>false</FilterGatewayClusterConfig>\\n <EnableSDSServer>false</EnableSDSServer>\\n </Feature>\\n <ConfigSource>\\n <Enabled>false</Enabled>\\n <NacosID>mse-cn-tl326******</NacosID>\\n </ConfigSource>\\n </Pilot>\\n <MSE>\\n <Enabled>false</Enabled>\\n </MSE>\\n <CustomizedZipkin>false</CustomizedZipkin>\\n <SidecarInjector>\\n <EnableNamespacesByDefault>false</EnableNamespacesByDefault>\\n <RequestMemory>512Mi</RequestMemory>\\n <LimitMemory>2048Mi</LimitMemory>\\n <RequestCPU>1000m</RequestCPU>\\n <AutoInjectionPolicyEnabled>true</AutoInjectionPolicyEnabled>\\n <LimitCPU>4000m</LimitCPU>\\n <InitCNIConfiguration>\\n <ExcludeNamespaces>kube-system,istio-system</ExcludeNamespaces>\\n <Enabled>false</Enabled>\\n </InitCNIConfiguration>\\n <SidecarInjectorWebhookAsYaml>{\\"injectedAnnotations\\":{\\"test/istio-init\\":\\"runtime/default2\\",\\"test/istio-proxy\\":\\"runtime/default\\"},\\"replicaCount\\":2,\\"nodeSelector\\":{\\"beta.kubernetes.io/os\\":\\"linux\\"}}</SidecarInjectorWebhookAsYaml>\\n <SidecarInjectorNum>1</SidecarInjectorNum>\\n </SidecarInjector>\\n <IncludeIPRanges>192.168.0.0/16</IncludeIPRanges>\\n <ExcludeIPRanges>172.16.0.0</ExcludeIPRanges>\\n <ExcludeOutboundPorts>80,81</ExcludeOutboundPorts>\\n <ExcludeInboundPorts>80,81</ExcludeInboundPorts>\\n <Telemetry>true</Telemetry>\\n <Edition>\\n <Name>Pro</Name>\\n <IstiodImageTag>v1.9.7.1-3-gb3f1ab3c9c-pro-aliyun</IstiodImageTag>\\n <ProxyImageTag>v1.9.7.1-3-gb3f1ab3c9c-pro-aliyun</ProxyImageTag>\\n </Edition>\\n <ProtocolSupport>\\n <MysqlFilterEnabled>false</MysqlFilterEnabled>\\n <RedisFilterEnabled>false</RedisFilterEnabled>\\n <ThriftFilterEnabled>false</ThriftFilterEnabled>\\n <DubboFilterEnabled>false</DubboFilterEnabled>\\n </ProtocolSupport>\\n <OutboundTrafficPolicy>ALLOW_ANY</OutboundTrafficPolicy>\\n <Kiali>\\n <Enabled>false</Enabled>\\n <Url>http://1.2.**.**:20001</Url>\\n </Kiali>\\n <Tracing>true</Tracing>\\n <WebAssemblyFilterDeployment>\\n <Enabled>false</Enabled>\\n </WebAssemblyFilterDeployment>\\n <EnableLocalityLB>true</EnableLocalityLB>\\n <Audit>\\n <Enabled>true</Enabled>\\n <Project>audit-project</Project>\\n <AuditProjectStatus>audit_project_not_exist</AuditProjectStatus>\\n </Audit>\\n <Proxy>\\n <RequestMemory>128Mi</RequestMemory>\\n <ClusterDomain>cluster.domain</ClusterDomain>\\n <LimitMemory>1024Mi</LimitMemory>\\n <RequestCPU>100m</RequestCPU>\\n <EnableDNSProxying>false</EnableDNSProxying>\\n <LimitCPU>2000m</LimitCPU>\\n <AccessLogServiceEnabled>false</AccessLogServiceEnabled>\\n <AccessLogServiceHost>0.0.0.0</AccessLogServiceHost>\\n <AccessLogServicePort>9999</AccessLogServicePort>\\n <AccessLogFormat>{\\"authority_for\\":\\"%REQ(:AUTHORITY)%\\",\\"bytes_received\\":\\"%BYTES_RECEIVED%\\",\\"bytes_sent\\":\\"%BYTES_SENT%\\",\\"downstream_local_address\\":\\"%DOWNSTREAM_LOCAL_ADDRESS%\\",\\"downstream_remote_address\\":\\"%DOWNSTREAM_REMOTE_ADDRESS%\\",\\"duration\\":\\"%DURATION%\\",\\"istio_policy_status\\":\\"%DYNAMIC_METADATA(istio.mixer:status)%\\",\\"method\\":\\"%REQ(:METHOD)%\\",\\"path\\":\\"%REQ(X-ENVOY-ORIGINAL-PATH?:PATH)%\\",\\"protocol\\":\\"%PROTOCOL%\\",\\"request_id\\":\\"%REQ(X-REQUEST-ID)%\\",\\"requested_server_name\\":\\"%REQUESTED_SERVER_NAME%\\",\\"response_code\\":\\"%RESPONSE_CODE%\\",\\"response_flags\\":\\"%RESPONSE_FLAGS%\\",\\"route_name\\":\\"%ROUTE_NAME%\\",\\"start_time\\":\\"%START_TIME%\\",\\"trace_id\\":\\"%REQ(X-B3-TRACEID)%\\",\\"upstream_cluster\\":\\"%UPSTREAM_CLUSTER%\\",\\"upstream_host\\":\\"%UPSTREAM_HOST%\\",\\"upstream_local_address\\":\\"%UPSTREAM_LOCAL_ADDRESS%\\",\\"upstream_service_time\\":\\"%RESP(X-ENVOY-UPSTREAM-SERVICE-TIME)%\\",\\"upstream_transport_failure_reason\\":\\"%UPSTREAM_TRANSPORT_FAILURE_REASON%\\",\\"user_agent\\":\\"%REQ(USER-AGENT)%\\",\\"x_forwarded_for\\":\\"%REQ(X-FORWARDED-FOR)%\\"}</AccessLogFormat>\\n <AccessLogFile>/dev/stdout</AccessLogFile>\\n </Proxy>\\n <K8sNewAPIsSupport>\\n <GatewayAPIEnabled>false</GatewayAPIEnabled>\\n </K8sNewAPIsSupport>\\n <LocalityLB>\\n <Enabled>false</Enabled>\\n </LocalityLB>\\n <ControlPlaneLogInfo>\\n <Enabled>false</Enabled>\\n <Project>mesh-log-cbeb85a09161b4a26ab73e0ac****</Project>\\n </ControlPlaneLogInfo>\\n <ExtraConfiguration>\\n <IstioCRHistory>\\n <EnableHistory>false</EnableHistory>\\n </IstioCRHistory>\\n <CRAggregationEnabled>false</CRAggregationEnabled>\\n <MultiBuffer>\\n <Enabled>false</Enabled>\\n <PollDelay>0.02s</PollDelay>\\n </MultiBuffer>\\n <TerminationDrainDuration>5s</TerminationDrainDuration>\\n <Lifecycle>\\n <postStart>\\n <exec>\\n <command>sleep 3s</command>\\n </exec>\\n <httpGet>\\n <port>80</port>\\n <host>127.xx.xx.1</host>\\n <scheme>http</scheme>\\n <httpHeaders>\\n <name>key</name>\\n <value>value</value>\\n </httpHeaders>\\n </httpGet>\\n <tcpSocket>\\n <port>888</port>\\n <host>127.xx.xx.1</host>\\n </tcpSocket>\\n </postStart>\\n <preStop>\\n <exec>\\n <command>sleep 3s</command>\\n </exec>\\n <httpGet>\\n <port>80</port>\\n <host>127.xx.xx.1</host>\\n <scheme>http</scheme>\\n <httpHeaders>\\n <name>key</name>\\n <value>value</value>\\n </httpHeaders>\\n </httpGet>\\n <tcpSocket>\\n <port>888</port>\\n <host>127.xx.xx.1</host>\\n </tcpSocket>\\n </preStop>\\n </Lifecycle>\\n <SidecarProxyInitResourceLimit>\\n <ResourceCPULimit>2000m</ResourceCPULimit>\\n <ResourceMemoryLimit>1024Mi</ResourceMemoryLimit>\\n </SidecarProxyInitResourceLimit>\\n <SidecarProxyInitResourceRequest>\\n <ResourceCPURequest>10m</ResourceCPURequest>\\n <ResourceMemoryRequest>10Mi</ResourceMemoryRequest>\\n </SidecarProxyInitResourceRequest>\\n <DiscoverySelectors/>\\n <OPAScopeInjection>\\n <OPAScopeInjected>false</OPAScopeInjected>\\n </OPAScopeInjection>\\n <CRAggregationConfiguration>\\n <Enabled>true</Enabled>\\n </CRAggregationConfiguration>\\n <NFDConfiguration>\\n <Enabled>true</Enabled>\\n <NFDLabelPruned>true</NFDLabelPruned>\\n </NFDConfiguration>\\n <AccessLogExtraConf>\\n <GatewayLifecycle>30</GatewayLifecycle>\\n <SidecarLifecycle>30</SidecarLifecycle>\\n </AccessLogExtraConf>\\n <AutoDiagnosis>\\n <AutoDiagnosisEnabled>true</AutoDiagnosisEnabled>\\n </AutoDiagnosis>\\n <AdaptiveXdsConfiguration>\\n <Enabled>true</Enabled>\\n <EgressResources/>\\n <EgressReplicaCount>2</EgressReplicaCount>\\n <EgressAutoscaleEnabled>true</EgressAutoscaleEnabled>\\n <EgressMinReplica>1</EgressMinReplica>\\n <EgressMaxReplica>2</EgressMaxReplica>\\n <EgressHpaCpu>\\n <TargetAverageUtilization>80</TargetAverageUtilization>\\n </EgressHpaCpu>\\n <EgressHpaMemory>\\n <TargetAverageUtilization>80</TargetAverageUtilization>\\n </EgressHpaMemory>\\n </AdaptiveXdsConfiguration>\\n </ExtraConfiguration>\\n </MeshConfig>\\n </Spec>\\n <Clusters>[\\"caf089e56daba4c51a8906fe43ea1****\\",\\"c80f45444b3da447da60a911390c2****\\"]</Clusters>\\n <ClusterSpec>standard</ClusterSpec>\\n <OwnerType>ackone</OwnerType>\\n <OwnerId>cc3e96f249d124eb38b72718ec5*****</OwnerId>\\n </ServiceMesh>\\n</DescribeServiceMeshDetailResponse>","errorExample":""}]', + 'title' => 'DescribeServiceMeshDetail', + 'summary' => 'Queries the details of a Service Mesh (ASM) instance.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeServiceMeshKubeconfig' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the ASM instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + [ + 'name' => 'PrivateIpAddress', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to query the kubeconfig file that is used for Internet access or internal network access.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '31d3a0f0-07ed-4f6e-9004-1804498c****', + ], + 'Kubeconfig' => [ + 'description' => 'The content of the kubeconfig file of the cluster.'."\n", + 'type' => 'string', + 'example' => 'apiVersion: v1 clusters: - cluster: server: https://47.110.xx.xx:6443 certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURUakNDQWphZ0F3SUJBZ0lVYzBQVy82ejR1aHlxYkRRdnNsV1htSmpJeFdNd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1BqRW5NQThHQTFVRUNoTUlhR0Z1WjNwb2IzVXdGQVlEVlFRS0V3MWhiR2xpWVdKaElHTnNiM1ZrTVJNdwpFUVlEVlFRREV3cHJkV0psY201bGRHVnpNQ0FYRFRJeU1EUXdOekExTVRnd01Gb1lEekl3TlRJd016TXdNRFV4Ck9EQXdXakErTVNjd0R3WURWUVFLRXdob1lXNW5lbWh2ZFRBVUJnTlZCQW9URFdGc2FXSmhZbUVnWTJ4dmRXUXgKRXpBUkJnTlZCQU1UQ210MVltVnlibVYwWlhNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJE****', + ], + 'ExpireTime' => [ + 'description' => 'The expiration time of the kubeconfig certificate. The format is: YYYY-MM-DD hh: mm: ss.', + 'type' => 'string', + 'example' => '2024-05-28 16:00:00', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"31d3a0f0-07ed-4f6e-9004-1804498c****\\",\\n \\"Kubeconfig\\": \\"apiVersion: v1 clusters: - cluster: server: https://47.110.xx.xx:6443 certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURUakNDQWphZ0F3SUJBZ0lVYzBQVy82ejR1aHlxYkRRdnNsV1htSmpJeFdNd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1BqRW5NQThHQTFVRUNoTUlhR0Z1WjNwb2IzVXdGQVlEVlFRS0V3MWhiR2xpWVdKaElHTnNiM1ZrTVJNdwpFUVlEVlFRREV3cHJkV0psY201bGRHVnpNQ0FYRFRJeU1EUXdOekExTVRnd01Gb1lEekl3TlRJd016TXdNRFV4Ck9EQXdXakErTVNjd0R3WURWUVFLRXdob1lXNW5lbWh2ZFRBVUJnTlZCQW9URFdGc2FXSmhZbUVnWTJ4dmRXUXgKRXpBUkJnTlZCQU1UQ210MVltVnlibVYwWlhNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJE****\\",\\n \\"ExpireTime\\": \\"2024-05-28 16:00:00\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeServiceMeshKubeconfigResponse>\\n <RequestId>31d3a0f0-07ed-4f6e-9004-1804498c****</RequestId>\\n <Kubeconfig>apiVersion: v1 clusters: - cluster: server: https://47.110.xx.xx:6443 certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURUakNDQWphZ0F3SUJBZ0lVYzBQVy82ejR1aHlxYkRRdnNsV1htSmpJeFdNd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1BqRW5NQThHQTFVRUNoTUlhR0Z1WjNwb2IzVXdGQVlEVlFRS0V3MWhiR2xpWVdKaElHTnNiM1ZrTVJNdwpFUVlEVlFRREV3cHJkV0psY201bGRHVnpNQ0FYRFRJeU1EUXdOekExTVRnd01Gb1lEekl3TlRJd016TXdNRFV4Ck9EQXdXakErTVNjd0R3WURWUVFLRXdob1lXNW5lbWh2ZFRBVUJnTlZCQW9URFdGc2FXSmhZbUVnWTJ4dmRXUXgKRXpBUkJnTlZCQU1UQ210MVltVnlibVYwWlhNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJE****</Kubeconfig>\\n</DescribeServiceMeshKubeconfigResponse>","errorExample":""}]', + 'title' => 'DescribeServiceMeshKubeconfig', + 'summary' => 'Queries the content of the kubeconfig file of a Service Mesh (ASM) instance.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeServiceMeshAdditionalStatus' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '42928', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh4LB119', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the ASM instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ca04bc38979214bf2882be79d39b4****', + ], + ], + [ + 'name' => 'CheckMode', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The check mode of the ASM instance. Valid values:'."\n" + ."\n" + .'* `normal`: checks the Server Load Balancer (SLB) instances created for exposing the API server and Istio Pilot, audit logs, and installation of Logtail for clusters on the data plane.'."\n" + .'* `full`: checks control plane logs, access logs, security groups, and the elastic IP addresses (EIPs) of the API server in addition to the check items in normal mode.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'full', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '11fd0027-c27e-41bb-a565-75583054****', + ], + 'ClusterStatus' => [ + 'description' => 'The status of the cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'ApiServerLoadBalancerStatus' => [ + 'description' => 'The check results of the CLB instance created for exposing the API server.'."\n", + 'type' => 'object', + 'properties' => [ + 'SLBExistStatus' => [ + 'description' => 'The check results of the CLB instance. Valid values:'."\n" + ."\n" + .'* `exist`: The CLB instance exists.'."\n" + .'* `not_exist`: The CLB instance does not exist.'."\n" + .'* `conflict`: Conflicts are detected.'."\n" + .'* `failed`: The check fails.'."\n" + .'* `time_out`: The check times out.'."\n", + 'type' => 'string', + 'example' => 'exist', + ], + 'SLBBackEndServerNumStatus' => [ + 'description' => 'The check results of the number of backend servers of the CLB instance created for exposing Istio Pilot. Valid values:'."\n" + ."\n" + .'* `too_much`: An excessive number of backend servers are created.'."\n" + .'* `num_exact`: A proper number of backend servers are created.'."\n" + .'* `too_little`: The number of backend servers falls short.'."\n", + 'type' => 'string', + 'example' => 'num_exact', + ], + 'Reused' => [ + 'description' => 'Indicates whether the CLB instance is reused. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'Locked' => [ + 'description' => 'Indicates whether the CLB instance is locked. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'PayType' => [ + 'description' => 'The billing method of the CLB instance. Valid values:'."\n" + ."\n" + .'* `PrePay`: subscription'."\n" + .'* `PayOnDemand`: pay-as-you-go'."\n", + 'type' => 'string', + 'example' => 'PrePay', + ], + ], + ], + 'PilotLoadBalancerStatus' => [ + 'description' => 'The check results of the CLB instance created for exposing Istio Pilot.'."\n", + 'type' => 'object', + 'properties' => [ + 'SLBExistStatus' => [ + 'description' => 'The check results of the CLB instance. Valid values:'."\n" + ."\n" + .'* `exist`: The CLB instance exists.'."\n" + .'* `not_exist`: The CLB instance does not exist.'."\n" + .'* `conflict`: Conflicts are detected.'."\n" + .'* `failed`: The check fails.'."\n" + .'* `time_out`: The check times out.'."\n", + 'type' => 'string', + 'example' => 'exist', + ], + 'SLBBackEndServerNumStatus' => [ + 'description' => 'The check results of the number of backend servers of the CLB instance created for exposing Istio Pilot. Valid values:'."\n" + ."\n" + .'* `too_much`: An excessive number of backend servers are created.'."\n" + .'* `num_exact`: A proper number of backend servers are created.'."\n" + .'* `too_little`: The number of backend servers falls short.'."\n", + 'type' => 'string', + 'example' => 'num_exact', + ], + 'Reused' => [ + 'description' => 'Indicates whether the CLB instance is reused. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'Locked' => [ + 'description' => 'Indicates whether the CLB instance is locked. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'PayType' => [ + 'description' => 'The billing method of the CLB instance. Valid values:'."\n" + ."\n" + .'* `PrePay`: subscription'."\n" + .'* `PayOnDemand`: pay-as-you-go'."\n", + 'type' => 'string', + 'example' => 'PayOnDemand', + ], + ], + ], + 'CanaryPilotLoadBalancerStatus' => [ + 'description' => 'The check results of the CLB instance that is created for exposing Istio Pilot and used during canary release.'."\n", + 'type' => 'object', + 'properties' => [ + 'SLBExistStatus' => [ + 'description' => 'The check result of the CLB instance. Valid values:'."\n" + ."\n" + .'* `exist`: The CLB instance exists.'."\n" + .'* `not_exist`: The CLB instance does not exist.'."\n" + .'* `time_out`: The check times out.'."\n" + .'* `failed`: The CLB instance has expired.'."\n", + 'type' => 'string', + 'example' => 'exist', + ], + 'SLBBackEndServerNumStatus' => [ + 'description' => 'The check result of the number of backend servers of the CLB instance created for exposing Istio Pilot. Valid values:'."\n" + ."\n" + .'* `num_exact`: A proper number of backend servers are created.'."\n" + .'* `too_much`: An excessive number of backend servers are created.'."\n" + .'* `too_little`: The number of backend servers falls short.'."\n", + 'type' => 'string', + 'example' => 'num_exact', + ], + 'Reused' => [ + 'description' => 'Indicates whether the CLB instance is reused. Valid values:'."\n" + ."\n" + .'* `true`: The CLB instance is reused. Non-ASM listener configuration is detected in the listener configurations of the CLB instance.'."\n" + .'* `false`: The CLB instance is not reused.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'Locked' => [ + 'description' => 'Indicates whether the CLB instance is locked due to overdue payments. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'PayType' => [ + 'description' => 'The billing method of the CLB instance. Valid values:'."\n" + ."\n" + .'* `PrePay`: subscription'."\n" + .'* `PayOnDemand` (default): pay-as-you-go'."\n", + 'type' => 'string', + 'example' => 'PayOnDemand', + ], + ], + ], + 'AuditProjectStatus' => [ + 'description' => 'Indicates whether audit logs exist. Valid values:'."\n" + ."\n" + .'* `exist`'."\n" + .'* `not exist`'."\n", + 'type' => 'string', + 'example' => 'exist', + ], + 'LogtailStatusRecord' => [ + 'description' => 'Indicates whether Logtail is installed in clusters on the data plane.'."\n", + 'type' => 'object', + 'example' => '{ "ca35eae22013e43758a0e26d04****":{ "accessLogDashboards":[ { "title":"mesh-access-log_details_cn", "url":"https://sls.console.aliyun.com/lognext/project/****/dashboard/mesh-access-log_details_cn" }, { "title":"mesh-access-log_monitoring_center_cn", "url":"https://sls.console.aliyun.com/lognext/project/****/dashboard/mesh-access-log_monitoring_center_cn" } ], "logtailStatus":"exist", "clusterId":"ca35eae22013e43758a0e26d04****" } }', + ], + 'ControlPlaneProjectStatus' => [ + 'description' => 'Indicates whether control plane logs exist. Valid values:'."\n" + ."\n" + .'* `exist`: Control plane logs exist.'."\n" + .'* `not_exist`: Control plane logs do not exist.'."\n" + .'* `failed`: The check fails.'."\n" + .'* `time_out`: The check times out.'."\n", + 'type' => 'string', + 'example' => 'exist', + ], + 'SgStatus' => [ + 'description' => 'Indicates whether the security group is reused. Valid values:'."\n" + ."\n" + .'* `reused`: The security group is reused.'."\n" + .'* `not_reused`: The security group is not reused.'."\n" + .'* `failed`: The check fails.'."\n" + .'* `time_out`: The check times out.'."\n", + 'type' => 'string', + 'example' => 'reused', + ], + 'ApiServerEIPStatus' => [ + 'description' => 'The check result of the EIP associated with the API server. Valid values:'."\n" + ."\n" + .'* `exist`: The EIP exists.'."\n" + .'* `not_exist`: The EIP does not exist.'."\n" + .'* `failed`: The check fails.'."\n" + .'* `time_out`: The check times out.'."\n" + .'* `not_in_use`: The EIP is not associated with the API Server.'."\n" + .'* `locked`: The EIP is locked.'."\n", + 'type' => 'string', + 'example' => 'exist', + ], + 'PilotEIPStatus' => [ + 'description' => 'The check result of whether the EIP is associated with the API server. Valid values:'."\n" + ."\n" + .'* `exist`: The EIP exists.'."\n" + .'* `not_exist`: The EIP does not exist.'."\n" + .'* `failed`: The check fails.'."\n" + .'* `time_out`: The check is timed out.'."\n" + .'* `not_in_use`: The EIP is not associated with the API server.'."\n" + .'* `locked`: The EIP is locked.'."\n", + 'type' => 'string', + 'example' => 'exist', + ], + 'AccessLogProjectStatus' => [ + 'description' => 'Indicates whether access logs exist. Valid values:'."\n" + ."\n" + .'* `exist`: Access logs exist.'."\n" + .'* `not_exist`: Access logs do not exist.'."\n" + .'* `failed`: The check fails.'."\n" + .'* `time_out`: The check times out.'."\n", + 'type' => 'string', + 'example' => 'exist', + ], + 'RAMApplicationStatus' => [ + 'description' => 'The status of the RAM OAuth application that is integrated with Mesh Topology. Valid values:'."\n" + ."\n" + .'* `exist`: The RAM OAuth application exists.'."\n" + .'* `reused`: The RAM OAuth application is reused.'."\n" + .'* `not_exist`: The RAM OAuth application does not exist.'."\n" + .'* `failed`: The check fails.'."\n" + .'* `time_out`: The check times out.'."\n", + 'type' => 'string', + 'example' => 'reused', + ], + 'CanaryPilotEIPStatus' => [ + 'description' => 'The EIP status of the Pilot during canary release.'."\n", + 'type' => 'string', + 'example' => 'exist', + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"11fd0027-c27e-41bb-a565-75583054****\\",\\n \\"ClusterStatus\\": {\\n \\"ApiServerLoadBalancerStatus\\": {\\n \\"SLBExistStatus\\": \\"exist\\",\\n \\"SLBBackEndServerNumStatus\\": \\"num_exact\\",\\n \\"Reused\\": false,\\n \\"Locked\\": false,\\n \\"PayType\\": \\"PrePay\\"\\n },\\n \\"PilotLoadBalancerStatus\\": {\\n \\"SLBExistStatus\\": \\"exist\\",\\n \\"SLBBackEndServerNumStatus\\": \\"num_exact\\",\\n \\"Reused\\": true,\\n \\"Locked\\": false,\\n \\"PayType\\": \\"PayOnDemand\\"\\n },\\n \\"CanaryPilotLoadBalancerStatus\\": {\\n \\"SLBExistStatus\\": \\"exist\\",\\n \\"SLBBackEndServerNumStatus\\": \\"num_exact\\",\\n \\"Reused\\": false,\\n \\"Locked\\": false,\\n \\"PayType\\": \\"PayOnDemand\\"\\n },\\n \\"AuditProjectStatus\\": \\"exist\\",\\n \\"LogtailStatusRecord\\": {\\n \\"ca35eae22013e43758a0e26d04****\\": {\\n \\"accessLogDashboards\\": [\\n {\\n \\"title\\": \\"mesh-access-log_details_cn\\",\\n \\"url\\": \\"https://sls.console.aliyun.com/lognext/project/****/dashboard/mesh-access-log_details_cn\\"\\n },\\n {\\n \\"title\\": \\"mesh-access-log_monitoring_center_cn\\",\\n \\"url\\": \\"https://sls.console.aliyun.com/lognext/project/****/dashboard/mesh-access-log_monitoring_center_cn\\"\\n }\\n ],\\n \\"logtailStatus\\": \\"exist\\",\\n \\"clusterId\\": \\"ca35eae22013e43758a0e26d04****\\"\\n }\\n },\\n \\"ControlPlaneProjectStatus\\": \\"exist\\",\\n \\"SgStatus\\": \\"reused\\",\\n \\"ApiServerEIPStatus\\": \\"exist\\",\\n \\"PilotEIPStatus\\": \\"exist\\",\\n \\"AccessLogProjectStatus\\": \\"exist\\",\\n \\"RAMApplicationStatus\\": \\"reused\\",\\n \\"CanaryPilotEIPStatus\\": \\"exist\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeServiceMeshAdditionalStatusResponse>\\n <RequestId>11fd0027-c27e-41bb-a565-75583054****</RequestId>\\n <ClusterStatus>\\n <ApiServerLoadBalancerStatus>\\n <SLBExistStatus>exist</SLBExistStatus>\\n <SLBBackEndServerNumStatus>num_exact</SLBBackEndServerNumStatus>\\n <Reused>false</Reused>\\n <PayType>PrePay</PayType>\\n </ApiServerLoadBalancerStatus>\\n <PilotLoadBalancerStatus>\\n <SLBExistStatus>exist</SLBExistStatus>\\n <SLBBackEndServerNumStatus>num_exact</SLBBackEndServerNumStatus>\\n <Reused>true</Reused>\\n <PayType>PayOnDemand</PayType>\\n </PilotLoadBalancerStatus>\\n <AuditProjectStatus>exist</AuditProjectStatus>\\n <LogtailStatusRecord>\\n <key>\\n <ClusterId>caeac85a793c94afbbb0a4bb20320****</ClusterId>\\n <LogtailDetailStatus>exist</LogtailDetailStatus>\\n <AccessLogDashboards>\\n <Title>audit-c186a6d9641a24098b549****</Title>\\n <Url>https://sls.console.aliyun.com/lognext/project/audit-c186a6d9641a24098b549xxxxxxxxxxxx/dashboard/mesh</Url>\\n </AccessLogDashboards>\\n </key>\\n </LogtailStatusRecord>\\n <ControlPlaneProjectStatus>exist</ControlPlaneProjectStatus>\\n <SgStatus>reused</SgStatus>\\n <ApiServerEIPStatus>exist</ApiServerEIPStatus>\\n <AccessLogProjectStatus>exist</AccessLogProjectStatus>\\n </ClusterStatus>\\n</DescribeServiceMeshAdditionalStatusResponse>","errorExample":""}]', + 'title' => 'DescribeServiceMeshAdditionalStatus', + 'summary' => 'Queries the check results of a Service Mesh (ASM) instance.', + ], + 'DescribeVersions' => [ + 'summary' => 'Queries available Service Mesh (ASM) versions when you create an ASM instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh4LB119', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + 'VersionInfo' => [ + 'description' => 'The available ASM versions.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Edition' => [ + 'description' => 'The edition of the ASM instance. Valid values:'."\n" + ."\n" + .'* `Default`: Standard Edition'."\n" + .'* `Pro`: Professional Edition that is commercially released'."\n", + 'type' => 'string', + 'example' => 'Default', + ], + 'Versions' => [ + 'description' => 'The list of ASM versions available for the ASM instance of the current edition.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'An ASM version available for the ASM instance of the current edition.'."\n", + 'type' => 'string', + 'example' => 'v1.10.5.40-g2adf45be-aliyun', + ], + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\",\\n \\"VersionInfo\\": [\\n {\\n \\"Edition\\": \\"Default\\",\\n \\"Versions\\": [\\n \\"v1.10.5.40-g2adf45be-aliyun\\"\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeVersionsResponse>\\n <RequestId>BD65C0AD-D3C6-48D3-8D93-38D2015C****</RequestId>\\n <VersionInfo>\\n <Edition>Default</Edition>\\n <Versions>v1.10.5.40-g2adf45be-aliyun</Versions>\\n </VersionInfo>\\n</DescribeVersionsResponse>","errorExample":""}]', + 'title' => 'DescribeVersions', + ], + 'ReActivateAudit' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Service Mesh (ASM) instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c5bf9eb05c4424b89985d6536a809****', + ], + ], + [ + 'name' => 'EnableAudit', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to recreate a project that is used to store audit logs. Valid values:'."\n" + ."\n" + .'* true: recreates a project.'."\n" + .'* false: does not recreate a project.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '17163CE9-CE4B-1B87-9185-1A1AD7E7****', + ], + 'Data' => [ + 'description' => 'The name of the project that is used to store audit logs.'."\n", + 'type' => 'string', + 'example' => 'k8s-log-c0703599f695f4b8fa1c6492a33af****', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"17163CE9-CE4B-1B87-9185-1A1AD7E7****\\",\\n \\"Data\\": \\"k8s-log-c0703599f695f4b8fa1c6492a33af****\\"\\n}","errorExample":""},{"type":"xml","example":"<ReActivateAuditResponse>\\n <RequestId>17163CE9-CE4B-1B87-9185-1A1AD7E7****</RequestId>\\n <Data>k8s-log-c0703599f695f4b8fa1c6492a33af****</Data>\\n</ReActivateAuditResponse>","errorExample":""}]', + 'title' => 'ReActivateAudit', + 'summary' => 'Recreates a project that is used to store audit logs. After mesh audit is enabled, if you delete the log project that stores audit logs by mistake, you can recreate a project for storing audit logs.', + 'description' => 'Before you call this operation, make sure that you understand the billing methods of Simple Log Service. For more information, visit the [pricing page](https://www.alibabacloud.com/zh/pricing-calculator?\\_p_lc=1\\&spm=a2796.7960336.3034855210.1.44e6b91aaSp2M7#/commodity/vm_intl).'."\n", + ], + 'DescribeNodesInstanceType' => [ + 'summary' => 'Queries the instance types of nodes on the data plane and whether the instance types support Multi-Buffer acceleration.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREservicemeshB27TWZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Alibaba Cloud Service Mesh (ASM) instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cb8963379255149cb98c8686f274x****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'InstanceTypes' => [ + 'description' => 'The instance types of the nodes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The instance type of the node.'."\n", + 'type' => 'object', + 'properties' => [ + 'NodeType' => [ + 'description' => 'The instance type of the node.'."\n", + 'type' => 'string', + 'example' => 'ecs.g7.xlarge', + ], + 'MultiBufferEnabled' => [ + 'description' => 'Indicates whether the instance type supports Multi-Buffer acceleration. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'Key' => [ + 'description' => 'The label keys of nodes which have MultiBuffer optimization supported. (Enable optimization only if pod being scheduled to node which have a label key specified by this field and its value equals with the value field)', + 'type' => 'string', + 'example' => 'feature.node.kubernetes.io/mb-feature-enable', + ], + 'Value' => [ + 'description' => 'The label keys of nodes which have MultiBuffer optimization supported. (Enable optimization only if pod being scheduled to node which have a label key specified by the key field and its value equals with this field)', + 'type' => 'string', + 'example' => 'true', + ], + ], + ], + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'ERR500', + 'errorMessage' => 'An internal server error occurred.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"InstanceTypes\\": [\\n {\\n \\"NodeType\\": \\"ecs.g7.xlarge\\",\\n \\"MultiBufferEnabled\\": true,\\n \\"Key\\": \\"feature.node.kubernetes.io/mb-feature-enable\\",\\n \\"Value\\": \\"true\\"\\n }\\n ],\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\"\\n}","errorExample":""},{"type":"xml","example":"","errorExample":""}]', + 'title' => 'DescribeNodesInstanceType', + ], + 'DescribeCCMVersion' => [ + 'summary' => 'Queries the versions of the Cloud Controller Manager (CCM) component.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh8LRZ5X', + 'FEATUREservicemesh7GZC6M', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the Service Mesh (ASM) instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'CCMVersions' => [ + 'description' => 'The versions of the CCM component in all clusters on the data plane.'."\n", + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'object', + 'properties' => [ + 'QueryState' => [ + 'type' => 'string', + 'example' => 'time_out', + 'description' => 'The status of the query. Valid values:'."\n" + ."\n" + .'* `time_out`: The query times out.'."\n" + .'* `failed`: The query fails.'."\n" + .'* `Empty string`: The query is successful.'."\n", + ], + 'Version' => [ + 'type' => 'string', + 'example' => 'v2.0.1', + 'description' => 'The CCM version.'."\n", + ], + 'SLBGracefulDrainSupported' => [ + 'type' => 'boolean', + 'example' => 'true', + 'description' => 'Indicates whether Classic Load Balancer (CLB) graceful shutdown is supported.'."\n", + ], + 'ClusterId' => [ + 'type' => 'string', + 'description' => 'The ID of the cluster instance on the data plane.'."\n", + 'example' => 'cfbb81b9b51a44b299349xxxxxxxxxxxx', + ], + 'Message' => [ + 'type' => 'string', + 'description' => 'The additional information that is returned when the query fails. This parameter is empty if the query is successful.'."\n", + 'example' => 'timeout error', + ], + 'SLBGracefulDrainSupport' => [ + 'type' => 'boolean', + 'deprecated' => true, + ], + ], + 'description' => 'The version information about the CCM component.'."\n", + ], + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'ERR404', + 'errorMessage' => 'Not found', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"CCMVersions\\": {\\n \\"key\\": {\\n \\"QueryState\\": \\"time_out\\",\\n \\"Version\\": \\"v2.0.1\\",\\n \\"SLBGracefulDrainSupported\\": true,\\n \\"ClusterId\\": \\"cfbb81b9b51a44b299349xxxxxxxxxxxx\\",\\n \\"Message\\": \\"timeout error\\",\\n \\"SLBGracefulDrainSupport\\": true\\n }\\n },\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeCCMVersionResponse>\\n <CCMVersions>\\n <key>\\n <QueryState>time_out</QueryState>\\n <Version>v2.0.1</Version>\\n <SLBGracefulDrainSupport>true</SLBGracefulDrainSupport>\\n <ClusterId>cfbb81b9b51a44b299349xxxxxxxxxxxx</ClusterId>\\n <Message>timeout error</Message>\\n </key>\\n </CCMVersions>\\n <RequestId>BD65C0AD-D3C6-48D3-8D93-38D2015C****</RequestId>\\n</DescribeCCMVersionResponse>","errorExample":""}]', + 'title' => 'DescribeCCMVersion', + ], + 'GetCaCert' => [ + 'summary' => 'Obtains a certificate issued by a certificate authority (CA).', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c7894c929677643a5bfe1a732d778a****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'E0496204-7586-5B4C-B364-2361CC0ED****', + ], + 'CaCert' => [ + 'title' => 'base64 encode format', + 'description' => 'The Base64-encoded content of the CA certificate.'."\n", + 'type' => 'string', + 'example' => '-----BEGIN CERTIFICATE-----\\nMIIFszCCA5ugAwIBAgIDM/1OMA0GCSqGSIb3DQEBCwUAME427zhT4HDLcCEW****-----END CERTIFICATE-----\\n', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E0496204-7586-5B4C-B364-2361CC0ED****\\",\\n \\"CaCert\\": \\"-----BEGIN CERTIFICATE-----\\\\\\\\nMIIFszCCA5ugAwIBAgIDM/1OMA0GCSqGSIb3DQEBCwUAME427zhT4HDLcCEW****-----END CERTIFICATE-----\\\\\\\\n\\"\\n}","errorExample":""},{"type":"xml","example":"<GetCaCertResponse>\\n <RequestId>E0496204-7586-5B4C-B364-2361CC0ED****</RequestId>\\n <CaCert>-----BEGIN CERTIFICATE-----\\\\nMIIFszCCA5ugAwIBAgIDM/1OMA0GCSqGSIb3DQEBCwUAME427zhT4HDLcCEW****-----END CERTIFICATE-----\\\\n</CaCert>\\n</GetCaCertResponse>","errorExample":""}]', + 'title' => 'GetCaCert', + ], + 'GrantUserPermissions' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'SubAccountUserId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the RAM user or RAM role.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => '27852573609480****', + ], + ], + [ + 'name' => 'Permissions', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The permissions that are granted to an entity. The content is a string that consists of JSON arrays. You must specify all permissions that you want to grant to an entity. You can add or remove permissions by modifying the content. Field definition of the sample code:'."\n" + ."\n" + .'* `IsCustom`: a parameter that is required by the system. Set the value to `true`.'."\n" + .'* `Cluster`: the ID of the Service Mesh (ASM) instance.'."\n" + .'* `RoleName`: the name of the permissions. Valid values: `istio-admin`, `istio-ops`, and `istio-readonly`. A value of istio-admin indicates the permissions of ASM administrators. A value of istio-ops indicates the permissions of ASM restricted users. A value of istio-readonly indicates the read-only permissions.'."\n" + .'* `IsRamRole`: the entity to which you want to grant the permissions. To grant the permissions to a RAM role, set the value to `true`. Otherwise, set the value to `false`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '[{"IsCustom":true,"RoleName":"istio-ops","Cluster":"c57b848115458460583a4260cb713****","RoleType":"custom","IsRamRole":false},{"IsCustom":true,"RoleName":"istio-ops","Cluster":"c4ec191f4e12145c09286ea3e2b8f****","RoleType":"custom","IsRamRole":false}]', + ], + ], + [ + 'name' => 'SubAccountUserIds', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The IDs of RAM users or RAM roles. You can grant permissions to multiple users at a time.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the RAM user or RAM role.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '27852573609480****'."\n", + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '5A7C9E37-C171-584F-9A99-869B48C4****', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5A7C9E37-C171-584F-9A99-869B48C4****\\"\\n}","errorExample":""},{"type":"xml","example":"<GrantUserPermissionsResponse>\\n <RequestId>5A7C9E37-C171-584F-9A99-869B48C4****</RequestId>\\n</GrantUserPermissionsResponse>","errorExample":""}]', + 'title' => 'GrantUserPermissions', + 'summary' => 'Grants permissions to a Resource Access Management (RAM) user.', + ], + 'DescribeUserPermissions' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'SubAccountUserId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of a RAM user or RAM role.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '27852573609480****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '5A7C9E37-C171-584F-9A99-869B48C4196D', + ], + 'Permissions' => [ + 'description' => 'The permissions that are granted to an entity.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ParentId' => [ + 'description' => 'The value is fixed as `0`.'."\n", + 'type' => 'string', + 'example' => '0', + ], + 'IsRamRole' => [ + 'description' => 'The entity to which the permissions are granted. A value of `true` indicates that the permissions are granted to a RAM user. A value of `false` indicates that the permissions are granted to a RAM role.'."\n", + 'type' => 'string', + 'example' => 'false', + ], + 'ResourceType' => [ + 'description' => 'The value is fixed as `cluster`.'."\n", + 'type' => 'string', + 'example' => 'cluster', + ], + 'RoleType' => [ + 'description' => 'The value is fixed as `custom`.'."\n", + 'type' => 'string', + 'example' => 'custom', + ], + 'RoleName' => [ + 'description' => 'The name of the permissions. Valid values:'."\n" + ."\n" + .'* `istio-admin`: the permissions of ASM administrators.'."\n" + .'* `istio-ops`: the permissions of ASM restricted users.'."\n" + .'* `istio-readonly`: the read-only permissions.'."\n", + 'type' => 'string', + 'example' => 'istio-admin', + ], + 'ResourceId' => [ + 'description' => 'The ID of the ASM instance.'."\n", + 'type' => 'string', + 'example' => 'c57b848115458460583a4260cb713****', + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"5A7C9E37-C171-584F-9A99-869B48C4196D\\",\\n \\"Permissions\\": [\\n {\\n \\"ParentId\\": \\"0\\",\\n \\"IsRamRole\\": \\"false\\",\\n \\"ResourceType\\": \\"cluster\\",\\n \\"RoleType\\": \\"custom\\",\\n \\"RoleName\\": \\"istio-admin\\",\\n \\"ResourceId\\": \\"c57b848115458460583a4260cb713****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeUserPermissionsResponse>\\n <RequestId>5A7C9E37-C171-584F-9A99-869B48C4196D</RequestId>\\n <Permissions>\\n <ParentId>0</ParentId>\\n <IsRamRole>false</IsRamRole>\\n <ResourceType>cluster</ResourceType>\\n <RoleType>custom</RoleType>\\n <RoleName>istio-admin</RoleName>\\n <ResourceId>c57b848115458460583a4260cb713****</ResourceId>\\n </Permissions>\\n</DescribeUserPermissionsResponse>","errorExample":""}]', + 'title' => 'DescribeUserPermissions', + 'summary' => 'Obtains role-based access control (RBAC) permissions.', + ], + 'DescribeUsersWithPermissions' => [ + 'summary' => 'Queries the IDs of all RAM users or RAM roles to which a Role-based Access Control (RBAC) role is assigned.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh45Z8Y2', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'UserType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to query the IDs of all RAM users or RAM roles to which an RBAC role is assigned. Valid values:'."\n" + ."\n" + .'* `SubUser`: Query the IDs of all RAM users to which an RBAC role is assigned.'."\n" + .'* `RamRole`: Query the IDs of all RAM roles to which an RBAC role is assigned.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'SubUser', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '12B94024-C241-13CD-BA44-6106DF1****', + ], + 'UIDs' => [ + 'description' => 'The list of the IDs of the RAM users or RAM roles to which an RBAC role is assigned.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of a RAM user or RAM role to which an RBAC role is assigned.'."\n", + 'type' => 'string', + 'example' => '2940213405997****', + ], + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"12B94024-C241-13CD-BA44-6106DF1****\\",\\n \\"UIDs\\": [\\n \\"2940213405997****\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeUsersWithPermissionsResponse>\\n <RequestId>12B94024-C241-13CD-BA44-6106DF1*****</RequestId>\\n <UIDs>2940213405997*****</UIDs>\\n</DescribeUsersWithPermissionsResponse>","errorExample":""}]', + 'title' => 'DescribeUsersWithPermissions', + ], + 'UpdateMeshCRAggregation' => [ + 'summary' => 'Updates the settings of whether to enable the Kubernetes API on the data plane to access Istio resources.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The Service Mesh (ASM) instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + [ + 'name' => 'Enabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable the Kubernetes API on the data plane to access Istio resources in the ASM instance. Valid values:'."\n" + ."\n" + .'* `true`: enables the Kubernetes API to access Istio resources in the ASM instance.'."\n" + .'* `false`: disables the Kubernetes API to access Istio resources in the ASM instance.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'CPURequirement', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The number of CPU cores that are requested by the components installed in the Container Service for Kubernetes (ACK) cluster on the data plane if you enable the Kubernetes API to access Istio resources in the ASM instance. You can specify the parameter value in the standard quantity representation used by Kubernetes.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'MemoryRequirement', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The size of the memory that is requested by the components installed in the ACK cluster on the data plane if you enable the Kubernetes API to access Istio resources in the ASM instance. You can specify the parameter value in the standard quantity representation used by Kubernetes. 1 Mi equals 1,024 KB.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '500Mi', + ], + ], + [ + 'name' => 'CPULimit', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of CPU cores that are available for the components installed in the ACK cluster on the data plane if you enable the Kubernetes API to access Istio resources in the ASM instance. You can specify the parameter value in the standard quantity representation used by Kubernetes.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'MemoryLimit', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum size of the memory that is available for the components installed in the ACK cluster on the data plane if you enable the Kubernetes API to access Istio resources in the ASM instance. You can specify the parameter value in the standard quantity representation used by Kubernetes. 1 Mi equals 1,024 KB.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '500Mi', + ], + ], + [ + 'name' => 'UsePublicApiServer', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether the Kubernetes API on the data plane uses the public endpoint of the API server to access Istio resources in the ASM instance. Valid values:'."\n" + ."\n" + .'* `true`: The Kubernetes API on the data plane uses the public endpoint of the API server to access Istio resources in the ASM instance.'."\n" + .'* `false`: The Kubernetes API on the data plane uses the private endpoint of the API server to access Istio resources in the ASM instance.'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateMeshCRAggregationResponse>\\n <RequestId>BD65C0AD-D3C6-48D3-8D93-38D2015C****</RequestId>\\n</UpdateMeshCRAggregationResponse>","errorExample":""}]', + 'title' => 'UpdateMeshCRAggregation', + ], + 'ModifyApiServerEipResource' => [ + 'summary' => 'Disassociates an elastic IP address (EIP) from an API server or associates an EIP with an API server.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Alibaba Cloud Service Mesh (ASM) instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cb8963379255149cb98c8686f274x****', + ], + ], + [ + 'name' => 'Operation', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The type of the operation. Valid values:'."\n" + ."\n" + .'* `UnBindEip`: disassociates an EIP from the API server.'."\n" + .'* `BindEip`: associates an EIP with the API server.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'BindEip', + ], + ], + [ + 'name' => 'ApiServerEipId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the EIP.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'eip-bp1adu9jegmxnaoq****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'ERR500', + 'errorMessage' => 'An internal server error occurred.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\"\\n}","errorExample":""},{"type":"xml","example":"<ModifyApiServerEipResourceResponse>\\n <RequestId>BD65C0AD-D3C6-48D3-8D93-38D2015C****</RequestId>\\n</ModifyApiServerEipResourceResponse>","errorExample":""}]', + 'title' => 'ModifyApiServerEipResource', + ], + 'DescribeVSwitches' => [ + 'summary' => 'Queries a list of vSwitches that are deployed in a specified virtual private cloud (VPC) in a region.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The region ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The VPC ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'vpc-bp17gig441u0msmd78****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'title' => 'TotalCount本次请求条件下的数据总量,此参数为可选参数,默认可不返回', + 'description' => 'The total number of vSwitches that are deployed in the VPC in the region. This parameter is optional and is not returned by default.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + 'NextToken' => [ + 'title' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕', + 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '“”', + ], + 'MaxResults' => [ + 'title' => 'MaxResults本次请求所返回的最大记录条数', + 'description' => 'The maximum number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'VSwitches' => [ + 'title' => 'VSwitches', + 'description' => 'The available vSwitches.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the array object.'."\n", + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => 'The ID of the VPC to which the vSwitch belongs.'."\n", + 'type' => 'string', + 'example' => 'vpc-bp17gig441u0msmd6****', + ], + 'VSwitchId' => [ + 'description' => 'The vSwitch ID.'."\n", + 'type' => 'string', + 'example' => 'vsw-bp1g24p9no0iqir46****', + ], + 'Status' => [ + 'description' => 'The state of the vSwitch. Valid values:'."\n" + ."\n" + .'* `Pending`: The vSwitch is being configured.'."\n" + .'* `Available`: The vSwitch is available.'."\n", + 'type' => 'string', + 'example' => 'Available', + ], + 'IsDefault' => [ + 'description' => 'Indicates whether the vSwitch is the default vSwitch. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'VSwitchName' => [ + 'description' => 'The name of the vSwitch.'."\n", + 'type' => 'string', + 'example' => 'vsw-test', + ], + 'ZoneId' => [ + 'description' => 'The zone to which the switch belongs.', + 'type' => 'string', + 'example' => 'cn-hangzhou-k', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 10,\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\",\\n \\"NextToken\\": \\"“”\\",\\n \\"MaxResults\\": 10,\\n \\"VSwitches\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp17gig441u0msmd6****\\",\\n \\"VSwitchId\\": \\"vsw-bp1g24p9no0iqir46****\\",\\n \\"Status\\": \\"Available\\",\\n \\"IsDefault\\": false,\\n \\"VSwitchName\\": \\"vsw-test\\",\\n \\"ZoneId\\": \\"cn-hangzhou-k\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeVSwitchesResponse>\\n <TotalCount>10</TotalCount>\\n <RequestId>BD65C0AD-D3C6-48D3-8D93-38D2015C****</RequestId>\\n <NextToken>“”</NextToken>\\n <MaxResults>10</MaxResults>\\n <VSwitches>\\n <VpcId>vpc-bp17gig441u0msmd6****</VpcId>\\n <VSwitchId>vsw-bp1g24p9no0iqir46****</VSwitchId>\\n <Status>Available</Status>\\n <IsDefault>false</IsDefault>\\n <VSwitchName>vsw-test</VSwitchName>\\n <ZoneId>cn-hangzhou-k</ZoneId>\\n </VSwitches>\\n</DescribeVSwitchesResponse>","errorExample":""}]', + 'title' => 'DescribeVSwitches', + ], + 'DescribeVpcs' => [ + 'summary' => 'Queries the virtual private clouds (VPCs) that are available in a specified region.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh4LB119', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The region ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'title' => 'TotalCount本次请求条件下的数据总量,此参数为可选参数,默认可不返回', + 'description' => 'The total number of entries returned. By default, this parameter is not returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + 'NextToken' => [ + 'title' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕', + 'description' => 'The token that marks the end of the current returned page. If this parameter is empty, it indicates that you have retrieved all the data.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '""', + ], + 'MaxResults' => [ + 'title' => 'MaxResults本次请求所返回的最大记录条数', + 'description' => 'The maximum number of entries returned on a single page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'Vpcs' => [ + 'title' => 'Vpcs', + 'description' => 'The list of VPCs that are available in the specified region.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'VpcId' => [ + 'description' => 'The ID of a VPC.'."\n", + 'type' => 'string', + 'example' => 'vpc-bp1qkf2o3xmqc2519****', + ], + 'VpcName' => [ + 'description' => 'The name of the VPC.'."\n", + 'type' => 'string', + 'example' => 'vpc-test', + ], + 'Status' => [ + 'description' => 'The status of the VPC. Valid values:'."\n" + ."\n" + .'* `Pending`: The VPC is being configured.'."\n" + .'* `Available`: The VPC is available for use.'."\n", + 'type' => 'string', + 'example' => 'Available', + ], + 'IsDefault' => [ + 'description' => 'Indicates whether the VPC is the default VPC in the specified region. Valid values:'."\n" + ."\n" + .'* `true`: yes'."\n" + .'* `false`: no'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"TotalCount\\": 10,\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\",\\n \\"NextToken\\": \\"\\\\\\"\\\\\\"\\",\\n \\"MaxResults\\": 10,\\n \\"Vpcs\\": [\\n {\\n \\"VpcId\\": \\"vpc-bp1qkf2o3xmqc2519****\\",\\n \\"VpcName\\": \\"vpc-test\\",\\n \\"Status\\": \\"Available\\",\\n \\"IsDefault\\": false\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeVpcsResponse>\\n <TotalCount>10</TotalCount>\\n <RequestId>BD65C0AD-D3C6-48D3-8D93-38D2015C****</RequestId>\\n <NextToken>\\"\\"</NextToken>\\n <MaxResults>10</MaxResults>\\n <Vpcs>\\n <VpcId>vpc-bp1qkf2o3xmqc2519****</VpcId>\\n <VpcName>vpc-test</VpcName>\\n <Status>Available</Status>\\n <IsDefault>false</IsDefault>\\n </Vpcs>\\n</DescribeVpcsResponse>","errorExample":""}]', + 'title' => 'DescribeVpcs', + ], + 'DescribeCens' => [ + 'summary' => 'Queries the network connectivity between clusters that are deployed across virtual private clouds (VPCs) in a Service Mesh (ASM) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh4LB119', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the ASM instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ce134b0727aa2492db69f6c3880e1****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + 'Clusters' => [ + 'description' => 'The list of Kubernetes clusters that are added to the same ASM instance but are in different VPCs and are not connected by using a Cloud Enterprise Network (CEN) instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The Kubernetes cluster ID.'."\n", + 'type' => 'string', + 'example' => 'c584d805c7bd442b8bac421f9849f*****', + ], + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\",\\n \\"Clusters\\": [\\n \\"c584d805c7bd442b8bac421f9849f*****\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeCensResponse>\\n <RequestId>BD65C0AD-D3C6-48D3-8D93-38D2015C****</RequestId>\\n <Clusters>c584d805c7bd442b8bac421f9849f*****</Clusters>\\n</DescribeCensResponse>","errorExample":""}]', + 'title' => 'DescribeCens', + ], + 'DescribeCrTemplates' => [ + 'summary' => 'Queries the common YAML templates of Istio resources used by Service Mesh (ASM) instances.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREservicemeshC7BE8V', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'IstioVersion', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The version of Istio used by the ASM instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'v1.9.7.31-g24cdcb43-aliyun', + ], + ], + [ + 'name' => 'Kind', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The type of Istio resource whose common YAML templates you want to query. Valid values:'."\n" + ."\n" + .'* AuthorizationPolicy'."\n" + .'* RequestAuthentication'."\n" + .'* PeerAuthentication'."\n" + .'* WorkloadGroup'."\n" + .'* WorkloadEntry'."\n" + .'* Sidecar'."\n" + .'* EnvoyFilter'."\n" + .'* ServiceEntry'."\n" + .'* Gateway'."\n" + .'* DestinationRule'."\n" + .'* VirtualService'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'VirtualService', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '74E97AE2-2900-55C1-A069-C3C1EA*****', + ], + 'Templates' => [ + 'description' => 'The common YAML templates for the specified type of Istio resource.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The common YAML templates for the specified type of Istio resource.'."\n", + 'type' => 'object', + 'properties' => [ + 'ChineseName' => [ + 'description' => 'The Chinese name of the YAML template.'."\n", + 'type' => 'string', + 'example' => '', + ], + 'EnglishName' => [ + 'description' => 'The English name of the YAML template.'."\n", + 'type' => 'string', + 'example' => 'HTTP basic routing', + ], + 'Yaml' => [ + 'description' => 'The content in the YAML template.'."\n", + 'type' => 'string', + 'example' => 'apiVersion: networking.istio.io/v1beta1\\nkind: VirtualService\\nmetadata:\\n name: reviews-route # Name for this VirtualService.\\nspec:\\n hosts:\\n - reviews.prod.svc.cluster.local # Service that this VirtualSerivce belongs to. \\n http:\\n - name: \\"reviews-route\\" # Name for the route.\\n route:\\n - destination: # Uniquely identifies the instances of a service to which all traffic should be forwarded to.\\n host: reviews.prod.svc.cluster.local # The name of a service from the service registry or ServiceEntry.\\n port:\\n number: 8080"', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'ERR404', + 'errorMessage' => 'Not found', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"74E97AE2-2900-55C1-A069-C3C1EA*****\\",\\n \\"Templates\\": [\\n {\\n \\"ChineseName\\": \\"HTTP基础路由\\",\\n \\"EnglishName\\": \\"HTTP basic routing\\",\\n \\"Yaml\\": \\"apiVersion: networking.istio.io/v1beta1\\\\\\\\nkind: VirtualService\\\\\\\\nmetadata:\\\\\\\\n name: reviews-route # Name for this VirtualService.\\\\\\\\nspec:\\\\\\\\n hosts:\\\\\\\\n - reviews.prod.svc.cluster.local # Service that this VirtualSerivce belongs to. \\\\\\\\n http:\\\\\\\\n - name: \\\\\\\\\\\\\\"reviews-route\\\\\\\\\\\\\\" # Name for the route.\\\\\\\\n route:\\\\\\\\n - destination: # Uniquely identifies the instances of a service to which all traffic should be forwarded to.\\\\\\\\n host: reviews.prod.svc.cluster.local # The name of a service from the service registry or ServiceEntry.\\\\\\\\n port:\\\\\\\\n number: 8080\\\\\\"\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeCrTemplatesResponse>\\n <RequestId>74E97AE2-2900-55C1-A069-C3C1EA*****</RequestId>\\n <Templates>\\n <ChineseName>HTTP基础路由</ChineseName>\\n <EnglishName>HTTP basic routing</EnglishName>\\n <Yaml>apiVersion: networking.istio.io/v1beta1\\\\nkind: VirtualService\\\\nmetadata:\\\\n name: reviews-route # Name for this VirtualService.\\\\nspec:\\\\n hosts:\\\\n - reviews.prod.svc.cluster.local # Service that this VirtualSerivce belongs to. \\\\n http:\\\\n - name: \\\\\\"reviews-route\\\\\\" # Name for the route.\\\\n route:\\\\n - destination: # Uniquely identifies the instances of a service to which all traffic should be forwarded to.\\\\n host: reviews.prod.svc.cluster.local # The name of a service from the service registry or ServiceEntry.\\\\n port:\\\\n number: 8080\\"</Yaml>\\n </Templates>\\n</DescribeCrTemplatesResponse>","errorExample":""}]', + 'title' => 'DescribeCrTemplates', + ], + 'DescribeEipResources' => [ + 'summary' => 'Queries elastic IP addresses (EIPs).', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the ASM instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cb8963379255149cb98c8686f274x****', + ], + ], + [ + 'name' => 'PageNum', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The number of the page to return. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The number of entries to return on each page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '50', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + 'EipList' => [ + 'description' => 'The EIPs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'IpAddress' => [ + 'description' => 'The IP address of the EIP.'."\n", + 'type' => 'string', + 'example' => '120.xx.xx.112', + ], + 'Status' => [ + 'description' => 'The status of the EIP. Valid values:'."\n" + ."\n" + .'* `Associating`: The EIP is being associated with a resource.'."\n" + .'* `Unassociating`: The EIP is being disassociated from a resource.'."\n" + .'* `InUse`: The EIP is associated with a resource.'."\n" + .'* `Available`: The EIP is available.'."\n", + 'type' => 'string', + 'example' => 'InUse', + ], + 'AllocationId' => [ + 'description' => 'The ID of the EIP.'."\n", + 'type' => 'string', + 'example' => 'eip-2zeerraiwb7ujxscd****', + ], + 'InstanceType' => [ + 'description' => 'The type of the resource that is associated with the EIP. Valid values:'."\n" + ."\n" + .'* `EcsInstance`: an ECS instance in a VPC'."\n" + .'* `SlbInstance`: a Server Load Balancer (SLB) instance in a VPC'."\n" + .'* `Nat`: a NAT gateway'."\n" + .'* `HaVip`: a high-availability virtual IP address (HAVIP)'."\n" + .'* `NetworkInterface`: a secondary elastic network interface (ENI)'."\n" + ."\n" + .'Default value: `EcsInstance`.'."\n", + 'type' => 'string', + 'example' => 'SlbInstance', + ], + ], + ], + ], + 'PageResult' => [ + 'description' => 'The pagination information.'."\n", + 'type' => 'object', + 'properties' => [ + 'TotalCount' => [ + 'description' => 'The number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries returned per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'ERR500', + 'errorMessage' => 'An internal server error occurred.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\",\\n \\"EipList\\": [\\n {\\n \\"IpAddress\\": \\"120.xx.xx.112\\",\\n \\"Status\\": \\"InUse\\",\\n \\"AllocationId\\": \\"eip-2zeerraiwb7ujxscd****\\",\\n \\"InstanceType\\": \\"SlbInstance\\"\\n }\\n ],\\n \\"PageResult\\": {\\n \\"TotalCount\\": 10,\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeEipResourcesResponse>\\n <RequestId>BD65C0AD-D3C6-48D3-8D93-38D2015C****</RequestId>\\n <EipList>\\n <IpAddress>120.xx.xx.112</IpAddress>\\n <Status>InUse</Status>\\n <AllocationId>eip-2zeerraiwb7ujxscd****</AllocationId>\\n <InstanceType>SlbInstance</InstanceType>\\n </EipList>\\n <PageResult>\\n <TotalCount>10</TotalCount>\\n <PageNumber>1</PageNumber>\\n <PageSize>10</PageSize>\\n </PageResult>\\n</DescribeEipResourcesResponse>","errorExample":""}]', + 'title' => 'DescribeEipResources', + ], + 'UpdateNamespaceScopeSidecarConfig' => [ + 'summary' => 'Updates the configurations of sidecar proxies at the namespace level.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '114945', + 'abilityTreeNodes' => [ + 'FEATUREservicemeshB27TWZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the ASM instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ca04bc38979214bf2882be79d39b4****', + ], + ], + [ + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The namespace for which you want to update the sidecar proxy configurations.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + [ + 'name' => 'IncludeIPRanges', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The range of IP addresses that are denied to access external services. (`global.proxy.includelPRanges`)'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '*', + ], + ], + [ + 'name' => 'ExcludeIPRanges', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The range of IP addresses that are allowed to access external services. (`global.proxy.excludelPRanges`)'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '172.16.0.0/12', + ], + ], + [ + 'name' => 'IncludeInboundPorts', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The port that the inbound traffic of the sidecar proxy passes through.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '83', + ], + ], + [ + 'name' => 'ExcludeOutboundPorts', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The port that the outbound traffic of the sidecar proxy does not pass through.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '81', + ], + ], + [ + 'name' => 'ExcludeInboundPorts', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The port that the inbound traffic of the sidecar proxy does not pass through.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '82', + ], + ], + [ + 'name' => 'IncludeOutboundPorts', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The port that the outbound traffic of the sidecar proxy passes through.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '84', + ], + ], + [ + 'name' => 'TerminationDrainDuration', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum period of time that the sidecar proxy waits for a request to end.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '6s', + ], + ], + [ + 'name' => 'ProxyInitCPUResourceLimit', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of CPU cores that are available to the sidecar proxy init container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2000 m', + ], + ], + [ + 'name' => 'ProxyInitMemoryResourceLimit', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum size of memory that is available to the sidecar proxy init container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '50 Mi', + ], + ], + [ + 'name' => 'ProxyInitCPUResourceRequest', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The minimum number of CPU cores that are requested by the sidecar proxy init container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '60 m', + ], + ], + [ + 'name' => 'ProxyInitMemoryResourceRequest', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The minimum size of memory that is requested by the sidecar proxy init container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '30 Mi', + ], + ], + [ + 'name' => 'SidecarProxyCPUResourceLimit', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of CPU cores that are available to the sidecar proxy container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2000 m', + ], + ], + [ + 'name' => 'SidecarProxyMemoryResourceLimit', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum size of memory that is available to the sidecar proxy container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '50 Mi', + ], + ], + [ + 'name' => 'SidecarProxyCPUResourceRequest', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The minimum number of CPU cores that are requested by the sidecar proxy container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '60 m', + ], + ], + [ + 'name' => 'SidecarProxyMemoryResourceRequest', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The minimum size of memory that is requested by the sidecar proxy container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '30 Mi', + ], + ], + [ + 'name' => 'Lifecycle', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The lifecycle of the sidecar proxy.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"postStart":{"exec":{"command":["pilot-agent","wait"]}},"preStop":{"exec":{"command":["/bin/sh","-c","sleep 15"]}}}', + ], + ], + [ + 'name' => 'IstioDNSProxyEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable the Domain Name System (DNS) proxy feature. Valid values:'."\n" + ."\n" + .'* `true`: The DNS proxy feature is enabled.'."\n" + .'* `false`: The DNS proxy feature is disabled.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'PostStart', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The post-start parameters of Istio Proxy.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"exec":{"command":["pilot-agent","wait"]}}', + ], + ], + [ + 'name' => 'PreStop', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The pre-close parameters of Istio Proxy.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"exec":{"command":["/bin/sh","-c","sleep 15"]}}', + ], + ], + [ + 'name' => 'Concurrency', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The number of worker threads to run in Istio Proxy.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'ProxyStatsMatcher', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The monitoring metrics for data collected by Envoy proxies. The value is in the JSON format.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{ "inclusionPrefixes": [ "cluster.outbound", "cluster_manager", "listener_manager", "server", "cluster.xds-grpc" ], "inclusionRegexps": [ "listener.*.downstream_cx_total", "listener.*.downstream_cx_active" ] }', + ], + ], + [ + 'name' => 'HoldApplicationUntilProxyStarts', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether applications can be started only after Istio Proxy starts. Valid values:'."\n" + ."\n" + .'* `true`: Applications can be started only after Istio Proxy starts.'."\n" + .'* `false`: Applications can be started before Istio Proxy starts.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'LogLevel', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The log level. Valid values: `info`, `debug`, `tracing`, and `error`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'info', + ], + ], + [ + 'name' => 'Tracing', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The custom configurations of Tracing Analysis. The configurations must be serialized into JSON strings. The configurations contain the following parameters:'."\n" + ."\n" + .'* `sampling`: The sampling rate, which is of the DOUBLE type.'."\n" + ."\n" + .'* `custom_tags`: The custom tags added to reported spans, which are of the MAP type. The key of a tag is of the string type. The value of a tag is in the JSON format. A custom tag can belong to one of the following types:'."\n" + ."\n" + .' * `literal`: The tag value is a fixed value in the JSON format. This tag must contain the `value` field that specifies a literal. Example: `{"value":"test"}`.'."\n" + .' * `header`: The tag value is a request header in the JSON format. This tag must contain the `name` field and `defaultValue` field.The name field indicates the name of the request header. The defaultValue field indicates the default value that is used when no request header is available. Example: `{"name":"test","defaultValue":"test"}`.'."\n" + .' * `environment`: The tag value is an environment variable in the JSON format. This tag must contain the `name` field and `defaultValue` field. The name field indicates the name of the environment variable. The defaultValue field indicates the environment variable that is used when no environment variable is available. Example: `{"name":"test","defaultValue":"test"}`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"sampling":99.8,"custom_tags":{"test":{"literal":{"value":"testnamespace"}}}}', + ], + ], + [ + 'name' => 'InterceptionMode', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The mode in which the sidecar proxy intercepts inbound traffic. Valid values:'."\n" + ."\n" + .'* `REDIRECT`: The sidecar proxy intercepts inbound traffic in the REDIRECT mode.'."\n" + .'* `TPROXY`: The sidecar proxy intercepts inbound traffic in the TPROXY mode.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TPROXY', + ], + ], + [ + 'name' => 'ProxyMetadata', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The environment variables that are added to a sidecar proxy. The environment variables are represented as JSON objects. The keys and values in the JSON objects represent the keys and values added to the environment variables of the sidecar proxy.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"EXIT_ON_ZERO_ACTIVE_CONNECTIONS":"true"}', + ], + ], + [ + 'name' => 'ProxyInitAckSloCPUResourceLimit', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of reclaimed CPU cores provided by Container Service for Kubernetes (ACK) that are available to the istio-init container. Reclaimed resources, including CPU cores and memory, are resources that can be dynamically overcommitted. This configuration item is used to set the maximum number of CPU cores that are available to the istio-init container in a pod labeled with `koordinator.sh/qosClass`. Unit: millicore.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2000', + ], + ], + [ + 'name' => 'ProxyInitAckSloMemoryResourceLimit', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum size of reclaimed memory resources provided by ACK that are available to the istio-init container. This configuration item is used to set the maximum size of memory that is available to the istio-init container in a pod labeled with `koordinator.sh/qosClass`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2048Mi', + ], + ], + [ + 'name' => 'ProxyInitAckSloCPUResourceRequest', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The minimum number of reclaimed CPU cores provided by ACK that the istio-init container requires at runtime. This configuration item is used to set the minimum number of reclaimed CPU cores for the istio-init container in a pod labeled with `koordinator.sh/qosClass`. Unit: millicore.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '100', + ], + ], + [ + 'name' => 'ProxyInitAckSloMemoryResourceRequest', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The minimum size of reclaimed memory provided by ACK that the istio-init container requires at runtime. This configuration item is used to set the minimum size of reclaimed memory for the istio-init container in a pod labeled with `koordinator.sh/qosClass`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '128Mi', + ], + ], + [ + 'name' => 'SidecarProxyAckSloCPUResourceLimit', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of reclaimed CPU cores provided by ACK that are available to the sidecar proxy container. This configuration item is used to set the maximum number of CPU cores that are available to the sidecar proxy container in a pod labeled with `koordinator.sh/qosClass`. Unit: millicore.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2000', + ], + ], + [ + 'name' => 'SidecarProxyAckSloMemoryResourceLimit', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum size of reclaimed memory resources provided by ACK that are available to the sidecar proxy container. This configuration item is used to set the maximum size of memory that is available to the sidecar proxy container in a pod labeled with `koordinator.sh/qosClass`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2048Mi', + ], + ], + [ + 'name' => 'SidecarProxyAckSloCPUResourceRequest', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The minimum number of reclaimed CPU cores provided by ACK that the sidecar proxy container requires at runtime. This configuration item is used to set the minimum number of reclaimed CPU cores for the sidecar proxy container in a pod labeled with `koordinator.sh/qosClass`. Unit: millicore.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '100', + ], + ], + [ + 'name' => 'SidecarProxyAckSloMemoryResourceRequest', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The minimum size of reclaimed memory provided by ACK that the sidecar proxy container requires at runtime. This configuration item is used to set the minimum size of reclaimed memory for the sidecar proxy container in a pod labeled with `koordinator.sh/qosClass`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '128Mi', + ], + ], + [ + 'name' => 'Privileged', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable the privileged mode in the security context of the sidecar proxy containers. Valid values:'."\n" + ."\n" + .'* `true`: enables the privileged mode. This means that the sidecar proxy containers run in privileged mode.'."\n" + .'* `false`: does not enable the privileged mode.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'EnableCoreDump', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable the core dump feature for the sidecar proxy containers. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ReadinessInitialDelaySeconds', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The amount of time to wait before the first readiness check of a sidecar proxy container is performed. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'ReadinessPeriodSeconds', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The interval between two readiness checks of a sidecar proxy container. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + ], + ], + [ + 'name' => 'ReadinessFailureThreshold', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The number of readiness check failures required before marking a sidecar proxy container as not ready.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + ], + ], + [ + 'name' => 'SMCEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable Shared Memory Communications over Remote Direct Memory Access (SMC-R) optimization. The SMC-R optimization feature uses Alibaba Cloud Linux 3 and elastic remote direct memory access (eRDMA) network devices, which optimizes cross-node communication.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'RuntimeValues', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Indicates the runtime parameters of Envoy proxy processes in the sidecar proxy container. This parameter is a serialized JSON string. The keys and values of a JSON object are the keys and the values of a Envoy Runtime Parameter respectively.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* global_downstream_max_connections: indicates that the limits on the number of connections from downstream to Envoy.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"overload.global_downstream_max_connections":"65536"}', + ], + ], + [ + 'name' => 'ScaledSidecarResource', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'ResourceCalculationStrategy' => [ + 'type' => 'string', + 'required' => false, + ], + 'ContainerRef' => [ + 'type' => 'string', + 'required' => false, + ], + 'ResourcePercentage' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '31d3a0f0-07ed-4f6e-9004-1804498c****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"31d3a0f0-07ed-4f6e-9004-1804498c****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateNamespaceScopeSidecarConfigResponse>\\n <RequestId>31d3a0f0-07ed-4f6e-9004-1804498c****</RequestId>\\n</UpdateNamespaceScopeSidecarConfigResponse>","errorExample":""}]', + 'title' => 'UpdateNamespaceScopeSidecarConfig', + ], + 'UpdateIstioInjectionConfig' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the ASM instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ce2cdbb9d013f447180cf5ca8bb******', + ], + ], + [ + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The namespace for which you want to modify the sidecar injection setting.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'default', + ], + ], + [ + 'name' => 'EnableIstioInjection', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable Istio automatic sidecar injection.'."\n", + 'type' => 'boolean', + 'required' => false, + 'docRequired' => true, + 'example' => 'true', + ], + ], + [ + 'name' => 'EnableSidecarSetInjection', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable automatic sidecar injection by using SidecarSet.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'IstioRev', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies the version to be injected into the namespace. This parameter is valid only when the ASM instance performs a canary release. When IstioRev is not empty, you must not specify EnableIstioInjection and EnableSidecarSetInjection.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'canary', + ], + ], + [ + 'name' => 'DataPlaneMode', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The data plane mode of the namespace. This parameter is valid only when the Ambient Mesh mode is enabled for the current Service Mesh (ASM) instance. Valid values:'."\n" + ."\n" + .'* ambient: sets the data plane mode of the namespace to the Ambient Mesh mode.'."\n" + .'* sidecar: sets the data plane mode of the namespace to the Sidecar mode.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ambient', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned value.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '98B268E6-9381-5A98-8012-6E7E82******', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"98B268E6-9381-5A98-8012-6E7E82******\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateIstioInjectionConfigResponse>\\n <RequestId>98B268E6-9381-5A98-8012-6E7E82******</RequestId>\\n</UpdateIstioInjectionConfigResponse>","errorExample":""}]', + 'title' => 'UpdateIstioInjectionConfig', + 'summary' => 'Modifies the sidecar proxy injection settings of a Service Mesh (ASM) instance.', + ], + 'DescribeServiceMeshProxyStatus' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ca04bc38979214bf2882be79d39b4****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'success', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '31d3a0f0-07ed-4f6e-9004-1804498c****', + ], + 'ProxyStatus' => [ + 'description' => 'The information about the status of the proxies on the data plane.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ProxyVersion' => [ + 'description' => 'The version number of a proxy on the data plane.'."\n", + 'type' => 'string', + 'example' => '1.9.7', + ], + 'ClusterSynced' => [ + 'description' => 'The update status of the proxy. Valid values:'."\n" + ."\n" + .'* `SYNCED`: The status of the proxy is updated.'."\n" + .'* `NOT SENT`: The status of the proxy is not updated.'."\n" + .'* `STALE (Never Acknowledged)`: Istiod has sent multiple requests to the Envoy proxy to update the status of the proxy but receives no response.'."\n" + .'* `STALE`: Istiod has sent a request to the Envoy proxy to update the status of the proxy but receives no response.'."\n", + 'type' => 'string', + 'example' => 'SYNCED', + ], + 'EndpointPercent' => [ + 'description' => 'The percentage of the updated endpoints.'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'ListenerSynced' => [ + 'description' => 'The update status of the listener. Valid values:'."\n" + ."\n" + .'* `SYNCED`: The status of the listener is updated.'."\n" + .'* `NOT SENT`: The status of the listener is not updated.'."\n" + .'* `STALE (Never Acknowledged)`: Istiod has sent multiple requests to the Envoy proxy to update the status of the listener but receives no response.'."\n" + .'* `STALE`: Istiod has sent a request to the Envoy proxy to update the status of the listener but receives no response.'."\n", + 'type' => 'string', + 'example' => 'SYNCED', + ], + 'RouteSynced' => [ + 'description' => 'The update status of the route. Valid values:'."\n" + ."\n" + .'* `SYNCED`: The status of the route is updated.'."\n" + .'* `NOT SENT`: The status of the route is not updated.'."\n" + .'* `STALE (Never Acknowledged)`: Istiod has sent multiple requests to the Envoy proxy to update the status of the route but receives no response.'."\n" + .'* `STALE`: Istiod has sent a request to the Envoy proxy to update the status of the route but receives no response.'."\n", + 'type' => 'string', + 'example' => 'SYNCED', + ], + 'EndpointSynced' => [ + 'description' => 'The update status of the endpoint. Valid values:'."\n" + ."\n" + .'* `SYNCED`: The status of the endpoint is updated.'."\n" + .'* `NOT SENT`: The status of the endpoint is not updated.'."\n" + .'* `STALE (Never Acknowledged)`: Istiod has sent multiple requests to the Envoy proxy to update the status of the endpoint but receives no response.'."\n" + .'* `STALE`: Istiod has sent a request to the Envoy proxy to update the status of the endpoint but receives no response.'."\n", + 'type' => 'string', + 'example' => 'SYNCED', + ], + 'ProxyId' => [ + 'description' => 'The ID of the proxy on the data plane.'."\n", + 'type' => 'string', + 'example' => '119q****', + ], + 'IstioVersion' => [ + 'description' => 'The version of Istiod.'."\n", + 'type' => 'string', + 'example' => '1.9.7', + ], + ], + ], + ], + 'Code' => [ + 'description' => 'The status code. Valid values:'."\n" + ."\n" + .'`200`: The operation is successful.'."\n" + ."\n" + .'* `403`: You are not authorized to perform this operation.'."\n" + .'* `503`: A backend server error occurs.'."\n", + 'type' => 'string', + 'example' => '200', + ], + 'Success' => [ + 'description' => 'Indicates whether the request was successful.'."\n", + 'type' => 'string', + 'example' => 'success', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"31d3a0f0-07ed-4f6e-9004-1804498c****\\",\\n \\"ProxyStatus\\": [\\n {\\n \\"ProxyVersion\\": \\"1.9.7\\",\\n \\"ClusterSynced\\": \\"SYNCED\\",\\n \\"EndpointPercent\\": \\"1\\",\\n \\"ListenerSynced\\": \\"SYNCED\\",\\n \\"RouteSynced\\": \\"SYNCED\\",\\n \\"EndpointSynced\\": \\"SYNCED\\",\\n \\"ProxyId\\": \\"119q****\\",\\n \\"IstioVersion\\": \\"1.9.7\\"\\n }\\n ],\\n \\"Code\\": \\"200\\",\\n \\"Success\\": \\"success\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeServiceMeshProxyStatusResponse>\\n <Message>success</Message>\\n <RequestId>31d3a0f0-07ed-4f6e-9004-1804498c****</RequestId>\\n <ProxyStatus>\\n <ProxyVersion>1.9.7</ProxyVersion>\\n <ClusterSynced>SYNCED</ClusterSynced>\\n <EndpointPercent>1</EndpointPercent>\\n <ListenerSynced>SYNCED</ListenerSynced>\\n <RouteSynced>SYNCED</RouteSynced>\\n <EndpointSynced>SYNCED</EndpointSynced>\\n <ProxyId>119q****</ProxyId>\\n <IstioVersion>1.9.7</IstioVersion>\\n </ProxyStatus>\\n <Code>200</Code>\\n <Success>success</Success>\\n</DescribeServiceMeshProxyStatusResponse>","errorExample":""}]', + 'title' => 'DescribeServiceMeshProxyStatus', + 'summary' => 'Queries the status of proxies on the data plane of a Service Mesh (ASM) instance.', + ], + 'DescribeNamespaceScopeSidecarConfig' => [ + 'summary' => 'Queries the configurations of sidecar proxies at the namespace level.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '114962', + 'abilityTreeNodes' => [ + 'FEATUREservicemeshB27TWZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the ASM instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c7120e75a202d4fd8acb028a86b6a****', + ], + ], + [ + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The namespace.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '31d3a0f0-07ed-4f6e-9004-1804498c****', + ], + 'ConfigPatches' => [ + 'description' => 'The namespace-level sidecar configurations.'."\n", + 'type' => 'object', + 'properties' => [ + 'TerminationDrainDuration' => [ + 'description' => 'The maximum period of time allowed for connections to complete on sidecar proxy shutdown.'."\n", + 'type' => 'string', + 'example' => '6s', + ], + 'SidecarProxyInitResourceLimit' => [ + 'description' => 'The maximum size of resources that are available to the istio-init container in the pod into which the sidecar proxy is injected. The istio-init container is used in this topic.'."\n", + 'type' => 'object', + 'properties' => [ + 'ResourceCPULimit' => [ + 'description' => 'The maximum number of CPU cores.'."\n", + 'type' => 'string', + 'example' => '2000 m', + ], + 'ResourceMemoryLimit' => [ + 'description' => 'The maximum size of the memory.'."\n", + 'type' => 'string', + 'example' => '50 Mi', + ], + ], + ], + 'SidecarProxyInitResourceRequest' => [ + 'description' => 'The minimum size of resources that are required by the istio-init container.'."\n", + 'type' => 'object', + 'properties' => [ + 'ResourceCPURequest' => [ + 'description' => 'The minimum number of CPU cores.'."\n", + 'type' => 'string', + 'example' => '60 m', + ], + 'ResourceMemoryRequest' => [ + 'description' => 'The minimum size of the memory.'."\n", + 'type' => 'string', + 'example' => '30 Mi', + ], + ], + ], + 'SidecarProxyResourceLimit' => [ + 'description' => 'The maximum size of resources that are available to the sidecar proxy container.'."\n", + 'type' => 'object', + 'properties' => [ + 'ResourceCPULimit' => [ + 'description' => 'The maximum number of CPU cores.'."\n", + 'type' => 'string', + 'example' => '2000 m', + ], + 'ResourceMemoryLimit' => [ + 'description' => 'The maximum size of the memory.'."\n", + 'type' => 'string', + 'example' => '50 Mi', + ], + ], + ], + 'SidecarProxyResourceRequest' => [ + 'description' => 'The minimum size of resources that are required by the sidecar proxy container.'."\n", + 'type' => 'object', + 'properties' => [ + 'ResourceCPURequest' => [ + 'description' => 'The minimum number of CPU cores.'."\n", + 'type' => 'string', + 'example' => '60 m', + ], + 'ResourceMemoryRequest' => [ + 'description' => 'The minimum size of the memory.'."\n", + 'type' => 'string', + 'example' => '30 Mi', + ], + ], + ], + 'ExcludeOutboundPorts' => [ + 'description' => 'The outbound ports to be excluded from redirection to the sidecar proxy in the ASM instance.'."\n", + 'type' => 'string', + 'example' => '81', + ], + 'ExcludeOutboundIPRanges' => [ + 'description' => 'The outbound IP ranges in CIDR form to be excluded from redirection to the sidecar proxy in the ASM instance.'."\n", + 'type' => 'string', + 'example' => '192.168.1.3/31', + ], + 'IncludeOutboundIPRanges' => [ + 'description' => 'The outbound IP ranges in CIDR form for which traffic is to be redirected to the sidecar proxy in the ASM instance.'."\n", + 'type' => 'string', + 'example' => '192.168.1.4/31', + ], + 'ExcludeInboundPorts' => [ + 'description' => 'The inbound ports to be excluded from redirection to the sidecar proxy in the ASM instance.'."\n", + 'type' => 'string', + 'example' => '82', + ], + 'IncludeInboundPorts' => [ + 'description' => 'The inbound ports for which traffic is to be redirected to the sidecar proxy in the ASM instance.'."\n", + 'type' => 'string', + 'example' => '83', + ], + 'IncludeOutboundPorts' => [ + 'description' => 'The outbound ports for which traffic is to be redirected to the sidecar proxy in the ASM instance.'."\n", + 'type' => 'string', + 'example' => '84', + ], + 'IstioDNSProxyEnabled' => [ + 'description' => 'Indicates whether the Domain Name System (DNS) proxy feature is enabled. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'LifecycleStr' => [ + 'description' => 'The JSON string that describes the lifecycle of the sidecar proxy.'."\n", + 'type' => 'string', + 'example' => '{"postStart":{"exec":{"command":["pilot-agent","wait"]}},"preStop":{"exec":{"command":["/bin/sh","-c","sleep 15"]}}}', + ], + 'Concurrency' => [ + 'description' => 'The number of worker threads to run in the istio-proxy container.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'LogLevel' => [ + 'description' => 'The log level. Valid values: `info`, `debug`, `trace`, and `error`.'."\n", + 'type' => 'string', + 'example' => 'info', + ], + 'HoldApplicationUntilProxyStarts' => [ + 'description' => 'Indicates whether applications can be started only after the istio-proxy container starts. Valid values:'."\n" + ."\n" + .'* `true`: Applications can be started only after the istio-proxy container starts.'."\n" + .'* `false`: Applications can be started before the istio-proxy container starts.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'ProxyStatsMatcher' => [ + 'description' => 'The custom Envoy statistics that are reported by the sidecar proxy.'."\n", + 'type' => 'object', + 'properties' => [ + 'InclusionPrefixes' => [ + 'description' => 'The prefixes of the custom Envoy statistics that are reported by the sidecar proxy.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The prefix of the custom Envoy statistics that are reported by the sidecar proxy.'."\n", + 'type' => 'string', + 'example' => 'server', + ], + ], + 'InclusionSuffixes' => [ + 'description' => 'The suffixes of the custom Envoy statistics that are reported by the sidecar proxy.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The suffix of the custom Envoy statistics that are reported by the sidecar proxy.'."\n", + 'type' => 'string', + 'example' => 'cluster.outbound', + ], + ], + 'InclusionRegexps' => [ + 'description' => 'The regular expressions for specifying the custom Envoy statistics that are reported by the sidecar proxy.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The regular expression for specifying the custom Envoy statistics that are reported by the sidecar proxy.'."\n", + 'type' => 'string', + 'example' => 'listener.*.downstream_cx_total', + ], + ], + ], + ], + 'Tracing' => [ + 'description' => 'The custom configurations of Tracing Analysis.'."\n", + 'type' => 'object', + 'properties' => [ + 'Sampling' => [ + 'description' => 'The sampling rate.'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '99.8', + ], + 'CustomTags' => [ + 'description' => 'The custom tags added to reported spans. The key of a tag is of the string type. The value of a tag is in the JSON format. A custom tag can belong to one of the following types:'."\n" + ."\n" + .'* `literal`: The tag value is a fixed value in the JSON format. This tag must contain the `value` field that specifies a literal. Example: `{"value":"test"}`.'."\n" + .'* `header`: The tag value is a request header in the JSON format. This tag must contain the `name` field and the `defaultValue` field. The name field indicates the name of the request header. The defaultValue field indicates the default value that is used when no request header is available. Example: `{"name":"test","defaultValue":"test"}`.'."\n" + .'* `environment`: The tag value is an environment variable in the JSON format. This tag must contain the `name` field and the `defaultValue` field. The name field indicates the name of the environment variable. The defaultValue field indicates the environment variable that is used when no environment variable is available. Example: `{"name":"test","defaultValue":"test"}`.'."\n", + 'type' => 'object', + 'example' => '{"test":{"literal":{"value":"test"}}}', + ], + 'MaxPathTagLength' => [ + 'description' => 'The maximum tag length.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + ], + ], + 'InterceptionMode' => [ + 'description' => 'The mode in which the sidecar proxy intercepts inbound traffic. Valid values:'."\n" + ."\n" + .'* `REDIRECT` (default): In this mode, source IP addresses are lost during traffic redirection to the sidecar proxy.'."\n" + .'* `TPROXY`: In this mode, both the source and destination IP addresses and ports are preserved.'."\n", + 'type' => 'string', + 'example' => 'TPROXY', + ], + 'ProxyMetadata' => [ + 'description' => '', + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'string', + 'example' => '"true"', + 'description' => '', + ], + ], + 'SidecarProxyInitAckSloResource' => [ + 'description' => 'The reclaimed Container Service for Kubernetes (ACK) resources for the istio-init container. This configuration item indicates the resources of the istio-init container in a pod labeled with `koordinator.sh/qosClass`. Reclaimed ACK resources are resources that can be dynamically overcommitted.'."\n", + 'type' => 'object', + 'properties' => [ + 'Requests' => [ + 'description' => 'The minimum size of reclaimed ACK resources that the istio-init container needs to use at runtime. This configuration item indicates the minimum size of reclaimed ACK resources for the istio-init container in a pod labeled with `koordinator.sh/qosClass`. The object can contain the following two types of keys, which indicate two types of resources:'."\n" + ."\n" + .'* `kubernetes.io/batch-cpu`: CPU resources that can be dynamically overcommitted. Unit: millicore.'."\n" + .'* `kubernetes.io/batch-memory`: memory resources that can be dynamically overcommitted.'."\n", + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'string', + 'example' => '128Mi', + 'description' => '', + ], + ], + 'Limits' => [ + 'description' => 'The maximum size of reclaimed ACK resources that are available to the istio-init container. This configuration item indicates the maximum size of resources that are available to the istio-init container in a pod labeled with `koordinator.sh/qosClass`. The object can contain the following two types of keys, which indicate two types of resources:'."\n" + ."\n" + .'* `kubernetes.io/batch-cpu`: CPU resources that can be dynamically overcommitted. Unit: millicore.'."\n" + .'* `kubernetes.io/batch-memory`: memory resources that can be dynamically overcommitted.'."\n", + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'string', + 'example' => '2048Mi', + 'description' => '', + ], + ], + ], + ], + 'SidecarProxyAckSloResource' => [ + 'description' => 'The maximum size of reclaimed ACK resources that are available to the sidecar proxy container. This configuration item indicates the maximum size of resources that are available to the sidecar proxy container in a pod labeled with `koordinator.sh/qosClass`.'."\n", + 'type' => 'object', + 'properties' => [ + 'Requests' => [ + 'description' => 'The minimum size of reclaimed ACK resources that the sidecar proxy container needs to use at runtime. This configuration item indicates the minimum size of reclaimed ACK resources for the sidecar proxy container in a pod labeled with `koordinator.sh/qosClass`. The object can contain the following two types of keys, which indicate two types of resources:'."\n" + ."\n" + .'* `kubernetes.io/batch-cpu`: CPU resources that can be dynamically overcommitted. Unit: millicore.'."\n" + .'* `kubernetes.io/batch-memory`: memory resources that can be dynamically overcommitted.'."\n", + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'string', + 'example' => '128Mi', + 'description' => '', + ], + ], + 'Limits' => [ + 'description' => 'The maximum size of reclaimed ACK resources that are available to the sidecar proxy container. This configuration item indicates the maximum size of resources that are available to the sidecar proxy container in a pod labeled with `koordinator.sh/qosClass`. The object can contain the following two types of keys, which indicate two types of resources:'."\n" + ."\n" + .'* `kubernetes.io/batch-cpu`: CPU resources that can be dynamically overcommitted. Unit: millicore.'."\n" + .'* `kubernetes.io/batch-memory`: memory resources that can be dynamically overcommitted.'."\n", + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'string', + 'description' => '', + 'example' => '2048Mi', + ], + ], + ], + ], + 'Privileged' => [ + 'description' => 'Indicates whether the privileged mode is enabled in the security context of the sidecar proxy containers. Valid values:'."\n" + ."\n" + .'* `true`: The privileged mode is enabled, that is, the sidecar proxy containers run in privileged mode.'."\n" + .'* `false`: The privileged mode is not enabled.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'EnableCoreDump' => [ + 'description' => 'Indicates whether the core dump feature is enabled for the sidecar proxy containers. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'ReadinessInitialDelaySeconds' => [ + 'description' => 'The amount of time to wait before the first readiness check of a sidecar proxy container is performed. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'ReadinessPeriodSeconds' => [ + 'description' => 'The interval between two readiness checks of a sidecar proxy container. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'ReadinessFailureThreshold' => [ + 'description' => 'The number of readiness check failures required before marking a sidecar proxy container as not ready.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'SMCConfiguration' => [ + 'description' => 'The configurations of the Shared Memory Communications over Remote Direct Memory Access (SMC-R) optimization feature.'."\n", + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => 'Indicates whether the SMC-R optimization feature is enabled. The SMC-R optimization feature uses Alibaba Cloud Linux 3 and elastic remote direct memory access (eRDMA) network devices, which optimizes cross-node communication.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + 'RuntimeValues' => [ + 'description' => 'Indicates the runtime parameters of Envoy proxy processes in the sidecar proxy container.'."\n", + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'string', + 'example' => '"65536"', + 'description' => 'The values of Envoy Runtime Parameters'."\n", + ], + ], + 'ScaledSidecarResource' => [ + 'type' => 'object', + 'properties' => [ + 'ResourceCalculationStrategy' => [ + 'type' => 'string', + ], + 'ContainerRef' => [ + 'type' => 'string', + ], + 'ResourcePercentage' => [ + 'type' => 'integer', + 'format' => 'int32', + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"31d3a0f0-07ed-4f6e-9004-1804498c****\\",\\n \\"ConfigPatches\\": {\\n \\"TerminationDrainDuration\\": \\"6s\\",\\n \\"SidecarProxyInitResourceLimit\\": {\\n \\"ResourceCPULimit\\": \\"2000 m\\",\\n \\"ResourceMemoryLimit\\": \\"50 Mi\\"\\n },\\n \\"SidecarProxyInitResourceRequest\\": {\\n \\"ResourceCPURequest\\": \\"60 m\\",\\n \\"ResourceMemoryRequest\\": \\"30 Mi\\"\\n },\\n \\"SidecarProxyResourceLimit\\": {\\n \\"ResourceCPULimit\\": \\"2000 m\\",\\n \\"ResourceMemoryLimit\\": \\"50 Mi\\"\\n },\\n \\"SidecarProxyResourceRequest\\": {\\n \\"ResourceCPURequest\\": \\"60 m\\",\\n \\"ResourceMemoryRequest\\": \\"30 Mi\\"\\n },\\n \\"ExcludeOutboundPorts\\": \\"81\\",\\n \\"ExcludeOutboundIPRanges\\": \\"192.168.1.3/31\\",\\n \\"IncludeOutboundIPRanges\\": \\"192.168.1.4/31\\",\\n \\"ExcludeInboundPorts\\": \\"82\\",\\n \\"IncludeInboundPorts\\": \\"83\\",\\n \\"IncludeOutboundPorts\\": \\"84\\",\\n \\"IstioDNSProxyEnabled\\": true,\\n \\"LifecycleStr\\": \\"{\\\\\\"postStart\\\\\\":{\\\\\\"exec\\\\\\":{\\\\\\"command\\\\\\":[\\\\\\"pilot-agent\\\\\\",\\\\\\"wait\\\\\\"]}},\\\\\\"preStop\\\\\\":{\\\\\\"exec\\\\\\":{\\\\\\"command\\\\\\":[\\\\\\"/bin/sh\\\\\\",\\\\\\"-c\\\\\\",\\\\\\"sleep 15\\\\\\"]}}}\\",\\n \\"Concurrency\\": 2,\\n \\"LogLevel\\": \\"info\\",\\n \\"HoldApplicationUntilProxyStarts\\": true,\\n \\"ProxyStatsMatcher\\": {\\n \\"InclusionPrefixes\\": [\\n \\"server\\"\\n ],\\n \\"InclusionSuffixes\\": [\\n \\"cluster.outbound\\"\\n ],\\n \\"InclusionRegexps\\": [\\n \\"listener.*.downstream_cx_total\\"\\n ]\\n },\\n \\"Tracing\\": {\\n \\"Sampling\\": 99.8,\\n \\"CustomTags\\": {\\n \\"test\\": {\\n \\"literal\\": {\\n \\"value\\": \\"test\\"\\n }\\n }\\n },\\n \\"MaxPathTagLength\\": 10\\n },\\n \\"InterceptionMode\\": \\"TPROXY\\",\\n \\"ProxyMetadata\\": {\\n \\"key\\": \\"\\\\\\"true\\\\\\"\\"\\n },\\n \\"SidecarProxyInitAckSloResource\\": {\\n \\"Requests\\": {\\n \\"key\\": \\"128Mi\\"\\n },\\n \\"Limits\\": {\\n \\"key\\": \\"2048Mi\\"\\n }\\n },\\n \\"SidecarProxyAckSloResource\\": {\\n \\"Requests\\": {\\n \\"key\\": \\"128Mi\\"\\n },\\n \\"Limits\\": {\\n \\"key\\": \\"2048Mi\\"\\n }\\n },\\n \\"Privileged\\": false,\\n \\"EnableCoreDump\\": false,\\n \\"ReadinessInitialDelaySeconds\\": 2,\\n \\"ReadinessPeriodSeconds\\": 3,\\n \\"ReadinessFailureThreshold\\": 5,\\n \\"SMCConfiguration\\": {\\n \\"Enabled\\": true\\n },\\n \\"RuntimeValues\\": {\\n \\"key\\": \\"\\\\\\"65536\\\\\\"\\"\\n },\\n \\"ScaledSidecarResource\\": {\\n \\"ResourceCalculationStrategy\\": \\"\\",\\n \\"ContainerRef\\": \\"\\",\\n \\"ResourcePercentage\\": 0\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeNamespaceScopeSidecarConfigResponse>\\n <RequestId>31d3a0f0-07ed-4f6e-9004-1804498c****</RequestId>\\n <ConfigPatches>\\n <TerminationDrainDuration>6s</TerminationDrainDuration>\\n <SidecarProxyInitResourceLimit>\\n <ResourceCPULimit>2000 m</ResourceCPULimit>\\n <ResourceMemoryLimit>50 Mi</ResourceMemoryLimit>\\n </SidecarProxyInitResourceLimit>\\n <SidecarProxyInitResourceRequest>\\n <ResourceCPURequest>60 m</ResourceCPURequest>\\n <ResourceMemoryRequest>30 Mi</ResourceMemoryRequest>\\n </SidecarProxyInitResourceRequest>\\n <SidecarProxyResourceLimit>\\n <ResourceCPULimit>2000 m</ResourceCPULimit>\\n <ResourceMemoryLimit>50 Mi</ResourceMemoryLimit>\\n </SidecarProxyResourceLimit>\\n <SidecarProxyResourceRequest>\\n <ResourceCPURequest>60 m</ResourceCPURequest>\\n <ResourceMemoryRequest>30 Mi</ResourceMemoryRequest>\\n </SidecarProxyResourceRequest>\\n <ExcludeOutboundPorts>81</ExcludeOutboundPorts>\\n <ExcludeOutboundIPRanges>192.168.1.3/31</ExcludeOutboundIPRanges>\\n <IncludeOutboundIPRanges>192.168.1.4/31</IncludeOutboundIPRanges>\\n <ExcludeInboundPorts>82</ExcludeInboundPorts>\\n <IncludeInboundPorts>83</IncludeInboundPorts>\\n <IncludeOutboundPorts>84</IncludeOutboundPorts>\\n <IstioDNSProxyEnabled>true</IstioDNSProxyEnabled>\\n <LifecycleStr>{\\"postStart\\":{\\"exec\\":{\\"command\\":[\\"pilot-agent\\",\\"wait\\"]}},\\"preStop\\":{\\"exec\\":{\\"command\\":[\\"/bin/sh\\",\\"-c\\",\\"sleep 15\\"]}}}</LifecycleStr>\\n <Concurrency>2</Concurrency>\\n <LogLevel>info</LogLevel>\\n <HoldApplicationUntilProxyStarts>true</HoldApplicationUntilProxyStarts>\\n <ProxyStatsMatcher>\\n <InclusionPrefixes>server</InclusionPrefixes>\\n <InclusionSuffixes>cluster.outbound</InclusionSuffixes>\\n <InclusionRegexps>listener.*.downstream_cx_total</InclusionRegexps>\\n </ProxyStatsMatcher>\\n <Tracing>\\n <Sampling>99.8</Sampling>\\n <MaxPathTagLength>10</MaxPathTagLength>\\n </Tracing>\\n <InterceptionMode>TPROXY</InterceptionMode>\\n </ConfigPatches>\\n</DescribeNamespaceScopeSidecarConfigResponse>","errorExample":""}]', + 'title' => 'DescribeNamespaceScopeSidecarConfig', + ], + 'AddClusterIntoServiceMesh' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '17600', + 'abilityTreeNodes' => [ + 'FEATUREservicemeshBG5ZTX', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Service Mesh (ASM) instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cb8963379255149cb98c8686f274x****', + ], + ], + [ + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the cluster to be added.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ce3c25e247da24f3aab9b7edfae83****', + ], + ], + [ + 'name' => 'IgnoreNamespaceCheck', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to check that the cluster you want to add to the ASM instance belongs to the istio-system namespace. This parameter is often used in scenarios where you migrate traffic from self-managed open source Istio to ASM. Valid values: true and false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'Kubeconfig', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The cluster certificate.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'apiVersion: v1 clusters: - cluster: server: https://47.110.xx.xx:6443 certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURUakNDQWphZ0F3SUJBZ0lVYzBQVy82ejR1aHlxYkRRdnNsV1htSmpJeFdNd0RRWUpLb1pJaHZjTkFRRUwKQlFBd1BqRW5NQThHQTFVRUNoTUlhR0Z1WjNwb2IzVXdGQVlEVlFRS0V3MWhiR2xpWVdKaElHTnNiM1ZrTVJNdwpFUVlEVlFRREV3cHJkV0psY201bGRHVnpNQ0FYRFRJeU1EUXdOekExTVRnd01Gb1lEekl3TlRJd016TXdNRFV4Ck9EQXdXakErTVNjd0R3WURWUVFLRXdob1lXNW5lbWh2ZFRBVUJnTlZCQW9URFdGc2FXSmhZbUVnWTJ4dmRXUXgKRXpBUkJnTlZCQU1UQ210MVltVnlibVYwWlhNd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJE****', + ], + ], + [ + 'name' => 'DiscoveryOnly', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Indicates whether to add the cluster to an ASM instance in only service discovery mode.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'success', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + 'Code' => [ + 'description' => 'The returned status code.'."\n", + 'type' => 'string', + 'example' => '200', + ], + ], + 'description' => '', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\",\\n \\"Code\\": \\"200\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>BD65C0AD-D3C6-48D3-8D93-38D2015C****</RequestId>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', + 'title' => 'AddClusterIntoServiceMesh', + 'summary' => 'Adds a cluster to an ASM instance.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'RemoveClusterFromServiceMesh' => [ + 'methods' => [ + 'post', + 'delete', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Service Mesh (ASM) instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ce3c25e247da24f3aab9b7edfae83****', + ], + ], + [ + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the cluster that you want to delete.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cb8963379255149cb98c8686f274x****', + ], + ], + [ + 'name' => 'ReserveNamespace', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to reserve the istio-system namespace when you delete the cluster. Valid values: true and false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Message' => [ + 'description' => 'The returned message.'."\n", + 'type' => 'string', + 'example' => 'success', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + 'Code' => [ + 'description' => 'The returned status code.'."\n", + 'type' => 'string', + 'example' => '200', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\",\\n \\"Code\\": \\"200\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>BD65C0AD-D3C6-48D3-8D93-38D2015C****</RequestId>\\n<Message>success</Message>\\n<Code>200</Code>","errorExample":""}]', + 'title' => 'RemoveClusterFromServiceMesh', + 'summary' => 'Removes a cluster from a Service Mesh (ASM) instance.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'UpdateASMNamespaceFromGuestCluster' => [ + 'summary' => 'Synchronizes namespaces of a Kubernetes cluster that is added to a Service Mesh (ASM) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREservicemeshBG5ZTX', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cbf9ca9e6d5dc4c87a3ecd0ebf1e*****', + ], + ], + [ + 'name' => 'K8sClusterId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Kubernetes cluster whose namespace information you want to synchronize to ASM. The Kubernetes cluster is added to the ASM instance that is specified by the ServiceMeshId parameter.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c6f6d46583def494ba1f2e2937c8*****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '9DEC6122-ACEC-183D-8451-8E0A1A******', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9DEC6122-ACEC-183D-8451-8E0A1A******\\"\\n}","type":"json"}]', + 'title' => 'UpdateASMNamespaceFromGuestCluster', + ], + 'DescribeServiceMeshClusters' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cb8963379255149cb98c8686f274x****', + ], + ], + [ + 'name' => 'Offset', + 'in' => 'formData', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => 'The position where the query starts.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'Limit', + 'in' => 'formData', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => 'The maximum number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '30', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '31d3a0f0-07ed-4f6e-9004-1804498c****', + ], + 'Clusters' => [ + 'description' => 'The queried clusters.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'SgId' => [ + 'description' => 'The ID of the security group.'."\n", + 'type' => 'string', + 'example' => 'sg-bp197668l6iupljy****', + ], + 'VpcId' => [ + 'description' => 'The ID of the virtual private cloud (VPC).'."\n", + 'type' => 'string', + 'example' => 'vpc-8vbrwmt95b4zf6wf7****', + ], + 'CreationTime' => [ + 'description' => 'The time when the cluster was created.'."\n", + 'type' => 'string', + 'example' => '2020-05-12T15:38:16+08:00', + ], + 'UpdateTime' => [ + 'description' => 'The time when the cluster was last modified.'."\n", + 'type' => 'string', + 'example' => '2020-05-12T15:38:16+08:00', + ], + 'ErrorMessage' => [ + 'description' => 'The error message about the cluster.'."\n", + 'type' => 'string', + 'example' => 'fail', + ], + 'State' => [ + 'description' => 'The state of the cluster. Valid values:'."\n" + ."\n" + .'* `running`: The cluster is running.'."\n" + .'* `starting`: The cluster is starting.'."\n" + .'* `stopping`: The cluster is being stopped.'."\n" + .'* `stopped`: The cluster is stopped.'."\n" + .'* `failed`: The cluster fails to be run.'."\n", + 'type' => 'string', + 'example' => 'running', + ], + 'ServiceMeshId' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'example' => 'cb8963379255149cb98c8686f274x****', + ], + 'RegionId' => [ + 'description' => 'The ID of the region in which the cluster resides.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'ClusterDomain' => [ + 'description' => 'The domain name of the cluster.'."\n", + 'type' => 'string', + 'example' => 'c.com', + ], + 'Version' => [ + 'description' => 'The version number of the cluster.'."\n", + 'type' => 'string', + 'example' => 'v1.16.6-aliyun.1', + ], + 'ClusterType' => [ + 'description' => 'The cluster type.'."\n", + 'type' => 'string', + 'example' => 'Ask', + ], + 'Name' => [ + 'description' => 'The name of the cluster.'."\n", + 'type' => 'string', + 'example' => 'ask1', + ], + 'ClusterId' => [ + 'description' => 'The cluster ID.'."\n", + 'type' => 'string', + 'example' => 'c80f45444b3da447da60a911390c2****', + ], + 'ForbiddenFlag' => [ + 'description' => 'Indicates that the cluster is available or the reason why the cluster cannot be added to the ASM instance. Valid values:'."\n" + ."\n" + .'* `0`: The cluster can be added to the ASM instance.'."\n" + .'* `1`: The cluster cannot be added to the ASM instance because you do not have administrator permissions on the cluster.'."\n" + .'* `2`: The cluster cannot be added to the ASM instance because the cluster and the ASM instance reside in different VPCs between which no private connections are built.'."\n" + .'* `3`: The CIDR block of the cluster conflicts with that of the ASM instance.'."\n" + .'* `4`: The cluster has a namespace that is named istio-system.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '0', + ], + 'ForbiddenInfo' => [ + 'description' => 'The reason why the cluster on the data plane cannot be added to the ASM instance. The value is a JSON string in the following format:'."\n" + ."\n" + .' ['."\n" + .' {'."\n" + .' "cluster": "cdd55bd6e054b4c6ca18ec02614******",'."\n" + .' "object": "Pod",'."\n" + .' "cidr": "172.16.0.0/24"'."\n" + .' },'."\n" + .' {'."\n" + .' "cluster": "cfa37fdf7cb1641e1976f8293ac******",'."\n" + .' "object": "Pod",'."\n" + .' "cidr": "172.16.0.0/24"'."\n" + .' }'."\n" + .' ]'."\n" + ."\n" + .'In the preceding example, the CIDR block `172.16.0.0/24` of the pod in the `cdd55bd6e054b4c6ca18ec02614******` cluster conflicts with the CIDR block `172.16.0.0/24` of the pod in the `cfa37fdf7cb1641e1976f8293ac******` cluster.'."\n" + ."\n" + .'Valid values of the `object` parameter:'."\n" + ."\n" + .'* `Pod`'."\n" + .'* `Service`'."\n" + .'* `VSwitch`'."\n" + .'* `VPC`'."\n" + .'* `VPC CIDR`'."\n", + 'type' => 'string', + 'example' => '[{"cluster":"cdd55bd6e054b4c6ca18ec02614******", "object":"Pod", "cidr":"172.16.0.0/24"},{"cluster":"cfa37fdf7cb1641e1976f8293ac******", "object":"Pod", "cidr":"172.16.0.0/24"}]', + ], + ], + ], + ], + 'NumberOfClusters' => [ + 'description' => 'The total number of ACK clusters in the current Region.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"31d3a0f0-07ed-4f6e-9004-1804498c****\\",\\n \\"Clusters\\": [\\n {\\n \\"SgId\\": \\"sg-bp197668l6iupljy****\\",\\n \\"VpcId\\": \\"vpc-8vbrwmt95b4zf6wf7****\\",\\n \\"CreationTime\\": \\"2020-05-12T15:38:16+08:00\\",\\n \\"UpdateTime\\": \\"2020-05-12T15:38:16+08:00\\",\\n \\"ErrorMessage\\": \\"fail\\",\\n \\"State\\": \\"running\\",\\n \\"ServiceMeshId\\": \\"cb8963379255149cb98c8686f274x****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ClusterDomain\\": \\"c.com\\",\\n \\"Version\\": \\"v1.16.6-aliyun.1\\",\\n \\"ClusterType\\": \\"Ask\\",\\n \\"Name\\": \\"ask1\\",\\n \\"ClusterId\\": \\"c80f45444b3da447da60a911390c2****\\",\\n \\"ForbiddenFlag\\": 0,\\n \\"ForbiddenInfo\\": \\"[{\\\\\\"cluster\\\\\\":\\\\\\"cdd55bd6e054b4c6ca18ec02614******\\\\\\", \\\\\\"object\\\\\\":\\\\\\"Pod\\\\\\", \\\\\\"cidr\\\\\\":\\\\\\"172.16.0.0/24\\\\\\"},{\\\\\\"cluster\\\\\\":\\\\\\"cfa37fdf7cb1641e1976f8293ac******\\\\\\", \\\\\\"object\\\\\\":\\\\\\"Pod\\\\\\", \\\\\\"cidr\\\\\\":\\\\\\"172.16.0.0/24\\\\\\"}]\\"\\n }\\n ],\\n \\"NumberOfClusters\\": 5\\n}","errorExample":""},{"type":"xml","example":"<DescribeServiceMeshClustersResponse>\\n <RequestId>31d3a0f0-07ed-4f6e-9004-1804498c****</RequestId>\\n <Clusters>\\n <SgId>sg-bp197668l6iupljy****</SgId>\\n <VpcId>vpc-8vbrwmt95b4zf6wf7****</VpcId>\\n <CreationTime>2020-05-12T15:38:16+08:00</CreationTime>\\n <UpdateTime>2020-05-12T15:38:16+08:00</UpdateTime>\\n <ErrorMessage>fail</ErrorMessage>\\n <State>running</State>\\n <ServiceMeshId>cb8963379255149cb98c8686f274x****</ServiceMeshId>\\n <RegionId>cn-hangzhou</RegionId>\\n <ClusterDomain>c.com</ClusterDomain>\\n <Version>v1.16.6-aliyun.1</Version>\\n <ClusterType>Ask</ClusterType>\\n <Name>ask1</Name>\\n <ClusterId>c80f45444b3da447da60a911390c2****</ClusterId>\\n <ForbiddenFlag>0</ForbiddenFlag>\\n </Clusters>\\n</DescribeServiceMeshClustersResponse>","errorExample":""}]', + 'title' => 'DescribeServiceMeshClusters', + 'summary' => 'Queries the clusters that can be added to a Service Mesh (ASM) instance.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeClustersInServiceMesh' => [ + 'summary' => 'Queries the information about clusters in a Service Mesh (ASM) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '17608', + 'abilityTreeNodes' => [ + 'FEATUREservicemeshBG5ZTX', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cb8963379255149cb98c8686f274x****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '31d3a0f0-07ed-4f6e-9004-1804498c****', + ], + 'Clusters' => [ + 'description' => 'The list of the clusters in the ASM instance.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the cluster.'."\n", + 'type' => 'object', + 'properties' => [ + 'SgId' => [ + 'description' => 'The ID of the security group.'."\n", + 'type' => 'string', + 'example' => 'sg-bp197668l6iupljy****', + ], + 'VpcId' => [ + 'description' => 'The ID of the virtual private cloud (VPC).'."\n", + 'type' => 'string', + 'example' => 'vpc-2zew0rajjkmxy2369****', + ], + 'CreationTime' => [ + 'description' => 'The time when the cluster was created.'."\n", + 'type' => 'string', + 'example' => '2020-05-12T15:38:16+08:00', + ], + 'UpdateTime' => [ + 'description' => 'The time when the cluster was last modified.'."\n", + 'type' => 'string', + 'example' => '2020-05-12T15:38:16+08:00', + ], + 'ErrorMessage' => [ + 'description' => 'The error message.'."\n", + 'type' => 'string', + 'example' => ',', + ], + 'State' => [ + 'description' => 'The status of the cluster.'."\n", + 'type' => 'string', + 'example' => 'running', + ], + 'AccessLogDashboards' => [ + 'description' => 'The configurations of access log collection.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Url' => [ + 'description' => 'The URL of the dashboard for access logs.'."\n", + 'type' => 'string', + 'example' => 'https://sls.console.aliyun.com/next/project/****/dashboard/mesh-access-log_details_cn', + ], + 'Title' => [ + 'description' => 'The name of the dashboard for access logs.'."\n", + 'type' => 'string', + 'example' => 'mesh-access-log_details_cn', + ], + ], + ], + ], + 'RegionId' => [ + 'description' => 'The ID of the region in which the cluster resides.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'ClusterDomain' => [ + 'description' => 'The domain name of the cluster.'."\n", + 'type' => 'string', + 'example' => 'example.com', + ], + 'Version' => [ + 'description' => 'The version number of the cluster.'."\n", + 'type' => 'string', + 'example' => 'v1.16.6-aliyun.1', + ], + 'ClusterType' => [ + 'description' => 'The type of the cluster.'."\n", + 'type' => 'string', + 'example' => 'Ask', + ], + 'Name' => [ + 'description' => 'The name of the cluster.'."\n", + 'type' => 'string', + 'example' => 'ask1', + ], + 'ClusterId' => [ + 'description' => 'The ID of the cluster.'."\n", + 'type' => 'string', + 'example' => 'c80f45444b3da447da60a911390c2****', + ], + 'LogtailInstalledState' => [ + 'description' => 'Indicates whether the Logtail component is installed in the cluster. Valid values:'."\n" + ."\n" + .'* `logtail_installed`: The Logtail component is installed.'."\n" + ."\n" + .'\\-`logtail_uninstalled`: The Logtail component is not installed.'."\n" + ."\n" + .'* `logtail_state_get_error`: The Logtail component failed to be installed.'."\n", + 'type' => 'string', + 'example' => 'logtail_installed', + ], + 'GuestClusterConfig' => [ + 'type' => 'object', + 'properties' => [ + 'SMC' => [ + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'type' => 'boolean', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"31d3a0f0-07ed-4f6e-9004-1804498c****\\",\\n \\"Clusters\\": [\\n {\\n \\"SgId\\": \\"sg-bp197668l6iupljy****\\",\\n \\"VpcId\\": \\"vpc-2zew0rajjkmxy2369****\\",\\n \\"CreationTime\\": \\"2020-05-12T15:38:16+08:00\\",\\n \\"UpdateTime\\": \\"2020-05-12T15:38:16+08:00\\",\\n \\"ErrorMessage\\": \\",\\",\\n \\"State\\": \\"running\\",\\n \\"AccessLogDashboards\\": [\\n {\\n \\"Url\\": \\"https://sls.console.aliyun.com/next/project/****/dashboard/mesh-access-log_details_cn\\",\\n \\"Title\\": \\"mesh-access-log_details_cn\\"\\n }\\n ],\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ClusterDomain\\": \\"example.com\\",\\n \\"Version\\": \\"v1.16.6-aliyun.1\\",\\n \\"ClusterType\\": \\"Ask\\",\\n \\"Name\\": \\"ask1\\",\\n \\"ClusterId\\": \\"c80f45444b3da447da60a911390c2****\\",\\n \\"LogtailInstalledState\\": \\"logtail_installed\\",\\n \\"GuestClusterConfig\\": {\\n \\"SMC\\": {\\n \\"Enabled\\": true\\n }\\n }\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeClustersInServiceMeshResponse>\\n <RequestId>31d3a0f0-07ed-4f6e-9004-1804498c****</RequestId>\\n <Clusters>\\n <SgId>sg-bp197668l6iupljy****</SgId>\\n <VpcId>vpc-2zew0rajjkmxy2369****</VpcId>\\n <CreationTime>2020-05-12T15:38:16+08:00</CreationTime>\\n <UpdateTime>2020-05-12T15:38:16+08:00</UpdateTime>\\n <ErrorMessage>,</ErrorMessage>\\n <State>running</State>\\n <AccessLogDashboards>\\n <Url>https://sls.console.aliyun.com/next/project/****/dashboard/mesh-access-log_details_cn</Url>\\n <Title>mesh-access-log_details_cn</Title>\\n </AccessLogDashboards>\\n <RegionId>cn-hangzhou</RegionId>\\n <ClusterDomain>example.com</ClusterDomain>\\n <Version>v1.16.6-aliyun.1</Version>\\n <ClusterType>Ask</ClusterType>\\n <Name>ask1</Name>\\n <ClusterId>c80f45444b3da447da60a911390c2****</ClusterId>\\n <LogtailInstalledState>logtail_installed</LogtailInstalledState>\\n </Clusters>\\n</DescribeClustersInServiceMeshResponse>","errorExample":""}]', + 'title' => 'DescribeClustersInServiceMesh', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeGuestClusterPods' => [ + 'summary' => 'Queries a list of the pods in a specified namespace of a Kubernetes cluster that is added to a Service Mesh (ASM) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c78d60f98fa43403ab6e0701b2678****', + ], + ], + [ + 'name' => 'GuestClusterID', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Kubernetes cluster that is added to the ASM instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c49ad2169d5a04f2d89dfc4b6bcu****', + ], + ], + [ + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The namespace.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'default', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EDDC0D86-2FC3-56FB-9213-96EB0A3523F1', + ], + 'PodList' => [ + 'description' => 'The list of the names of the queried pods.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The name of a pod.'."\n", + 'type' => 'string', + 'example' => 'sleep-5axqt-*****', + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'ERR404', + 'errorMessage' => 'Not found', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"EDDC0D86-2FC3-56FB-9213-96EB0A3523F1\\",\\n \\"PodList\\": [\\n \\"sleep-5axqt-*****\\"\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeGuestClusterPodsResponse>\\n <RequestId>EDDC0D86-2FC3-56FB-9213-96EB0A3523F1</RequestId>\\n <PodList>sleep-5axqt-*****</PodList>\\n</DescribeGuestClusterPodsResponse>","errorExample":""}]', + 'title' => 'DescribeGuestClusterPods', + ], + 'DescribeGuestClusterNamespaces' => [ + 'summary' => 'Queries a list of the namespaces of a Kubernetes cluster that is added to a Service Mesh (ASM) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ce134b0727aa2492db69f6c3880e****', + ], + ], + [ + 'name' => 'GuestClusterID', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Kubernetes cluster that is added to the ASM instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c584d805c7bd442b8bac421f9849f****', + ], + ], + [ + 'name' => 'ShowNsLabels', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to return the labels of the namespaces.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '31d3a0f0-07ed-4f6e-9004-1804498c****', + ], + 'NsList' => [ + 'description' => 'The names of the namespaces.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The name of a namespace.'."\n", + 'type' => 'string', + 'example' => 'default', + ], + ], + 'NsLabels' => [ + 'description' => 'The labels of the namespaces. Labels are returned only when `ShowNsLabels` is set to `true`.'."\n", + 'type' => 'object', + 'example' => '{"default":{"istio-injection":"enabled"}}', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'ERR404', + 'errorMessage' => 'Not found', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"31d3a0f0-07ed-4f6e-9004-1804498c****\\",\\n \\"NsList\\": [\\n \\"default\\"\\n ],\\n \\"NsLabels\\": {\\n \\"default\\": {\\n \\"istio-injection\\": \\"enabled\\"\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeGuestClusterNamespacesResponse>\\n <RequestId>31d3a0f0-07ed-4f6e-9004-1804498c****</RequestId>\\n <NsList>default</NsList>\\n <NsLabels>\\n <default>\\n <istio-injection>enabled</istio-injection>\\n <kubernetes.io/metadata.name>default</kubernetes.io/metadata.name>\\n </default>\\n </NsLabels>\\n</DescribeGuestClusterNamespacesResponse>","errorExample":""}]', + 'title' => 'DescribeGuestClusterNamespaces', + ], + 'DescribeReusableSlb' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '17614', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh8LRZ5X', + 'FEATUREservicemeshRMLVVZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'K8sClusterId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the cluster on the data plane. If you specify this parameter, you cannot specify ServiceMeshId. This parameter and ServiceMeshId cannot be left empty at the same time.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'ca2cfe41fefeb489d9b9dba18a7c5****', + ], + ], + [ + 'name' => 'NetworkType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The network type of the SLB instance. Valid values:'."\n" + ."\n" + .'* `intranet`'."\n" + .'* `internet`'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'internet', + ], + ], + [ + 'name' => 'LbType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Load balancer type, value:'."\n" + ."\n" + .'* `clb`: Classic Load Balancer'."\n" + ."\n" + .'* `nlb`: Network Load Balancer'."\n" + ."\n" + .'default is `clb`.', + 'type' => 'string', + 'required' => false, + 'example' => 'clb', + ], + ], + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Service Mesh (ASM) instance. If you specify this parameter, you cannot specify K8sClusterId. This parameter and K8sClusterId cannot be left empty at the same time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cb8963379255149cb98c8686f274x****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'ReusableSlbList' => [ + 'description' => 'The list of SLB instances that can be reused.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'LoadBalancerName' => [ + 'description' => 'The name of the SLB instance.'."\n", + 'type' => 'string', + 'example' => 'ad6044b015ac54484a20c47241175bb3', + ], + 'LoadBalancerId' => [ + 'description' => 'The ID of the SLB instance.'."\n", + 'type' => 'string', + 'example' => 'lb-bp17xygzsxth0bwlz****', + ], + ], + ], + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EDDC0D86-2FC3-56FB-9213-96EB0A3523F1', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ReusableSlbList\\": [\\n {\\n \\"LoadBalancerName\\": \\"ad6044b015ac54484a20c4724117****\\",\\n \\"LoadBalancerId\\": \\"lb-bp17xygzsxth0bwlz****\\"\\n }\\n ],\\n \\"RequestId\\": \\"EDDC0D86-2FC3-56FB-9213-96EB0A3523F1\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeReusableSlbResponse>\\n <ReusableSlbList>\\n <LoadBalancerName>ad6044b015ac54484a20c47241175bb3</LoadBalancerName>\\n <LoadBalancerId>lb-bp17xygzsxth0bwlz****</LoadBalancerId>\\n </ReusableSlbList>\\n <RequestId>EDDC0D86-2FC3-56FB-9213-96EB0A3523F1</RequestId>\\n</DescribeReusableSlbResponse>","errorExample":""}]', + 'title' => 'DescribeReusableSlb', + 'summary' => 'Queries the Server Load Balancer (SLB) instances that can be reused.', + ], + 'GetRegisteredServiceEndpoints' => [ + 'summary' => 'Queries the endpoints of a registered service in an Alibaba Cloud Service Mesh (ASM) instance.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREservicemeshC7BE8V', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the namespace.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + [ + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The IDs of clusters in the ASM instance. Separate multiple cluster IDs with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + [ + 'name' => 'ClusterIds', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the registered service.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c8b054ee8c3914d079b5ce9733328****,c58faedb8a78640d3aeb0372e4c02****', + ], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The type of the registered service. Valid values:'."\n" + ."\n" + .'* `ServiceEntry`: indicates that the service is registered by creating a service entry.'."\n" + .'* `Kubernetes`: indicates that the service is registered on a Kubernetes cluster on the data plane.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'reviews', + ], + ], + [ + 'name' => 'ServiceType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The endpoints of the registered service.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Kubernetes', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ServiceEndpoints' => [ + 'description' => 'The IP address of the registered service.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Address' => [ + 'description' => 'The ID of the cluster on the data plane.'."\n", + 'type' => 'string', + 'example' => '192.168.25.153', + ], + 'ClusterId' => [ + 'description' => 'The details of the endpoints of the registered service.'."\n", + 'type' => 'string', + 'example' => 'c80f45444b3da447da60a911390c2****', + ], + ], + ], + ], + 'EndPointSlice' => [ + 'description' => 'The name of the registered service.'."\n", + 'type' => 'object', + 'properties' => [ + 'ServiceName' => [ + 'description' => 'The name of the namespace.'."\n", + 'type' => 'string', + 'example' => 'reviews', + ], + 'Namespace' => [ + 'description' => 'The location of the registered service. Valid values:'."\n" + ."\n" + .'* `MESH_INTERNAL`: The service is deployed inside the ASM instance.'."\n" + .'* `MESH_EXTERNAL`: The service is deployed outside the ASM instance.'."\n", + 'type' => 'string', + 'example' => 'default', + ], + 'Location' => [ + 'description' => 'The details of the endpoint of the registered service.'."\n", + 'type' => 'string', + 'example' => 'MESH_INTERNAL', + ], + 'EndpointsDetails' => [ + 'description' => 'The name of the pod.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'PodName' => [ + 'description' => 'The IP address of the registered service.'."\n", + 'type' => 'string', + 'example' => 'provider-v1-8c86b6898-h***', + ], + 'Address' => [ + 'description' => 'The port of the registered service.'."\n", + 'type' => 'string', + 'example' => '127.2.**.**', + ], + 'Ports' => [ + 'description' => 'The host name of the registered service.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '9090', + ], + ], + 'Hostname' => [ + 'description' => 'The ID of the region in which the registered service resides.'."\n", + 'type' => 'string', + 'example' => 'www.demo.com', + ], + 'Region' => [ + 'description' => 'Indicates whether sidecar proxies are injected. Valid values:'."\n" + ."\n" + .'* `true`: yes'."\n" + .'* `false`: no'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'SidecarInjected' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + ], + ], + 'RequestId' => [ + 'description' => '', + 'type' => 'string', + 'example' => '31d3a0f0-07ed-4f6e-9004-1804498c****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'ERR500', + 'errorMessage' => 'An internal server error occurred.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ServiceEndpoints\\": [\\n {\\n \\"Address\\": \\"192.168.25.153\\",\\n \\"ClusterId\\": \\"c80f45444b3da447da60a911390c2****\\"\\n }\\n ],\\n \\"EndPointSlice\\": {\\n \\"ServiceName\\": \\"reviews\\",\\n \\"Namespace\\": \\"default\\",\\n \\"Location\\": \\"MESH_INTERNAL\\",\\n \\"EndpointsDetails\\": [\\n {\\n \\"PodName\\": \\"provider-v1-8c86b6898-h***\\",\\n \\"Address\\": \\"127.2.**.**\\",\\n \\"Ports\\": [\\n 9090\\n ],\\n \\"Hostname\\": \\"www.demo.com\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"SidecarInjected\\": false\\n }\\n ]\\n },\\n \\"RequestId\\": \\"31d3a0f0-07ed-4f6e-9004-1804498c****\\"\\n}","errorExample":""},{"type":"xml","example":"<GetRegisteredServiceEndpointsResponse>\\n <ServiceEndpoints>\\n <Address>192.168.25.153</Address>\\n <ClusterId>c80f45444b3da447da60a911390c2****</ClusterId>\\n </ServiceEndpoints>\\n <EndPointSlice>\\n <ServiceName>reviews</ServiceName>\\n <Namespace>default</Namespace>\\n <Location>MESH_INTERNAL</Location>\\n <EndpointsDetails>\\n <PodName>provider-v1-8c86b6898-h***</PodName>\\n <Address>127.2.**.**</Address>\\n <Ports>9090</Ports>\\n <Hostname>www.demo.com</Hostname>\\n <Region>cn-hangzhou</Region>\\n <SidecarInjected>false</SidecarInjected>\\n </EndpointsDetails>\\n </EndPointSlice>\\n <RequestId>31d3a0f0-07ed-4f6e-9004-1804498c****</RequestId>\\n</GetRegisteredServiceEndpointsResponse>","errorExample":""}]', + 'title' => 'GetRegisteredServiceEndpoints', + ], + 'GetRegisteredServiceNamespaces' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the ASM instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cb8963379255149cb98c8686f274x****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Namespaces' => [ + 'description' => 'The names of the queried namespaces.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'default', + ], + ], + 'RequestId' => [ + 'description' => 'The ID of the request.'."\n", + 'type' => 'string', + 'example' => '31d3a0f0-07ed-4f6e-9004-1804498c****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'ERR500', + 'errorMessage' => 'An internal server error occurred.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Namespaces\\": [\\n \\"default\\"\\n ],\\n \\"RequestId\\": \\"31d3a0f0-07ed-4f6e-9004-1804498c****\\"\\n}","errorExample":""},{"type":"xml","example":"<GetRegisteredServiceNamespacesResponse>\\n <Namespaces>default</Namespaces>\\n <RequestId>31d3a0f0-07ed-4f6e-9004-1804498c****</RequestId>\\n</GetRegisteredServiceNamespacesResponse>","errorExample":""}]', + 'title' => 'GetRegisteredServiceNamespaces', + 'summary' => 'Queries the namespaces of a registered service in an Alibaba Cloud Service Mesh (ASM) instance.', + ], + 'CreateASMGateway' => [ + 'summary' => 'Creates a Service Mesh (ASM) gateway.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cb8963379255149cb98c8686f274x****', + ], + ], + [ + 'name' => 'IstioGatewayName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the ASM gateway.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ingressgateway', + ], + ], + [ + 'name' => 'Body', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The YAML content that is used to create the ASM gateway.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"apiVersion":"istio.alibabacloud.com/v1beta1","kind":"IstioGateway","metadata":{"name":"ingressgateway","namespace":"istio-system"},"spec":{"gatewayType":"ingress","clusterIds":["xxxxx"],"ports":[{"name":"http-0","port":80,"targetPort":80,"protocol":"TCP"},{"name":"https-1","port":443,"targetPort":443,"protocol":"TCP"}],"serviceAnnotations":{"service.beta.kubernetes.io/alicloud-loadbalancer-address-type":"internet","service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec":"slb.s1.small"},"replicaCount":2,"resources":{"limits":{"cpu":"2","memory":"4G"},"requests":{"cpu":"200m","memory":"256Mi"}},"serviceType":"LoadBalancer","maxReplicas":2,"minReplicas":2}}', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateASMGatewayResponse>\\n <RequestId>BD65C0AD-D3C6-48D3-8D93-38D2015C****</RequestId>\\n</CreateASMGatewayResponse>","errorExample":""}]', + 'title' => 'CreateASMGateway', + ], + 'CreateIstioGatewayRoutes' => [ + 'summary' => 'Creates a routing rule for a Service Mesh (ASM) gateway.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + [ + 'name' => 'IstioGatewayName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the ASM gateway.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ingressgateway', + ], + ], + [ + 'name' => 'GatewayRoute', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The information about the routing rule to be created for the ASM gateway.'."\n", + 'type' => 'object', + 'properties' => [ + 'RouteName' => [ + 'description' => 'The name of the routing rule.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'reviews-v2-routes', + ], + 'RouteType' => [ + 'description' => 'The type of the traffic to be routed. Valid values: `HTTP`, `TLS`, and `TCP`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'HTTP', + ], + 'MatchRequest' => [ + 'description' => 'The matching rules for traffic routing.'."\n", + 'type' => 'object', + 'properties' => [ + 'URI' => [ + 'description' => 'The matching rule for URIs.'."\n", + 'type' => 'object', + 'properties' => [ + 'MatchingMode' => [ + 'description' => 'The matching mode for the routing rule. Valid values:'."\n" + ."\n" + .'* `exact`: exact match'."\n" + .'* `prefix`: match by prefix'."\n" + .'* `regex`: match by regular expression'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'prefix', + ], + 'MatchingContent' => [ + 'description' => 'The content to be matched.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '/ratings/v2/', + ], + ], + 'required' => false, + ], + 'Headers' => [ + 'description' => 'The request headers to be matched.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The request header to be matched.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The header key to be matched.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'x-request-id', + ], + 'MatchingMode' => [ + 'description' => 'The matching mode for the header value. Valid values:'."\n" + ."\n" + .'* `exact`: exact match'."\n" + .'* `prefix`: match by prefix'."\n" + .'* `regex`: match by regular expression'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'exact', + ], + 'MatchingContent' => [ + 'description' => 'The header value to be matched.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'v1', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'TLSMatchAttributes' => [ + 'description' => 'The matching rule for Transport Layer Security (TLS) traffic.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The matching rule for TLS traffic.'."\n", + 'type' => 'object', + 'properties' => [ + 'TLSPort' => [ + 'description' => 'The TLS port.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '443', + ], + 'SNIHosts' => [ + 'description' => 'The Server Name Indication (SNI) values to be matched.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Wildcards can be used as the prefix of an SNI value. For example, a value of `*.com` matches `foo.example.com` and `example.com`.'."\n" + ."\n" + .'> The SNI values must be a subset of the hostnames of the corresponding virtual hosts.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '*.com', + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'Ports' => [ + 'description' => 'The ports of destination services for Layer 4 weighted routing.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ports of the specified hosts to which the traffic is routed.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '443', + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'RouteDestinations' => [ + 'description' => 'The endpoints of destination services for Layer 4 weighted routing.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoint of destination service for Layer 4 weighted routing.'."\n", + 'type' => 'object', + 'properties' => [ + 'Destination' => [ + 'description' => 'The unique endpoint of the destination service to which the specified requests are sent.'."\n", + 'type' => 'object', + 'properties' => [ + 'Host' => [ + 'description' => 'The name of the service defined in the service registry.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'reviews', + ], + 'Subset' => [ + 'description' => 'The name of the service subset.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'v1', + ], + 'Port' => [ + 'description' => 'The port.'."\n", + 'type' => 'object', + 'properties' => [ + 'Number' => [ + 'description' => 'The port number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'Weight' => [ + 'description' => 'The weight of the service subset.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'HTTPAdvancedOptions' => [ + 'description' => 'The advanced settings for routing HTTP traffic.'."\n", + 'type' => 'object', + 'properties' => [ + 'HTTPRedirect' => [ + 'description' => 'The HTTP redirection rule.'."\n", + 'type' => 'object', + 'properties' => [ + 'Uri' => [ + 'description' => 'The value to be used to overwrite the URL path during redirection.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '/v1/getProductRatings', + ], + 'Authority' => [ + 'description' => 'The value to be used to overwrite the value of the Authority or Host header during redirection.``'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'newratings.default.svc.cluster.local', + ], + 'RedirectCode' => [ + 'description' => 'The HTTP status code to be used to indicate URL redirection. Default value: 301.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '301', + ], + ], + 'required' => false, + ], + 'Delegate' => [ + 'description' => 'The virtual service that defines traffic routing.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The name of the virtual service.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'reviews', + ], + 'Namespace' => [ + 'description' => 'The namespace to which the virtual service belongs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + 'required' => false, + ], + 'Rewrite' => [ + 'description' => 'The configurations for rewriting the virtual service.'."\n", + 'type' => 'object', + 'properties' => [ + 'Uri' => [ + 'description' => 'The value to be used to overwrite the path or prefix of the URI.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '/v1/getProductRatings', + ], + 'Authority' => [ + 'description' => 'The value to be used to overwrite the value of the Authority or Host header.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'newratings.default.svc.cluster.local', + ], + ], + 'required' => false, + ], + 'Timeout' => [ + 'description' => 'The timeout period for requests.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '5s', + ], + 'Retries' => [ + 'description' => 'The configurations of retries for failed requests.'."\n", + 'type' => 'object', + 'properties' => [ + 'Attempts' => [ + 'description' => 'The number of retries that are allowed for a request.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + ], + 'PerTryTimeout' => [ + 'description' => 'The timeout period for each retry. Example: `5s`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '5s', + ], + 'RetryOn' => [ + 'description' => 'The condition for retries. Example: `connect-failure,refused-stream,503`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'connect-failure,refused-stream,503', + ], + 'RetryRemoteLocalities' => [ + 'description' => 'Specifies whether to allow retries to other localities.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'Specifies whether to allow retries to other localities. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'Fault' => [ + 'description' => 'The configurations of fault injection.'."\n", + 'type' => 'object', + 'properties' => [ + 'Delay' => [ + 'description' => 'The duration to delay a request.'."\n", + 'type' => 'object', + 'properties' => [ + 'FixedDelay' => [ + 'description' => 'The fixed duration for request delay.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '5s', + ], + 'Percentage' => [ + 'description' => 'The percentage of requests to which the delay fault is injected.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The percentage of requests to which the delay fault is injected, which is expressed as a decimal.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '0.1', + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'Abort' => [ + 'description' => 'The configurations for aborting requests with specified error codes.'."\n", + 'type' => 'object', + 'properties' => [ + 'HttpStatus' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '400', + ], + 'Percentage' => [ + 'description' => 'The percentage of requests that are aborted with the specified error code.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The percentage of requests that are aborted with the specified error code, which is expressed as a decimal.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '0.1', + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'Mirror' => [ + 'description' => 'The configurations for mirroring HTTP traffic to another destination in addition to forwarding requests to the specified destination.'."\n", + 'type' => 'object', + 'properties' => [ + 'Host' => [ + 'description' => 'The name of the service defined in the service registry.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'reviews.default.svc.cluster.local', + ], + 'Subset' => [ + 'description' => 'The name of the service subset.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'v1', + ], + ], + 'required' => false, + ], + 'MirrorPercentage' => [ + 'description' => 'The percentage of requests that are mirrored to another destination except for the original destination.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The percentage of requests that are mirrored to another destination except for the original destination, which is expressed as a decimal.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '0.2', + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'Namespace' => [ + 'description' => 'The namespace.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + 'Domains' => [ + 'description' => 'The requested domain names.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The domain name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test.asm.aliyun.com', + ], + 'required' => false, + ], + 'RawVSRoute' => [ + 'description' => 'A JSON string. This parameter corresponds to the three routing types in virtual services and provides configuration entries for advanced features. The value of this parameter overwrites the configurations in RouteName, RouteType, MatchRequest, and HTTPAdvancedOptions.'."\n", + 'type' => 'any', + 'required' => false, + 'example' => '{'."\n" + .' "http": {'."\n" + .' "route": ['."\n" + .' {'."\n" + .' "destination": {'."\n" + .' "host": "httpbin"'."\n" + .' }'."\n" + .' }'."\n" + .' ],'."\n" + .' "name": "httpbin",'."\n" + .' "match": ['."\n" + .' {'."\n" + .' "uri": {'."\n" + .' "prefix": "/"'."\n" + .' }'."\n" + .' }'."\n" + .' ],'."\n" + .' "fault": {'."\n" + .' "delay": {'."\n" + .' "fixedDelay": "2s",'."\n" + .' "percentage": {'."\n" + .' "value": 70'."\n" + .' }'."\n" + .' }'."\n" + .' }'."\n" + .' }'."\n" + .'}', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'Priority', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The priority of the routing rule. The value of this parameter is an integer. A smaller value indicates a higher priority.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'Status', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The status of the routing rule. Valid values:'."\n" + ."\n" + .'* `0`: The routing rule is valid.'."\n" + .'* `1`: The routing rule is invalid.'."\n" + .'* `2`: An error occurs during the creation or update of the routing rule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The description of the routing rule.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'demo route', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '31d3a0f0-07ed-4f6e-9004-1804498c****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"31d3a0f0-07ed-4f6e-9004-1804498c****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateIstioGatewayRoutesResponse>\\n <RequestId>31d3a0f0-07ed-4f6e-9004-1804498c****</RequestId>\\n</CreateIstioGatewayRoutesResponse>","errorExample":""}]', + 'title' => 'CreateIstioGatewayRoutes', + ], + 'CreateGatewaySecret' => [ + 'summary' => 'Creates a secret for a Service Mesh (ASM) gateway.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + [ + 'name' => 'IstioGatewayName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the ASM gateway.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ingressgateway', + ], + ], + [ + 'name' => 'SecretName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the secret.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'bookinfo-secret', + ], + ], + [ + 'name' => 'Cert', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The content of the certificate.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '-----BEGIN CERTIFICATE----- MIIC2DCCAcACA-----END CERTIF****-----', + ], + ], + [ + 'name' => 'Key', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The private key of the certificate.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC2ag/Bzcgm****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '31d3a0f0-07ed-4f6e-9004-1804498c****', + ], + 'SecretCreateRecord' => [ + 'description' => 'The record of creating the secret.'."\n", + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'object', + 'properties' => [ + 'State' => [ + 'type' => 'string', + 'description' => 'The result of creating the secret. Valid values:'."\n" + ."\n" + .'* `success`: The secret was created.'."\n" + .'* `fail`: The secret failed to be created.'."\n", + 'example' => 'success', + ], + 'ClusterId' => [ + 'type' => 'string', + 'example' => 'c08ba3fd1e6484b0f8cc1ad8xe10d****', + 'description' => 'The ID of the cluster on the data plane.'."\n", + ], + 'Message' => [ + 'type' => 'string', + 'description' => 'The error message returned when exceptions occur. Otherwise, an empty value is returned.'."\n", + 'example' => 'timeout', + ], + ], + 'description' => 'The information about the creation record.'."\n", + ], + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"31d3a0f0-07ed-4f6e-9004-1804498c****\\",\\n \\"SecretCreateRecord\\": {\\n \\"key\\": {\\n \\"State\\": \\"success\\",\\n \\"ClusterId\\": \\"c08ba3fd1e6484b0f8cc1ad8xe10d****\\",\\n \\"Message\\": \\"timeout\\"\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<CreateGatewaySecretResponse>\\n <RequestId>31d3a0f0-07ed-4f6e-9004-1804498c****</RequestId>\\n <SecretCreateRecord>\\n <key>\\n <State>success</State>\\n <ClusterId>c08ba3fd1e6484b0f8cc1ad8xe10d****</ClusterId>\\n <Message>timeout</Message>\\n </key>\\n </SecretCreateRecord>\\n</CreateGatewaySecretResponse>","errorExample":""}]', + 'title' => 'CreateGatewaySecret', + ], + 'CreateIstioGatewayDomains' => [ + 'summary' => 'Adds domain names for a Service Mesh (ASM) gateway.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + [ + 'name' => 'IstioGatewayName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the ASM gateway.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ingressgateway', + ], + ], + [ + 'name' => 'Hosts', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The one or more domain names that are exposed by the ASM gateway. Separate multiple domain names with commas (,).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com,demo.com', + ], + ], + [ + 'name' => 'Number', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The port that is provided by the ASM gateway.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '443', + ], + ], + [ + 'name' => 'PortName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the port.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'http-demo', + ], + ], + [ + 'name' => 'Protocol', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The type of the protocol. Valid values: `HTTP`, `HTTPS`, `GRPC`, `HTTP2`, `MONGO`, `TCP`, and `TLS`.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'HTTPS', + ], + ], + [ + 'name' => 'Credential', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the secret that contains the Transport Layer Security (TLS) certificate and certificate authority (CA) certificate.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'bookinfo-secret', + ], + ], + [ + 'name' => 'ForceHttps', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to forcibly use TLS to protect connection security.'."\n" + ."\n" + .'* `true`: forcibly uses TLS to protect connection security.'."\n" + .'* `false`: does not forcibly use TLS to protect connection security.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the namespace.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + [ + 'name' => 'Limit', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of ASM gateways to query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '31d3a0f0-07ed-4f6e-9004-1804498c****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"31d3a0f0-07ed-4f6e-9004-1804498c****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateIstioGatewayDomainsResponse>\\n <RequestId>31d3a0f0-07ed-4f6e-9004-1804498c****</RequestId>\\n</CreateIstioGatewayDomainsResponse>","errorExample":""}]', + 'title' => 'CreateIstioGatewayDomains', + ], + 'DeleteGatewayRoute' => [ + 'summary' => 'Deletes a routing rule for a Service Mesh (ASM) gateway.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREservicemeshRMLVVZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + [ + 'name' => 'IstioGatewayName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the ASM gateway.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ingressgateway', + ], + ], + [ + 'name' => 'RouteName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the routing rule.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'http-route', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '31d3a0f0-07ed-4f6e-9004-1804498c****', + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'ERR500', + 'errorMessage' => 'An internal server error occurred.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"31d3a0f0-07ed-4f6e-9004-1804498c****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteGatewayRouteResponse>\\n <RequestId>31d3a0f0-07ed-4f6e-9004-1804498c****</RequestId>\\n</DeleteGatewayRouteResponse>","errorExample":""}]', + 'title' => 'DeleteGatewayRoute', + ], + 'DeleteGatewaySecret' => [ + 'summary' => 'Deletes a secret for a Service Mesh (ASM) gateway.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + [ + 'name' => 'IstioGatewayName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the ASM gateway.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ingressgateway', + ], + ], + [ + 'name' => 'SecretName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the secret.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'bookinfo-secret', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + 'SecretDeleteRecord' => [ + 'description' => 'The records of deleting the secret in all clusters.'."\n", + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'object', + 'properties' => [ + 'State' => [ + 'type' => 'string', + 'example' => 'success', + 'description' => 'The result of deleting the secret. Valid values:'."\n" + ."\n" + .'* `success`: The secret was deleted.'."\n" + .'* `fail`: The secret failed to be deleted.'."\n", + ], + 'ClusterId' => [ + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + 'description' => 'The ID of the cluster.'."\n", + ], + 'Message' => [ + 'type' => 'string', + 'description' => 'The error message returned when exceptions occur. Otherwise, an empty value is returned.'."\n", + 'example' => 'timeout', + ], + ], + 'description' => 'The record of deleting the secret in a cluster.'."\n", + ], + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\",\\n \\"SecretDeleteRecord\\": {\\n \\"key\\": {\\n \\"State\\": \\"success\\",\\n \\"ClusterId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\",\\n \\"Message\\": \\"timeout\\"\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<DeleteGatewaySecretResponse>\\n <RequestId>BD65C0AD-D3C6-48D3-8D93-38D2015C****</RequestId>\\n <SecretDeleteRecord>\\n <key>\\n <State>success</State>\\n <ClusterId>BD65C0AD-D3C6-48D3-8D93-38D2015C****</ClusterId>\\n <Message>timeout</Message>\\n </key>\\n </SecretDeleteRecord>\\n</DeleteGatewaySecretResponse>","errorExample":""}]', + 'title' => 'DeleteGatewaySecret', + ], + 'DeleteIstioGatewayDomains' => [ + 'summary' => 'Deletes one or more domain names for a Service Mesh (ASM) gateway.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + [ + 'name' => 'IstioGatewayName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the ASM gateway.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ingressgateway', + ], + ], + [ + 'name' => 'Hosts', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The domain names of the one or more hosts that are exposed by the ASM gateway. Separate multiple domain names with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com,demo.com', + ], + ], + [ + 'name' => 'PortName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The port name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'https', + ], + ], + [ + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the namespace.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + [ + 'name' => 'Limit', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of Istio gateways to query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '31d3a0f0-07ed-4f6e-9004-1804498c****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"31d3a0f0-07ed-4f6e-9004-1804498c****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteIstioGatewayDomainsResponse>\\n <RequestId>31d3a0f0-07ed-4f6e-9004-1804498c****</RequestId>\\n</DeleteIstioGatewayDomainsResponse>","errorExample":""}]', + 'title' => 'DeleteIstioGatewayDomains', + ], + 'UpdateASMGateway' => [ + 'summary' => 'Updates a Service Mesh (ASM) gateway.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cb8963379255149cb98c8686f274x****', + ], + ], + [ + 'name' => 'IstioGatewayName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the ASM gateway.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ingressgateway', + ], + ], + [ + 'name' => 'Body', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The new YAML content of the ASM gateway.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"apiVersion":"istio.alibabacloud.com/v1beta1","kind":"IstioGateway","metadata":{"name":"ingressgateway","namespace":"istio-system"},"spec":{"gatewayType":"ingress","clusterIds":["xxxxx"],"ports":[{"name":"http-0","port":80,"targetPort":80,"protocol":"TCP"},{"name":"https-1","port":443,"targetPort":443,"protocol":"TCP"}],"serviceAnnotations":{"service.beta.kubernetes.io/alicloud-loadbalancer-address-type":"internet","service.beta.kubernetes.io/alibaba-cloud-loadbalancer-spec":"slb.s1.small"},"replicaCount":2,"resources":{"limits":{"cpu":"2","memory":"4G"},"requests":{"cpu":"200m","memory":"256Mi"}},"serviceType":"LoadBalancer","maxReplicas":2,"minReplicas":2}}', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateASMGatewayResponse>\\n <RequestId>BD65C0AD-D3C6-48D3-8D93-38D2015C****</RequestId>\\n</UpdateASMGatewayResponse>","errorExample":""}]', + 'title' => 'UpdateASMGateway', + ], + 'UpdateASMGatewayImportedServices' => [ + 'summary' => 'Updates imported services on a Service Mesh (ASM) gateway to import or delete upstream services associated with the gateway.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + [ + 'name' => 'ServiceNames', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The names of the services. Separate multiple service names with commas (,). Example: reviews,sleep.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'reviews,sleep', + ], + ], + [ + 'name' => 'ASMGatewayName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the ASM gateway.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ingressgateway', + ], + ], + [ + 'name' => 'ServiceNamespace', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The namespace in which the service resides.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '11fd0027-c27e-41bb-a565-75583054****', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"11fd0027-c27e-41bb-a565-75583054****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateASMGatewayImportedServicesResponse>\\n <RequestId>11fd0027-c27e-41bb-a565-75583054****</RequestId>\\n</UpdateASMGatewayImportedServicesResponse>","errorExample":""}]', + 'title' => 'UpdateASMGatewayImportedServices', + ], + 'UpdateIstioGatewayRoutes' => [ + 'summary' => 'Updates a routing rule for a Service Mesh (ASM) gateway.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + [ + 'name' => 'IstioGatewayName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the ASM gateway.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ingressgateway', + ], + ], + [ + 'name' => 'GatewayRoute', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The information about the routing rule to be updated for the ASM gateway.'."\n", + 'type' => 'object', + 'properties' => [ + 'RouteName' => [ + 'description' => 'The name of the routing rule.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'reviews-v2-routes', + ], + 'RouteType' => [ + 'description' => 'The type of the traffic to be routed. Valid values: `HTTP`, `TLS`, and `TCP`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'HTTP', + ], + 'MatchRequest' => [ + 'description' => 'The matching rules for traffic routing.'."\n", + 'type' => 'object', + 'properties' => [ + 'URI' => [ + 'description' => 'The matching rule for URIs.'."\n", + 'type' => 'object', + 'properties' => [ + 'MatchingMode' => [ + 'description' => 'The matching mode for the routing rule. Valid values:'."\n" + ."\n" + .'* `exact`: exact match'."\n" + .'* `prefix`: match by prefix'."\n" + .'* `regex`: match by regular expression'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'prefix', + ], + 'MatchingContent' => [ + 'description' => 'The content to be matched.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '/ratings/v2/', + ], + ], + 'required' => false, + ], + 'Headers' => [ + 'description' => 'The request headers to be matched.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The request header to be matched.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The header key to be matched.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'x-request-id', + ], + 'MatchingMode' => [ + 'description' => 'The matching mode for the header value. Valid values:'."\n" + ."\n" + .'* `exact`: exact match'."\n" + .'* `prefix`: match by prefix'."\n" + .'* `regex`: match by regular expression'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'exact', + ], + 'MatchingContent' => [ + 'description' => 'The header value to be matched.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'v1', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'TLSMatchAttributes' => [ + 'description' => 'The matching rule for Transport Layer Security (TLS) traffic.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The matching rule for TLS traffic.'."\n", + 'type' => 'object', + 'properties' => [ + 'TLSPort' => [ + 'description' => 'The TLS port.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '443', + ], + 'SNIHosts' => [ + 'description' => 'The Server Name Indication (SNI) values to be matched.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Wildcards can be used as the prefix of an SNI value. For example, the value `*.com` matches `foo.example.com` and `example.com`.'."\n" + ."\n" + .'> The SNI values must be a subset of the hostnames of the corresponding virtual hosts.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '*.com', + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'Ports' => [ + 'description' => 'The ports.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ports of the specified hosts from which the traffic is routed.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '443', + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'RouteDestinations' => [ + 'description' => 'The endpoints of destination services for Layer 4 weighted routing.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoint of the destination service for Layer 4 weighted routing.'."\n", + 'type' => 'object', + 'properties' => [ + 'Destination' => [ + 'description' => 'The unique endpoint of the destination service to which the specified requests are sent.'."\n", + 'type' => 'object', + 'properties' => [ + 'Host' => [ + 'description' => 'The name of the service defined in the service registry.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'reviews', + ], + 'Subset' => [ + 'description' => 'The name of the service subset.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'v1', + ], + 'Port' => [ + 'description' => 'The port of the destination service.'."\n" + ."\n" + .'> If the destination service of the route has only one port, this field can be left empty. If the destination service has multiple ports, you must specify the port number.'."\n", + 'type' => 'object', + 'properties' => [ + 'Number' => [ + 'description' => 'The port number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'Weight' => [ + 'description' => 'The weight of the service subset.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'HTTPAdvancedOptions' => [ + 'description' => 'The advanced settings for routing HTTP traffic.'."\n", + 'type' => 'object', + 'properties' => [ + 'HTTPRedirect' => [ + 'description' => 'The HTTP redirection rule.'."\n", + 'type' => 'object', + 'properties' => [ + 'Uri' => [ + 'description' => 'The value to be used to overwrite the URL path during redirection.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '/v1/getProductRatings', + ], + 'Authority' => [ + 'description' => 'The value to be used to overwrite the value of the Authority or Host header during redirection.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'newratings.default.svc.cluster.local', + ], + 'RedirectCode' => [ + 'description' => 'The HTTP status code to be used to indicate URL redirection. Default value: 301.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '301', + ], + ], + 'required' => false, + ], + 'Delegate' => [ + 'description' => 'The virtual service that defines traffic routing.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The name of the virtual service.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'reviews', + ], + 'Namespace' => [ + 'description' => 'The namespace to which the virtual service belongs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + 'required' => false, + ], + 'Rewrite' => [ + 'description' => 'The configurations for rewriting the virtual service.'."\n", + 'type' => 'object', + 'properties' => [ + 'Uri' => [ + 'description' => 'The value to be used to overwrite the path or prefix of the URI.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '/v1/getProductRatings', + ], + 'Authority' => [ + 'description' => 'The value to be used to overwrite the value of the Authority or Host header.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'newratings.default.svc.cluster.local', + ], + ], + 'required' => false, + ], + 'Timeout' => [ + 'description' => 'The timeout period for requests.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '5s', + ], + 'Retries' => [ + 'description' => 'The configurations of retries for failed requests.'."\n", + 'type' => 'object', + 'properties' => [ + 'Attempts' => [ + 'description' => 'The number of retries that are allowed for a request.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + ], + 'RetryOn' => [ + 'description' => 'The condition for retries. Example: `connect-failure,refused-stream,503`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'connect-failure,refused-stream,503', + ], + 'RetryRemoteLocalities' => [ + 'description' => 'Specifies whether to allow retries to other localities.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'Specifies whether to allow retries to other localities. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + 'required' => false, + ], + 'PerTryTimeout' => [ + 'description' => 'The timeout period for each retry.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2s', + ], + ], + 'required' => false, + ], + 'Fault' => [ + 'description' => 'The configurations of fault injection.'."\n", + 'type' => 'object', + 'properties' => [ + 'Delay' => [ + 'description' => 'The duration to delay a request.'."\n", + 'type' => 'object', + 'properties' => [ + 'FixedDelay' => [ + 'description' => 'The fixed duration for request delay.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '5s', + ], + 'Percentage' => [ + 'description' => 'The percentage of requests to which the delay fault is injected.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The percentage of requests to which the delay fault is injected, which is expressed as a decimal.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '0.1', + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'Abort' => [ + 'description' => 'The configurations for aborting requests with specified error codes.'."\n", + 'type' => 'object', + 'properties' => [ + 'HttpStatus' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '400', + ], + 'Percentage' => [ + 'description' => 'The percentage of requests that are aborted with the specified error code.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The percentage of requests that are aborted with the specified error code, which is expressed as a decimal.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '0.1', + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'Mirror' => [ + 'description' => 'The configurations for mirroring HTTP traffic to another destination in addition to forwarding requests to the specified destination.'."\n", + 'type' => 'object', + 'properties' => [ + 'Host' => [ + 'description' => 'The name of the service defined in the service registry.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'reviews.default.svc.cluster.local', + ], + 'Subset' => [ + 'description' => 'The name of the service subset.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'v1', + ], + ], + 'required' => false, + ], + 'MirrorPercentage' => [ + 'description' => 'The percentage of requests that are mirrored to another destination except for the original destination.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The percentage of requests that are mirrored to another destination except for the original destination, which is expressed as a decimal.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '0.2', + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'Namespace' => [ + 'description' => 'The namespace.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + 'Domains' => [ + 'description' => 'The list of requested domain names.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'A domain name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test.asm.aliyun.com', + ], + 'required' => false, + ], + 'RawVSRoute' => [ + 'description' => 'The original YAML file of the virtual service that is serialized in a JSON string.'."\n", + 'type' => 'any', + 'required' => false, + 'example' => '{}', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'Priority', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The priority of the routing rule. The value of this parameter is an integer. A smaller value indicates a higher priority.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'Status', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The status of the routing rule. Valid values:'."\n" + ."\n" + .'* `0`: The routing rule is valid.'."\n" + .'* `1`: The routing rule is invalid.'."\n" + .'* `2`: An error occurs during the creation or update of the routing rule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The description of the routing rule.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'demo route', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '31d3a0f0-07ed-4f6e-9004-1804498c****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"31d3a0f0-07ed-4f6e-9004-1804498c****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateIstioGatewayRoutesResponse>\\n <RequestId>31d3a0f0-07ed-4f6e-9004-1804498c****</RequestId>\\n</UpdateIstioGatewayRoutesResponse>","errorExample":""}]', + 'title' => 'UpdateIstioGatewayRoutes', + ], + 'UpdateIstioRouteAdditionalStatus' => [ + 'summary' => 'Updates the information about a routing rule for a Service Mesh (ASM) gateway.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREservicemeshRMLVVZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + [ + 'name' => 'IstioGatewayName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the ASM gateway.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ingressgateway', + ], + ], + [ + 'name' => 'RouteName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the routing rule.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'http-test', + ], + ], + [ + 'name' => 'Priority', + 'in' => 'query', + 'schema' => [ + 'description' => 'The priority of the routing rule. The value of this parameter is an integer. A smaller value indicates a higher priority.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => 'The status of the routing rule. Valid values: 0: The routing rule is valid. 1: The routing rule is invalid. 2: An error occurs during the creation or update of the routing rule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'The description of the routing rule.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'demo route', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'ERR500', + 'errorMessage' => 'An internal server error occurred.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateIstioRouteAdditionalStatusResponse>\\n <RequestId>BD65C0AD-D3C6-48D3-8D93-38D2015C****</RequestId>\\n</UpdateIstioRouteAdditionalStatusResponse>","errorExample":""}]', + 'title' => 'UpdateIstioRouteAdditionalStatus', + ], + 'DescribeImportedServicesDetail' => [ + 'summary' => 'Queries the details of the imported services on a Service Mesh (ASM) gateway.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cb8963379255149cb98c8686f274x****', + ], + ], + [ + 'name' => 'ASMGatewayName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the ASM gateway.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ingressgateway', + ], + ], + [ + 'name' => 'ServiceNamespace', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The namespace in which the services reside.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'E0496204-7586-5B4C-B364-2361CC0EDxxxx', + ], + 'Details' => [ + 'description' => 'The details of the services.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ServiceName' => [ + 'description' => 'The name of a service.'."\n", + 'type' => 'string', + 'example' => 'productpage', + ], + 'Namespace' => [ + 'description' => 'The namespace in which the service resides.'."\n", + 'type' => 'string', + 'example' => 'default', + ], + 'Labels' => [ + 'description' => 'The labels of the service.'."\n", + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'string', + 'description' => 'The label of the service.'."\n", + 'example' => 'app: productpage', + ], + ], + 'ClusterIds' => [ + 'description' => 'The clusters on the data plane.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IDs of the clusters to which the service belongs.'."\n", + 'type' => 'string', + 'example' => 'c7894c929677643a5bfe1a732d778****', + ], + ], + 'ServiceType' => [ + 'description' => 'The type of the service.'."\n", + 'type' => 'string', + 'example' => 'Kubernetes', + ], + 'Ports' => [ + 'description' => 'The ports declared for the service.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The name of a port.'."\n", + 'type' => 'string', + 'example' => 'http-0', + ], + 'Protocol' => [ + 'description' => 'The protocol of the port.'."\n", + 'type' => 'string', + 'example' => 'tcp', + ], + 'Port' => [ + 'description' => 'The port number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'TargetPort' => [ + 'description' => 'The container port.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8080', + ], + 'NodePort' => [ + 'description' => 'The node port.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '12345', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"E0496204-7586-5B4C-B364-2361CC0EDxxxx\\",\\n \\"Details\\": [\\n {\\n \\"ServiceName\\": \\"productpage\\",\\n \\"Namespace\\": \\"default\\",\\n \\"Labels\\": {\\n \\"key\\": \\"app: productpage\\"\\n },\\n \\"ClusterIds\\": [\\n \\"c7894c929677643a5bfe1a732d778****\\"\\n ],\\n \\"ServiceType\\": \\"Kubernetes\\",\\n \\"Ports\\": [\\n {\\n \\"Name\\": \\"http-0\\",\\n \\"Protocol\\": \\"tcp\\",\\n \\"Port\\": 80,\\n \\"TargetPort\\": 8080,\\n \\"NodePort\\": 12345\\n }\\n ]\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeImportedServicesDetailResponse>\\n <RequestId>E0496204-7586-5B4C-B364-2361CC0EDxxxx</RequestId>\\n <Details>\\n <ServiceName>productpage</ServiceName>\\n <Namespace>default</Namespace>\\n <Labels>\\n <key>app: productpage</key>\\n </Labels>\\n <ClusterIds>c7894c929677643a5bfe1a732d778****</ClusterIds>\\n <ServiceType>Kuberntes</ServiceType>\\n <Ports>\\n <Name>http-0</Name>\\n <Protocol>tcp</Protocol>\\n <Port>80</Port>\\n <TargetPort>8080</TargetPort>\\n <NodePort>12345</NodePort>\\n </Ports>\\n </Details>\\n</DescribeImportedServicesDetailResponse>","errorExample":""}]', + 'title' => 'DescribeImportedServicesDetail', + ], + 'DescribeASMGatewayImportedServices' => [ + 'summary' => 'Queries the information about imported services on a Service Mesh (ASM) gateway.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + [ + 'name' => 'ASMGatewayName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the ASM gateway.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ingressgateway', + ], + ], + [ + 'name' => 'ServiceNamespace', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The namespace in which the services reside.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '11fd0027-c27e-41bb-a565-75583054****', + ], + 'ImportedServices' => [ + 'description' => 'The list of the imported services.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ServiceName' => [ + 'description' => 'The name of a service.'."\n", + 'type' => 'string', + 'example' => 'productpage', + ], + 'ServiceNamespace' => [ + 'description' => 'The namespace in which the service resides.'."\n", + 'type' => 'string', + 'example' => 'default', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"11fd0027-c27e-41bb-a565-75583054****\\",\\n \\"ImportedServices\\": [\\n {\\n \\"ServiceName\\": \\"productpage\\",\\n \\"ServiceNamespace\\": \\"default\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeASMGatewayImportedServicesResponse>\\n <RequestId>E0496204-7586-5B4C-B364-2361CC0Exxxx</RequestId>\\n <ImportedServices>\\n <ServiceName>productpage</ServiceName>\\n <ServiceNamespace>default</ServiceNamespace>\\n </ImportedServices>\\n</DescribeASMGatewayImportedServicesResponse>","errorExample":""}]', + 'title' => 'DescribeASMGatewayImportedServices', + ], + 'DescribeIstioGatewayRouteDetail' => [ + 'summary' => 'Queries the detailed information about a routing rule of an Alibaba Cloud Service Mesh (ASM) gateway.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + [ + 'name' => 'IstioGatewayName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the ASM gateway.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ingressgateway', + ], + ], + [ + 'name' => 'RouteName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the routing rule.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'demo-route', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RouteDetail' => [ + 'description' => 'The detailed information about the routing rule.'."\n", + 'type' => 'object', + 'properties' => [ + 'RouteName' => [ + 'description' => 'The name of the routing rule.'."\n", + 'type' => 'string', + 'example' => 'demo-route', + ], + 'RouteType' => [ + 'description' => 'The type of the traffic to be routed. Valid values: `HTTP`, `TLS`, and `TCP`.'."\n", + 'type' => 'string', + 'example' => 'HTTP', + ], + 'MatchRequest' => [ + 'description' => 'The matching rules for traffic routing.'."\n", + 'type' => 'object', + 'properties' => [ + 'URI' => [ + 'description' => 'The matching rule for URIs.'."\n", + 'type' => 'object', + 'properties' => [ + 'MatchingMode' => [ + 'description' => 'The matching mode. Valid values:'."\n" + ."\n" + .'* `exact`: exact match'."\n" + .'* `prefix`: match by prefix'."\n" + .'* `regex`: match by regular expression'."\n", + 'type' => 'string', + 'example' => 'prefix', + ], + 'MatchingContent' => [ + 'description' => 'The content to be matched.'."\n", + 'type' => 'string', + 'example' => '/ratings/v2/', + ], + ], + ], + 'Headers' => [ + 'description' => 'The request headers to be matched.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The request header to be matched.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The header key to be matched.'."\n", + 'type' => 'string', + 'example' => 'x-request-id', + ], + 'MatchingMode' => [ + 'description' => 'The matching mode for the header value. Valid values:'."\n" + ."\n" + .'* `exact`: exact match'."\n" + .'* `prefix`: match by prefix'."\n" + .'* `regex`: match by regular expression'."\n", + 'type' => 'string', + 'example' => 'exact', + ], + 'MatchingContent' => [ + 'description' => 'The header value to be matched.'."\n", + 'type' => 'string', + 'example' => 'v1', + ], + ], + ], + ], + 'TLSMatchAttributes' => [ + 'description' => 'The matching rules for Transport Layer Security (TLS) traffic.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The matching rule for TLS traffic.'."\n", + 'type' => 'object', + 'properties' => [ + 'TLSPort' => [ + 'description' => 'The TLS port.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '443', + ], + 'SNIHosts' => [ + 'description' => 'The Server Name Indication (SNI) values to be matched.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Wildcards can be used as the prefix of an SNI value. For example, the value `*.com` matches `foo.example.com` and `example.com`.'."\n" + ."\n" + .'> The SNI values must be a subset of the hostnames of the corresponding virtual hosts.'."\n", + 'type' => 'string', + 'example' => '*.com', + ], + ], + ], + ], + ], + 'Ports' => [ + 'description' => 'The ports.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ports of the specified hosts to which the traffic is routed.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '443', + ], + ], + ], + ], + 'HTTPAdvancedOptions' => [ + 'description' => 'The advanced settings for routing HTTP traffic.'."\n", + 'type' => 'object', + 'properties' => [ + 'HTTPRedirect' => [ + 'description' => 'The HTTP redirection rule.'."\n", + 'type' => 'object', + 'properties' => [ + 'Uri' => [ + 'description' => 'The value to be used to overwrite the URL path during redirection.'."\n", + 'type' => 'string', + 'example' => '/v1/getProductRatings', + ], + 'Authority' => [ + 'description' => 'The value to be used to overwrite the value of the Authority or Host header during redirection.'."\n", + 'type' => 'string', + 'example' => 'newratings.default.svc.cluster.local', + ], + 'RedirectCode' => [ + 'description' => 'The HTTP status code to be used to indicate URL redirection. Default value: 301.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '301', + ], + ], + ], + 'Delegate' => [ + 'description' => 'The virtual service that defines traffic routing.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The name of the virtual service.'."\n", + 'type' => 'string', + 'example' => 'reviews', + ], + 'Namespace' => [ + 'description' => 'The namespace to which the virtual service belongs.'."\n", + 'type' => 'string', + 'example' => 'default', + ], + ], + ], + 'Rewrite' => [ + 'description' => 'The configurations for rewriting the virtual service.'."\n", + 'type' => 'object', + 'properties' => [ + 'Uri' => [ + 'description' => 'The value to be used to overwrite the path or prefix of the URI.'."\n", + 'type' => 'string', + 'example' => '/v1/getProductRatings', + ], + 'Authority' => [ + 'description' => 'The value to be used to overwrite the value of the Authority or Host header.'."\n", + 'type' => 'string', + 'example' => 'newratings.default.svc.cluster.local', + ], + ], + ], + 'Timeout' => [ + 'description' => 'The timeout period for requests.'."\n", + 'type' => 'string', + 'example' => '5s', + ], + 'Retries' => [ + 'description' => 'The configurations of retries for failed requests.'."\n", + 'type' => 'object', + 'properties' => [ + 'Attempts' => [ + 'description' => 'The number of retries that are allowed for a request.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + ], + 'PerTryTimeout' => [ + 'description' => 'The timeout period for each retry.'."\n", + 'type' => 'string', + 'example' => '2s', + ], + 'RetryOn' => [ + 'description' => 'The condition for retries. Example: `connect-failure,refused-stream,503`.'."\n", + 'type' => 'string', + 'example' => 'connect-failure,refused-stream,503', + ], + 'RetryRemoteLocalities' => [ + 'description' => 'Specifies whether to allow retries to other localities.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'Specifies whether to allow retries to other localities. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n" + ."\n" + .'Default value: `false`.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + ], + ], + 'Fault' => [ + 'description' => 'The configurations of fault injection.'."\n", + 'type' => 'object', + 'properties' => [ + 'Delay' => [ + 'description' => 'The duration to delay a request.'."\n", + 'type' => 'object', + 'properties' => [ + 'FixedDelay' => [ + 'description' => 'The fixed duration for request delay.'."\n", + 'type' => 'string', + 'example' => '5s', + ], + 'ExponentialDelay' => [ + 'description' => 'The duration for request delay is expressed as 2 raised to the power of x. You must specify the value of x.'."\n", + 'type' => 'string', + 'example' => '3', + ], + 'Percentage' => [ + 'description' => 'The percentage of requests to which the delay fault is injected.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The percentage of requests that are aborted with the specified error code, which is expressed as a decimal.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '0.1', + ], + ], + ], + ], + ], + 'Abort' => [ + 'description' => 'The configurations for aborting requests with specified error codes.'."\n", + 'type' => 'object', + 'properties' => [ + 'HttpStatus' => [ + 'description' => 'The HTTP status code.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '400', + ], + 'Percentage' => [ + 'description' => 'The percentage of requests that are aborted with the specified error code.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The percentage of requests that are mirrored to another destination except for the original destination, which is expressed as a decimal.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '0.1', + ], + ], + ], + ], + ], + ], + ], + 'Mirror' => [ + 'description' => 'The configurations for mirroring HTTP traffic to another destination in addition to forwarding requests to the specified destination.'."\n", + 'type' => 'object', + 'properties' => [ + 'Host' => [ + 'description' => 'The name of the service defined in the service registry.'."\n", + 'type' => 'string', + 'example' => 'reviews.default.svc.cluster.local', + ], + 'Subset' => [ + 'description' => 'The name of the service subset.'."\n", + 'type' => 'string', + 'example' => 'v1', + ], + ], + ], + 'MirrorPercentage' => [ + 'description' => 'The percentage of requests that are aborted with the specified error code.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The percentage of requests that are aborted with the specified error code, which is expressed as a decimal.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '0.2', + ], + ], + ], + ], + ], + 'RouteDestinations' => [ + 'description' => 'The endpoints of destination services for Layer 4 weighted routing.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The endpoint of the destination service for Layer 4 weighted routing.'."\n", + 'type' => 'object', + 'properties' => [ + 'Destination' => [ + 'description' => 'The unique endpoint of the destination service to which the specified requests are sent.'."\n", + 'type' => 'object', + 'properties' => [ + 'Host' => [ + 'description' => 'The name of the service defined in the service registry.'."\n", + 'type' => 'string', + 'example' => 'reviews', + ], + 'Subset' => [ + 'description' => 'The name of the service subset.'."\n", + 'type' => 'string', + 'example' => 'v1', + ], + 'Port' => [ + 'description' => 'The ports of the specified hosts from which the traffic is routed.'."\n", + 'type' => 'object', + 'properties' => [ + 'Number' => [ + 'description' => 'The ports of the specified hosts to which the traffic is routed.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '443', + ], + ], + ], + ], + ], + 'Weight' => [ + 'description' => 'The traffic weight. Valid values: 1 to 100.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'Headers' => [ + 'description' => 'The list of the request headers to be matched.'."\n", + 'type' => 'object', + 'properties' => [ + 'Request' => [ + 'description' => 'The request header to be matched.'."\n", + 'type' => 'object', + 'properties' => [ + 'Set' => [ + 'description' => 'The header key to be used to overwrite the original header key.'."\n", + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'string', + 'description' => 'The header key that you specify.'."\n", + 'example' => 'key', + ], + ], + 'Add' => [ + 'description' => 'The values to be added to the header key.'."\n", + 'type' => 'object', + 'example' => 'key', + ], + 'Remove' => [ + 'description' => 'The header value to be deleted.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The key to be deleted.'."\n", + 'type' => 'string', + 'example' => 'key', + ], + ], + ], + ], + 'Response' => [ + 'description' => 'The processing of the headers of the response that is to be returned.'."\n", + 'type' => 'object', + 'properties' => [ + 'Set' => [ + 'description' => 'The header key to be used to overwrite the original header key.'."\n", + 'type' => 'object', + 'example' => 'key', + ], + 'Add' => [ + 'description' => 'The values to be added to the header key.'."\n", + 'type' => 'object', + 'example' => 'key', + ], + 'Remove' => [ + 'description' => 'The header value to be deleted.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The key to be deleted.'."\n", + 'type' => 'string', + 'example' => 'key', + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'Domains' => [ + 'description' => 'Domain list.', + 'type' => 'array', + 'items' => [ + 'description' => 'One Domain.', + 'type' => 'string', + 'example' => 'test.asm.aliyun.com', + ], + ], + 'RawVSRoute' => [ + 'description' => 'The original YAML file of the virtual service that is serialized into a JSON string.'."\n", + 'type' => 'string', + 'example' => '{}', + ], + 'HasUnsafeFeatures' => [ + 'description' => 'If the value is true, the original YAML file contains features that are not supported on the current interface.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + ], + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '31d3a0f0-07ed-4f6e-9004-1804498c****', + ], + 'Priority' => [ + 'description' => 'The priority of the routing rule. The value of this parameter is an integer. A smaller value indicates a higher priority.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Status' => [ + 'description' => 'The status of the routing rule. Valid values:'."\n" + ."\n" + .'* `0`: The routing rule is valid.'."\n" + .'* `1`: The routing rule is invalid.'."\n" + .'* `2`: An error occurs during the creation or update of the routing rule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Description' => [ + 'description' => 'The description of the routing rule.'."\n", + 'type' => 'string', + 'example' => 'demo route', + ], + 'Namespace' => [ + 'description' => 'The namespace.'."\n", + 'type' => 'string', + 'example' => 'default', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'ERR500', + 'errorMessage' => 'An internal server error occurred.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RouteDetail\\": {\\n \\"RouteName\\": \\"demo-route\\",\\n \\"RouteType\\": \\"HTTP\\",\\n \\"MatchRequest\\": {\\n \\"URI\\": {\\n \\"MatchingMode\\": \\"prefix\\",\\n \\"MatchingContent\\": \\"/ratings/v2/\\"\\n },\\n \\"Headers\\": [\\n {\\n \\"Name\\": \\"x-request-id\\",\\n \\"MatchingMode\\": \\"exact\\",\\n \\"MatchingContent\\": \\"v1\\"\\n }\\n ],\\n \\"TLSMatchAttributes\\": [\\n {\\n \\"TLSPort\\": 443,\\n \\"SNIHosts\\": [\\n \\"*.com\\"\\n ]\\n }\\n ],\\n \\"Ports\\": [\\n 443\\n ]\\n },\\n \\"HTTPAdvancedOptions\\": {\\n \\"HTTPRedirect\\": {\\n \\"Uri\\": \\"/v1/getProductRatings\\",\\n \\"Authority\\": \\"newratings.default.svc.cluster.local\\",\\n \\"RedirectCode\\": 301\\n },\\n \\"Delegate\\": {\\n \\"Name\\": \\"reviews\\",\\n \\"Namespace\\": \\"default\\"\\n },\\n \\"Rewrite\\": {\\n \\"Uri\\": \\"/v1/getProductRatings\\",\\n \\"Authority\\": \\"newratings.default.svc.cluster.local\\"\\n },\\n \\"Timeout\\": \\"5s\\",\\n \\"Retries\\": {\\n \\"Attempts\\": 3,\\n \\"PerTryTimeout\\": \\"2s\\",\\n \\"RetryOn\\": \\"connect-failure,refused-stream,503\\",\\n \\"RetryRemoteLocalities\\": {\\n \\"Value\\": false\\n }\\n },\\n \\"Fault\\": {\\n \\"Delay\\": {\\n \\"FixedDelay\\": \\"5s\\",\\n \\"ExponentialDelay\\": \\"3\\",\\n \\"Percentage\\": {\\n \\"Value\\": 0.1\\n }\\n },\\n \\"Abort\\": {\\n \\"HttpStatus\\": 400,\\n \\"Percentage\\": {\\n \\"Value\\": 0.1\\n }\\n }\\n },\\n \\"Mirror\\": {\\n \\"Host\\": \\"reviews.default.svc.cluster.local\\",\\n \\"Subset\\": \\"v1\\"\\n },\\n \\"MirrorPercentage\\": {\\n \\"Value\\": 0.2\\n }\\n },\\n \\"RouteDestinations\\": [\\n {\\n \\"Destination\\": {\\n \\"Host\\": \\"reviews\\",\\n \\"Subset\\": \\"v1\\",\\n \\"Port\\": {\\n \\"Number\\": 443\\n }\\n },\\n \\"Weight\\": 80,\\n \\"Headers\\": {\\n \\"Request\\": {\\n \\"Set\\": {\\n \\"key\\": \\"key\\"\\n },\\n \\"Add\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"Remove\\": [\\n \\"key\\"\\n ]\\n },\\n \\"Response\\": {\\n \\"Set\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"Add\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"Remove\\": [\\n \\"key\\"\\n ]\\n }\\n }\\n }\\n ],\\n \\"Domains\\": [\\n \\"test.asm.aliyun.com\\"\\n ],\\n \\"RawVSRoute\\": \\"{}\\",\\n \\"HasUnsafeFeatures\\": true\\n },\\n \\"RequestId\\": \\"31d3a0f0-07ed-4f6e-9004-1804498c****\\",\\n \\"Priority\\": 1,\\n \\"Status\\": 1,\\n \\"Description\\": \\"demo route\\",\\n \\"Namespace\\": \\"default\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeIstioGatewayRouteDetailResponse>\\n <RouteDetail>\\n <RouteName>demo-route</RouteName>\\n <RouteType>HTTP</RouteType>\\n <MatchRequest>\\n <URI>\\n <MatchingMode>prefix</MatchingMode>\\n <MatchingContent>/ratings/v2/</MatchingContent>\\n </URI>\\n <Headers>\\n <Name>x-request-id</Name>\\n <MatchingMode>exact</MatchingMode>\\n <MatchingContent>v1</MatchingContent>\\n </Headers>\\n <TLSMatchAttributes>\\n <TLSPort>443</TLSPort>\\n <SNIHosts>*.com</SNIHosts>\\n </TLSMatchAttributes>\\n <Ports>443</Ports>\\n </MatchRequest>\\n <HTTPAdvancedOptions>\\n <HTTPRedirect>\\n <Uri>/v1/getProductRatings</Uri>\\n <Authority>newratings.default.svc.cluster.local</Authority>\\n <RedirectCode>301</RedirectCode>\\n </HTTPRedirect>\\n <Delegate>\\n <Name>reviews</Name>\\n <Namespace>default</Namespace>\\n </Delegate>\\n <Rewrite>\\n <Uri>/v1/getProductRatings</Uri>\\n <Authority>newratings.default.svc.cluster.local</Authority>\\n </Rewrite>\\n <Timeout>5s</Timeout>\\n <Retries>\\n <Attempts>3</Attempts>\\n <PerTryTimeout>2s</PerTryTimeout>\\n <RetryOn>connect-failure,refused-stream,503</RetryOn>\\n <RetryRemoteLocalities>\\n <Value>false</Value>\\n </RetryRemoteLocalities>\\n </Retries>\\n <Fault>\\n <Delay>\\n <FixedDelay>5s</FixedDelay>\\n <ExponentialDelay>3</ExponentialDelay>\\n <Percentage>\\n <Value>0.1</Value>\\n </Percentage>\\n </Delay>\\n <Abort>\\n <HttpStatus>400</HttpStatus>\\n <Percentage>\\n <Value>0.1</Value>\\n </Percentage>\\n </Abort>\\n </Fault>\\n <Mirror>\\n <Host>reviews.default.svc.cluster.local</Host>\\n <Subset>v1</Subset>\\n </Mirror>\\n <MirrorPercentage>\\n <Value>0.2</Value>\\n </MirrorPercentage>\\n </HTTPAdvancedOptions>\\n <RouteDestinations>\\n <Destination>\\n <Host>reviews</Host>\\n <Subset>v1</Subset>\\n <Port>\\n <Number>443</Number>\\n </Port>\\n </Destination>\\n <Weight>80</Weight>\\n <Headers>\\n <Request>\\n <Set>\\n <key>key</key>\\n </Set>\\n <Remove>key</Remove>\\n </Request>\\n <Response>\\n <Remove>key</Remove>\\n </Response>\\n </Headers>\\n </RouteDestinations>\\n </RouteDetail>\\n <RequestId>31d3a0f0-07ed-4f6e-9004-1804498c****</RequestId>\\n <Priority>1</Priority>\\n <Status>1</Status>\\n <Description>demo route</Description>\\n</DescribeIstioGatewayRouteDetailResponse>","errorExample":""}]', + 'title' => 'DescribeIstioGatewayRouteDetail', + ], + 'DescribeGatewaySecretDetails' => [ + 'summary' => 'Queries the detailed information about a secret of a Service Mesh (ASM) gateway.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + [ + 'name' => 'IstioGatewayName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the ASM gateway.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ingressgateway', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '31d3a0f0-07ed-4f6e-9004-1804498c****', + ], + 'GatewaySecretDetails' => [ + 'description' => 'The detailed information about the secret of the ASM gateway.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'IssueTime' => [ + 'description' => 'The time when the certificate was issued.'."\n", + 'type' => 'string', + 'example' => '2022-03-03 07:45', + ], + 'ExpiredTime' => [ + 'description' => 'The time when the certificate expires.'."\n", + 'type' => 'string', + 'example' => '2023-03-03 07:45', + ], + 'GatewayName' => [ + 'description' => 'The name of the gateway.'."\n", + 'type' => 'string', + 'example' => 'bookinfo-gateway', + ], + 'State' => [ + 'description' => 'The status of the certificate. Valid values:'."\n" + ."\n" + .'* `normal`'."\n" + .'* `abnormal`'."\n", + 'type' => 'string', + 'example' => 'normal', + ], + 'Message' => [ + 'description' => '* An error message is returned if the status of the gateway is abnormal. Examples: `tls.crt not exist`, `tls.key not exist`, and `secret type must be kubernetes.io/tls`.'."\n" + .'* An empty value is returned if the status of the gateway is normal.'."\n", + 'type' => 'string', + 'example' => 'tls.crt not exist', + ], + 'SNI' => [ + 'description' => 'The Server Name Indication (SNI) value.'."\n", + 'type' => 'string', + 'example' => 'demo.com', + ], + 'SecretName' => [ + 'description' => 'The name of the secret.'."\n", + 'type' => 'string', + 'example' => 'demo-secret', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"31d3a0f0-07ed-4f6e-9004-1804498c****\\",\\n \\"GatewaySecretDetails\\": [\\n {\\n \\"IssueTime\\": \\"2022-03-03 07:45\\",\\n \\"ExpiredTime\\": \\"2023-03-03 07:45\\",\\n \\"GatewayName\\": \\"bookinfo-gateway\\",\\n \\"State\\": \\"normal\\",\\n \\"Message\\": \\"tls.crt not exist\\",\\n \\"SNI\\": \\"demo.com\\",\\n \\"SecretName\\": \\"demo-secret\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeGatewaySecretDetailsResponse>\\n <RequestId>31d3a0f0-07ed-4f6e-9004-1804498c****</RequestId>\\n <GatewaySecretDetails>\\n <IssueTime>2022-03-03 07:45</IssueTime>\\n <ExpiredTime>2023-03-03 07:45</ExpiredTime>\\n <GatewayName>bookinfo-gateway</GatewayName>\\n <State>normal</State>\\n <Message>tls.crt not exist</Message>\\n <SNI>demo.com</SNI>\\n <SecretName>demo-secret</SecretName>\\n </GatewaySecretDetails>\\n</DescribeGatewaySecretDetailsResponse>","errorExample":""}]', + 'title' => 'DescribeGatewaySecretDetails', + ], + 'DescribeIstioGatewayDomains' => [ + 'summary' => 'Queries a list of the domain names that are exposed by a Service Mesh (ASM) gateway.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + [ + 'name' => 'IstioGatewayName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the ASM gateway.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ingressgateway', + ], + ], + [ + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The namespace in which the ASM gateway resides.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + [ + 'name' => 'Limit', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of Istio gateways to query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '10', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '31d3a0f0-07ed-4f6e-9004-1804498c****', + ], + 'GatewaySecretDetails' => [ + 'description' => 'The domain names that are exposed by the ASM gateway.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Domains' => [ + 'description' => 'The list of domain names.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The domain name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + ], + ], + 'Protocol' => [ + 'description' => 'The type of the protocol. Valid values: `HTTP`, `HTTPS`, `GRPC`, `HTTP2`, `MONGO`, `TCP`, and `TLS`.'."\n", + 'type' => 'string', + 'example' => 'HTTPS', + ], + 'CredentialName' => [ + 'description' => 'The name of the secret that contains the Transport Layer Security (TLS) certificate and certificate authority (CA) certificate.'."\n", + 'type' => 'string', + 'example' => 'bookinfo-secret', + ], + 'Detail' => [ + 'description' => 'The details of the domain name in the JSON format.'."\n", + 'type' => 'string', + 'example' => '{ "servers": [ { "port": { "number": 27018, "name": "mongo", "protocol": "MONGO" }, "hosts": [ "*" ] } ] }', + ], + 'PortName' => [ + 'description' => 'The port name.'."\n", + 'type' => 'string', + 'example' => 'https-demo', + ], + 'Namespace' => [ + 'description' => 'The namespace in which the ASM gateway resides.'."\n", + 'type' => 'string', + 'example' => 'default', + ], + 'GatewayCRName' => [ + 'description' => 'The name of the Istio gateway.'."\n", + 'type' => 'string', + 'example' => 'ingressgateway', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"31d3a0f0-07ed-4f6e-9004-1804498c****\\",\\n \\"GatewaySecretDetails\\": [\\n {\\n \\"Domains\\": [\\n \\"example.com\\"\\n ],\\n \\"Protocol\\": \\"HTTPS\\",\\n \\"CredentialName\\": \\"bookinfo-secret\\",\\n \\"Detail\\": \\"{ \\\\\\"servers\\\\\\": [ { \\\\\\"port\\\\\\": { \\\\\\"number\\\\\\": 27018, \\\\\\"name\\\\\\": \\\\\\"mongo\\\\\\", \\\\\\"protocol\\\\\\": \\\\\\"MONGO\\\\\\" }, \\\\\\"hosts\\\\\\": [ \\\\\\"*\\\\\\" ] } ] }\\",\\n \\"PortName\\": \\"https-demo\\",\\n \\"Namespace\\": \\"default\\",\\n \\"GatewayCRName\\": \\"ingressgateway\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeIstioGatewayDomainsResponse>\\n <RequestId>31d3a0f0-07ed-4f6e-9004-1804498c****</RequestId>\\n <GatewaySecretDetails>\\n <Domains>example.com</Domains>\\n <Protocol>HTTPS</Protocol>\\n <CredentialName>bookinfo-secret</CredentialName>\\n <Detail>{ \\"servers\\": [ { \\"port\\": { \\"number\\": 27018, \\"name\\": \\"mongo\\", \\"protocol\\": \\"MONGO\\" }, \\"hosts\\": [ \\"*\\" ] } ] }</Detail>\\n <PortName>https-demo</PortName>\\n <Namespace>default</Namespace>\\n <GatewayCRName>ingressgateway</GatewayCRName>\\n </GatewaySecretDetails>\\n</DescribeIstioGatewayDomainsResponse>","errorExample":""}]', + 'title' => 'DescribeIstioGatewayDomains', + ], + 'DescribeIstioGatewayRoutes' => [ + 'summary' => 'Queries the routing rules for a Service Mesh (ASM) gateway.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + [ + 'name' => 'IstioGatewayName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the ASM gateway.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ingressgateway', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response body.'."\n", + 'type' => 'object', + 'properties' => [ + 'ManagementRoutes' => [ + 'description' => 'The routing rules.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the routing rules.'."\n", + 'type' => 'object', + 'properties' => [ + 'ASMGatewayName' => [ + 'description' => 'The name of the ASM gateway.'."\n", + 'type' => 'string', + 'example' => 'ingressgateway', + ], + 'RouteName' => [ + 'description' => 'The name of the routing rule.'."\n", + 'type' => 'string', + 'example' => 'http-route', + ], + 'RoutePath' => [ + 'description' => 'The path that is used to match request URLs.'."\n", + 'type' => 'string', + 'example' => '/reviews/v1', + ], + 'Status' => [ + 'description' => 'The status of the routing rule. Valid values:'."\n" + ."\n" + .'* `0`: The routing rule is valid.'."\n" + .'* `1`: The routing rule is invalid.'."\n" + .'* `2`: An error occurs during the creation or update of the routing rule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Priority' => [ + 'description' => 'The priority of the routing rule. The value of this parameter is an integer. A smaller value indicates a higher priority.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Description' => [ + 'description' => 'The description of the routing rule.'."\n", + 'type' => 'string', + 'example' => 'demo route', + ], + 'Namespace' => [ + 'description' => 'The namespace.'."\n", + 'type' => 'string', + 'example' => 'istio-demo', + ], + 'DestinationHost' => [ + 'description' => 'Destination hosts list.', + 'type' => 'array', + 'items' => [ + 'description' => 'Destination host.', + 'type' => 'string', + 'example' => 'test.asm.aliyun.com', + ], + ], + 'DestinationSubSet' => [ + 'description' => 'Destination subset list.', + 'type' => 'array', + 'items' => [ + 'description' => 'Destination subset.', + 'type' => 'string', + 'example' => 'v1', + ], + ], + ], + ], + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '31d3a0f0-07ed-4f6e-9004-1804498c****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'ERR500', + 'errorMessage' => 'An internal server error occurred.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"ManagementRoutes\\": [\\n {\\n \\"ASMGatewayName\\": \\"ingressgateway\\",\\n \\"RouteName\\": \\"http-route\\",\\n \\"RoutePath\\": \\"/reviews/v1\\",\\n \\"Status\\": 1,\\n \\"Priority\\": 1,\\n \\"Description\\": \\"demo route\\",\\n \\"Namespace\\": \\"istio-demo\\",\\n \\"DestinationHost\\": [\\n \\"test.asm.aliyun.com\\"\\n ],\\n \\"DestinationSubSet\\": [\\n \\"v1\\"\\n ]\\n }\\n ],\\n \\"RequestId\\": \\"31d3a0f0-07ed-4f6e-9004-1804498c****\\"\\n}","errorExample":""},{"type":"xml","example":"<DescribeIstioGatewayRoutesResponse>\\n <ManagementRoutes>\\n <ASMGatewayName>ingressgateway</ASMGatewayName>\\n <RouteName>http-route</RouteName>\\n <RoutePath>/reviews/v1</RoutePath>\\n <Status>1</Status>\\n <Priority>1</Priority>\\n <Description>demo route</Description>\\n </ManagementRoutes>\\n <RequestId>31d3a0f0-07ed-4f6e-9004-1804498c****</RequestId>\\n</DescribeIstioGatewayRoutesResponse>","errorExample":""}]', + 'title' => 'DescribeIstioGatewayRoutes', + ], + 'DescribeClusterGrafana' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cb8963379255149cb98c8686f274x****', + ], + ], + [ + 'name' => 'K8sClusterId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the cluster on the data plane.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ce3c25e247da24f3aab9b7edfae83****', + ], + ], + [ + 'name' => 'ReAddPrometheusIntegration', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'Specifies whether to integrate Managed Service for Prometheus for the cluster on the data plane.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => true, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + 'Dashboards' => [ + 'description' => 'The information about Grafana dashboards.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Url' => [ + 'description' => 'The endpoint of the Grafana dashboard.'."\n", + 'type' => 'string', + 'example' => 'test.com', + ], + 'Title' => [ + 'description' => 'The title of the Grafana dashboard.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\",\\n \\"Dashboards\\": [\\n {\\n \\"Url\\": \\"test.com\\",\\n \\"Title\\": \\"test\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<RequestId>BD65C0AD-D3C6-48D3-8D93-38D2015C****</RequestId>\\n<Dashboards>\\n <Title>test</Title>\\n <Url>test.com</Url>\\n</Dashboards>","errorExample":""}]', + 'title' => 'DescribeClusterGrafana', + 'summary' => 'Queries the information about Grafana dashboards of a cluster in a Service Mesh (ASM) instance.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeClusterPrometheus' => [ + 'summary' => 'Queries the public endpoint of the Prometheus service that is used to monitor a cluster in an Alibaba Cloud Service Mesh (ASM) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh33DK5F', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cb8963379255149cb98c8686f274x****', + ], + ], + [ + 'name' => 'K8sClusterId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the cluster on the data plane.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ce3c25e247da24f3aab9b7edfae83****', + ], + ], + [ + 'name' => 'K8sClusterRegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the region where the cluster on the data plane resides.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + 'Prometheus' => [ + 'description' => 'The public endpoint of the Prometheus service that is used to monitor a cluster in the ASM instance.'."\n", + 'type' => 'string', + 'example' => 'p.com', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Prometheus\\": \\"p.com\\",\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>BD65C0AD-D3C6-48D3-8D93-38D2015C****</RequestId>\\n<Prometheus>p.com</Prometheus>","errorExample":""}]', + 'title' => 'DescribeClusterPrometheus', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeServiceMeshLogs' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ca04bc38979214bf2882be79d39b4****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '31d3a0f0-07ed-4f6e-9004-1804498c****', + ], + 'Logs' => [ + 'description' => 'The details of the logs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'CreationTime' => [ + 'description' => 'The point in time when the logs were generated.'."\n", + 'type' => 'string', + 'example' => '2021-11-19T15:21:53+08:00', + ], + 'ServiceMeshId' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'example' => 'ca04bc38979214bf2882be79d39b4****', + ], + 'Log' => [ + 'description' => 'The content of the logs.'."\n", + 'type' => 'string', + 'example' => '[RequestID: 31d3a0f0-07ed-4f6e-9004-1804498c****, UID-110982038403****] c096d641835af4658827a4c66c234**** | Start to add cluster c186a6d9641a24098b5499d4d8313****', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"31d3a0f0-07ed-4f6e-9004-1804498c****\\",\\n \\"Logs\\": [\\n {\\n \\"CreationTime\\": \\"2021-11-19T15:21:53+08:00\\",\\n \\"ServiceMeshId\\": \\"ca04bc38979214bf2882be79d39b4****\\",\\n \\"Log\\": \\"[RequestID: 31d3a0f0-07ed-4f6e-9004-1804498c****, UID-110982038403****] c096d641835af4658827a4c66c234**** | Start to add cluster c186a6d9641a24098b5499d4d8313****\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeServiceMeshLogsResponse>\\n <RequestId>31d3a0f0-07ed-4f6e-9004-1804498c****</RequestId>\\n <Logs>\\n <CreationTime>2021-11-19T15:21:53+08:00</CreationTime>\\n <ServiceMeshId>ca04bc38979214bf2882be79d39b4****</ServiceMeshId>\\n <Log>[RequestID: 31d3a0f0-07ed-4f6e-9004-1804498c****, UID-110982038403****] c096d641835af4658827a4c66c234**** | Start to add cluster c186a6d9641a24098b5499d4d8313****</Log>\\n </Logs>\\n</DescribeServiceMeshLogsResponse>","errorExample":""}]', + 'title' => 'DescribeServiceMeshLogs', + 'summary' => 'Queries the logs of a Service Mesh (ASM) instance.', + ], + 'DescribeGuestClusterAccessLogDashboards' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'K8sClusterId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the cluster on the data plane.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ce3c25e247da24f3aab9b7edfae83****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + 'Dashboards' => [ + 'description' => 'The access log dashboards of the cluster on the data plane.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Url' => [ + 'description' => 'The URL of a dashboard.'."\n", + 'type' => 'string', + 'example' => 'test.com', + ], + 'Title' => [ + 'description' => 'The title of the dashboard.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + ], + ], + ], + 'K8sClusterId' => [ + 'description' => 'The ID of the cluster on the data plane.'."\n", + 'type' => 'string', + 'example' => 'ce3c25e247da24f3aab9b7edfae83****', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"K8sClusterId\\": \\"ce3c25e247da24f3aab9b7edfae83****\\",\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\",\\n \\"Dashboards\\": [\\n {\\n \\"Url\\": \\"test.com\\",\\n \\"Title\\": \\"test\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<RequestId>BD65C0AD-D3C6-48D3-8D93-38D2015C****</RequestId>\\n<Dashboards>\\n <Title>test</Title>\\n <Url>test.com</Url>\\n</Dashboards>\\n<K8sClusterId>ce3c25e247da24f3aab9b7edfae83****</K8sClusterId>","errorExample":""}]', + 'title' => 'DescribeGuestClusterAccessLogDashboards', + 'summary' => 'Queries the access log dashboards of a cluster on the data plane.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'GetGrafanaDashboardUrl' => [ + 'summary' => 'Queries the Grafana dashboard URL from Application Real-Time Monitoring Service (ARMS).', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Service Mesh (ASM) instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cb8963379255149cb98c8686f274x****', + ], + ], + [ + 'name' => 'K8sClusterId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Container Service for Kubernetes (ACK) or ACK Serverless cluster.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c94ca2d27f7aa47ab84ed73e6f084****', + ], + ], + [ + 'name' => 'Title', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the dashboard.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'Cloud ASM Istio Http Gateway', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '76DBB8A0-5AA6-5A56-9A8A-****', + ], + 'Dashboards' => [ + 'description' => 'The information about the dashboard.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Url' => [ + 'description' => 'The URL of the dashboard.'."\n", + 'type' => 'string', + 'example' => 'https://g.console.aliyun.com/d/181863583797****-14651340-200-2/alibaba-cloud-mesh-service?orgId=32****&refresh=60s', + ], + 'Title' => [ + 'description' => 'The name of the dashboard.'."\n", + 'type' => 'string', + 'example' => 'Cloud ASM Istio Http Gateway', + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"76DBB8A0-5AA6-5A56-9A8A-****\\",\\n \\"Dashboards\\": [\\n {\\n \\"Url\\": \\"https://g.console.aliyun.com/d/181863583797****-14651340-200-2/alibaba-cloud-mesh-service?orgId=32****&refresh=60s\\",\\n \\"Title\\": \\"Cloud ASM Istio Http Gateway\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetGrafanaDashboardUrlResponse>\\n <RequestId>76DBB8A0-5AA6-5A56-9A8A-****</RequestId>\\n <Dashboards>\\n <Url>https://g.console.aliyun.com/d/181863583797****-14651340-200-2/alibaba-cloud-mesh-service?orgId=32****&refresh=60s</Url>\\n <Title>Cloud ASM Istio Http Gateway</Title>\\n </Dashboards>\\n</GetGrafanaDashboardUrlResponse>","errorExample":""}]', + 'title' => 'GetGrafanaDashboardUrl', + ], + 'UpgradeMeshVersion' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + [ + 'name' => 'PreCheck', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to perform a precheck. Default value: false. If this parameter is set to true, this call only checks whether the current ASM instance meets the upgrade conditions and does not actually perform an upgrade.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '11fd0027-c27e-41bb-a565-75583054****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"11fd0027-c27e-41bb-a565-75583054****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpgradeMeshVersionResponse>\\n <RequestId>17056026-31A7-1473-B6DA-XXXXXXXXXXXX</RequestId>\\n</UpgradeMeshVersionResponse>","errorExample":""}]', + 'title' => 'UpgradeMeshVersion', + 'summary' => 'Updates the version of a Service Mesh (ASM) instance.', + ], + 'UpgradeMeshEditionPartially' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ca04bc38979214bf2882be79d39b4****', + ], + ], + [ + 'name' => 'SwitchToPro', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to upgrade the ASM instance to Professional Edition. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'deprecated' => true, + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'ASMGatewayContinue', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to upgrade the ASM gateways for the ASM instance. Valid values:'."\n" + ."\n" + .'* `true`'."\n" + .'* `false`'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'UpgradeGatewayRecords', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies the ASM gateways to be upgraded. Separate multiple ASM gateways with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ingressgateway1,ingressgateway2', + ], + ], + [ + 'name' => 'ExpectedVersion', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The expected version that desired to be upgraded to.', + 'type' => 'string', + 'required' => false, + 'example' => 'v1.15.3.118-g4712daf0-aliyun', + ], + ], + [ + 'name' => 'PreCheck', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to perform an upgrade check. If the value of this parameter is set to true, only the upgrade check is performed and the ASM instance is not upgraded.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The returned results.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '31d3a0f0-07ed-4f6e-9004-1804498c****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"31d3a0f0-07ed-4f6e-9004-1804498c****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpgradeMeshEditionPartiallyResponse>\\n <RequestId>31d3a0f0-07ed-4f6e-9004-1804498c****</RequestId>\\n</UpgradeMeshEditionPartiallyResponse>","errorExample":""}]', + 'title' => 'UpgradeMeshEditionPartially', + 'summary' => 'Upgrades a Service Mesh (ASM) instance to Professional Edition that is commercially released.', + ], + 'DescribeUpgradeVersion' => [ + 'summary' => 'Queries the update status of a Service Mesh (ASM) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh4LB119', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '11fd0027-c27e-41bb-a565-75583054****', + ], + 'Version' => [ + 'description' => 'The version information.'."\n", + 'type' => 'object', + 'properties' => [ + 'KubernetesVersion' => [ + 'description' => 'The Kubernetes version.'."\n", + 'type' => 'string', + 'example' => 'v1.24.6-aliyun.1', + ], + 'IstioOperatorVersion' => [ + 'description' => 'The version of the ASM instance.'."\n", + 'type' => 'string', + 'example' => 'v1.17.2.42-gf7619883-aliyun', + ], + 'IstioVersion' => [ + 'description' => 'The Istio version.'."\n", + 'type' => 'string', + 'example' => '1.17.2', + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"11fd0027-c27e-41bb-a565-75583054****\\",\\n \\"Version\\": {\\n \\"KubernetesVersion\\": \\"v1.24.6-aliyun.1\\",\\n \\"IstioOperatorVersion\\": \\"v1.17.2.42-gf7619883-aliyun\\",\\n \\"IstioVersion\\": \\"1.17.2\\"\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeUpgradeVersionResponse>\\n <RequestId>11fd0027-c27e-41bb-a565-75583054****</RequestId>\\n <Version>\\n <KubernetesVersion>1.20</KubernetesVersion>\\n <IstioOperatorVersion>v1.10.5.34-g7689a219-aliyun</IstioOperatorVersion>\\n <IstioVersion>1.10.5.34</IstioVersion>\\n </Version>\\n</DescribeUpgradeVersionResponse>","errorExample":""}]', + 'title' => 'DescribeUpgradeVersion', + ], + 'DescribeServiceMeshUpgradeStatus' => [ + 'summary' => 'Queries the upgrade details of a Service Mesh (ASM) instance and its ingress gateways.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '11fd0027-c27e-41bb-a565-75583054****', + ], + ], + [ + 'name' => 'GuestClusterIds', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The IDs of the clusters on the data plane of the ASM instance. Separate multiple clusters with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'caeac85a793c94afbbb0a4bb20320****', + ], + ], + [ + 'name' => 'AllIstioGatewayFullNames', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The fully qualified names of ingress gateways in the ASM instance. Separate multiple names with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'istio-system:ingressgateway1,istio-system:ingressgateway2', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '11fd0027-c27e-41bb-a565-75583054****', + ], + 'UpgradeDetail' => [ + 'description' => 'The upgrade results.'."\n", + 'type' => 'object', + 'properties' => [ + 'FinishedGatewaysNum' => [ + 'description' => 'The number of ingress gateways that are upgraded.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'MeshStatus' => [ + 'description' => 'The status of the ASM instance. Valid values:'."\n" + ."\n" + .'* running: The instance is running.'."\n" + .'* `upgrading`: The instance is being upgraded.'."\n" + .'* `upgrading_failed`: The upgrade of the instance fails.'."\n", + 'type' => 'string', + 'example' => 'running', + ], + 'TotalGatewaysNum' => [ + 'description' => 'The total number of ingress gateways in the ASM instance.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + ], + 'GatewayStatusRecord' => [ + 'description' => 'The information about the status of the ingress gateways.'."\n", + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'type' => 'string', + 'description' => 'The upgrade status of the ingress gateway. Valid values:'."\n" + ."\n" + .'* `upgrading`: The ingress gateway is being upgraded.'."\n" + .'* `pending`: The ingress gateway waits to be upgraded.'."\n" + .'* `finished`: The ingress gateway upgrade is complete.'."\n" + .'* `notStart`: The ingress gateway upgrade does not start.'."\n" + .'* `failed`: The ingress gateway upgrade fails.'."\n" + .'* `unknown`: The upgrade status of the ingress gateway is unknown.'."\n", + 'example' => 'upgrading', + ], + 'Message' => [ + 'type' => 'string', + 'example' => 'success', + 'description' => 'Additional status information of the ingress gateway.'."\n", + ], + 'Version' => [ + 'type' => 'string', + 'example' => '1.9.7', + 'description' => 'The version of the ingress gateway.'."\n", + ], + ], + 'description' => 'The status of the ingress gateway.'."\n", + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'ERR404', + 'errorMessage' => 'Not found', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"11fd0027-c27e-41bb-a565-75583054****\\",\\n \\"UpgradeDetail\\": {\\n \\"FinishedGatewaysNum\\": 1,\\n \\"MeshStatus\\": \\"running\\",\\n \\"TotalGatewaysNum\\": 2,\\n \\"GatewayStatusRecord\\": {\\n \\"key\\": {\\n \\"Status\\": \\"upgrading\\",\\n \\"Message\\": \\"success\\",\\n \\"Version\\": \\"1.9.7\\"\\n }\\n }\\n }\\n}","errorExample":""},{"type":"xml","example":"<DescribeServiceMeshUpgradeStatusResponse>\\n <RequestId>11fd0027-c27e-41bb-a565-75583054****</RequestId>\\n <UpgradeDetail>\\n <FinishedGatewaysNum>1</FinishedGatewaysNum>\\n <MeshStatus>running</MeshStatus>\\n <TotalGatewaysNum>2</TotalGatewaysNum>\\n <GatewayStatusRecord>\\n <key>\\n <Status>upgrading</Status>\\n <Message>success</Message>\\n <Version>1.9.7</Version>\\n </key>\\n </GatewayStatusRecord>\\n </UpgradeDetail>\\n</DescribeServiceMeshUpgradeStatusResponse>","errorExample":""}]', + 'title' => 'DescribeServiceMeshUpgradeStatus', + ], + 'CreateSwimLane' => [ + 'summary' => 'Creates a lane.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Service Mesh (ASM) instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => '*****', + ], + ], + [ + 'name' => 'SwimLaneName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the lane.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 's3', + ], + ], + [ + 'name' => 'LabelSelectorKey', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The label key of the associated service workload. Set the value to `ASM_TRAFFIC_TAG`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ASM_TRAFFIC_TAG', + ], + ], + [ + 'name' => 'ServicesList', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The list of services associated with the lane. The value is a JSON array. The format of a single service is `$Cluster name/$Cluster ID/$Namespace/$Service name`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '[\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mocka\\",\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockb\\",\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockc\\"]', + ], + ], + [ + 'name' => 'LabelSelectorValue', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The label value of the associated service workload.``'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'v3', + ], + ], + [ + 'name' => 'GroupName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the lane group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '*****', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"*****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateSwimLaneResponse>\\n <RequestId>*****</RequestId>\\n</CreateSwimLaneResponse>","errorExample":""}]', + 'title' => 'CreateSwimLane', + ], + 'CreateSwimLaneGroup' => [ + 'summary' => 'Creates a lane group.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '153455', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh22WM61', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Alibaba Cloud Service Mesh (ASM) instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'xxx', + ], + ], + [ + 'name' => 'ServicesList', + 'in' => 'formData', + 'schema' => [ + 'description' => 'A list of services associated with the lane group. The value is a JSON array. The format of a service is `$Cluster name/$Cluster ID/$Namespace/$Service name`.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '[\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mocka\\",\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockb\\",\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockc\\"]', + ], + ], + [ + 'name' => 'GroupName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the lane group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test', + ], + ], + [ + 'name' => 'IngressType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The type of the gateway for ingress traffic. Only ASM ingress gateways are supported.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ASM', + ], + ], + [ + 'name' => 'IngressGatewayName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the ingress gateway.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ingressgateway', + ], + ], + [ + 'name' => 'IsPermissive', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether the permissive mode is enabled for the lane group to be created.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'TraceHeader', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The end-to-end (E2E) pass-through request header of the lane group if you plan to create a lane group in permissive mode. This parameter must be specified when IsPermissive is set to true.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'my-request-id', + ], + ], + [ + 'name' => 'RouteHeader', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The request routing header of the lane group if you plan to create a lane group in permissive mode. This parameter must be specified when IsPermissive is set to true.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'x-asm-prefer-tag', + ], + ], + [ + 'name' => 'IngressGatewayNamespace', + 'in' => 'formData', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'istio-system', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'yyyy', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"yyyy\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateSwimLaneGroupResponse>\\n <RequestId>yyyy</RequestId>\\n</CreateSwimLaneGroupResponse>","errorExample":""}]', + 'title' => 'CreateSwimLaneGroup', + ], + 'DeleteSwimLane' => [ + 'summary' => 'Deletes a lane.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Service Mesh (ASM) instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'xxx', + ], + ], + [ + 'name' => 'SwimLaneName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the lane.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 's1', + ], + ], + [ + 'name' => 'GroupName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the lane group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'xxx', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"xxx\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteSwimLaneResponse>\\n <RequestId>xxx</RequestId>\\n</DeleteSwimLaneResponse>","errorExample":""}]', + 'title' => 'DeleteSwimLane', + ], + 'DeleteSwimLaneGroup' => [ + 'summary' => 'Deletes a lane group. If a lane group is deleted, the lanes in the group and the traffic routing rules attached to the lanes are deleted.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Service Mesh (ASM) instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'xxx', + ], + ], + [ + 'name' => 'GroupName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the lane group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'xxxx', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"xxxx\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteSwimLaneGroupResponse>\\n <RequestId>xxxx</RequestId>\\n</DeleteSwimLaneGroupResponse>","errorExample":""}]', + 'title' => 'DeleteSwimLaneGroup', + ], + 'UpdateSwimLane' => [ + 'summary' => 'Updates the information about a lane.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Service Mesh (ASM) instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'xxx', + ], + ], + [ + 'name' => 'ServicesList', + 'in' => 'formData', + 'schema' => [ + 'description' => 'A list of services associated with the lane.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '["sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mocka","sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockb","sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockc"]', + ], + ], + [ + 'name' => 'SwimLaneName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the lane.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 's1', + ], + ], + [ + 'name' => 'LabelSelectorKey', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The label key of the associated service workload. Set the value to `ASM_TRAFFIC_TAG`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ASM_TRAFFIC_TAG', + ], + ], + [ + 'name' => 'LabelSelectorValue', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The label value of the associated service workload.``'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'v1', + ], + ], + [ + 'name' => 'GroupName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the lane group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'yyy', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"yyy\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateSwimLaneResponse>\\n <RequestId>yyy</RequestId>\\n</UpdateSwimLaneResponse>","errorExample":""}]', + 'title' => 'UpdateSwimLane', + ], + 'UpdateSwimLaneGroup' => [ + 'summary' => 'Updates the information of a lane group.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '153457', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh22WM61', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The Service Mesh (ASM) instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'xxx', + ], + ], + [ + 'name' => 'ServicesList', + 'in' => 'formData', + 'schema' => [ + 'description' => 'A list of services associated with the lane group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '["sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mocka","sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockb","sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockc"]', + ], + ], + [ + 'name' => 'GroupName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the lane group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'FallbackTarget', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the baseline lane in the lane group if the lane group is in permissive mode. This parameter is valid only for a lane group in permissive mode.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 's1', + ], + ], + [ + 'name' => 'IngressRoutingStrategy', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The policy used to route requests among multiple lanes in a lane group. Valid values:'."\n" + ."\n" + .'* weighted: a weight-based request routing policy. Requests are matched based on uniform rules and then routed to different lanes in a lane group at a specified ratio.'."\n" + .'* rule-based: a rule-based request routing policy. Each lane is configured with request routing rules. Only requests that match the request routing rules of a specific lane are routed to the lane.'."\n", + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'weighted' => 'weighted', + 'rule-based' => 'rule-based', + ], + 'example' => 'weighted', + ], + ], + [ + 'name' => 'WeightedIngressRule', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The weight-based request routing rules for a lane group. You can specify this parameter only when the IngressRoutingStrategy parameter is set to weighted.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '{"Domains":["*"],"MatchRequests":[{"URI":{"MatchingMode":"exact","MatchingContent":"/mock"},"Headers":[{"Name":"test","MatchingMode":"exact","MatchingContent":"yes"}]}]}', + ], + ], + [ + 'name' => 'ServiceLevelFallbackTarget', + 'in' => 'formData', + 'schema' => [ + 'type' => 'string', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'yyy', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"yyy\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateSwimLaneGroupResponse>\\n <RequestId>yyy</RequestId>\\n</UpdateSwimLaneGroupResponse>","errorExample":""}]', + 'title' => 'UpdateSwimLaneGroup', + ], + 'GetSwimLaneDetail' => [ + 'summary' => 'Queries detailed information about a lane.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '146478', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh22WM61', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Service Mesh (ASM) instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'xxx', + ], + ], + [ + 'name' => 'SwimLaneName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the lane.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 's1', + ], + ], + [ + 'name' => 'GroupName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the lane group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'yyyy', + ], + 'ServicesList' => [ + 'description' => 'A list of services associated with the lane.'."\n", + 'type' => 'string', + 'example' => '["sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mocka","sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockb","sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockc"]', + ], + 'LabelSelectorKey' => [ + 'description' => 'The label key of the associated service workload. The value is fixed as **ASM_TRAFFIC_TAG**.'."\n", + 'type' => 'string', + 'example' => 'ASM_TRAFFIC_TAG', + ], + 'LabelSelectorValue' => [ + 'description' => 'The value of ASM_TRAFFIC_TAG.'."\n", + 'type' => 'string', + 'example' => 'v1', + ], + 'IngressService' => [ + 'description' => 'This parameter is deprecated.'."\n", + 'type' => 'string', + 'example' => 'mocka.default.svc.cluster.local', + ], + 'IngressRule' => [ + 'description' => 'The traffic routing rule that routes traffic to the lane by using the ingress gateway. The traffic routing rule contains one or more custom routes.'."\n", + 'type' => 'string', + 'example' => '[{"Domains":["*"],"RouteName":"r1","MatchRequest":{"Headers":[{"Name":"x-asm-prefer-tag","MatchingMode":"exact","MatchingContent":"s1"}],"URI":{"MatchingMode":"exact","MatchingContent":"/mock"}},"RouteDestinations":[{"Destination":{"Host":"mocka.default.svc.cluster.local","Subset":"s1"}}]},{"Domains":["*"],"RouteName":"hello","MatchRequest":{"Headers":[{"Name":"x-asm-prefer-tag","MatchingMode":"exact","MatchingContent":"s1"}],"URI":{"MatchingMode":"exact","MatchingContent":"/mocktest"}},"RouteDestinations":[{"Destination":{"Host":"mocka.default.svc.cluster.local","Subset":"s1"}}]}]', + ], + 'WeightedIngressDestination' => [ + 'description' => 'This parameter is returned only when the IngressRoutingStrategy parameter is set to weighted. This parameter indicates the domain name of Services in each lane and the request routing weight. The value of this parameter is a serialized JSON string.'."\n", + 'type' => 'string', + 'example' => '{"RouteDestination":{"Host":"mocka.default.svc.cluster.local","Subset":"s1"},"Weight":40}', + ], + 'ValidationMessage' => [ + 'description' => 'The status of the swimlane. If the configuration is successful and takes effect, a `null` is returned. Otherwise, an error message is returned.'."\n", + 'type' => 'string', + 'example' => '[{"code":"CODE_UNEFFECTED_SWIMLANE_LABEL","level":"warning","message":"The label selector defined in the ASMSwimLane has no effect on any workload instance."}]', + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"yyyy\\",\\n \\"ServicesList\\": \\"[\\\\\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mocka\\\\\\",\\\\\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockb\\\\\\",\\\\\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockc\\\\\\"]\\",\\n \\"LabelSelectorKey\\": \\"ASM_TRAFFIC_TAG\\",\\n \\"LabelSelectorValue\\": \\"v1\\",\\n \\"IngressService\\": \\"mocka.default.svc.cluster.local\\",\\n \\"IngressRule\\": \\"[{\\\\\\"Domains\\\\\\":[\\\\\\"*\\\\\\"],\\\\\\"RouteName\\\\\\":\\\\\\"r1\\\\\\",\\\\\\"MatchRequest\\\\\\":{\\\\\\"Headers\\\\\\":[{\\\\\\"Name\\\\\\":\\\\\\"x-asm-prefer-tag\\\\\\",\\\\\\"MatchingMode\\\\\\":\\\\\\"exact\\\\\\",\\\\\\"MatchingContent\\\\\\":\\\\\\"s1\\\\\\"}],\\\\\\"URI\\\\\\":{\\\\\\"MatchingMode\\\\\\":\\\\\\"exact\\\\\\",\\\\\\"MatchingContent\\\\\\":\\\\\\"/mock\\\\\\"}},\\\\\\"RouteDestinations\\\\\\":[{\\\\\\"Destination\\\\\\":{\\\\\\"Host\\\\\\":\\\\\\"mocka.default.svc.cluster.local\\\\\\",\\\\\\"Subset\\\\\\":\\\\\\"s1\\\\\\"}}]},{\\\\\\"Domains\\\\\\":[\\\\\\"*\\\\\\"],\\\\\\"RouteName\\\\\\":\\\\\\"hello\\\\\\",\\\\\\"MatchRequest\\\\\\":{\\\\\\"Headers\\\\\\":[{\\\\\\"Name\\\\\\":\\\\\\"x-asm-prefer-tag\\\\\\",\\\\\\"MatchingMode\\\\\\":\\\\\\"exact\\\\\\",\\\\\\"MatchingContent\\\\\\":\\\\\\"s1\\\\\\"}],\\\\\\"URI\\\\\\":{\\\\\\"MatchingMode\\\\\\":\\\\\\"exact\\\\\\",\\\\\\"MatchingContent\\\\\\":\\\\\\"/mocktest\\\\\\"}},\\\\\\"RouteDestinations\\\\\\":[{\\\\\\"Destination\\\\\\":{\\\\\\"Host\\\\\\":\\\\\\"mocka.default.svc.cluster.local\\\\\\",\\\\\\"Subset\\\\\\":\\\\\\"s1\\\\\\"}}]}]\\",\\n \\"WeightedIngressDestination\\": \\"{\\\\\\"RouteDestination\\\\\\":{\\\\\\"Host\\\\\\":\\\\\\"mocka.default.svc.cluster.local\\\\\\",\\\\\\"Subset\\\\\\":\\\\\\"s1\\\\\\"},\\\\\\"Weight\\\\\\":40}\\",\\n \\"ValidationMessage\\": \\"[{\\\\\\"code\\\\\\":\\\\\\"CODE_UNEFFECTED_SWIMLANE_LABEL\\\\\\",\\\\\\"level\\\\\\":\\\\\\"warning\\\\\\",\\\\\\"message\\\\\\":\\\\\\"The label selector defined in the ASMSwimLane has no effect on any workload instance.\\\\\\"}]\\"\\n}","errorExample":""},{"type":"xml","example":"<GetSwimLaneDetailResponse>\\n <RequestId>yyyy</RequestId>\\n <ServicesList>[\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mocka\\",\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockb\\",\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockc\\"]</ServicesList>\\n <LabelSelectorKey>ASM_TRAFFIC_TAG</LabelSelectorKey>\\n <LabelSelectorValue>v1</LabelSelectorValue>\\n <IngressService>mocka.default.svc.cluster.local</IngressService>\\n <IngressRule>[{\\"Domains\\":[\\"*\\"],\\"RouteName\\":\\"r1\\",\\"MatchRequest\\":{\\"Headers\\":[{\\"Name\\":\\"x-asm-prefer-tag\\",\\"MatchingMode\\":\\"exact\\",\\"MatchingContent\\":\\"s1\\"}],\\"URI\\":{\\"MatchingMode\\":\\"exact\\",\\"MatchingContent\\":\\"/mock\\"}},\\"RouteDestinations\\":[{\\"Destination\\":{\\"Host\\":\\"mocka.default.svc.cluster.local\\",\\"Subset\\":\\"s1\\"}}]},{\\"Domains\\":[\\"*\\"],\\"RouteName\\":\\"hello\\",\\"MatchRequest\\":{\\"Headers\\":[{\\"Name\\":\\"x-asm-prefer-tag\\",\\"MatchingMode\\":\\"exact\\",\\"MatchingContent\\":\\"s1\\"}],\\"URI\\":{\\"MatchingMode\\":\\"exact\\",\\"MatchingContent\\":\\"/mocktest\\"}},\\"RouteDestinations\\":[{\\"Destination\\":{\\"Host\\":\\"mocka.default.svc.cluster.local\\",\\"Subset\\":\\"s1\\"}}]}]</IngressRule>\\n</GetSwimLaneDetailResponse>","errorExample":""}]', + 'title' => 'GetSwimLaneDetail', + ], + 'GetSwimLaneGroupList' => [ + 'summary' => 'Queries a list of all lane groups in an Alibaba Cloud Service Mesh (ASM) instance.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '153461', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh22WM61', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'xxxx', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'yyyy', + ], + 'SwimLaneGroupList' => [ + 'description' => 'The information about the lane group.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'GroupName' => [ + 'description' => 'The name of a lane group.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'ServiceList' => [ + 'description' => 'The Services associated with the lane group.'."\n", + 'type' => 'string', + 'example' => '["sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mocka","sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockb","sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockc"]', + ], + 'IngressType' => [ + 'description' => 'The type of gateways in which you can configure request routing rules. You can configure request routing rules only in ASM gateways.'."\n", + 'type' => 'string', + 'example' => 'ASM', + ], + 'IngressGatewayName' => [ + 'description' => 'The name of the ASM ingress gateway.'."\n", + 'type' => 'string', + 'example' => 'ingressgateway', + ], + 'IsPermissive' => [ + 'description' => 'Indicates whether the lane group is in permissive mode.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'FallbackTarget' => [ + 'description' => 'The name of the baseline lane of the lane group in permissive mode. This parameter is valid only for a lane group in permissive mode.'."\n", + 'type' => 'string', + 'example' => 's1', + ], + 'TraceHeader' => [ + 'description' => 'The end-to-end (E2E) pass-through request header of the lane group. It is valid only for a lane group in permissive mode.'."\n", + 'type' => 'string', + 'example' => 'my-request-id', + ], + 'RouteHeader' => [ + 'description' => 'The request routing header of the lane group. It is valid only for a lane group in permissive mode.'."\n", + 'type' => 'string', + 'example' => 'x-asm-prefer-tag', + ], + 'SwimLaneLabels' => [ + 'description' => 'A serialized JSON string. The keys of the JSON object are the keys of the labels owned by all services in the lane group, and the values of the JSON object are arrays of all possible label values of the services in the lane group.'."\n", + 'type' => 'string', + 'example' => '{"ASM_TRAFFIC_TAG":["v2","v3","v1"],"version":["v3","v1","v2"]}', + ], + 'IngressRoutingStrategy' => [ + 'description' => 'The policy used to route requests among multiple lanes in a lane group. Valid values:'."\n" + ."\n" + .'* weighted: a weight-based request routing policy. Requests are matched based on uniform rules and then routed to different lanes in a lane group at a specified ratio.'."\n" + .'* rule-based: a rule-based request routing policy. Each lane is configured with request routing rules. Only requests that match the request routing rules of a specific lane are routed to the lane.'."\n", + 'type' => 'string', + 'enumValueTitles' => [ + 'weighted' => 'weighted', + 'rule-based' => 'rule-based', + ], + 'example' => 'weighted', + ], + 'WeightedIngressRule' => [ + 'description' => 'The weight-based request routing rules for a lane group. This parameter is returned only when the IngressRoutingStrategy parameter is set to weighted.'."\n", + 'type' => 'string', + 'example' => '{"Domains":["*"],"MatchRequests":[{"URI":{"MatchingMode":"exact","MatchingContent":"/mock"},"Headers":[{"Name":"test","MatchingMode":"exact","MatchingContent":"yes"}]}]}', + ], + 'ServiceLevelFallbackTarget' => [ + 'type' => 'string', + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"yyyy\\",\\n \\"SwimLaneGroupList\\": [\\n {\\n \\"GroupName\\": \\"test\\",\\n \\"ServiceList\\": \\"[\\\\\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mocka\\\\\\",\\\\\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockb\\\\\\",\\\\\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockc\\\\\\"]\\",\\n \\"IngressType\\": \\"ASM\\",\\n \\"IngressGatewayName\\": \\"ingressgateway\\",\\n \\"IsPermissive\\": false,\\n \\"FallbackTarget\\": \\"s1\\",\\n \\"TraceHeader\\": \\"my-request-id\\",\\n \\"RouteHeader\\": \\"x-asm-prefer-tag\\",\\n \\"SwimLaneLabels\\": \\"{\\\\\\"ASM_TRAFFIC_TAG\\\\\\":[\\\\\\"v2\\\\\\",\\\\\\"v3\\\\\\",\\\\\\"v1\\\\\\"],\\\\\\"version\\\\\\":[\\\\\\"v3\\\\\\",\\\\\\"v1\\\\\\",\\\\\\"v2\\\\\\"]}\\",\\n \\"IngressRoutingStrategy\\": \\"weighted\\",\\n \\"WeightedIngressRule\\": \\"{\\\\\\"Domains\\\\\\":[\\\\\\"*\\\\\\"],\\\\\\"MatchRequests\\\\\\":[{\\\\\\"URI\\\\\\":{\\\\\\"MatchingMode\\\\\\":\\\\\\"exact\\\\\\",\\\\\\"MatchingContent\\\\\\":\\\\\\"/mock\\\\\\"},\\\\\\"Headers\\\\\\":[{\\\\\\"Name\\\\\\":\\\\\\"test\\\\\\",\\\\\\"MatchingMode\\\\\\":\\\\\\"exact\\\\\\",\\\\\\"MatchingContent\\\\\\":\\\\\\"yes\\\\\\"}]}]}\\",\\n \\"ServiceLevelFallbackTarget\\": \\"\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetSwimLaneGroupListResponse>\\n <RequestId>yyyy</RequestId>\\n <SwimLaneGroupList>\\n <GroupName>test</GroupName>\\n <ServiceList>[\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mocka\\",\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockb\\",\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockc\\"]</ServiceList>\\n <IngressType>ASM</IngressType>\\n <IngressGatewayName>ingressgateway</IngressGatewayName>\\n </SwimLaneGroupList>\\n</GetSwimLaneGroupListResponse>","errorExample":""}]', + 'title' => 'GetSwimLaneGroupList', + ], + 'GetSwimLaneList' => [ + 'summary' => 'Queries a list of all the lanes in a lane group.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '146477', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh22WM61', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Service Mesh (ASM) instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'xxx', + ], + ], + [ + 'name' => 'GroupName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the lane group.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'yyyy', + ], + 'SwimLaneList' => [ + 'description' => 'The swimlanes.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about swimlanes.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The name of the lane.'."\n", + 'type' => 'string', + 'example' => 's1', + ], + 'GroupName' => [ + 'description' => 'The name of a lane group.'."\n", + 'type' => 'string', + 'example' => 'test', + ], + 'LabelSelectorKey' => [ + 'description' => 'The label key of the associated service workload. The value is fixed as `ASM_TRAFFIC_TAG`.'."\n", + 'type' => 'string', + 'example' => 'ASM_TRAFFIC_TAG', + ], + 'LabelSelectorValue' => [ + 'description' => 'The label value of the associated service workload. The value is fixed as `ASM_TRAFFIC_TAG`.'."\n", + 'type' => 'string', + 'example' => 'v1', + ], + 'IngressService' => [ + 'description' => 'This parameter is deprecated.'."\n", + 'type' => 'string', + 'example' => 'mocka.default.svc.cluster.local', + ], + 'IngressRule' => [ + 'description' => 'The request routing rules.'."\n", + 'type' => 'string', + 'example' => '[{"Domains":["*"],"RouteName":"r1","MatchRequest":{"Headers":[{"Name":"x-asm-prefer-tag","MatchingMode":"exact","MatchingContent":"s1"}],"URI":{"MatchingMode":"exact","MatchingContent":"/mock"}},"RouteDestinations":[{"Destination":{"Host":"mocka.default.svc.cluster.local","Subset":"s1"}}]},{"Domains":["*"],"RouteName":"hello","MatchRequest":{"Headers":[{"Name":"x-asm-prefer-tag","MatchingMode":"exact","MatchingContent":"s1"}],"URI":{"MatchingMode":"exact","MatchingContent":"/mocktest"}},"RouteDestinations":[{"Destination":{"Host":"mocka.default.svc.cluster.local","Subset":"s1"}}]}]', + ], + 'ServiceList' => [ + 'description' => 'Services associated with the lane.'."\n", + 'type' => 'string', + 'example' => '["sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mocka","sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockb","sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockc"]', + ], + 'WeightedIngressDestinatin' => [ + 'description' => 'This parameter is returned only when the IngressRoutingStrategy parameter is set to weighted. This parameter indicates the domain name of Services in each lane and the request routing weight. The value of this parameter is a serialized JSON string.'."\n", + 'type' => 'string', + 'example' => '{"RouteDestination":{"Host":"mocka.default.svc.cluster.local","Subset":"s1"},"Weight":40}', + ], + 'ValidationMessage' => [ + 'description' => 'The verification messages of the lane group. If the service does not exist in the lane group, the verification message is displayed in the verification messages of the lane group.'."\n", + 'type' => 'string', + 'example' => '[{"code":"CODE_UNEFFECTED_SWIMLANE_LABEL","level":"warning","message":"The label selector defined in the ASMSwimLane has no effect on any workload instance."}]', + ], + ], + ], + ], + ], + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"yyyy\\",\\n \\"SwimLaneList\\": [\\n {\\n \\"Name\\": \\"s1\\",\\n \\"GroupName\\": \\"test\\",\\n \\"LabelSelectorKey\\": \\"ASM_TRAFFIC_TAG\\",\\n \\"LabelSelectorValue\\": \\"v1\\",\\n \\"IngressService\\": \\"mocka.default.svc.cluster.local\\",\\n \\"IngressRule\\": \\"[{\\\\\\"Domains\\\\\\":[\\\\\\"*\\\\\\"],\\\\\\"RouteName\\\\\\":\\\\\\"r1\\\\\\",\\\\\\"MatchRequest\\\\\\":{\\\\\\"Headers\\\\\\":[{\\\\\\"Name\\\\\\":\\\\\\"x-asm-prefer-tag\\\\\\",\\\\\\"MatchingMode\\\\\\":\\\\\\"exact\\\\\\",\\\\\\"MatchingContent\\\\\\":\\\\\\"s1\\\\\\"}],\\\\\\"URI\\\\\\":{\\\\\\"MatchingMode\\\\\\":\\\\\\"exact\\\\\\",\\\\\\"MatchingContent\\\\\\":\\\\\\"/mock\\\\\\"}},\\\\\\"RouteDestinations\\\\\\":[{\\\\\\"Destination\\\\\\":{\\\\\\"Host\\\\\\":\\\\\\"mocka.default.svc.cluster.local\\\\\\",\\\\\\"Subset\\\\\\":\\\\\\"s1\\\\\\"}}]},{\\\\\\"Domains\\\\\\":[\\\\\\"*\\\\\\"],\\\\\\"RouteName\\\\\\":\\\\\\"hello\\\\\\",\\\\\\"MatchRequest\\\\\\":{\\\\\\"Headers\\\\\\":[{\\\\\\"Name\\\\\\":\\\\\\"x-asm-prefer-tag\\\\\\",\\\\\\"MatchingMode\\\\\\":\\\\\\"exact\\\\\\",\\\\\\"MatchingContent\\\\\\":\\\\\\"s1\\\\\\"}],\\\\\\"URI\\\\\\":{\\\\\\"MatchingMode\\\\\\":\\\\\\"exact\\\\\\",\\\\\\"MatchingContent\\\\\\":\\\\\\"/mocktest\\\\\\"}},\\\\\\"RouteDestinations\\\\\\":[{\\\\\\"Destination\\\\\\":{\\\\\\"Host\\\\\\":\\\\\\"mocka.default.svc.cluster.local\\\\\\",\\\\\\"Subset\\\\\\":\\\\\\"s1\\\\\\"}}]}]\\",\\n \\"ServiceList\\": \\"[\\\\\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mocka\\\\\\",\\\\\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockb\\\\\\",\\\\\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockc\\\\\\"]\\",\\n \\"WeightedIngressDestinatin\\": \\"{\\\\\\"RouteDestination\\\\\\":{\\\\\\"Host\\\\\\":\\\\\\"mocka.default.svc.cluster.local\\\\\\",\\\\\\"Subset\\\\\\":\\\\\\"s1\\\\\\"},\\\\\\"Weight\\\\\\":40}\\",\\n \\"ValidationMessage\\": \\"[{\\\\\\"code\\\\\\":\\\\\\"CODE_UNEFFECTED_SWIMLANE_LABEL\\\\\\",\\\\\\"level\\\\\\":\\\\\\"warning\\\\\\",\\\\\\"message\\\\\\":\\\\\\"The label selector defined in the ASMSwimLane has no effect on any workload instance.\\\\\\"}]\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetSwimLaneListResponse>\\n <RequestId>yyyy</RequestId>\\n <SwimLaneList>\\n <Name>s1</Name>\\n <GroupName>test</GroupName>\\n <LabelSelectorKey>ASM_TRAFFIC_TAG</LabelSelectorKey>\\n <LabelSelectorValue>v1</LabelSelectorValue>\\n <IngressService>mocka.default.svc.cluster.local</IngressService>\\n <IngressRule>[{\\"Domains\\":[\\"*\\"],\\"RouteName\\":\\"r1\\",\\"MatchRequest\\":{\\"Headers\\":[{\\"Name\\":\\"x-asm-prefer-tag\\",\\"MatchingMode\\":\\"exact\\",\\"MatchingContent\\":\\"s1\\"}],\\"URI\\":{\\"MatchingMode\\":\\"exact\\",\\"MatchingContent\\":\\"/mock\\"}},\\"RouteDestinations\\":[{\\"Destination\\":{\\"Host\\":\\"mocka.default.svc.cluster.local\\",\\"Subset\\":\\"s1\\"}}]},{\\"Domains\\":[\\"*\\"],\\"RouteName\\":\\"hello\\",\\"MatchRequest\\":{\\"Headers\\":[{\\"Name\\":\\"x-asm-prefer-tag\\",\\"MatchingMode\\":\\"exact\\",\\"MatchingContent\\":\\"s1\\"}],\\"URI\\":{\\"MatchingMode\\":\\"exact\\",\\"MatchingContent\\":\\"/mocktest\\"}},\\"RouteDestinations\\":[{\\"Destination\\":{\\"Host\\":\\"mocka.default.svc.cluster.local\\",\\"Subset\\":\\"s1\\"}}]}]</IngressRule>\\n <ServiceList>[\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mocka\\",\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockb\\",\\"sh01/c089443ea9e50403fa4f0a6237d11e0a9/default/mockc\\"]</ServiceList>\\n </SwimLaneList>\\n</GetSwimLaneListResponse>","errorExample":""}]', + 'title' => 'GetSwimLaneList', + ], + 'GetDeploymentBySelector' => [ + 'summary' => 'Queries a list of workloads specified by a label selector.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Alibaba Cloud Service Mesh (ASM) instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ce9fc65def2aa4c918747b9360fbd****', + ], + ], + [ + 'name' => 'GuestCluster', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cbe80a56d07ed45818b4d39273e23****', + ], + ], + [ + 'name' => 'NameSpace', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The namespace.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + [ + 'name' => 'Limit', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of returned data entries.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'Mark', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The marker of data queried last time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'eyJ2IjoibWV0YS5rOHMuaW8vdjEiLCJydiI6NzgxODk3MCwic3RhcnQiOiJuZ2lueDQ1N1x1MDAw****', + ], + ], + [ + 'name' => 'LabelSelector', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The label selector information.'."\n", + 'type' => 'object', + 'required' => false, + 'additionalProperties' => [ + 'type' => 'string', + 'example' => 'app=perth-gateway', + 'description' => 'The label selector.'."\n", + ], + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '946690C2-41D3-55A0-A501-E2FFAB5F****', + ], + 'DeploymentNameList' => [ + 'description' => 'The queried workloads.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The names of the workloads.'."\n", + 'type' => 'string', + 'format' => 'byte', + 'example' => 'httpbin', + ], + ], + 'Mark' => [ + 'description' => 'The end-of-data marker.'."\n", + 'type' => 'string', + 'example' => 'eyJ2IjoibWV0YS5rOHMuaW8vdjEiLCJydiI6NTgyMDUzMzk5MCwic3RhcnQiOiJwbXMtYWRhcHRlci1kZGxsXHUwMDA****', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"946690C2-41D3-55A0-A501-E2FFAB5F8C24\\",\\n \\"DeploymentNameList\\": [\\n \\"httpbin\\"\\n ],\\n \\"Mark\\": \\"eyJ2IjoibWV0YS5rOHMuaW8vdjEiLCJydiI6NTgyMDUzMzk5MCwic3RhcnQiOiJwbXMtYWRhcHRlci1kZGxsXHUwMDAwIn0\\"\\n}","type":"json"}]', + 'title' => 'GetDeploymentBySelector', + ], + 'UpdateControlPlaneLogConfig' => [ + 'summary' => 'Modifies the configuration for collecting control plane logs.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Service Mesh (ASM) instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'c20667db760fe4ee6910220136624****', + ], + ], + [ + 'name' => 'Enabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to collect control plane logs to Simple Log Service.'."\n", + 'type' => 'boolean', + 'required' => true, + 'docRequired' => true, + 'example' => 'false', + ], + ], + [ + 'name' => 'Project', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the Simple Log Service project to which control plane logs are collected.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'aia-asm-deva-sh', + ], + ], + [ + 'name' => 'LogTTLInDay', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The time to live (TTL) period of the collected logs. Unit: day.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '3000', + 'minimum' => '1', + 'example' => '30', + 'default' => '30', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '488F046B-63D2-5D96-9A70-E00C3685D49F', + ], + ], + 'description' => '', + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'ERR404', + 'errorMessage' => 'Not found', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"488F046B-63D2-5D96-9A70-E00C3685D49F\\"\\n}","type":"json"}]', + 'title' => 'UpdateControlPlaneLogConfig', + ], + 'UntagResources' => [ + 'summary' => 'Deletes user tags on a Service Mesh (ASM) instance.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the ASM instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The resource type. Set the value to `servicemesh`.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'servicemesh', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'style' => 'flat', + 'schema' => [ + 'description' => 'The IDs of the ASM instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the ASM instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c418807cb4e5840eab018da7d8f5daa11', + ], + 'required' => true, + 'maxItems' => 50, + 'minItems' => 1, + ], + ], + [ + 'name' => 'TagKey', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => 'The tag keys.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tag key.'."\n" + ."\n" + .'The key of tag N can be up to 64 characters in length, and cannot start with `aliyun` or `acs:`. The tag key cannot contain `http://` or `https://`.'."\n" + ."\n" + .'If multiple tag keys are specified, the logical relation among these tag keys is **OR**. Valid values of **N**: **1** to **20**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TEST_KEY_1', + ], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 1, + ], + ], + [ + 'name' => 'All', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to delete all tags. This parameter takes effect only when the TagKey.N parameter is not specified. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n" + ."\n" + .'Default value: false.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\"\\n}","type":"json"}]', + 'title' => 'UntagResources', + ], + 'ListTagResources' => [ + 'summary' => 'Queries user tags on a Service Mesh (ASM) instance.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the ASM instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The resource type. Set the value to `servicemesh`.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'servicemesh', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'style' => 'flat', + 'schema' => [ + 'description' => 'The IDs of the ASM instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the Nth resource. This parameter specifies the ID of the ASM instance. You can query the IDs of multiple resources. Specify the parameter name in the format of ResourceId.x, such as ResourceId.2 and ResourceId.3. N is a positive integer.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c418807cb4e5840eab018da7d8f5daa11', + ], + 'required' => false, + 'minItems' => 1, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'allowEmptyValue' => false, + 'style' => 'flat', + 'schema' => [ + 'description' => 'The tags. A maximum of 20 tags are supported.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key.'."\n" + ."\n" + .'A tag key can be up to 128 characters in length. The tag key cannot contain `http://` or `https://` and cannot start with `aliyun` or `acs:`.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + 'Value' => [ + 'description' => 'The tag value of the resource.'."\n" + ."\n" + .'The tag value can be left empty or a string of up to 128 characters. The tag value cannot start with aliyun or acs:, and cannot contain http:// or https://.'."\n" + ."\n" + .'Each tag key must have a unique tag value. You can specify at most 20 tag values in each call.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'yahaha', + ], + ], + 'required' => false, + ], + 'required' => false, + 'minItems' => 1, + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '""', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + 'NextToken' => [ + 'description' => 'A pagination token. It can be used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.'."\n", + 'type' => 'string', + 'example' => '""', + ], + 'TagResources' => [ + 'description' => 'The details of the queried clusters and tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'ResourceId' => [ + 'description' => 'The ID of the ASM instance.'."\n", + 'type' => 'string', + 'example' => '863c333b-9a8e-4b53-a13f-52a979362431', + ], + 'ResourceType' => [ + 'description' => 'The resource type. Set the value to `servicemesh`.'."\n", + 'type' => 'string', + 'example' => 'servicemesh', + ], + 'TagKey' => [ + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'example' => 'k1', + ], + 'TagValue' => [ + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'example' => 'yahaha', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\",\\n \\"NextToken\\": \\"\\\\\\"\\\\\\"\\",\\n \\"TagResources\\": [\\n {\\n \\"ResourceId\\": \\"863c333b-9a8e-4b53-a13f-52a97936****\\",\\n \\"ResourceType\\": \\"servicemesh\\",\\n \\"TagKey\\": \\"k1\\",\\n \\"TagValue\\": \\"yahaha\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListTagResources', + ], + 'TagResources' => [ + 'summary' => 'Adds or modifies user tags on a resource.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The region ID of the Service Mesh (ASM) instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The resource type. Set the value to `servicemesh`.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'servicemesh', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'style' => 'flat', + 'schema' => [ + 'description' => 'The IDs of the ASM instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the tagged ASM instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c418807cb4e5840eab018da7d8f5daa11', + ], + 'required' => true, + 'maxItems' => 50, + 'minItems' => 1, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'allowEmptyValue' => false, + 'style' => 'flat', + 'schema' => [ + 'description' => 'The tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag keys.'."\n" + ."\n" + .'The following limits apply:'."\n" + ."\n" + .'* The key of tag N cannot be an empty string.'."\n" + .'* Valid values of N: 1 to 20.'."\n" + .'* The tag key can be up to 128 characters in length.'."\n" + .'* The tag key cannot start with `aliyun` or `acs:`.'."\n" + .'* The tag key cannot contain `http://` or `https://`.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test', + ], + 'Value' => [ + 'description' => 'The tag values.'."\n" + ."\n" + .'The following limits apply:'."\n" + ."\n" + .'* The value of tag N cannot be an empty string.'."\n" + .'* Valid values of N: 1 to 20.'."\n" + .'* The tag value can be up to 128 characters in length.'."\n" + .'* The tag value cannot contain `http://` or `https://`.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'yahaha', + ], + ], + 'required' => true, + ], + 'required' => true, + 'maxItems' => 20, + 'minItems' => 1, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\"\\n}","type":"json"}]', + 'title' => 'TagResources', + ], + 'UpdateWaypoint' => [ + 'summary' => '更新Waypoint', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The Service Mesh (ASM) instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + 'minLength' => 1, + ], + ], + [ + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the cluster on the data plane.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ce3c25e247da24f3aab9b7edfae83****', + 'minLength' => 1, + ], + ], + [ + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The namespace.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'default', + ], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Waypoint名称。', + 'type' => 'string', + 'required' => true, + 'example' => 'bookinfo-reviews', + ], + ], + [ + 'name' => 'RequestCPU', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The number of CPU cores requested by the waypoint proxy pods.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '100m', + ], + ], + [ + 'name' => 'RequestMemory', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The size of the memory requested by the waypoint proxy pods.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '128Mi', + ], + ], + [ + 'name' => 'LimitCPU', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of CPU cores that are available to the waypoint proxy pods.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2000m', + ], + ], + [ + 'name' => 'LimitMemory', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum size of the memory that is available to the waypoint proxy pods.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1024Mi', + ], + ], + [ + 'name' => 'Replicas', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The number of waypoint proxy pods.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '0', + 'example' => '1', + ], + ], + [ + 'name' => 'HPAEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable Horizontal Pod Autoscaling (HPA).'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'HPATargetCPU', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The expected CPU utilization when HPA is enabled.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '0', + 'example' => '91', + ], + ], + [ + 'name' => 'HPATargetMemory', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The expected memory usage when HPA is enabled.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '0', + 'example' => '89', + ], + ], + [ + 'name' => 'HPAMinReplicas', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The minimum number of waypoint proxy pods when HPA is enabled.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '0', + 'example' => '2', + ], + ], + [ + 'name' => 'HPAMaxReplicas', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of waypoint proxy pods when HPA is enabled.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '0', + 'example' => '4', + ], + ], + [ + 'name' => 'PreferECI', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to deploy waypoint proxy pods based on Elastic Container Instance (ECI).'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'Id of the request'."\n", + 'type' => 'string', + 'example' => '71680038-8009-5073-B43E-C057E9******', + 'title' => 'Id of the request', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"71680038-8009-5073-B43E-C057E9******\\"\\n}","type":"json"}]', + 'title' => 'UpdateWaypoint', + ], + 'CreateWaypoint' => [ + 'summary' => '创建Waypoint', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The Service Mesh (ASM) instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ce134b0727aa2492db69f6c3880e****', + 'minLength' => 1, + ], + ], + [ + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the cluster on the data plane.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cb8963379255149cb98c8686f274x****', + 'minLength' => 1, + ], + ], + [ + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The namespace.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'default', + ], + ], + [ + 'name' => 'ServiceAccount', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The service account on which the waypoint proxy takes effect. If you do not specify this parameter, the waypoint proxy takes effect for the entire namespace.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'bookinfo-productpage', + ], + ], + [ + 'name' => 'RequestCPU', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The number of CPU cores requested by the waypoint proxy pods.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '100m', + ], + ], + [ + 'name' => 'RequestMemory', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The size of the memory requested by the waypoint proxy pods.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '128Mi', + ], + ], + [ + 'name' => 'LimitCPU', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of CPU cores that are available to the waypoint proxy pods.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2000m', + ], + ], + [ + 'name' => 'LimitMemory', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum size of the memory that is available to the waypoint proxy pods.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1024Mi', + ], + ], + [ + 'name' => 'Replicas', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The number of waypoint proxy pods.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '0', + 'example' => '1', + ], + ], + [ + 'name' => 'HPAEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable Horizontal Pod Autoscaling (HPA).'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'HPATargetCPU', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The expected CPU utilization when HPA is enabled.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '0', + 'example' => '93', + ], + ], + [ + 'name' => 'HPATargetMemory', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The expected memory usage when HPA is enabled.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '0', + 'example' => '91', + ], + ], + [ + 'name' => 'HPAMinReplicas', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The minimum number of waypoint proxy pods when HPA is enabled.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '0', + 'example' => '2', + ], + ], + [ + 'name' => 'HPAMaxReplicas', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The maximum number of waypoint proxy pods when HPA is enabled.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '0', + 'example' => '4', + ], + ], + [ + 'name' => 'PreferECI', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to deploy waypoint proxy pods based on Elastic Container Instance (ECI).'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '71680038-8009-5073-B43E-C057E9******', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"71680038-8009-5073-B43E-C057E9******\\"\\n}","type":"json"}]', + 'title' => 'CreateWaypoint', + ], + 'DeleteWaypoint' => [ + 'summary' => '删除Waypoint资源', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The Service Mesh (ASM) instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cb8963379255149cb98c8686f274x****', + ], + ], + [ + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the cluster on the data plane.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ce3c25e247da24f3aab9b7edfae83****', + ], + ], + [ + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The namespace.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'default', + ], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Waypoint name.', + 'type' => 'string', + 'required' => true, + 'example' => 'bookinfo-reviews', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\"\\n}","type":"json"}]', + 'title' => 'DeleteWaypoint', + ], + 'ListWaypoints' => [ + 'summary' => 'Queries the configurations of all waypoint proxies in a namespace of a cluster on the data plane.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The Service Mesh (ASM) instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'c08ba3fd1e6484b0f8cc1ad8fe10d****', + 'minLength' => 1, + ], + ], + [ + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the cluster on the data plane.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ce3c25e247da24f3aab9b7edfae83****', + 'minLength' => 1, + ], + ], + [ + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The namespace.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Waypoint which you want to get. If empty, return all waypoints.', + 'type' => 'string', + 'required' => false, + 'example' => 'bookinfo-productpage', + ], + ], + [ + 'name' => 'Limit', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Limit the number of waypoints returned.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '30', + ], + ], + [ + 'name' => 'Continue', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Used in conjunction with Limit, it is used to query waypoints starting from a specified offset. When calling for the first time, no need to care abount it. If the Continue in the returned result is not empty, it means that there is still data that has not been returned, and you need to continue the call with the returned Continue.', + 'type' => 'string', + 'required' => false, + 'example' => 'eyJ2IjoibWV0YS5rOHMuaW8vdjEiLCJydiI6MjY4Njc5Miwic3RhcnQiOiJkZWZhdWx0L2Jvb2tpbmZvLXByb2R1Y3RwYWdlXHUwMDAwIn0', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + 'Waypoints' => [ + 'description' => 'The configurations of waypoint proxies.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The name of the gateway resource for the waypoint proxy. If the waypoint proxy applies to a service account, the name is the service account name. If the waypoint proxy applies to the entire namespace, the name is `namespace`.'."\n", + 'type' => 'string', + 'example' => 'namespace', + ], + 'ServiceAccount' => [ + 'description' => 'The service account to which the waypoint proxy applies. If no value is returned for this parameter, the waypoint proxy applies to the entire namespace.'."\n", + 'type' => 'string', + 'example' => 'bookinfo-productpage', + ], + 'Namespace' => [ + 'description' => 'The namespace.'."\n", + 'type' => 'string', + 'example' => 'default', + ], + 'RequestCPU' => [ + 'description' => 'The amount of CPU resources requested by the waypoint proxy pods.'."\n", + 'type' => 'string', + 'example' => '100m', + ], + 'RequestMemory' => [ + 'description' => 'The amount of memory resources requested by the waypoint proxy pods.'."\n", + 'type' => 'string', + 'example' => '128Mi', + ], + 'LimitCPU' => [ + 'description' => 'The maximum amount of CPU resources that are available to the waypoint proxy pods.'."\n", + 'type' => 'string', + 'example' => '2000m', + ], + 'LimitMemory' => [ + 'description' => 'The maximum amount of memory resources that are available to the waypoint proxy pods.'."\n", + 'type' => 'string', + 'example' => '1024Mi', + ], + 'Replicas' => [ + 'description' => 'The number of waypoint proxy pods.'."\n", + 'type' => 'string', + 'example' => '1', + ], + 'HPAEnabled' => [ + 'description' => 'Indicates whether Horizontal Pod Autoscaling (HPA) is enabled.'."\n", + 'type' => 'string', + 'example' => 'false', + ], + 'HPATargetCPU' => [ + 'description' => 'The expected CPU utilization when HPA is enabled.'."\n", + 'type' => 'string', + 'example' => '93', + ], + 'HPATargetMemory' => [ + 'description' => 'The expected memory usage when HPA is enabled.'."\n", + 'type' => 'string', + 'example' => '91', + ], + 'HPAMinReplicas' => [ + 'description' => 'The minimum number of waypoint proxy pods when HPA is enabled.'."\n", + 'type' => 'string', + 'example' => '2', + ], + 'HPAMaxReplicas' => [ + 'description' => 'The maximum number of waypoint proxy pods when HPA is enabled.'."\n", + 'type' => 'string', + 'example' => '4', + ], + 'PreferECI' => [ + 'description' => 'Indicates whether waypoint proxy pods are preferentially scheduled to elastic container instances.'."\n", + 'type' => 'string', + 'example' => 'false', + ], + ], + ], + ], + 'Continue' => [ + 'description' => 'Base64 encoded string. If it is empty, it means that all waypoints have been obtained; if it is not empty, this value should be included in the next list, and you can continue to obtain it from the offset that ends this time.', + 'type' => 'string', + 'example' => 'eyJ2IjoibWV0YS5rOHMuaW8vdjEiLCJydiI6MjY4Njc5Miwic3RhcnQiOiJkZWZhdWx0L2Jvb2tpbmZvLXByb2R1Y3RwYWdlXHUwMDAwIn0', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\",\\n \\"Waypoints\\": [\\n {\\n \\"Name\\": \\"namespace\\",\\n \\"ServiceAccount\\": \\"bookinfo-productpage\\",\\n \\"Namespace\\": \\"default\\",\\n \\"RequestCPU\\": \\"100m\\",\\n \\"RequestMemory\\": \\"128Mi\\",\\n \\"LimitCPU\\": \\"2000m\\",\\n \\"LimitMemory\\": \\"1024Mi\\",\\n \\"Replicas\\": \\"1\\",\\n \\"HPAEnabled\\": \\"false\\",\\n \\"HPATargetCPU\\": \\"93\\",\\n \\"HPATargetMemory\\": \\"91\\",\\n \\"HPAMinReplicas\\": \\"2\\",\\n \\"HPAMaxReplicas\\": \\"4\\",\\n \\"PreferECI\\": \\"false\\"\\n }\\n ],\\n \\"Continue\\": \\"eyJ2IjoibWV0YS5rOHMuaW8vdjEiLCJydiI6MjY4Njc5Miwic3RhcnQiOiJkZWZhdWx0L2Jvb2tpbmZvLXByb2R1Y3RwYWdlXHUwMDAwIn0\\"\\n}","type":"json"}]', + 'title' => 'ListWaypoints', + ], + 'ListServiceAccounts' => [ + 'summary' => '列举所有服务账号', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Service Mesh (ASM) instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ce134b0727aa2492db69f6c3880e1****', + 'minLength' => 1, + ], + ], + [ + 'name' => 'ClusterId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the cluster on the data plane.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ce3c25e247da24f3aab9b7edfae83****', + 'minLength' => 1, + ], + ], + [ + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The namespace.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '8349374D-0F22-5CAB-9DE3-8CCE8EFA71FF', + ], + 'ServiceAccounts' => [ + 'description' => 'The list of service accounts.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The name of the service account.'."\n", + 'type' => 'string', + 'example' => 'bookinfo-reviews', + ], + 'Namespace' => [ + 'description' => 'The namespace where the service account resides.'."\n", + 'type' => 'string', + 'example' => 'default', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"8349374D-0F22-5CAB-9DE3-8CCE8EFA71FF\\",\\n \\"ServiceAccounts\\": [\\n {\\n \\"Name\\": \\"bookinfo-reviews\\",\\n \\"Namespace\\": \\"default\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListServiceAccounts', + ], + 'UpdateMeshMultiClusterNetwork' => [ + 'summary' => 'Updates the network configurations of multiple Kubernetes clusters in a Service Mesh (ASM) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'chargeType' => 'paid', + 'abilityTreeCode' => '223128', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh4LB119', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the ASM instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cb8963379255149cb98c8686f274x****', + ], + ], + [ + 'name' => 'MultiClusterNetworks', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The network configuration descriptions of multiple Kubernetes clusters. The key in the map is the ID of a Kubernetes cluster, and the value is the network configuration of the cluster.'."\n", + 'type' => 'object', + 'required' => false, + 'additionalProperties' => [ + 'type' => 'object', + 'properties' => [ + 'Network' => [ + 'type' => 'string', + 'required' => false, + 'description' => 'The name of the network.'."\n", + 'example' => 'network1', + ], + 'EnableGateway' => [ + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'description' => 'Indicates whether to enable service access through an east-west gateway for the cluster.'."\n" + ."\n" + .'* true: enables service access through an east-west gateway.'."\n" + .'* false: disables service access through an east-west gateway.'."\n", + ], + 'CustomGatewayAddress' => [ + 'type' => 'string', + 'required' => false, + 'description' => 'The custom address of the east-west gateway. Format: IP:port.'."\n", + 'example' => '8.16x.1x.1x:15443', + ], + ], + 'description' => 'The network configuration of the Kubernetes cluster.'."\n", + ], + ], + ], + ], + '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' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'ERR404', + 'errorMessage' => 'Not found', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\"\\n}","type":"json"}]', + 'title' => 'UpdateMeshMultiClusterNetwork', + ], + 'DescribeMeshMultiClusterNetwork' => [ + 'summary' => 'Queries the network configuration descriptions of multiple Kubernetes clusters in a Service Mesh (ASM) instance.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '223129', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh4LB119', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ccb37ff104caf419fbf48fb38e6f3****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request', + 'type' => 'string', + 'example' => '71680038-8009-5073-B43E-C057E9******', + ], + 'MultiClusterNetworks' => [ + 'description' => '', + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'object', + 'properties' => [ + 'Network' => [ + 'type' => 'string', + 'example' => 'network1', + 'description' => '', + ], + 'EnableGateway' => [ + 'type' => 'boolean', + 'description' => '', + 'example' => 'true', + ], + 'GatewayName' => [ + 'type' => 'string', + 'example' => 'asm-cross-network-ccb37ff104***', + 'description' => '', + ], + 'CustomGatewayAddress' => [ + 'type' => 'string', + 'example' => '8.16x.1x.1x:15443', + 'description' => '', + ], + ], + 'description' => '', + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'ERR404', + 'errorMessage' => 'Not found', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"71680038-8009-5073-B43E-C057E9******\\",\\n \\"MultiClusterNetworks\\": {\\n \\"key\\": {\\n \\"Network\\": \\"network1\\",\\n \\"EnableGateway\\": true,\\n \\"GatewayName\\": \\"asm-cross-network-ccb37ff104***\\",\\n \\"CustomGatewayAddress\\": \\"8.16x.1x.1x:15443\\"\\n }\\n }\\n}","type":"json"}]', + 'title' => 'DescribeMeshMultiClusterNetwork', + ], + 'ModifyPilotEipResource' => [ + 'summary' => 'ModifyPilotEipResource', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '223301', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh4LB119', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'c1f5a67154bec40629c2698ec********', + ], + ], + [ + 'name' => 'Operation', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The type of the operation that you want to perform. Valid values:'."\n" + ."\n" + .'* `UnBindEip`: unbinds an elastic IP address (EIP) from the Istio Pilot.'."\n" + .'* `BindEip`: binds an EIP to the Istio Pilot.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'BindEip', + 'enum' => [ + 'BindEip', + 'UnBindEip', + ], + ], + ], + [ + 'name' => 'EipId', + 'in' => 'formData', + 'schema' => [ + 'description' => '', + 'type' => 'string', + 'required' => false, + 'example' => 'eip-hp36jpqq5eged********', + ], + ], + [ + 'name' => 'IsCanary', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The type of the Istio Pilot with which you want to associate the EIPs. Valid values:'."\n" + ."\n" + .'* `true`: Bind an EIP to the Istio Pilot during canary release (only valid during the canary release).'."\n" + .'* `false`: Bind an EIP to the Istio Pilot in stable state.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '', + 'type' => 'string', + 'example' => 'BD65C0AD-D3C6-48D3-8D93-38D2015C****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'ERR500', + 'errorMessage' => 'An internal server error occurred.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BD65C0AD-D3C6-48D3-8D93-38D2015C****\\"\\n}","type":"json"}]', + 'title' => 'ModifyPilotEipResource', + ], + 'UpdateGuestClusterConfig' => [ + 'summary' => 'Updates the configuration of Guest Cluster', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '256760', + 'abilityTreeNodes' => [ + 'FEATUREservicemesh4LB119', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the ASM instance.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'cb8963379255149cb98c8686f274x****', + ], + ], + [ + 'name' => 'GuestClusterId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the Kubernetes cluster.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'c42186268a27f475c975e5667bb66****', + ], + ], + [ + 'name' => 'SMCEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Specifies whether to enable Shared Memory Communications over Remote Direct Memory Access (SMC-R) optimization. The SMC-R optimization feature uses Alibaba Cloud Linux 3 and elastic remote direct memory access (eRDMA) network devices, which optimizes cross-node communication.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + ], + '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' => '71680038-8009-5073-B43E-C057E9******', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"71680038-8009-5073-B43E-C057E9******\\"\\n}","type":"json"}]', + 'title' => 'UpdateGuestClusterConfig', + ], + 'AddVMIntoServiceMesh' => [ + 'summary' => 'Adds a virtual machine (VM) to a Service Mesh (ASM) instance.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'create', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ccb37ff104caf419fbf48fb38e6f3****', + ], + ], + [ + 'name' => 'EcsId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the ECS instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'i-2ze90ts4e7dj3650****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned results.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '4b2c0fe0-6705-4614-8521-6b9d289163c8', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4b2c0fe0-6705-4614-8521-6b9d289163c8\\"\\n}","errorExample":""},{"type":"xml","example":"<AddVMIntoServiceMeshResponse>\\n <RequestId>4b2c0fe0-6705-4614-8521-6b9d289163c8</RequestId>\\n</AddVMIntoServiceMeshResponse>","errorExample":""}]', + 'title' => 'AddVMIntoServiceMesh', + ], + 'RemoveVMFromServiceMesh' => [ + 'summary' => 'Removes a virtual machine (VM) from a Service Mesh (ASM) instance.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ccb37ff104caf419fbf48fb38e6f3****', + ], + ], + [ + 'name' => 'EcsId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the ECS instance.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'i-2ze90ts4edj3650****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned results.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '4b2c0fe0-6705-4614-8521-6b9d289163c8', + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4b2c0fe0-6705-4614-8521-6b9d289163c8\\"\\n}","errorExample":""},{"type":"xml","example":"<RemoveVMFromServiceMeshResponse>\\n <RequestId>4b2c0fe0-6705-4614-8521-6b9d289163c8</RequestId>\\n</RemoveVMFromServiceMeshResponse>","errorExample":""}]', + 'title' => 'RemoveVMFromServiceMesh', + ], + 'GetVmMeta' => [ + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ce51a7de4a5144db88a864ed91****', + ], + ], + [ + 'name' => 'TrustDomain', + 'in' => 'query', + 'schema' => [ + 'description' => 'The trusted domain. Default value: cluster.local. This parameter is valid only after you set the Namespace and the ServiceAccount parameters.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cluster.local', + ], + ], + [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the namespace. This parameter is valid only after you set the Namespace and the ServiceAccount parameters.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'hello', + ], + ], + [ + 'name' => 'ServiceAccount', + 'in' => 'query', + 'schema' => [ + 'description' => 'The service account. This parameter is valid only after you set the Namespace and the ServiceAccount parameters.'."\n", + 'type' => 'string', + 'required' => false, + 'docRequired' => false, + 'example' => 'http-sa', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'VmMetaInfo' => [ + 'description' => 'The metadata that is required to add a non-containerized application to the ASM instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'HostsContent' => [ + 'description' => 'The content of the hosts file.'."\n", + 'type' => 'string', + 'example' => '....', + ], + 'TokenContent' => [ + 'description' => 'The content of the Token file.'."\n", + 'type' => 'string', + 'example' => '....', + ], + 'EnvoyEnvContent' => [ + 'description' => 'The content of the EnvoyEnv file.'."\n", + 'type' => 'string', + 'example' => '....', + ], + ], + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '9522f7c9-63a1-4603-b850-37d12a****', + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"VmMetaInfo\\": {\\n \\"HostsContent\\": \\"....\\",\\n \\"TokenContent\\": \\"....\\",\\n \\"EnvoyEnvContent\\": \\"....\\"\\n },\\n \\"RequestId\\": \\"9522f7c9-63a1-4603-b850-37d12a****\\"\\n}","errorExample":""},{"type":"xml","example":"<VmMetaInfo>\\n <TokenPath>/.../token</TokenPath>\\n <EnvoyEnvContent>....</EnvoyEnvContent>\\n <CertChainContent>....</CertChainContent>\\n <CertChainPath>/.../cert-chain.pem</CertChainPath>\\n <HostsPath>/.../hosts</HostsPath>\\n <RootCertContent>....</RootCertContent>\\n <RootCertPath>/.../root-cert.pem</RootCertPath>\\n <TokenContent>....</TokenContent>\\n <HostsContent>....</HostsContent>\\n <EnvoyEnvPath>/.../cluster.env</EnvoyEnvPath>\\n <KeyContent>....</KeyContent>\\n <KeyPath>/.../key.pem</KeyPath>\\n</VmMetaInfo>\\n<RequestId>9522f7c9-63a1-4603-b850-37d12a****</RequestId>","errorExample":""}]', + 'title' => 'GetVmMeta', + 'summary' => 'Queries the metadata that is required to add a non-containerized application to a Service Mesh (ASM) instance.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'GetVmAppMeshInfo' => [ + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'docRequired' => true, + 'example' => 'ce51a7de4a5144db88a864****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '9522f7c9-63a1-4603-b850-37d12a****', + ], + 'Data' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'string', + 'example' => '...', + ], + ], + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9522f7c9-63a1-4603-b850-37d12a****\\",\\n \\"Data\\": \\"...\\"\\n}","errorExample":""},{"type":"xml","example":"<RequestId>9522f7c9-63a1-4603-b850-37d12a****</RequestId>\\n<Data>...</Data>","errorExample":""}]', + 'title' => 'GetVmAppMeshInfo', + 'summary' => 'Queries the information about VMs that are added to a Service Mesh (ASM) instance.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeVMsInServiceMesh' => [ + 'summary' => 'Queries the virtual machines (VMs) that are added to a Service Mesh (ASM) instance.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ccb37ff104caf419fbf48fb38e6f3****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned results.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '4b2c0fe0-6705-4614-8521-6b9d289163c8', + ], + 'VMs' => [ + 'description' => 'The VMs that are added to the ASM instance.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => 'The ID of the ECS instance.'."\n", + 'type' => 'string', + 'example' => 'i-2ze45cgxkx4q12e****', + ], + 'HasTag' => [ + 'description' => 'Indicates whether the ECS instance has labels.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'IpAddress' => [ + 'description' => 'The IP address of the ECS instance.'."\n", + 'type' => 'string', + 'example' => '10.0.*,***', + ], + 'HostName' => [ + 'description' => 'The host name.'."\n", + 'type' => 'string', + 'example' => 'iZ2ze45cgxkx4q12eh9l****', + ], + 'Status' => [ + 'description' => 'The state of the ECS instance.'."\n", + 'type' => 'string', + 'example' => 'Running', + ], + 'SecurityGroupIds' => [ + 'description' => 'The security group to which the ECS instance belongs.'."\n", + 'type' => 'string', + 'example' => 'sg-2zeaqy08amco9osl****', + ], + 'Region' => [ + 'description' => 'The region ID.'."\n", + 'type' => 'string', + 'example' => 'cn-beijing', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4b2c0fe0-6705-4614-8521-6b9d289163c8\\",\\n \\"VMs\\": [\\n {\\n \\"InstanceId\\": \\"i-2ze45cgxkx4q12e****\\",\\n \\"HasTag\\": true,\\n \\"IpAddress\\": \\"10.0.*,***\\",\\n \\"HostName\\": \\"iZ2ze45cgxkx4q12eh9l****\\",\\n \\"Status\\": \\"Running\\",\\n \\"SecurityGroupIds\\": \\"sg-2zeaqy08amco9osl****\\",\\n \\"Region\\": \\"cn-beijing\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeVMsInServiceMeshResponse>\\n <RequestId>4b2c0fe0-6705-4614-8521-6b9d289163c8</RequestId>\\n <VMs>\\n <InstanceId>i-2ze45cgxkx4q12e****</InstanceId>\\n <HasTag>true</HasTag>\\n <IpAddress>10.0.*,***</IpAddress>\\n <HostName>iZ2ze45cgxkx4q12eh9l****</HostName>\\n <Status>Running</Status>\\n <SecurityGroupIds>sg-2zeaqy08amco9osl****</SecurityGroupIds>\\n <Region>cn-beijing</Region>\\n </VMs>\\n</DescribeVMsInServiceMeshResponse>","errorExample":""}]', + 'title' => 'DescribeVMsInServiceMesh', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + 'DescribeServiceMeshVMs' => [ + 'summary' => 'Queries the Elastic Compute Service (ECS) instances that reside in the same virtual private cloud (VPC) as a Service Mesh (ASM) instance.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceMeshId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ccb37ff104caf419fbf48fb38e6f****', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The returned results.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '4b2c0fe0-6705-4614-8521-6b9d289163c8', + ], + 'VMs' => [ + 'description' => 'The ECS instances that reside in the same VPC as the ASM instance.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The state of the ECS instance.'."\n", + 'type' => 'string', + 'example' => 'Running', + ], + 'InstanceId' => [ + 'description' => 'The ID of the ECS instance.'."\n", + 'type' => 'string', + 'example' => 'i-2ze0kub9scdguom****', + ], + 'HasTag' => [ + 'description' => 'Indicates whether the ECS instance has labels.'."\n", + 'type' => 'boolean', + 'example' => 'false', + ], + 'IpAddress' => [ + 'description' => 'The IP address of the ECS instance.'."\n", + 'type' => 'string', + 'example' => '192.168.2.241', + ], + 'HostName' => [ + 'description' => 'The host name.'."\n", + 'type' => 'string', + 'example' => 'iZ2ze45cgxkx4q12eh****', + ], + 'SecurityGroupIds' => [ + 'description' => 'The security group to which the ECS instance belongs.'."\n", + 'type' => 'string', + 'example' => 'sg-2zeaqy08amco9osl****', + ], + 'ServiceMeshId' => [ + 'description' => 'The ASM instance ID.'."\n", + 'type' => 'string', + 'example' => 'ccb37ff104caf419fbf48fb38e6f3****', + ], + 'Region' => [ + 'description' => 'The region ID.'."\n", + 'type' => 'string', + 'example' => 'cn-beijing', + ], + ], + ], + ], + ], + ], + ], + ], + 'staticInfo' => [ + 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"4b2c0fe0-6705-4614-8521-6b9d289163c8\\",\\n \\"VMs\\": [\\n {\\n \\"Status\\": \\"Running\\",\\n \\"InstanceId\\": \\"i-2ze0kub9scdguom****\\",\\n \\"HasTag\\": false,\\n \\"IpAddress\\": \\"192.168.2.241\\",\\n \\"HostName\\": \\"iZ2ze45cgxkx4q12eh****\\",\\n \\"SecurityGroupIds\\": \\"sg-2zeaqy08amco9osl****\\",\\n \\"ServiceMeshId\\": \\"ccb37ff104caf419fbf48fb38e6f3****\\",\\n \\"Region\\": \\"cn-beijing\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeServiceMeshVMsResponse>\\n <RequestId>4b2c0fe0-6705-4614-8521-6b9d289163c8</RequestId>\\n <VMs>\\n <Status>Running</Status>\\n <InstanceId>i-2ze0kub9scdguom****</InstanceId>\\n <HasTag>false</HasTag>\\n <IpAddress>192.168.2.241</IpAddress>\\n <HostName>iZ2ze45cgxkx4q12eh****</HostName>\\n <SecurityGroupIds>sg-2zeaqy08amco9osl****</SecurityGroupIds>\\n <ServiceMeshId>ccb37ff104caf419fbf48fb38e6f3****</ServiceMeshId>\\n <Region>cn-beijing</Region>\\n </VMs>\\n</DescribeServiceMeshVMsResponse>","errorExample":""}]', + 'title' => 'DescribeServiceMeshVMs', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + ], + ], + 'endpoints' => [ + [ + 'regionId' => 'cn-qingdao', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + [ + 'regionId' => 'cn-beijing', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + [ + 'regionId' => 'cn-zhangjiakou', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + [ + 'regionId' => 'cn-huhehaote', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + [ + 'regionId' => 'cn-wulanchabu', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hangzhou', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shanghai', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shenzhen', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + [ + 'regionId' => 'cn-chengdu', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hongkong', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + [ + 'regionId' => 'ap-northeast-1', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-1', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-2', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-3', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-5', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + [ + 'regionId' => 'us-east-1', + 'endpoint' => 'servicemesh.us-east-1.aliyuncs.com', + ], + [ + 'regionId' => 'us-west-1', + 'endpoint' => 'servicemesh.us-west-1.aliyuncs.com', + ], + [ + 'regionId' => 'eu-west-1', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + [ + 'regionId' => 'eu-central-1', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + [ + 'regionId' => 'ap-south-1', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + [ + 'regionId' => 'me-east-1', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hangzhou-finance', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shanghai-finance-1', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shenzhen-finance-1', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + [ + 'regionId' => 'cn-beijing-finance-1', + 'endpoint' => 'servicemesh.aliyuncs.com', + ], + ], +]; |
