Apigee APIM Operator for Kubernetes 资源参考

本页面适用于 Apigee,但不适用于 Apigee Hybrid

查看 Apigee Edge 文档。

本页面介绍了 Apigee APIM Operator for Kubernetes(预览版)支持的每个 Kubernetes 资源。除非明确标记为“可选”,否则所有字段均为必填字段。

APIProduct

字段 说明
apiVersion

类型:string

apim.googleapis.com/v1alpha1
kind

类型:string

APIProduct
metadata

类型:Kubernetes meta/v1.ObjectMeta

如需了解 metadata 中可用的字段,请参阅 Kubernetes API 文档。
spec

类型:APIProductSpec

spec 用于定义 APIProductSet 的目标状态。

APIProductSpec

字段 说明
name

类型:string

API 产品的名称。
approvalType

类型:string

用于指定如何批准 API 密钥以访问 API 产品定义的 API 的标志。如果设置为 manual,则使用方密钥会生成并以 pending 的形式返回。在这种情况下,API 密钥必须获得明确批准后才能运行。

如果设置为 auto,则使用方密钥会生成并以 approved 的形式返回,且可以立即使用。

description

类型:string

API 产品的说明。
displayName

类型:string

在界面或开发者门户中向注册 API 访问权限的开发者显示的名称。
analytics

类型:Analytics

定义是否应针对与此产品关联的操作收集分析数据。
enforcementRefs

类型:Array

要应用于 API 产品的 EnforcementRef 资源的数组。
attributes

类型:Array

属性数组,可用于扩展具有客户特定元数据的默认 API 产品配置文件。

EnforcementRef

字段 说明
name

类型:string

目标资源的名称。
kind

类型:string

APIMExtensionPolicy
group

类型:string

Apigee APIM Operator 的 APIGroup,即 apim.googleapis.com
namespace

类型:string

(可选)引荐来源网址的命名空间。如果未指定,系统会推断出本地命名空间。

属性

字段 说明
name

类型:string

该属性的键。
value

类型:string

属性的值。

APIOperationSet

字段 说明
apiVersion

类型:string

apim.googleapis.com/v1alpha1
kind

类型:string

APIOperationSet
metadata

类型:Kubernetes meta/v1.ObjectMeta

如需了解 metadata 中可用的字段,请参阅 Kubernetes API 文档。
spec

类型:APIOperationSetSpec

定义 APIOperationSet 的所需状态。

APIOperationSetSpec

字段 说明
quota

类型:配额

配额定义。
restOperations

类型:Array

RESTOperation 定义的数组。
apiProductRefs

类型:Array

APIProductRef 资源的数组,或对应于应该应用 RESTOperation 的 API 产品的引用。

配额

字段 说明
limit

类型:integer

对于指定的 intervaltimeUnit,API 产品允许每个应用发出的请求消息数。
interval

类型:integer

计算请求消息数量所用的时间间隔。
timeUnit

类型:string

为该间隔定义的时间单位。有效值包括:minutehourdaymonth

RESTOperation

字段 说明
name

类型:string

REST 操作的名称。
path

类型:string

methods 结合使用时,path 是用于匹配配额和/或 API 产品的 HTTP 路径。
methods

类型:array

path 结合使用时,methods 是适用的 HTTP 方法列表(作为 strings),用于匹配配额和/或 API 产品

APIProductRef

字段 说明
name

类型:string

目标资源的名称。
kind

类型:string

APIProduct
group

类型:string

Apigee APIM Operator 的 APIGroup,即 apim.googleapis.com
namespace

类型:string

(可选)引荐来源网址的命名空间。如果未指定,系统会推断出本地命名空间。

APIMExtensionPolicy

字段 说明
apiVersion

类型:string

apim.googleapis.com/v1alpha1
kind

类型:string

APIMExtensionPolicy
metadata

类型:Kubernetes meta/v1.ObjectMeta

如需了解 metadata 中可用的字段,请参阅 Kubernetes API 文档。
spec

类型:APIMExtensionPolicySpec

定义 APIMExtensionPolicy 的目标状态。

APIMExtensionPolicySpec

字段 说明
apigeeEnv (可选)Apigee 环境。

如果未提供,系统会创建一个新的环境并将其关联到所有可用实例。

如果提供,则在使用外部全球负载均衡器时,此环境必须关联到所有可用实例。

failOpen

类型:boolean

指定在 Apigee 运行时不可访问时是否应急开启。如果设置为 true,即使 Apigee 运行时不可访问,对 Apigee 运行时的调用也会被视为成功。
timeout

类型:string

指定超时期限(以秒或毫秒为单位),超时后对 Apigee 运行时的调用会失败。例如 10s
targetRef

类型:ExtensionServerRef

标识应安装该扩展程序的 Google Kubernetes Engine 网关。
location

类型:string

标识强制执行 APIMExtensionPolicy 的 Google Cloud 位置。

ExtensionServerRef

字段 说明
name

类型:string

目标资源的名称。
kind

类型:string

指定目标资源的 kind,例如 GatewayService
group

类型:string

Apigee APIM Operator 的 APIGroup,即 apim.googleapis.com
namespace

类型:string

(可选)引荐来源网址的命名空间。如果未指定,系统会推断出本地命名空间。

ApigeeGatewayPolicy

字段 说明
apiVersion

类型:string

apim.googleapis.com/v1alpha1
kind

类型:string

ApigeeGatewayPolicy
metadata

类型:Kubernetes meta/v1.ObjectMeta

如需了解 metadata 中可用的字段,请参阅 Kubernetes API 文档。
spec

类型:ApigeeGatewayPolicySpec

定义 ApigeeGatewayPolicy 的目标状态。

ApigeeGatewayPolicySpec

字段 说明
ref

类型:ExtensionServerRef

指的是为管理应用于 GKE 网关的政策而创建的 APIM 模板。
targetRef

类型:ExtensionServerRef

指的是应该应用此特定网关政策的 APIM 扩展程序政策。间接引用 GKE 网关。
serviceAccount (可选)指定在 Apigee ProApigee 代理中用于生成 Google 授权令牌的服务账号。

ApimTemplate

字段 说明
apiVersion

类型:string

apim.googleapis.com/v1alpha1
kind

类型:string

ApimTemplate
metadata

类型:Kubernetes meta/v1.ObjectMeta

如需了解 metadata 中可用的字段,请参阅 Kubernetes API 文档。
spec

类型:ApimTemplateSpec

定义 ApimTemplate 的目标状态。

ApimTemplateSpec

字段 说明
templates

类型:list

ApimTemplateFlow 资源列表,用于指定要在请求流中执行的政策。
apimTemplateRule

类型:ExtensionServerRef

指定应该用于验证已应用的政策的 APIM 模板规则。

ApimTemplateFlow

字段 说明
policies

类型:list ConditionalParameterReference

ConditionalParameterReference 资源列表,用于指定作为请求流的一部分而执行的政策的有序列表。
condition

类型:string

指定执行此资源的条件。

ConditionalParameterReference

字段 说明
condition

Type: string

指定执行此资源的条件。

ApimTemplateRule

字段 说明
apiVersion

类型:string

apim.googleapis.com/v1alpha1
kind

类型:string

ApimTemplateRule
metadata

类型:Kubernetes meta/v1.ObjectMeta

如需了解 metadata 中可用的字段,请参阅 Kubernetes API 文档。
spec

类型:ApimTemplateRuleSpec

定义 ApimTemplateRule 的目标状态。

ApimTemplateRuleSpec

字段 说明
requiredList ApimTemplate 中必须存在的政策列表(作为 strings)。
denyList ApimTemplate 中不应存在的政策列表(作为 strings)。
allowList ApimTemplate 中可能存在但并非必需的政策列表(作为 strings)。
override

类型:boolean

如果存在使用该规则的 APIM 模板,则会替换对 APIM 模板规则的更新。有效值为 truefalse

JavaScript

字段 说明
apiVersion

类型:string

apim.googleapis.com/v1alpha1
kind

类型:string

JavaScript
metadata

类型:Kubernetes meta/v1.ObjectMeta

如需了解 metadata 中可用的字段,请参阅 Kubernetes API 文档。
spec

类型:JavascriptBean

定义 JavaScript 政策的目标状态。

JavascriptBean

字段 说明
mode

类型:array

用于指定 ProxyRequestProxyResponsestrings 数组。确定政策是关联到请求流还是关联到响应流。
source

类型:string

内嵌 JavaScript 代码。
timeLimit

类型:integer

指定 JavaScript 代码执行的超时时间。

SpikeArrest

字段 说明
apiVersion

类型:string

apim.googleapis.com/v1alpha1
kind

类型:string

SpikeArrest
metadata

类型:Kubernetes meta/v1.ObjectMeta

如需了解 metadata 中可用的字段,请参阅 Kubernetes API 文档。
spec

类型:SpikeArrestBean

定义 SpikeArrest 政策的目标状态。

SpikeArrestBean

字段 说明
mode

类型:array

用于指定 ProxyRequestProxyResponsestrings 数组。确定政策是关联到请求流还是关联到响应流。
peakMessageRate

类型:peakMessageRate

指定 SpikeArrest 的消息速率
useEffectiveCount

类型:boolean

如果设置为 truetrue,则 SpikeArrest 分布在一个区域中,请求计数在该区域内的 Apigee 消息处理器 (MP) 之间同步。

如果设置为 false,SpikeArrest 会在本地使用令牌存储桶算法。如需了解详情,请参阅 UseEffectiveCount

peakMessageRate

字段 说明
ref

类型:string

rate 值进行引用的变量。
value

类型:string

如果没有引用,则为实际的 rate 值。

AssignMessage(Google 令牌注入)

字段 说明
apiVersion

类型:string

apim.googleapis.com/v1alpha1
kind

类型:string

AssignMessage
metadata

类型:Kubernetes meta/v1.ObjectMeta

如需了解 metadata 中可用的字段,请参阅 Kubernetes API 文档。
spec

类型:AssignMessageBean

定义 AssignMessage 政策的目标状态。

AssignMessageBean

字段 说明
setActions

类型:array

SetActionsBean 对象数组。替换由 AssignTo 元素指定的请求或响应中的现有属性的值。

如果原始消息中已存在标头或参数,setActions 会覆盖这些值。否则,setActions 会按指定方式添加新的标头或参数。

AssignTo

类型:AssignToBean

指定 AssignMessage 政策要处理的消息。选项包括请求、响应或新的自定义消息。

SetActionsBean

字段 说明
Authentication

类型:AuthenticationBean

生成 Google OAuth 2.0 或 OpenID Connect 令牌,以对在某些 Google Cloud 产品(例如 Cloud Run functions 和 Cloud Run)上运行的 Google 服务或自定义服务进行经过身份验证的调用。

AuthenticationBean

字段 说明
GoogleAccessToken

类型:GoogleAccessTokenBean

生成 Google OAuth 2.0 令牌以对 Google 服务进行经过身份验证的调用。
GoogleIDToken

类型:GoogleIDTokenBean

用于生成 OpenID Connect 令牌以对目标请求进行身份验证的配置。
headerName

类型:string

默认情况下,如果存在身份验证配置,Apigee 会生成不记名令牌,并将其注入到发送到目标系统的消息中的授权标头。headerName 元素可让您指定其他标头的名称来保存该不记名令牌。

GoogleAccessTokenBean

字段 说明
scopes

类型:array

指定有效 Google API 范围的 strings 数组。如需了解详情,请参阅 适用于 Google API 的 OAuth 2.0 范围
LifetimeInSeconds

类型:integer

指定访问令牌的生命周期长度(以秒为单位)。

GoogleIDTokenBean

字段 说明
Audience

类型:AudienceBean

生成的身份验证令牌的目标对象,例如令牌授予访问权限的 API 或服务账号。
IncludeEmail

类型:boolean

如果设置为 true,则生成的身份验证令牌将包含服务账号 emailemail_verified 声明。

AudienceBean

字段 说明
useTargetHost

类型:string

如果 Audience 的值为空或 ref 变量未解析为有效值,并且 useTargetUrltrue,则使用目标的网址(不包括任何查询参数)作为目标对象。
useTargetUrl

类型:boolean

默认情况下,useTargetUrlfalse

AssignToBean

字段 说明
createNew

类型:boolean

确定在分配值时,该政策是否创建新的消息。如果设为 true,则政策会创建新消息。
type

类型:string

如果 CreateNew 设为 true true,则指定新消息的类型。有效值为 requestresponse