Aliyun::Serverless::CustomDomain

更新时间:
复制 MD 格式

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

语法

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

属性

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

详情请参见routeconfig

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

CertConfig语法

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

CertConfig属性

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