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 规则。 | 更多信息,请参见Match属性。 | 
| RouteName | String | 是 | 否 | 路由名称。 | 无 | 
| Description | String | 否 | 是 | 路由描述。 | 无 | 
| DomainInfos | List | 否 | 是 | 域名详情列表。 | 无 | 
| DomainIds | List | 否 | 否 | 域名ID列表。 | 无 | 
Backend语法
"Backend": {
  "Services": List,
  "Scene": String
}Backend属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| Services | List | 是 | 是 | 后端服务列表。 | 最多支持配置10组服务。更多信息,请参见Services属性。 | 
| Scene | String | 是 | 是 | 后端服务场景。 | 取值: 
 | 
Services语法
"Services": [
  {
    "Version": String,
    "Port": Integer,
    "Protocol": String,
    "Weight": Integer,
    "Name": String,
    "ServiceId": String
  }
]Services属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| Name | String | 否 | 否 | 服务名称。 | 无 | 
| Port | Integer | 否 | 否 | 服务端口。 | 无 | 
| Protocol | String | 否 | 否 | 服务协议。 | 取值: 
 | 
| ServiceId | String | 否 | 是 | 服务 ID。 | 无 | 
| Version | String | 否 | 否 | 服务版本。 | 无 | 
| Weight | Integer | 否 | 是 | 流量比例的百分比值。 | 取值范围: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": String,
    "NetworkType": String,
    "Protocol": String,
    "Name": String
  }
]SubDomains属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| DomainId | String | 否 | 否 | 子域名ID。 | 无 | 
| NetworkType | String | 否 | 否 | 域网络的访问类型。 | 无 | 
| Name | String | 否 | 否 | 子域名的名称。 | 无 | 
| Protocol | String | 否 | 否 | 子域名支持的网络协议。 | 取值: 
 | 
DomainInfos语法
"DomainInfos": [
  {
    "DomainId": String,
    "Protocol": String,
    "Name": String
  }
]DomainInfos属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| DomainId | String | 否 | 是 | 域名ID。 | 无 | 
| Name | String | 否 | 否 | 域名名称。 | 无 | 
| Protocol | String | 否 | 否 | 域名支持的网络协议。 | 取值: 
 | 
Match语法
"Match": {
  "Path": Map,
  "Headers": List,
  "QueryParams": List,
  "Methods": List,
  "IgnoreUriCase": Boolean
}Match属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| Path | Map | 是 | 是 | 接口规则。 | 无 | 
| Headers | List | 否 | 是 | HTTP请求头匹配规则列表。 | 最多支持10组规则。 | 
| IgnoreUriCase | Boolean | 否 | 是 | 路径是否大小写敏感。 | 无 | 
| Methods | List | 否 | 是 | 请求方法列表。 | 无 | 
| QueryParams | List | 否 | 是 | Query 请求参数匹配规则列表。 | 最多支持10组规则。 | 
Path语法
"Path": {
  "Type": String,
  "Value": String
}Path属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| Type | String | 是 | 是 | 路径匹配规则。 | 取值: 
 | 
| Value | String | 是 | 是 | 路径。 | 无 | 
Headers语法
"Headers": [
  {
    "Type": String,
    "Value": String,
    "Name": String
  }
]Headers属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| Name | String | 否 | 是 | header 的名称。 | 无 | 
| Type | String | 否 | 是 | header 匹配类型。 | 取值: 
 | 
| Value | String | 否 | 是 | header 的 value。 | 无 | 
QueryParams语法
"QueryParams": [
  {
    "Type": String,
    "Value": String,
    "Name": String
  }
]QueryParams属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| Name | String | 否 | 是 | 参数名称。 | 无 | 
| Type | String | 否 | 是 | query 参数匹配类型。 | 取值: 
 | 
| Value | String | 否 | 是 | 参数值。 | 无 | 
返回值
Fn::GetAtt
- Backend:路由的后端服务配置。 
- Description:路由描述。 
- EnvironmentInfo:环境信息。 
- RouteName:路由名称。 
- DomainInfos:域名详情列表。 
- RouteId:路由ID。 
- Match:路由 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: Backend services.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - Backend
  Description:
    Description: The description of route resource.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - Description
  EnvironmentInfo:
    Description: Environment information.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - EnvironmentInfo
  RouteName:
    Description: The name of the route.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - RouteName
  DomainInfos:
    Description: Domain items.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - DomainInfos
  RouteId:
    Description: The ID of route resource.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - RouteId
  Match:
    Description: The match rule of route resource.
    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": "Backend services.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Backend"
        ]
      }
    },
    "Description": {
      "Description": "The description of route resource.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Description"
        ]
      }
    },
    "EnvironmentInfo": {
      "Description": "Environment information.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "EnvironmentInfo"
        ]
      }
    },
    "RouteName": {
      "Description": "The name of the route.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "RouteName"
        ]
      }
    },
    "DomainInfos": {
      "Description": "Domain items.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "DomainInfos"
        ]
      }
    },
    "RouteId": {
      "Description": "The ID of route resource.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "RouteId"
        ]
      }
    },
    "Match": {
      "Description": "The match rule of route resource.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Match"
        ]
      }
    }
  }
}