ALIYUN::FC::CustomDomain类型用于创建自定义域名。

语法

{
  "Type": "ALIYUN::FC::CustomDomain",
  "Properties": {
    "ApiVersion": String,
    "Protocol": String,
    "RouteConfig": Map,
    "CertConfig": Map,
    "DomainName": String
  }
}

属性

属性名称类型必须允许更新描述约束
ApiVersionString否是API版本无
ProtocolString是是协议类型取值:
  • HTTP
  • HTTPS
RouteConfigMap否是路由表配置详情请参见RouteConfig属性。
CertConfigMap否是证书信息详情请参见CertConfig属性。
DomainNameString是否域名无

RouteConfig语法

"RouteConfig": {
  "Routes": List
}

RouteConfig属性

属性名称类型必须允许更新描述约束
RoutesList是是路由列表 详情请参见Routes属性。

Routes语法

"Routes": [
  {
    "Path": String,
    "FunctionName": String,
    "ServiceName": String,
    "Qualifier": String
  }
]  

Routes属性

属性名称类型必须允许更新描述约束
PathString是是自定义域名的请求路径,例如:/login/*。无
QualifierString否否别名。无
FunctionNameString是是请求路径对应的函数。无
ServiceNameString是是函数所属服务。无

CertConfig语法

"CertConfig": {
  "CertName": String,
  "PrivateKey": String,
  "Certificate": String
}

CertConfig属性

属性名称类型必须允许更新描述约束
CertNameString是是证书的自定义名字无
PrivateKeyString是是私钥使用换行符\n写成一行。
CertificateString是是证书内容使用换行符\n写成一行。

返回值

Fn::GetAtt

  • DomainName:域名。
  • Domain:协议和域名。

示例

  • YAML格式

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters: {}
    Resources:
      CustomDomain:
        Type: ALIYUN::FC::CustomDomain
        Properties:
          Protocol: HTTP
          DomainName: TestDomain
    Outputs:
      DomainName:
        Description: The domain name
        Value:
          Fn::GetAtt:
            - CustomDomain
            - DomainName
      Domain:
        Description: The domain with protocol.
        Value:
          Fn::GetAtt:
            - CustomDomain
            - Domain
  • JSON格式

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
      },
      "Resources": {
        "CustomDomain": {
          "Type": "ALIYUN::FC::CustomDomain",
          "Properties": {
            "Protocol": "HTTP",
            "DomainName": "TestDomain"
          }
        }
      },
      "Outputs": {
        "DomainName": {
          "Description": "The domain name",
          "Value": {
            "Fn::GetAtt": [
              "CustomDomain",
              "DomainName"
            ]
          }
        },
        "Domain": {
          "Description": "The domain with protocol.",
          "Value": {
            "Fn::GetAtt": [
              "CustomDomain",
              "Domain"
            ]
          }
        }
      }
    }