ALIYUN::APIG::ApiAttachment は、API をアタッチするために使用されます。
構文
{
"Type": "ALIYUN::APIG::ApiAttachment",
"Properties": {
"BackendScene": String,
"EnvironmentId": String,
"HttpApiId": String,
"ServiceConfigs": List,
"Description": String,
"DomainIds": List,
"RouteId": String
}
}プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
BackendScene | String | はい | いいえ | API を公開するシナリオ。 | 有効な値:
|
EnvironmentId | String | はい | いいえ | 環境の ID。 | なし。 |
HttpApiId | String | はい | いいえ | HTTP API の ID。 | なし。 |
ServiceConfigs | List | はい | いいえ | サービス構成。 | 詳細については、「ServiceConfigs プロパティ」をご参照ください。 |
Description | String | いいえ | いいえ | 説明。 | なし。 |
DomainIds | List | いいえ | いいえ | カスタムドメイン名の ID。 | 最大 10 個の ID を指定できます。 |
RouteId | String | いいえ | いいえ | ルートの ID。 | なし。 |
ServiceConfigs 構文
"ServiceConfigs": [
{
"Version": String,
"Port": Integer,
"Protocol": String,
"Weight": Integer,
"ServiceId": String,
"Match": Map
}
]ServiceConfigs プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
ServiceId | String | はい | いいえ | サービスの ID。 | なし。 |
Weight | Integer | はい | いいえ | サービスの重み。 | 有効な値: 1 ~ 100。 |
Match | Map | いいえ | いいえ | API デプロイメント中の照合条件の構成。 | 詳細については、「Match プロパティ」をご参照ください。 |
Port | Integer | いいえ | いいえ | サービスのポート。 | なし。 |
Protocol | String | いいえ | いいえ | ドメイン名でサポートされているプロトコルタイプ。 | 有効な値:
|
Version | String | いいえ | いいえ | サービスのバージョン。 | なし。 |
Match 構文
"Match": {
"DefaultMatch": Boolean,
"Conditions": List
}Match プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
Conditions | List | いいえ | いいえ | 一致条件の構成です。 | 詳細については、「条件のプロパティ」をご参照ください。 |
DefaultMatch | Boolean | いいえ | いいえ | 照合条件がデフォルトかどうかを指定します。 | なし。 |
Conditions 構文
"Conditions": [
{
"Operator": String,
"Type": String,
"Value": String,
"Key": String
}
]Conditions プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
Key | String | いいえ | いいえ | 照合条件のキー。 | なし。 |
Operator | String | いいえ | いいえ | 演算子。 | 完全一致、プレフィックス一致、および正規表現がサポートされています。 有効な値:
|
Type | String | いいえ | いいえ | 照合タイプ。 | クエリとヘッダーパラメーターを照合できます。 |
Value | String | いいえ | いいえ | 照合条件の値。 | なし。 |
戻り値
Fn::GetAtt
EnvironmentId: 環境の ID。
RouteId: ルートの ID。
HttpApiId: HTTP API の ID。
例
ROSTemplateFormatVersion: '2015-09-01'
Parameters: {}
Resources:
ExtensionResource:
Type: ALIYUN::APIG::ApiAttachment
Properties:
EnvironmentId: env-csqxxxxx
BackendScene: MultiServiceByRatio
HttpApiId: api-csqxxxxx
ServiceConfigs:
- ServiceId: svc-csqp3xxxxx
Weight: 100
RouteId: hr-csuxxxxxx
Outputs:
EnvironmentId:
Description: API をデプロイする環境の ID。
Value:
Fn::GetAtt:
- ExtensionResource
- EnvironmentId
RouteId:
Description: ルート ID。 HTTP API ルートを公開する場合、これを渡す必要があります。
Value:
Fn::GetAtt:
- ExtensionResource
- RouteId
HttpApiId:
Description: HTTP API の ID。
Value:
Fn::GetAtt:
- ExtensionResource
- HttpApiId{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
},
"Resources": {
"ExtensionResource": {
"Type": "ALIYUN::APIG::ApiAttachment",
"Properties": {
"EnvironmentId": "env-csqxxxxx",
"BackendScene": "MultiServiceByRatio",
"HttpApiId": "api-csqxxxxx",
"ServiceConfigs": [
{
"ServiceId": "svc-csqp3xxxxx",
"Weight": 100
}
],
"RouteId": "hr-csuxxxxxx"
}
}
},
"Outputs": {
"EnvironmentId": {
"Description": "API をデプロイする環境の ID。",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"EnvironmentId"
]
}
},
"RouteId": {
"Description": "ルート ID。HTTP API ルートを公開する場合、これを渡す必要があります。",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"RouteId"
]
}
},
"HttpApiId": {
"Description": "HTTP API の ID。",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"HttpApiId"
]
}
}
}
}