APIG.API
模型说明
API提供方把API接口配置在API网关中,开放后端能力。API分为两部分,第一部分为面向API使用者的API接口,定义了使用者如何调用这个API;第二部分面向API提供者,由API提供者定义这个API的真实的后端情况,定义了API网关如何去访问真实的后端服务。
模型属性
属性 |
是否必选 |
描述 |
---|---|---|
mockInfo |
否 |
mock后端详情 参数类型:APIG.MockInfo 取值说明:详见datatype定义 默认值:{} 使用建议:无 |
reqMethod |
是 |
API的请求方式 参数类型:string 取值说明:支持Method类型包括:GET, POST, PATCH, DELETE, OPTIONS, PUT, HEAD, ANY 默认值:GET 取值约束:可取"GET", "POST", "DELETE", "PUT", "PATCH", "HEAD", "OPTIONS", "ANY" 使用建议:无 |
name |
是 |
API分组的名称 参数类型:string 取值说明:用户自定义 取值约束:长度为3 - 64位的字符串,字符串由中文、英文字母、数字、_ 组成,且以英文字母开头 使用建议:无 |
backendType |
是 |
后端类型 参数类型:string 取值说明:HTTP:web后端,FUNCTION:函数工作流,MOCK:模拟的后端 默认值:HTTP 取值约束:可取"HTTP", "FUNCTION", "MOCK" 使用建议:无 |
remark |
否 |
API描述 参数类型:string 取值说明:API描述,字符长度不超过255 取值约束:长度不超过255 使用建议:无 |
backendApi |
否 |
web后端详情 参数类型:APIG.BackendApi 取值说明:详见datatype定义 默认值:{u'reqUri': u'unset', u'reqMethod': u'GET', u'urlDomain': u'unset', u'reqProtocol': u'HTTP'} 使用建议:无 |
groupId |
是 |
API所属的API分组 参数类型:HuaweiCloud.APIG.ApiGroup.Id 取值说明:支持使用已有或新建API分组。如果使用新建的,需在模板中定义API分组对象并建立依赖关系。建议通过拖拽到API分组内自动生成 使用建议:1. 将该字段通过get_input函数传入,在AOS界面创建堆栈填写输入参数时可自动选择2. 通过get_reference获取由本堆栈创建的APIG.ApiGroup元素,使用设计器建立依赖关系时会自动指定3. 在APIG服务界面获取已经创建好的API分组ID |
reqUri |
是 |
API的访问地址 参数类型:string 取值说明:API的访问地址 取值约束:长度不超过255 使用建议:需要服从URI规范 |
authType |
是 |
API的认证方式 参数类型:string 取值说明:NONE:无认证,APP:APP认证,IAM:IAM认证 默认值:IAM 取值约束:可取NONE,APP,IAM 使用建议:推荐使用IAM认证方式 |
matchMode |
是 |
API的匹配方式 参数类型:string 取值说明:SWA:前缀匹配,NORMAL:正常匹配(绝对匹配) 默认值:NORMAL 取值约束:可取"SWA", "NORMAL" 使用建议:无 |
cors |
是 |
是否支持跨域访问 参数类型:boolean 取值说明:true-支持跨域访问;false-不支持跨域访问 默认值:False 使用建议:从安全角度考虑,一般不建议开启跨域访问,除非业务需要 |
funcInfo |
否 |
函数计算后端详情 参数类型:APIG.FuncInfo 取值说明:详见datatype定义 默认值:{u'functionUrn': u'', u'invocationType': u'async'} 使用建议:无 |
type |
是 |
API类型 参数类型:string 取值说明:public-公有API,private-私有API 默认值:public 取值约束:可取"public", "private" 使用建议:无 |
strategyId |
否 |
API所使用的流程策略 参数类型:string 取值说明:支持使用已有或新建流控策略。如果使用新建的,需在模板中定义API策略对象并建立依赖关系。建议通过拖拽连接API与API策略对接实现 使用建议:1. 将该字段通过get_input函数传入,在AOS界面创建堆栈填写输入参数时可自动选择2. 通过get_reference获取由本堆栈创建的APIG.Throttle元素,使用设计器建立依赖关系时会自动指定3. 在APIG服务界面获取已经创建好的API流控ID |
reqProtocol |
是 |
API的协议类型 参数类型:string 取值说明:支持 HTTP 和 HTTPS 两种,HTTP-仅支持HTTP协议;HTTPS-仅支持HTTPS协议;BOTH-同时支持两种协议 默认值:HTTP 取值约束:可取""HTTP", "HTTPS", "BOTH" 使用建议:如果涉及敏感信息的传递,建议使用HTTPS |
关联关系
关系说明 |
关联节点 |
---|---|
关联关系 |
|
被包含关系 |
输出
属性 |
参数类型 |
描述 |
---|---|---|
reqUri |
string |
API的uri |
reqMethod |
string |
访问API的HTTP Method |
refID |
string |
API的名称 |
reqProtocol |
string |
访问API使用的协议类型 |
blueprint样例
inputs: apiName: default: api321b apigroupName: default: test_group321b throttleName: default: throttle321 node_templates: throttle1: type: HuaweiCloud.APIG.Throttle properties: name: get_input: throttleName remark: test throttle of aos plugin apiCallLimits: 10 appCallLimits: 7 userCallLimits: 9 timeInterval: 100 timeUnit: MINUTE api-group1: properties: name: get_input: apigroupName remark: test group of aos plugin type: HuaweiCloud.APIG.ApiGroup api1: properties: authType: NONE backendApi: remark: test backend reqMethod: GET reqProtocol: HTTP reqUri: '/test/{aaa}' timeout: 10000 urlDomain: 192.145.47.226:12346 backendType: HTTP cors: false groupId: get_attribute: - api-group1 - refID matchMode: NORMAL name: get_input: apiName remark: test api of aos plugin reqMethod: GET reqProtocol: HTTP reqUri: '/test/{aaa}' strategyId: get_attribute: - throttle1 - refID requirements: - groupId: node: api-group1 - strategyId: node: throttle1 type: HuaweiCloud.APIG.API tosca_definitions_version: huaweicloud_tosca_version_1_0