Apigee APIM Operator for Kubernetes 资源参考

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

查看 Apigee Edge 文档。

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

APIProduct

字段 说明
apiVersion

类型:string

apim.googleapis.com/v1
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/v1
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/v1
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 位置。
supportedEvents

类型:事件的 List

指定发送到 Apigee 的扩展程序处理器事件列表。其中包括:
  • "REQUEST_HEADERS"
  • "RESPONSE_HEADERS"
  • "REQUEST_BODY"(预览版)
  • "RESPONSE_BODY"(预览版)
  • "REQUEST_TRAILERS"
  • "RESPONSE_TRAILERS"

ExtensionServerRef

字段 说明
name

类型:string

目标资源的名称。
kind

类型:string

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

类型:string

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

类型:string

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

ApigeeGatewayPolicy

字段 说明
apiVersion

类型:string

apim.googleapis.com/v1
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/v1
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/v1
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

AssignMessage(Google 令牌注入)

字段 说明
apiVersion

类型:string

apim.googleapis.com/v1
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

JavaScript

字段 说明
apiVersion

类型:string

apim.googleapis.com/v1
kind

类型:string

JavaScript
metadata

类型:Kubernetes meta/v1.ObjectMeta

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

类型:JavascriptBean

定义 JavaScript 政策的目标状态。

JavascriptBean

字段 说明
mode

类型:array

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

类型:string

内嵌 JavaScript 代码。
timeLimit

类型:integer

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

KVM

字段 说明
apiVersion

类型:string

apim.googleapis.com/v1
kind

类型:string

KVM
metadata

类型:Kubernetes meta/v1.ObjectMeta

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

类型:KeyValueMapOperationsBean

定义 KVM 政策的期望状态。

KeyValueMapOperationsBean

字段 说明
MapName

类型:MapName

使政策能够在运行时确定要动态使用的 KVM。
expiryTimeInSecs

类型:integer

指定时长(以秒为单位),在此时长后,Apigee 会从指定的 KVM 刷新其缓存值。
initialEntries

类型:list

KVM 的种子值,这些值在初始化时填充在 KVM 中。

OASValidation

字段 说明
apiVersion

类型:string

apim.googleapis.com/v1
kind

类型:string

OASValidation
metadata

类型:Kubernetes meta/v1.ObjectMeta

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

类型:OASValidationBean

定义 OASValidation 政策的期望状态。

OASValidationBean

字段 说明
openApiSpec

类型:string

yaml 中指定要验证的 OpenAPI 规范。由于这是多行 yaml 片段,因此请使用“|”分隔符。
source

类型:string

messagerequestresponse 之一。设置为 request 时,它会评估来自客户端应用的入站请求;设置为 response 时,它会评估来自目标服务器的响应。设置为 message 时,它会根据政策是附加到请求流还是响应流来自动评估请求或响应。
options

类型:OASValidationOptions

请参阅 OASValidationOptions/td>

OASValidationOptions

字段 说明
validateMessageBody

类型:boolean

指定此政策是否应根据 OpenAPI 规范中操作的请求正文架构验证消息正文。设置为 true 验证消息正文内容。设置为 false 仅验证消息正文是否存在。
allowUnspecifiedParameters

类型:StrictOptions

请参阅 StrictOptions

StrictOptions

字段 说明
header

类型:boolean

如需允许在请求中指定 OpenAPI 规范中未定义的标头参数,请将此参数设置为 true。否则,请将此参数设置为 false 以使政策执行失败。
query

类型:boolean

如需允许在请求中指定 OpenAPI 规范中未定义的查询参数,请将此参数设置为 true。否则,请将此参数设置为 false 以使政策执行失败。
cookie

类型:boolean

如需允许在请求中指定 OpenAPI 规范中未定义的 Cookie 参数,请将此参数设置为 true。否则,请将此参数设置为 false 以使政策执行失败。

APIMResourceStatus

字段 说明
currentState

类型:enum

显示资源的当前状态:
  • RUNNING = 资源处于运行状态。
  • CREATING = 正在创建资源
  • CREATED = 已创建资源
  • UPDATING = 正在更新资源
  • DELETING = 正在删除资源
  • CREATE_UPDATE_FAILED = 创建或更新操作失败
  • DELETE_FAILED = 删除操作失败
errorMessage

类型:string

currentState 字段的某个失败状态相关的错误消息。
operationResult

类型:string

与资源创建、更新或删除相关的某个长时间运行的操作的响应字符串。

ServiceCallout

字段 说明
apiVersion

类型:string

apim.googleapis.com/v1
kind

类型:string

ServiceCallout
metadata

类型:Kubernetes meta/v1.ObjectMeta

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

类型:ServiceCalloutBean

定义 ServiceCallout 政策的期望状态。

ServiceCalloutBean

字段 说明
httpTargetConnection

类型:HttpTargetConnection

提供传输详细信息,例如网址、TLS/SSL 和 HTTP 属性。
request

类型:CalloutRequest

指定包含从 API 代理发送到其他服务的请求消息的变量。
Response

类型:string

指定包含从外部服务返回到 API 代理的响应消息的变量。

HttpTargetConnection

字段 说明
url

类型:string

目标服务的网址。
properties

类型:Map of <string, string>

HTTP 将属性传输给后端服务。如需了解详情,请参阅端点属性参考文档

CalloutRequest

字段 说明
url

类型:string

目标服务的网址。
properties

类型:Map of <string, string>

HTTP 将属性传输给后端服务。如需了解详情,请参阅端点属性参考文档

SpikeArrest

字段 说明
apiVersion

类型:string

apim.googleapis.com/v1
kind

类型:string

SpikeArrest
metadata

类型:Kubernetes meta/v1.ObjectMeta

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

类型:SpikeArrestBean

定义 SpikeArrest 政策的目标状态。

SpikeArrestBean

字段 说明
mode

类型:array

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

类型:peakMessageRate

指定 SpikeArrest 的消息速率
useEffectiveCount

类型:boolean

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

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

peakMessageRate

字段 说明
ref

类型:string

rate 值进行引用的变量。
value

类型:string

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

ResponseCache 政策

字段 说明
apiVersion

类型:string

apim.googleapis.com/v1
kind

类型:string

ResponseCache
metadata

类型:Kubernetes meta/v1.ObjectMeta

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

类型:APIExtensionPolicySpec

定义 ResponseCache 的期望状态。

ResponseCacheBean

字段 说明
mode

类型:boolean

指定 ProxyRequestProxyResponse。确定政策是附加到请求流还是响应流。
cacheExpiry

类型:cacheExpiry

提供 cacheExpiry 对象。
cacheKey

类型:cacheKey

提供 cacheKey 对象。
cacheLookupTimeOut

类型:integer

指定缓存查找超时期限。
cacheResourceRef

类型:string

使用变量引用指定缓存资源标识符。
excludeErrorResponse

类型:boolean

此政策可缓存 HTTP 响应以及任何状态代码。这意味着成功响应和错误响应(包括 2xx3xx 状态代码)都可以缓存。
skipCacheLookupCondition

类型:string

定义表达式,如果它在运行时求值结果为 true,则指定应跳过缓存查询,并且应刷新缓存
skipCachePopulationCondition

类型:string

定义表达式,如果它在运行时求值结果为 定义表达式,如果它在运行时求值结果为 true,则指定应跳过缓存查询,并且应刷新缓存;如果它在运行时求值结果为 true,则指定应跳过写入缓存。
useAcceptHeader

类型:boolean

设置为 true 以将响应 Accept 标头中的值附加到响应缓存条目的缓存键。
useResponseCacheHeaders

类型:boolean

设置为 true 以在缓存中设置响应的“存留时间”(TTL) 时考虑 HTTP 响应标头。

cacheExpiry

字段 说明
expiryDate

类型:object

指定缓存条目应失效的日期。
timeOfDay

类型:object

指定缓存条目应失效的时间。
timeoutInSeconds

类型:object

指定缓存条目应失效之前经过的秒数。

cacheKey

字段 说明
cacheKeyPrefix

类型:string

指定要用作缓存键前缀的值。
fragments

类型:object

指定应在缓存键中包含的值,以创建用于将请求与缓存响应匹配的命名空间。