ALIYUN::APIG::Route は、HTTP API のルートを作成するために使用されます。
構文
{
"Type": "ALIYUN::APIG::Route",
"Properties": {
"Backend": Map,
"EnvironmentInfo": Map,
"HttpApiId": String,
"Match": Map,
"RouteName": String,
"Description": String,
"DomainInfos": List,
"DomainIds": List
}
}プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
Backend | Map | はい | はい | ルートのバックエンド サービス構成。 | 詳細については、「Backend プロパティ」をご参照ください。 |
EnvironmentInfo | Map | はい | いいえ | 環境構成。 | 詳細については、「EnvironmentInfo プロパティ」をご参照ください。 |
HttpApiId | String | はい | いいえ | ルートを作成する対象の HTTP API の ID。 | なし。 |
Match | Map | はい | はい | ルートを照合するためのルール。 | 詳細については、「Match プロパティ」をご参照ください。 |
RouteName | String | はい | いいえ | ルートの名前。 | なし。 |
Description | String | いいえ | はい | ルートの説明。 | なし。 |
DomainInfos | List | いいえ | はい | ドメインの詳細。 | なし。 |
DomainIds | List | いいえ | いいえ | ドメインの ID。 | なし。 |
構文
"Backend": {
"Services": リスト,
"Scene": 文字列
}プロパティ
プロパティ | 種類 | 必須 | 編集可能 | 説明 | 制約 |
サービス | リスト | はい | はい | バックエンド サービス。 | 最大 10 個のバックエンド サービスを指定できます。詳細については、「サービスのプロパティ」をご参照ください。 |
シナリオ | 文字列 | はい | はい | バックエンド サービスのシナリオ。 | 有効な値:
|
サービス構文
"Services": [
{
"Version": String,
"Port": Integer,
"Protocol": String,
"Weight": Integer,
"Name": String,
"ServiceId": String
}
]サービスのプロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
名前 | 文字列 | いいえ | いいえ | サービスの名前。 | なし。 |
ポート | 整数 | いいえ | いいえ | サービスのポート。 | なし。 |
プロトコル | 文字列 | いいえ | いいえ | サービスのプロトコル。 | 有効な値:
|
ServiceId | 文字列 | いいえ | はい | サービスの ID。 | なし。 |
バージョン | 文字列 | いいえ | いいえ | サービスのバージョン。 | なし。 |
重み | 整数 | いいえ | はい | トラフィックのパーセント値。 | 有効な値: 0 ~ 100。 |
EnvironmentInfo の構文
"EnvironmentInfo": {
"GatewayInfo": Map,
"EnvironmentId": String,
"Alias": String,
"SubDomains": List,
"Name": String
}EnvironmentInfo プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
EnvironmentId | String | はい | いいえ | 環境の ID。 | なし。 |
Alias | String | いいえ | いいえ | 環境のエイリアス。 | なし。 |
GatewayInfo | Map | いいえ | いいえ | ゲートウェイ構成。 | 詳細については、「GatewayInfo プロパティ」をご参照ください。 |
Name | String | いいえ | いいえ | 環境の名前。 | なし。 |
SubDomains | List | いいえ | いいえ | サブドメイン。 | 最大 10 個のサブドメインを指定できます。 詳細については、「GatewayInfo プロパティ」をご参照ください。 |
GatewayInfo 構文
"GatewayInfo": {
"GatewayId": String,
"Name": String
}GatewayInfo プロパティ
プロパティ | 型 | 必須 | 編集可能 | 説明 | 制約 |
GatewayId | String | いいえ | いいえ | ゲートウェイの ID です。 | なし。 |
Name | String | いいえ | いいえ | ゲートウェイの名前です。 | なし。 |
SubDomains 構文
"SubDomains": [
{
"DomainId": 文字列,
"NetworkType": 文字列,
"Protocol": 文字列,
"Name": 文字列
}
]サブドメインのプロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
DomainId | String | いいえ | いいえ | サブドメインの ID です。 | なし。 |
NetworkType | String | いいえ | いいえ | ネットワークアクセス タイプです。 | なし。 |
Name | String | いいえ | いいえ | サブドメインです。 | なし。 |
Protocol | String | いいえ | いいえ | サブドメインでサポートされているネットワーク プロトコルです。 | 有効な値:
|
DomainInfos 構文
"DomainInfos": [
{
"DomainId": 文字列,
"Protocol": 文字列,
"Name": 文字列
}
]DomainInfos プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
DomainId | String | いいえ | はい | ドメインの ID です。 | なし。 |
Name | String | いいえ | いいえ | ドメイン。 | なし。 |
Protocol | String | いいえ | いいえ | ドメインでサポートされているネットワークプロトコル。 | 有効な値:
|
一致構文
"Match": {
"Path": Map,
"Headers": List,
"QueryParams": List,
"Methods": List,
"IgnoreUriCase": Boolean
}一致プロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
パス | マップ | はい | はい | パスに基づいて一致させるためのルール。 | なし。 |
ヘッダー | リスト | いいえ | はい | HTTP リクエストヘッダーに基づいて一致させるためのルール。 | 最大 10 個のルールを指定できます。 |
IgnoreUriCase | ブール値 | いいえ | はい | パスで大文字と小文字を区別するかどうかを指定します。 | なし。 |
メソッド | リスト | いいえ | はい | リクエストメソッド。 | なし。 |
QueryParams | リスト | いいえ | はい | クエリ リクエストパラメータに基づいて一致させるためのルール。 | 最大 10 個のルールを指定できます。 |
パスの構文
"Path": {
"Type": String,
"Value": String
}パスのプロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
タイプ | 文字列 | はい | はい | パスに基づく一致のタイプ。 | 有効な値:
|
値 | 文字列 | はい | はい | パス。 | なし。 |
ヘッダーの構文
"Headers": [
{
"Type": String,
"Value": String,
"Name": String
}
]ヘッダーのプロパティ
プロパティ | タイプ | 必須 | 編集可能 | 説明 | 制約 |
名前 | 文字列 | いいえ | はい | ヘッダーの名前。 | なし。 |
タイプ | 文字列 | いいえ | はい | ヘッダーに基づく一致のタイプ。 | 有効な値:
|
値 | 文字列 | いいえ | はい | ヘッダーの値。 | なし。 |
Backend 構文
"QueryParams": [
{
"Type": 文字列,
"Value": 文字列,
"Name": 文字列
}
]QueryParams プロパティ
プロパティ | 種類 | 必須 | 編集可能 | 説明 | 制約 |
Name | String | いいえ | はい | クエリ パラメーターの名前。 | なし。 |
Type | String | いいえ | はい | クエリ パラメーターに基づく一致の種類。 | 有効な値:
|
Value | String | いいえ | はい | クエリ パラメーターの値。 | なし。 |
戻り値
Fn::GetAtt
Backend: ルートのバックエンド サービス構成。
Description: ルートの説明。
EnvironmentInfo: 環境構成。
RouteName: ルートの名前。
DomainInfos: ドメインの詳細。
RouteId: ルートの ID。
Match: ルートを照合するためのルール。
Backend プロパティ
ROSTemplateFormatVersion: '2015-09-01'
Parameters: {}
Resources:
ExtensionResource:
Type: ALIYUN::APIG::Route
Properties:
HttpApiId: api-xxx
EnvironmentInfo:
EnvironmentId: env-xxxx
RouteName: test123
DomainIds:
- d-xxxx
Match:
Path:
Type: Prefix
Value: /user
Backend:
Scene: SingleService
Services:
- Name: test1
ServiceId: svc-xxxxx
Port: 443
Protocol: HTTPS
Version: base
Outputs:
Backend:
Description: バックエンド サービス。
Value:
Fn::GetAtt:
- ExtensionResource
- Backend
Description:
Description: ルート リソースの説明。
Value:
Fn::GetAtt:
- ExtensionResource
- Description
EnvironmentInfo:
Description: 環境情報。
Value:
Fn::GetAtt:
- ExtensionResource
- EnvironmentInfo
RouteName:
Description: ルートの名前。
Value:
Fn::GetAtt:
- ExtensionResource
- RouteName
DomainInfos:
Description: ドメイン項目。
Value:
Fn::GetAtt:
- ExtensionResource
- DomainInfos
RouteId:
Description: ルート リソースの ID。
Value:
Fn::GetAtt:
- ExtensionResource
- RouteId
Match:
Description: ルート リソースの一致ルール。
Value:
Fn::GetAtt:
- ExtensionResource
- Match
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
},
"Resources": {
"ExtensionResource": {
"Type": "ALIYUN::APIG::Route",
"Properties": {
"HttpApiId": "api-xxx",
"EnvironmentInfo": {
"EnvironmentId": "env-xxxx"
},
"RouteName": "test123",
"DomainIds": [
"d-xxxx"
],
"Match": {
"Path": {
"Type": "Prefix",
"Value": "/user"
}
},
"Backend": {
"Scene": "SingleService",
"Services": [
{
"Name": "test1",
"ServiceId": "svc-xxxxx",
"Port": 443,
"Protocol": "HTTPS",
"Version": "base"
}
]
}
}
}
},
"Outputs": {
"Backend": {
"Description": "バックエンド サービス。",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"Backend"
]
}
},
"Description": {
"Description": "ルート リソースの説明。",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"Description"
]
}
},
"EnvironmentInfo": {
"Description": "環境情報。",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"EnvironmentInfo"
]
}
},
"RouteName": {
"Description": "ルート名。",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"RouteName"
]
}
},
"DomainInfos": {
"Description": "ドメイン項目。",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"DomainInfos"
]
}
},
"RouteId": {
"Description": "ルート リソースの ID。",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"RouteId"
]
}
},
"Match": {
"Description": "ルート リソースの一致ルール。",
"Value": {
"Fn::GetAtt": [
"ExtensionResource",
"Match"
]
}
}
}
}