v2

package
v0.0.19-beta Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 31, 2020 License: Apache-2.0, BSD-2-Clause, BSD-3-Clause Imports: 4 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ApigClientBuilder

func ApigClientBuilder() *http_client.HcHttpClientBuilder

func GenReqDefForAssociateCertificateV2

func GenReqDefForAssociateCertificateV2() *def.HttpRequestDef

func GenReqDefForAssociateDomainV2

func GenReqDefForAssociateDomainV2() *def.HttpRequestDef

func GenReqDefForAssociateRequestThrottlingPolicyV2

func GenReqDefForAssociateRequestThrottlingPolicyV2() *def.HttpRequestDef

func GenReqDefForAssociateSignatureKeyV2

func GenReqDefForAssociateSignatureKeyV2() *def.HttpRequestDef

func GenReqDefForBatchDisassociateThrottlingPolicyV2

func GenReqDefForBatchDisassociateThrottlingPolicyV2() *def.HttpRequestDef

func GenReqDefForCancelingAuthorizationV2

func GenReqDefForCancelingAuthorizationV2() *def.HttpRequestDef

func GenReqDefForCheckAppV2

func GenReqDefForCheckAppV2() *def.HttpRequestDef

func GenReqDefForCreateAnAppV2

func GenReqDefForCreateAnAppV2() *def.HttpRequestDef

func GenReqDefForCreateApiGroupV2

func GenReqDefForCreateApiGroupV2() *def.HttpRequestDef

func GenReqDefForCreateApiV2

func GenReqDefForCreateApiV2() *def.HttpRequestDef

func GenReqDefForCreateAuthorizingAppsV2

func GenReqDefForCreateAuthorizingAppsV2() *def.HttpRequestDef

func GenReqDefForCreateEnvironmentV2

func GenReqDefForCreateEnvironmentV2() *def.HttpRequestDef

func GenReqDefForCreateEnvironmentVariableV2

func GenReqDefForCreateEnvironmentVariableV2() *def.HttpRequestDef

func GenReqDefForCreateOrDeletePublishRecordForApiV2

func GenReqDefForCreateOrDeletePublishRecordForApiV2() *def.HttpRequestDef

func GenReqDefForCreateRequestThrottlingPolicyV2

func GenReqDefForCreateRequestThrottlingPolicyV2() *def.HttpRequestDef

func GenReqDefForCreateSignatureKeyV2

func GenReqDefForCreateSignatureKeyV2() *def.HttpRequestDef

func GenReqDefForCreateSpecialThrottlingConfigurationV2

func GenReqDefForCreateSpecialThrottlingConfigurationV2() *def.HttpRequestDef

func GenReqDefForDeleteApiGroupV2

func GenReqDefForDeleteApiGroupV2() *def.HttpRequestDef

func GenReqDefForDeleteApiV2

func GenReqDefForDeleteApiV2() *def.HttpRequestDef

func GenReqDefForDeleteAppV2

func GenReqDefForDeleteAppV2() *def.HttpRequestDef

func GenReqDefForDeleteEnvironmentV2

func GenReqDefForDeleteEnvironmentV2() *def.HttpRequestDef

func GenReqDefForDeleteEnvironmentVariableV2

func GenReqDefForDeleteEnvironmentVariableV2() *def.HttpRequestDef

func GenReqDefForDeleteRequestThrottlingPolicyV2

func GenReqDefForDeleteRequestThrottlingPolicyV2() *def.HttpRequestDef

func GenReqDefForDeleteSignatureKeyV2

func GenReqDefForDeleteSignatureKeyV2() *def.HttpRequestDef

func GenReqDefForDeleteSpecialThrottlingConfigurationV2

func GenReqDefForDeleteSpecialThrottlingConfigurationV2() *def.HttpRequestDef

func GenReqDefForDisassociateCertificateV2

func GenReqDefForDisassociateCertificateV2() *def.HttpRequestDef

func GenReqDefForDisassociateDomainV2

func GenReqDefForDisassociateDomainV2() *def.HttpRequestDef

func GenReqDefForDisassociateRequestThrottlingPolicyV2

func GenReqDefForDisassociateRequestThrottlingPolicyV2() *def.HttpRequestDef

func GenReqDefForDisassociateSignatureKeyV2

func GenReqDefForDisassociateSignatureKeyV2() *def.HttpRequestDef

func GenReqDefForListApiGroupsQuantitiesV2

func GenReqDefForListApiGroupsQuantitiesV2() *def.HttpRequestDef

func GenReqDefForListApiGroupsV2

func GenReqDefForListApiGroupsV2() *def.HttpRequestDef

func GenReqDefForListApiQuantitiesV2

func GenReqDefForListApiQuantitiesV2() *def.HttpRequestDef

func GenReqDefForListApisBindedToAppV2

func GenReqDefForListApisBindedToAppV2() *def.HttpRequestDef

func GenReqDefForListApisBindedToRequestThrottlingPolicyV2

func GenReqDefForListApisBindedToRequestThrottlingPolicyV2() *def.HttpRequestDef

func GenReqDefForListApisBindedToSignatureKeyV2

func GenReqDefForListApisBindedToSignatureKeyV2() *def.HttpRequestDef

func GenReqDefForListApisNotBoundWithSignatureKeyV2

func GenReqDefForListApisNotBoundWithSignatureKeyV2() *def.HttpRequestDef

func GenReqDefForListApisUnbindedToAppV2

func GenReqDefForListApisUnbindedToAppV2() *def.HttpRequestDef

func GenReqDefForListApisUnbindedToRequestThrottlingPolicyV2

func GenReqDefForListApisUnbindedToRequestThrottlingPolicyV2() *def.HttpRequestDef

func GenReqDefForListApisV2

func GenReqDefForListApisV2() *def.HttpRequestDef

func GenReqDefForListAppQuantitiesV2

func GenReqDefForListAppQuantitiesV2() *def.HttpRequestDef

func GenReqDefForListAppsBindedToApiV2

func GenReqDefForListAppsBindedToApiV2() *def.HttpRequestDef

func GenReqDefForListAppsV2

func GenReqDefForListAppsV2() *def.HttpRequestDef

func GenReqDefForListEnvironmentVariablesV2

func GenReqDefForListEnvironmentVariablesV2() *def.HttpRequestDef

func GenReqDefForListEnvironmentsV2

func GenReqDefForListEnvironmentsV2() *def.HttpRequestDef

func GenReqDefForListRequestThrottlingPoliciesBindedToApiV2

func GenReqDefForListRequestThrottlingPoliciesBindedToApiV2() *def.HttpRequestDef

func GenReqDefForListRequestThrottlingPolicyV2

func GenReqDefForListRequestThrottlingPolicyV2() *def.HttpRequestDef

func GenReqDefForListSignatureKeysBindedToApiV2

func GenReqDefForListSignatureKeysBindedToApiV2() *def.HttpRequestDef

func GenReqDefForListSignatureKeysV2

func GenReqDefForListSignatureKeysV2() *def.HttpRequestDef

func GenReqDefForListSpecialThrottlingConfigurationsV2

func GenReqDefForListSpecialThrottlingConfigurationsV2() *def.HttpRequestDef

func GenReqDefForResettingAppSecretV2

func GenReqDefForResettingAppSecretV2() *def.HttpRequestDef

func GenReqDefForShowDetailsOfApiGroupV2

func GenReqDefForShowDetailsOfApiGroupV2() *def.HttpRequestDef

func GenReqDefForShowDetailsOfApiV2

func GenReqDefForShowDetailsOfApiV2() *def.HttpRequestDef

func GenReqDefForShowDetailsOfAppV2

func GenReqDefForShowDetailsOfAppV2() *def.HttpRequestDef

func GenReqDefForShowDetailsOfDomainNameCertificateV2

func GenReqDefForShowDetailsOfDomainNameCertificateV2() *def.HttpRequestDef

func GenReqDefForShowDetailsOfEnvironmentVariableV2

func GenReqDefForShowDetailsOfEnvironmentVariableV2() *def.HttpRequestDef

func GenReqDefForShowDetailsOfRequestThrottlingPolicyV2

func GenReqDefForShowDetailsOfRequestThrottlingPolicyV2() *def.HttpRequestDef

func GenReqDefForUpdateApiGroupV2

func GenReqDefForUpdateApiGroupV2() *def.HttpRequestDef

func GenReqDefForUpdateApiV2

func GenReqDefForUpdateApiV2() *def.HttpRequestDef

func GenReqDefForUpdateAppV2

func GenReqDefForUpdateAppV2() *def.HttpRequestDef

func GenReqDefForUpdateEnvironmentV2

func GenReqDefForUpdateEnvironmentV2() *def.HttpRequestDef

func GenReqDefForUpdateRequestThrottlingPolicyV2

func GenReqDefForUpdateRequestThrottlingPolicyV2() *def.HttpRequestDef

func GenReqDefForUpdateSignatureKeyV2

func GenReqDefForUpdateSignatureKeyV2() *def.HttpRequestDef

func GenReqDefForUpdateSpecialThrottlingConfigurationV2

func GenReqDefForUpdateSpecialThrottlingConfigurationV2() *def.HttpRequestDef

Types

type ApigClient

type ApigClient struct {
	// contains filtered or unexported fields
}

func NewApigClient

func NewApigClient(hcClient *http_client.HcHttpClient) *ApigClient

func (*ApigClient) AssociateCertificateV2

如果创建API时,“定义API请求”使用HTTPS请求协议,那么在独立域名中需要添加SSL证书。 本章节主要介绍为特定域名绑定证书。

func (*ApigClient) AssociateDomainV2

用户自定义的域名,需要CNAME到API分组的子域名上才能生效,具体方法请参见[增加CNAME类型记录集](https://support.huaweicloud.com/usermanual-dns/dns_usermanual_0010.html)。 每个API分组下最多可绑定5个域名。绑定域名后,用户可通过自定义域名调用API。

func (*ApigClient) AssociateRequestThrottlingPolicyV2

将流控策略应用于API,则所有对该API的访问将会受到该流控策略的限制。 当一定时间内的访问次数超过流控策略设置的API最大访问次数限制后,后续的访问将会被拒绝,从而能够较好的保护后端API免受异常流量的冲击,保障服务的稳定运行。 为指定的API绑定流控策略,绑定时,需要指定在哪个环境上生效。同一个API发布到不同的环境可以绑定不同的流控策略;一个API在发布到特定环境后只能绑定一个默认的流控策略。

func (*ApigClient) AssociateSignatureKeyV2

签名密钥创建后,需要绑定到API才能生效。 将签名密钥绑定到API后,则API网关请求后端服务时就会使用这个签名密钥进行加密签名,后端服务可以校验这个签名来验证请求来源。 将指定的签名密钥绑定到一个或多个已发布的API上。同一个API发布到不同的环境可以绑定不同的签名密钥;一个API在发布到特定环境后只能绑定一个签名密钥。

func (*ApigClient) BatchDisassociateThrottlingPolicyV2

批量解除API与流控策略的绑定关系

func (*ApigClient) CancelingAuthorizationV2

解除API对APP的授权关系。解除授权后,APP将不再能够调用该API。

func (*ApigClient) CheckAppV2

func (c *ApigClient) CheckAppV2(request *model.CheckAppV2Request) (*model.CheckAppV2Response, error)

校验app是否存在,非APP所有者可以调用该接口校验APP是否真实存在。这个接口只展示app的基本信息id 、name、 remark,其他信息不显示。

func (*ApigClient) CreateAnAppV2

func (c *ApigClient) CreateAnAppV2(request *model.CreateAnAppV2Request) (*model.CreateAnAppV2Response, error)

APP即应用,是一个可以访问API的身份标识。将API授权给APP后,APP即可调用API。 创建一个APP。

func (*ApigClient) CreateApiGroupV2

func (c *ApigClient) CreateApiGroupV2(request *model.CreateApiGroupV2Request) (*model.CreateApiGroupV2Response, error)

API分组是API的管理单元,一个API分组等同于一个服务入口,创建API分组时,返回一个子域名作为访问入口。建议一个API分组下的API具有一定的相关性。

func (*ApigClient) CreateApiV2

func (c *ApigClient) CreateApiV2(request *model.CreateApiV2Request) (*model.CreateApiV2Response, error)

添加一个API,API即一个服务接口,具体的服务能力。 API分为两部分,第一部分为面向API使用者的API接口,定义了使用者如何调用这个API。第二部分面向API提供者,由API提供者定义这个API的真实的后端情况,定义了API网关如何去访问真实的后端服务。API的真实后端服务目前支持三种类型:传统的HTTP/HTTPS形式的web后端、函数工作流、MOCK。

func (*ApigClient) CreateAuthorizingAppsV2

APP创建成功后,还不能访问API,如果想要访问某个环境上的API,需要将该API在该环境上授权给APP。授权成功后,APP即可访问该环境上的这个API。

func (*ApigClient) CreateEnvironmentV2

在实际的生产中,API提供者可能有多个环境,如开发环境、测试环境、生产环境等,用户可以自由将API发布到某个环境,供调用者调用。 对于不同的环境,API的版本、请求地址甚至于包括请求消息等均有可能不同。如:某个API,v1.0的版本为稳定版本,发布到了生产环境供生产使用,同时,该API正处于迭代中,v1.1的版本是开发人员交付测试人员进行测试的版本,发布在测试环境上,而v1.2的版本目前开发团队正处于开发过程中,可以发布到开发环境进行自测等。 为此,API网关提供多环境管理功能,使租户能够最大化的模拟实际场景,低成本的接入API网关。

func (*ApigClient) CreateEnvironmentVariableV2

将API发布到不同的环境后,对于不同的环境,可能会有不同的环境变量,比如,API的服务部署地址,请求的版本号等。 用户可以定义不同的环境变量,用户在定义API时,在API的定义中使用这些变量,当调用API时,API网关会将这些变量替换成真实的变量值,以达到不同环境的区分效果。 环境变量定义在API分组上,该分组下的所有API都可以使用这些变量。 > 1.环境变量的变量名称必须保持唯一,即一个分组在同一个环境上不能有两个同名的变量 2.环境变量区分大小写,即变量ABC与变量abc是两个不同的变量 3.设置了环境变量后,使用到该变量的API的调试功能将不可使用。 4.定义了环境变量后,使用到环境变量的地方应该以对称的#标识环境变量,当API发布到相应的环境后,会对环境变量的值进行替换,如:定义的API的URL为:https://#address#:8080,环境变量address在RELEASE环境上的值为:192.168.1.5,则API发布到RELEASE环境后的真实的URL为:https://192.168.1.5:8080

func (*ApigClient) CreateOrDeletePublishRecordForApiV2

对API进行发布或下线。 发布操作是将一个指定的API发布到一个指定的环境,API只有发布后,才能够被调用,且只能在该环境上才能被调用。未发布的API无法被调用。 下线操作是将API从某个已发布的环境上下线,下线后,API将无法再被调用。

func (*ApigClient) CreateRequestThrottlingPolicyV2

当API上线后,系统会默认给每个API提供一个流控策略,API提供者可以根据自身API的服务能力及负载情况变更这个流控策略。 流控策略即限制API在一定长度的时间内,能够允许被访问的最大次数。

func (*ApigClient) CreateSignatureKeyV2

为了保护API的安全性,建议租户为API的访问提供一套保护机制,即租户开放的API,需要对请求来源进行认证,不符合认证的请求直接拒绝访问。 其中,签名密钥就是API安全保护机制的一种。 租户创建一个签名密钥,并将签名密钥与API进行绑定,则API网关在请求这个API时,就会使用绑定的签名密钥对请求参数进行数据加密,生成签名。当租户的后端服务收到请求时,可以校验这个签名,如果签名校验不通过,则该请求不是API网关发出的请求,租户可以拒绝这个请求,从而保证API的安全性,避免API被未知来源的请求攻击。

func (*ApigClient) CreateSpecialThrottlingConfigurationV2

流控策略可以限制一段时间内可以访问API的最大次数,也可以限制一段时间内单个租户和单个APP可以访问API的最大次数。 如果想要对某个特定的APP进行特殊设置,例如设置所有APP每分钟的访问次数为500次,但想设置APP1每分钟的访问次数为800次,可以通过在流控策略中设置特殊APP来实现该功能。 为流控策略添加一个特殊设置的对象,可以是APP,也可以是租户。

func (*ApigClient) DeleteApiGroupV2

func (c *ApigClient) DeleteApiGroupV2(request *model.DeleteApiGroupV2Request) (*model.DeleteApiGroupV2Response, error)

删除指定的API分组。 删除时,会一并删除直接或间接关联到该分组下的所有资源,包括API、独立域名、SSL证书、上架信息、分组下所有API的授权信息、编排信息、白名单配置、认证增强信息等等。并会将外部域名与子域名的绑定关系进行解除(取决于域名cname方式)。

func (*ApigClient) DeleteApiV2

func (c *ApigClient) DeleteApiV2(request *model.DeleteApiV2Request) (*model.DeleteApiV2Response, error)

删除指定的API。 删除API时,会删除该API所有相关的资源信息或绑定关系,如API的发布记录,绑定的后端服务,对APP的授权信息等。

func (*ApigClient) DeleteAppV2

func (c *ApigClient) DeleteAppV2(request *model.DeleteAppV2Request) (*model.DeleteAppV2Response, error)

删除指定的APP。 APP删除后,将无法再调用任何API;其中,云市场自动创建的APP无法被删除。

func (*ApigClient) DeleteEnvironmentV2

删除指定的环境。 该操作将导致此API在指定的环境无法被访问,可能会影响相当一部分应用和用户。请确保已经告知用户,或者确认需要强制下线。

func (*ApigClient) DeleteEnvironmentVariableV2

删除指定的环境变量。

func (*ApigClient) DeleteRequestThrottlingPolicyV2

删除指定的流控策略,以及该流控策略与API的所有绑定关系。

func (*ApigClient) DeleteSignatureKeyV2

删除指定的签名密钥,删除签名密钥时,其配置的绑定关系会一并删除,相应的签名密钥会失效。

func (*ApigClient) DeleteSpecialThrottlingConfigurationV2

删除某个流控策略的某个特殊配置。

func (*ApigClient) DisassociateCertificateV2

如果域名证书不再需要或者已过期,则可以删除证书内容。

func (*ApigClient) DisassociateDomainV2

如果API分组不再需要绑定某个自定义域名,则可以为此API分组解绑此域名。

func (*ApigClient) DisassociateRequestThrottlingPolicyV2

解除API与流控策略的绑定关系。

func (*ApigClient) DisassociateSignatureKeyV2

解除API与签名密钥的绑定关系。

func (*ApigClient) ListApiGroupsQuantitiesV2

查询租户名下的API分组概况。

func (*ApigClient) ListApiGroupsV2

func (c *ApigClient) ListApiGroupsV2(request *model.ListApiGroupsV2Request) (*model.ListApiGroupsV2Response, error)

查询API分组列表。 如果是租户操作,则查询该租户下所有的分组;如果是管理员操作,则查询的是所有租户的分组。

func (*ApigClient) ListApiQuantitiesV2

查询租户名下的API概况:已发布到RELEASE环境的API个数,未发布到RELEASE环境的API个数。

func (*ApigClient) ListApisBindedToAppV2

查询APP已经绑定的API列表。

func (*ApigClient) ListApisBindedToRequestThrottlingPolicyV2

查询某个流控策略上已经绑定的API列表。

func (*ApigClient) ListApisBindedToSignatureKeyV2

查询某个签名密钥上已经绑定的API列表。

func (*ApigClient) ListApisNotBoundWithSignatureKeyV2

查询所有未绑定到该签名密钥上的API列表。需要API已经发布,未发布的API不予展示。

func (*ApigClient) ListApisUnbindedToAppV2

查询指定环境上某个APP未绑定的API列表,包括自有API和从云市场购买的API。

func (*ApigClient) ListApisUnbindedToRequestThrottlingPolicyV2

查询所有未绑定到该流控策略上的自有API列表。需要API已经发布,未发布的API不予展示。

func (*ApigClient) ListApisV2

func (c *ApigClient) ListApisV2(request *model.ListApisV2Request) (*model.ListApisV2Response, error)

查看API列表,返回API详细信息、发布信息等,但不能查看到后端服务信息。

func (*ApigClient) ListAppQuantitiesV2

查询租户名下的APP概况:已进行API访问授权的APP个数,未进行API访问授权的APP个数。

func (*ApigClient) ListAppsBindedToApiV2

查询API绑定的APP列表。

func (*ApigClient) ListAppsV2

func (c *ApigClient) ListAppsV2(request *model.ListAppsV2Request) (*model.ListAppsV2Response, error)

查询APP列表。

func (*ApigClient) ListEnvironmentVariablesV2

查询分组下的所有环境变量的列表。

func (*ApigClient) ListEnvironmentsV2

查询符合条件的环境列表。

func (*ApigClient) ListRequestThrottlingPoliciesBindedToApiV2

查询某个API绑定的流控策略列表。每个环境上应该最多只有一个流控策略。

func (*ApigClient) ListRequestThrottlingPolicyV2

查询所有流控策略的信息。

func (*ApigClient) ListSignatureKeysBindedToApiV2

查询某个API绑定的签名密钥列表。每个API在每个环境上应该最多只会绑定一个签名密钥。

func (*ApigClient) ListSignatureKeysV2

查询所有签名密钥的信息。

func (*ApigClient) ListSpecialThrottlingConfigurationsV2

查看给流控策略设置的特殊配置。

func (*ApigClient) ResettingAppSecretV2

重置指定APP的密钥。

func (*ApigClient) ShowDetailsOfApiGroupV2

查询指定分组的详细信息。

func (*ApigClient) ShowDetailsOfApiV2

查看指定的API的详细信息。

func (*ApigClient) ShowDetailsOfAppV2

查看指定APP的详细信息。

func (*ApigClient) ShowDetailsOfDomainNameCertificateV2

查看域名下绑定的证书详情。

func (*ApigClient) ShowDetailsOfEnvironmentVariableV2

查看指定的环境变量的详情。

func (*ApigClient) ShowDetailsOfRequestThrottlingPolicyV2

查看指定流控策略的详细信息。

func (*ApigClient) UpdateApiGroupV2

func (c *ApigClient) UpdateApiGroupV2(request *model.UpdateApiGroupV2Request) (*model.UpdateApiGroupV2Response, error)

修改API分组属性。其中name和remark可修改,其他属性不可修改。

func (*ApigClient) UpdateApiV2

func (c *ApigClient) UpdateApiV2(request *model.UpdateApiV2Request) (*model.UpdateApiV2Response, error)

修改指定API的信息,包括后端服务信息。

func (*ApigClient) UpdateAppV2

func (c *ApigClient) UpdateAppV2(request *model.UpdateAppV2Request) (*model.UpdateAppV2Response, error)

修改指定APP的信息。其中可修改的属性为:name、remark,当支持用户自定义key和secret的开关开启时,app_key和app_secret也支持修改,其它属性不可修改。

func (*ApigClient) UpdateEnvironmentV2

修改指定环境的信息。其中可修改的属性为:name、remark,其它属性不可修改。

func (*ApigClient) UpdateRequestThrottlingPolicyV2

修改指定流控策略的详细信息。

func (*ApigClient) UpdateSignatureKeyV2

修改指定签名密钥的详细信息。

func (*ApigClient) UpdateSpecialThrottlingConfigurationV2

修改某个流控策略下的某个特殊设置。

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL