Apigee APIM Operator 適用於 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 存取的開發人員顯示在 UI 或開發人員入口網站中的名稱。
analytics

類型:Analytics

定義是否應收集與這項產品相關聯的作業分析資料。
enforcementRefs

類型:Array

要套用至 API 產品的 EnforcementRef 資源陣列。
attributes

類型:Array

可用於擴充預設 API 產品設定檔的屬性陣列,其中包含客戶專屬的中繼資料。

EnforcementRef

欄位 說明
name

類型:string

目標資源的名稱。
kind

類型:string

APIMExtensionPolicy
group

類型:string

Apigee APIM Operator 的 APIGroupapim.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

API 產品允許每個應用程式針對指定 intervaltimeUnit 發送的要求訊息數量。
interval

類型:integer

計算要求訊息數量的時間間隔。
timeUnit

類型:string

為間隔定義的時間單位。有效值包括 minutehourdaymonth

RESTOperation

欄位 說明
name

類型:string

REST 作業的名稱。
path

類型:string

methods 搭配使用時,path 是要比對的 HTTP 路徑,適用於配額和/或 API 產品
methods

類型:array

path 搭配使用時,methods 是適用於 配額和/或 API 產品的相符 HTTP 方法清單 (如 strings)。

APIProductRef

欄位 說明
name

類型:string

目標資源的名稱。
kind

類型:string

APIProduct
group

類型:string

Apigee APIM 運算子的 APIGroupapim.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 執行階段的呼叫視為成功。
timeout

類型:string

指定呼叫 Apigee 執行階段失敗前的逾時期間,單位為秒或毫秒。 例如:10s
targetRef

類型:ExtensionServerRef

找出應安裝擴充功能的 Google Kubernetes Engine Gateway。
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 運算子的 APIGroupapim.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 Gateway 的政策而建立的 APIM 範本。
targetRef

類型:ExtensionServerRef

是指應套用此特定閘道政策的 APIM 擴充功能政策。間接參照 GKE Gateway。
serviceAccount (選用) 指定用於在 Apigee Pro Apigee 代理程式中產生 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 函式和 Cloud Run) 上執行的服務或自訂服務進行已驗證的呼叫。 Google

AuthenticationBean

欄位 說明
GoogleAccessToken

類型:GoogleAccessTokenBean

產生 Google OAuth 2.0 權杖,以便對 Google 服務進行已驗證的呼叫。
GoogleIDToken

類型:GoogleIDTokenBean

設定產生 OpenID Connect 權杖,以驗證目標要求。
headerName

類型:string

根據預設,如果存在驗證設定,Apigee 會產生不記名權杖,並將其插入傳送至目標系統的訊息授權標頭。headerName 元素可讓您指定其他標頭的名稱,用來保存不記名權杖。

GoogleAccessTokenBean

欄位 說明
scopes

類型:array

strings 陣列,指定有效的 Google API 範圍。詳情請參閱「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 Proxy 傳送至其他服務。
Response

類型:string

指定包含從外部服務傳回 API Proxy 的回應訊息的變數。

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

如果設為 truetrue,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

使用變數參照指定快取資源 ID。
excludeErrorResponse

類型:boolean

這項政策可以快取任何狀態碼的 HTTP 回應。也就是說,成功和錯誤回應都可以快取,包括 2xx3xx 狀態碼。
skipCacheLookupCondition

類型:string

定義運算式,如果運算式在執行階段評估為 true,則指定應略過快取查閱作業,並重新整理快取
skipCachePopulationCondition

類型:string

定義運算式,如果評估結果為定義運算式,如果運算式在執行階段評估為 true,則指定應略過快取查閱,並在執行階段重新整理快取,指定應略過寫入快取。
useAcceptHeader

類型:boolean

設為 true,將回應 Accept 標頭的值附加至回應快取項目的快取金鑰。
useResponseCacheHeaders

類型:boolean

設為 true,即可在快取中設定回應的「存留時間」(TTL) 時,將 HTTP 回應標頭納入考量。

cacheExpiry

欄位 說明
expiryDate

類型:object

指定快取項目的到期日。
timeOfDay

類型:object

指定快取項目應過期的時間。
timeoutInSeconds

類型:object

指定快取項目應在幾秒後過期。

cacheKey

欄位 說明
cacheKeyPrefix

類型:string

指定要用做快取金鑰前置字串的值。
fragments

類型:object

指定要納入快取金鑰的值,為相符的要求建立命名空間,以便與快取的回應配對。