UNPKG

tencentcloud-sdk-nodejs-intl-en

Version:
620 lines (571 loc) • 25.4 kB
/* * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ const models = require("./models"); const AbstractClient = require('../../common/abstract_client') const UpdateAliasRequest = models.UpdateAliasRequest; const Trigger = models.Trigger; const GetProvisionedConcurrencyConfigRequest = models.GetProvisionedConcurrencyConfigRequest; const ListAliasesResponse = models.ListAliasesResponse; const DeleteLayerVersionResponse = models.DeleteLayerVersionResponse; const GetReservedConcurrencyConfigResponse = models.GetReservedConcurrencyConfigResponse; const RoutingConfig = models.RoutingConfig; const DeleteProvisionedConcurrencyConfigResponse = models.DeleteProvisionedConcurrencyConfigResponse; const VersionWeight = models.VersionWeight; const TimeInterval = models.TimeInterval; const LayerVersionInfo = models.LayerVersionInfo; const PutProvisionedConcurrencyConfigResponse = models.PutProvisionedConcurrencyConfigResponse; const UpdateNamespaceResponse = models.UpdateNamespaceResponse; const PublishLayerVersionResponse = models.PublishLayerVersionResponse; const UsageInfo = models.UsageInfo; const AsyncEvent = models.AsyncEvent; const DeleteReservedConcurrencyConfigResponse = models.DeleteReservedConcurrencyConfigResponse; const GetAliasResponse = models.GetAliasResponse; const UpdateAliasResponse = models.UpdateAliasResponse; const VersionProvisionedConcurrencyInfo = models.VersionProvisionedConcurrencyInfo; const GetFunctionLogsRequest = models.GetFunctionLogsRequest; const StatusReason = models.StatusReason; const Tag = models.Tag; const GetRequestStatusRequest = models.GetRequestStatusRequest; const LogFilter = models.LogFilter; const ListLayerVersionsResponse = models.ListLayerVersionsResponse; const DeleteFunctionRequest = models.DeleteFunctionRequest; const CopyFunctionResponse = models.CopyFunctionResponse; const InvokeFunctionResponse = models.InvokeFunctionResponse; const Namespace = models.Namespace; const ListNamespacesRequest = models.ListNamespacesRequest; const PublishVersionRequest = models.PublishVersionRequest; const DeleteAliasRequest = models.DeleteAliasRequest; const ListVersionByFunctionResponse = models.ListVersionByFunctionResponse; const GetAliasRequest = models.GetAliasRequest; const DeleteNamespaceRequest = models.DeleteNamespaceRequest; const UpdateFunctionCodeRequest = models.UpdateFunctionCodeRequest; const DeleteReservedConcurrencyConfigRequest = models.DeleteReservedConcurrencyConfigRequest; const GetFunctionEventInvokeConfigResponse = models.GetFunctionEventInvokeConfigResponse; const ListTriggersResponse = models.ListTriggersResponse; const TerminateAsyncEventRequest = models.TerminateAsyncEventRequest; const ListLayersRequest = models.ListLayersRequest; const CopyFunctionRequest = models.CopyFunctionRequest; const DeleteNamespaceResponse = models.DeleteNamespaceResponse; const TriggerCount = models.TriggerCount; const NamespaceLimit = models.NamespaceLimit; const ListFunctionsRequest = models.ListFunctionsRequest; const CreateTriggerRequest = models.CreateTriggerRequest; const GetLayerVersionRequest = models.GetLayerVersionRequest; const DeleteFunctionResponse = models.DeleteFunctionResponse; const ListAsyncEventsRequest = models.ListAsyncEventsRequest; const Result = models.Result; const CreateAliasResponse = models.CreateAliasResponse; const LogSearchContext = models.LogSearchContext; const TriggerInfo = models.TriggerInfo; const RequestStatus = models.RequestStatus; const GetAccountRequest = models.GetAccountRequest; const PutTotalConcurrencyConfigResponse = models.PutTotalConcurrencyConfigResponse; const GetAsyncEventStatusRequest = models.GetAsyncEventStatusRequest; const DeleteAliasResponse = models.DeleteAliasResponse; const PublishVersionResponse = models.PublishVersionResponse; const DeleteProvisionedConcurrencyConfigRequest = models.DeleteProvisionedConcurrencyConfigRequest; const TerminateAsyncEventResponse = models.TerminateAsyncEventResponse; const GetFunctionAddressRequest = models.GetFunctionAddressRequest; const InvokeResponse = models.InvokeResponse; const InvokeRequest = models.InvokeRequest; const CreateAliasRequest = models.CreateAliasRequest; const VersionMatch = models.VersionMatch; const UpdateFunctionEventInvokeConfigResponse = models.UpdateFunctionEventInvokeConfigResponse; const PutReservedConcurrencyConfigRequest = models.PutReservedConcurrencyConfigRequest; const ListLayerVersionsRequest = models.ListLayerVersionsRequest; const CreateTriggerResponse = models.CreateTriggerResponse; const PublishLayerVersionRequest = models.PublishLayerVersionRequest; const CreateNamespaceRequest = models.CreateNamespaceRequest; const UpdateTriggerStatusResponse = models.UpdateTriggerStatusResponse; const UpdateFunctionEventInvokeConfigRequest = models.UpdateFunctionEventInvokeConfigRequest; const DeleteLayerVersionRequest = models.DeleteLayerVersionRequest; const Filter = models.Filter; const GetFunctionEventInvokeConfigRequest = models.GetFunctionEventInvokeConfigRequest; const Code = models.Code; const PutTotalConcurrencyConfigRequest = models.PutTotalConcurrencyConfigRequest; const UpdateNamespaceRequest = models.UpdateNamespaceRequest; const GetLayerVersionResponse = models.GetLayerVersionResponse; const GetRequestStatusResponse = models.GetRequestStatusResponse; const AsyncEventStatus = models.AsyncEventStatus; const PutReservedConcurrencyConfigResponse = models.PutReservedConcurrencyConfigResponse; const FunctionLog = models.FunctionLog; const InvokeFunctionRequest = models.InvokeFunctionRequest; const RetryConfig = models.RetryConfig; const GetFunctionAddressResponse = models.GetFunctionAddressResponse; const UpdateTriggerStatusRequest = models.UpdateTriggerStatusRequest; const TriggerAction = models.TriggerAction; const LimitsInfo = models.LimitsInfo; const ListLayersResponse = models.ListLayersResponse; const FunctionVersion = models.FunctionVersion; const AsyncTriggerConfig = models.AsyncTriggerConfig; const ListVersionByFunctionRequest = models.ListVersionByFunctionRequest; const ListFunctionsResponse = models.ListFunctionsResponse; const GetAsyncEventStatusResponse = models.GetAsyncEventStatusResponse; const ListTriggersRequest = models.ListTriggersRequest; const CreateNamespaceResponse = models.CreateNamespaceResponse; const GetReservedConcurrencyConfigRequest = models.GetReservedConcurrencyConfigRequest; const PutProvisionedConcurrencyConfigRequest = models.PutProvisionedConcurrencyConfigRequest; const Function = models.Function; const NamespaceUsage = models.NamespaceUsage; const ListAliasesRequest = models.ListAliasesRequest; const Alias = models.Alias; const GetAccountResponse = models.GetAccountResponse; const GetFunctionLogsResponse = models.GetFunctionLogsResponse; const ImageConfig = models.ImageConfig; const DeleteTriggerResponse = models.DeleteTriggerResponse; const SearchKey = models.SearchKey; const DeleteTriggerRequest = models.DeleteTriggerRequest; const GetProvisionedConcurrencyConfigResponse = models.GetProvisionedConcurrencyConfigResponse; const ListAsyncEventsResponse = models.ListAsyncEventsResponse; const ListNamespacesResponse = models.ListNamespacesResponse; const UpdateFunctionCodeResponse = models.UpdateFunctionCodeResponse; /** * scf client * @class */ class ScfClient extends AbstractClient { constructor(credential, region, profile) { super("scf.intl.tencentcloudapi.com", "2018-04-16", credential, region, profile); } /** * This API is used to update the configuration of an alias. * @param {UpdateAliasRequest} req * @param {function(string, UpdateAliasResponse):void} cb * @public */ UpdateAlias(req, cb) { let resp = new UpdateAliasResponse(); this.request("UpdateAlias", req, resp, cb); } /** * This API is used to update a namespace. * @param {UpdateNamespaceRequest} req * @param {function(string, UpdateNamespaceResponse):void} cb * @public */ UpdateNamespace(req, cb) { let resp = new UpdateNamespaceResponse(); this.request("UpdateNamespace", req, resp, cb); } /** * This API is used to invoke functions synchronously. * @param {InvokeFunctionRequest} req * @param {function(string, InvokeFunctionResponse):void} cb * @public */ InvokeFunction(req, cb) { let resp = new InvokeFunctionResponse(); this.request("InvokeFunction", req, resp, cb); } /** * This API is used to delete a function based on the input parameters. * @param {DeleteFunctionRequest} req * @param {function(string, DeleteFunctionResponse):void} cb * @public */ DeleteFunction(req, cb) { let resp = new DeleteFunctionResponse(); this.request("DeleteFunction", req, resp, cb); } /** * This API is used to terminate a running async function event. * @param {TerminateAsyncEventRequest} req * @param {function(string, TerminateAsyncEventResponse):void} cb * @public */ TerminateAsyncEvent(req, cb) { let resp = new TerminateAsyncEventResponse(); this.request("TerminateAsyncEvent", req, resp, cb); } /** * This API is used to get the function trigger list. * @param {ListTriggersRequest} req * @param {function(string, ListTriggersResponse):void} cb * @public */ ListTriggers(req, cb) { let resp = new ListTriggersResponse(); this.request("ListTriggers", req, resp, cb); } /** * This API is used to query the function version based on the input parameters. * @param {ListVersionByFunctionRequest} req * @param {function(string, ListVersionByFunctionResponse):void} cb * @public */ ListVersionByFunction(req, cb) { let resp = new ListVersionByFunctionResponse(); this.request("ListVersionByFunction", req, resp, cb); } /** * This API is used to get the layer version details, including links used to download files in the layer. * @param {GetLayerVersionRequest} req * @param {function(string, GetLayerVersionResponse):void} cb * @public */ GetLayerVersion(req, cb) { let resp = new GetLayerVersionResponse(); this.request("GetLayerVersion", req, resp, cb); } /** * This API is used to create a trigger based on the input parameters. * @param {CreateTriggerRequest} req * @param {function(string, CreateTriggerResponse):void} cb * @public */ CreateTrigger(req, cb) { let resp = new CreateTriggerResponse(); this.request("CreateTrigger", req, resp, cb); } /** * This API is used to create a namespace based on the input parameters. * @param {CreateNamespaceRequest} req * @param {function(string, CreateNamespaceResponse):void} cb * @public */ CreateNamespace(req, cb) { let resp = new CreateNamespaceResponse(); this.request("CreateNamespace", req, resp, cb); } /** * This API is used to replicate a function. You can store the replicated function in a specified Region and Namespace. Note: This API **does not** replicate the following objects or attributes of the function: 1. Function trigger 2. Versions other than $LATEST 3. CLS target of the logs configured in the function You can manually configure the function after replication as required. * @param {CopyFunctionRequest} req * @param {function(string, CopyFunctionResponse):void} cb * @public */ CopyFunction(req, cb) { let resp = new CopyFunctionResponse(); this.request("CopyFunction", req, resp, cb); } /** * This API returns function running logs according to the specified conditions. Note that this API has been disused. You can use [GetRequestStatus](https://intl.cloud.tencent.com/document/product/583/65348?from_cn_redirect=1) instead. See also [Retrieving Logs](https://intl.cloud.tencent.com/document/product/583/52637?from_cn_redirect=1). * @param {GetFunctionLogsRequest} req * @param {function(string, GetFunctionLogsResponse):void} cb * @public */ GetFunctionLogs(req, cb) { let resp = new GetFunctionLogsResponse(); this.request("GetFunctionLogs", req, resp, cb); } /** * This API is used to return the list of all aliases under a function. You can filter them by the specific function version. * @param {ListAliasesRequest} req * @param {function(string, ListAliasesResponse):void} cb * @public */ ListAliases(req, cb) { let resp = new ListAliasesResponse(); this.request("ListAliases", req, resp, cb); } /** * This API is used to delete an existing trigger based on the input parameters. * @param {DeleteTriggerRequest} req * @param {function(string, DeleteTriggerResponse):void} cb * @public */ DeleteTrigger(req, cb) { let resp = new DeleteTriggerResponse(); this.request("DeleteTrigger", req, resp, cb); } /** * This API is used to get the provisioned concurrency details of a function or its specified version. * @param {GetProvisionedConcurrencyConfigRequest} req * @param {function(string, GetProvisionedConcurrencyConfigResponse):void} cb * @public */ GetProvisionedConcurrencyConfig(req, cb) { let resp = new GetProvisionedConcurrencyConfigResponse(); this.request("GetProvisionedConcurrencyConfig", req, resp, cb); } /** * This API is used to create a version for a layer by using the given .zip file or COS object. Each time this API is called with the same layer name, a new version will be generated. * @param {PublishLayerVersionRequest} req * @param {function(string, PublishLayerVersionResponse):void} cb * @public */ PublishLayerVersion(req, cb) { let resp = new PublishLayerVersionResponse(); this.request("PublishLayerVersion", req, resp, cb); } /** * This API is used to run a function. * @param {InvokeRequest} req * @param {function(string, InvokeResponse):void} cb * @public */ Invoke(req, cb) { let resp = new InvokeResponse(); this.request("Invoke", req, resp, cb); } /** * This API is used for users to release a new version of the function. * @param {PublishVersionRequest} req * @param {function(string, PublishVersionResponse):void} cb * @public */ PublishVersion(req, cb) { let resp = new PublishVersionResponse(); this.request("PublishVersion", req, resp, cb); } /** * This API is used to delete a specified version of a specified layer. The deleted version cannot be associated with a function, but the deletion does not affect functions that are referencing this layer. * @param {DeleteLayerVersionRequest} req * @param {function(string, DeleteLayerVersionResponse):void} cb * @public */ DeleteLayerVersion(req, cb) { let resp = new DeleteLayerVersionResponse(); this.request("DeleteLayerVersion", req, resp, cb); } /** * This API is used to delete an alias of a function version. * @param {DeleteAliasRequest} req * @param {function(string, DeleteAliasResponse):void} cb * @public */ DeleteAlias(req, cb) { let resp = new DeleteAliasResponse(); this.request("DeleteAlias", req, resp, cb); } /** * This API is used to get the status of an async function execution event. The event status is retained for 3*24 hours, counting from the completion of the event. * @param {GetAsyncEventStatusRequest} req * @param {function(string, GetAsyncEventStatusResponse):void} cb * @public */ GetAsyncEventStatus(req, cb) { let resp = new GetAsyncEventStatusResponse(); this.request("GetAsyncEventStatus", req, resp, cb); } /** * This API is used to delete the specific namespace according to the parameters passed in. * @param {DeleteNamespaceRequest} req * @param {function(string, DeleteNamespaceResponse):void} cb * @public */ DeleteNamespace(req, cb) { let resp = new DeleteNamespaceResponse(); this.request("DeleteNamespace", req, resp, cb); } /** * This API is used to update the trigger status. * @param {UpdateTriggerStatusRequest} req * @param {function(string, UpdateTriggerStatusResponse):void} cb * @public */ UpdateTriggerStatus(req, cb) { let resp = new UpdateTriggerStatusResponse(); this.request("UpdateTriggerStatus", req, resp, cb); } /** * This API is used to create an alias for a function version. You can use the alias to mark a specific function version such as DEV/RELEASE. You can also modify the version pointed to by the alias at any time. An alias must point to a master version and can point to an additional version at the same time. If you specify an alias when invoking a function, the request will be sent to the versions pointed to by the alias. You can configure the ratio between the master version and additional version during request sending. * @param {CreateAliasRequest} req * @param {function(string, CreateAliasResponse):void} cb * @public */ CreateAlias(req, cb) { let resp = new CreateAliasResponse(); this.request("CreateAlias", req, resp, cb); } /** * This API is used to set the provisioned concurrency of a non-$LATEST version of a function. * @param {PutProvisionedConcurrencyConfigRequest} req * @param {function(string, PutProvisionedConcurrencyConfigResponse):void} cb * @public */ PutProvisionedConcurrencyConfig(req, cb) { let resp = new PutProvisionedConcurrencyConfigResponse(); this.request("PutProvisionedConcurrencyConfig", req, resp, cb); } /** * This API is used to update the async retry configuration of a function, including the number of retry attempts and message retention period. * @param {UpdateFunctionEventInvokeConfigRequest} req * @param {function(string, UpdateFunctionEventInvokeConfigResponse):void} cb * @public */ UpdateFunctionEventInvokeConfig(req, cb) { let resp = new UpdateFunctionEventInvokeConfigResponse(); this.request("UpdateFunctionEventInvokeConfig", req, resp, cb); } /** * This API is used to get the async retry configuration of a function, including the number of retry attempts and message retention period. * @param {GetFunctionEventInvokeConfigRequest} req * @param {function(string, GetFunctionEventInvokeConfigResponse):void} cb * @public */ GetFunctionEventInvokeConfig(req, cb) { let resp = new GetFunctionEventInvokeConfigResponse(); this.request("GetFunctionEventInvokeConfig", req, resp, cb); } /** * This API is used to return the list of all layers, including the information of the latest version of each layer. You can filter them by the compatible runtime. * @param {ListLayersRequest} req * @param {function(string, ListLayersResponse):void} cb * @public */ ListLayers(req, cb) { let resp = new ListLayersResponse(); this.request("ListLayers", req, resp, cb); } /** * This API is used to pull the list of async function events. * @param {ListAsyncEventsRequest} req * @param {function(string, ListAsyncEventsResponse):void} cb * @public */ ListAsyncEvents(req, cb) { let resp = new ListAsyncEventsResponse(); this.request("ListAsyncEvents", req, resp, cb); } /** * This API is used to get the information of all versions of a specified layer. * @param {ListLayerVersionsRequest} req * @param {function(string, ListLayerVersionsResponse):void} cb * @public */ ListLayerVersions(req, cb) { let resp = new ListLayerVersionsResponse(); this.request("ListLayerVersions", req, resp, cb); } /** * This API is used to obtain the reserved quota details of a function. * @param {GetReservedConcurrencyConfigRequest} req * @param {function(string, GetReservedConcurrencyConfigResponse):void} cb * @public */ GetReservedConcurrencyConfig(req, cb) { let resp = new GetReservedConcurrencyConfigResponse(); this.request("GetReservedConcurrencyConfig", req, resp, cb); } /** * This API is used to return relevant function information based on the input query parameters. * @param {ListFunctionsRequest} req * @param {function(string, ListFunctionsResponse):void} cb * @public */ ListFunctions(req, cb) { let resp = new ListFunctionsResponse(); this.request("ListFunctions", req, resp, cb); } /** * This API is used to configure the reserved quota of a function. * @param {PutReservedConcurrencyConfigRequest} req * @param {function(string, PutReservedConcurrencyConfigResponse):void} cb * @public */ PutReservedConcurrencyConfig(req, cb) { let resp = new PutReservedConcurrencyConfigResponse(); this.request("PutReservedConcurrencyConfig", req, resp, cb); } /** * This API is used to get the account information. * @param {GetAccountRequest} req * @param {function(string, GetAccountResponse):void} cb * @public */ GetAccount(req, cb) { let resp = new GetAccountResponse(); this.request("GetAccount", req, resp, cb); } /** * This API is used to delete the configuration of reserved quota. * @param {DeleteReservedConcurrencyConfigRequest} req * @param {function(string, DeleteReservedConcurrencyConfigResponse):void} cb * @public */ DeleteReservedConcurrencyConfig(req, cb) { let resp = new DeleteReservedConcurrencyConfigResponse(); this.request("DeleteReservedConcurrencyConfig", req, resp, cb); } /** * This API is used to delete the provisioned concurrency configuration of a function version. * @param {DeleteProvisionedConcurrencyConfigRequest} req * @param {function(string, DeleteProvisionedConcurrencyConfigResponse):void} cb * @public */ DeleteProvisionedConcurrencyConfig(req, cb) { let resp = new DeleteProvisionedConcurrencyConfigResponse(); this.request("DeleteProvisionedConcurrencyConfig", req, resp, cb); } /** * This API is used to obtain the download address of the function code package. * @param {GetFunctionAddressRequest} req * @param {function(string, GetFunctionAddressResponse):void} cb * @public */ GetFunctionAddress(req, cb) { let resp = new GetFunctionAddressResponse(); this.request("GetFunctionAddress", req, resp, cb); } /** * This API is used to get the alias details such as the name, description, version, and routing information. * @param {GetAliasRequest} req * @param {function(string, GetAliasResponse):void} cb * @public */ GetAlias(req, cb) { let resp = new GetAliasResponse(); this.request("GetAlias", req, resp, cb); } /** * This API is used to modify the account concurrency quota. * @param {PutTotalConcurrencyConfigRequest} req * @param {function(string, PutTotalConcurrencyConfigResponse):void} cb * @public */ PutTotalConcurrencyConfig(req, cb) { let resp = new PutTotalConcurrencyConfigResponse(); this.request("PutTotalConcurrencyConfig", req, resp, cb); } /** * This API is used to display a namespace list. * @param {ListNamespacesRequest} req * @param {function(string, ListNamespacesResponse):void} cb * @public */ ListNamespaces(req, cb) { let resp = new ListNamespacesResponse(); this.request("ListNamespaces", req, resp, cb); } /** * This API is used to update the function code based on the input parameters. * @param {UpdateFunctionCodeRequest} req * @param {function(string, UpdateFunctionCodeResponse):void} cb * @public */ UpdateFunctionCode(req, cb) { let resp = new UpdateFunctionCodeResponse(); this.request("UpdateFunctionCode", req, resp, cb); } /** * This API is used to query the status of a single function request. * @param {GetRequestStatusRequest} req * @param {function(string, GetRequestStatusResponse):void} cb * @public */ GetRequestStatus(req, cb) { let resp = new GetRequestStatusResponse(); this.request("GetRequestStatus", req, resp, cb); } } module.exports = ScfClient;