Aliyun::Serverless::CustomDomain类型用于创建自定义域名。

语法

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

属性

属性名称 类型 必须 允许更新 描述 约束
Protocol String 协议类型 取值:
  • HTTP
  • HTTPS
RouteConfig Map 路由表配置

详情请参见routeconfig

CertConfig Map 证书信息 详情请参见CertConfig属性
DomainName String 域名 不填写DomainName时需将资源逻辑ID设置为域名。

CertConfig语法

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

CertConfig属性

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

返回值

Fn::GetAtt

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

示例

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Transform": "Aliyun::Serverless-2018-04-03",
  "Parameters": {
    "DomainName": {
      "Type": "String"
    }
  },
  "Resources": {
    "CustomDomain": {
      "Type": "Aliyun::Serverless::CustomDomain",
      "Properties": {
        "DomainName": {
          "Ref": "DomainName"
        },
        "Protocol": "HTTP",
        "RouteConfig": {
          "Routes": {
            "/*": {
              "ServiceName": "MyService",
              "FunctionName": "MyServiceMyFunction"
            }
          }
        }
      }
    }
  },
  "Outputs": {
    "DomainName": {
      "Value": {
        "Fn::GetAtt": [
          "CustomDomain",
          "DomainName"
        ]
      }
    },
    "Domain": {
      "Value": {
        "Fn::GetAtt": [
          "CustomDomain",
          "Domain"
        ]
      }
    }
  }
}

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Transform: 'Aliyun::Serverless-2018-04-03'
Parameters:
  DomainName:
    Type: String
Resources:
  CustomDomain:
    Type: 'Aliyun::Serverless::CustomDomain'
    Properties:
      DomainName:
        Ref: DomainName
      Protocol: HTTP
      RouteConfig:
        Routes:
          /*:
            ServiceName: MyService
            FunctionName: MyServiceMyFunction
Outputs:
  DomainName:
    Value:
      'Fn::GetAtt':
        - CustomDomain
        - DomainName
  Domain:
    Value:
      'Fn::GetAtt':
        - CustomDomain
        - Domain