ALIYUN::GPDB::SupabaseProject creates a Supabase project.
Syntax
{
"Type": "ALIYUN::GPDB::SupabaseProject",
"Properties": {
"AccountPassword": String,
"ProjectSpec": String,
"ProjectName": String,
"SecurityIPList": String,
"VpcId": String,
"VSwitchId": String,
"ZoneId": String,
"Period": String,
"UsedTime": Integer,
"PayType": String,
"DiskPerformanceLevel": String,
"StorageSize": Integer,
"DatabaseIPList": String
}
}
Properties
|
Property |
Type |
Required |
Editable |
Description |
Constraints |
|
AccountPassword |
String |
Yes |
No |
The initial password for the account. |
The password must meet the following requirements:
|
|
ProjectName |
String |
Yes |
No |
The name of the Supabase project. |
The name must meet the following requirements:
|
|
ProjectSpec |
String |
Yes |
No |
The instance type for the Supabase project. |
Default value: 1C1G. |
|
SecurityIPList |
String |
Yes |
Yes |
The IP address whitelist for the instance. |
A value of |
|
VpcId |
String |
Yes |
No |
The ID of the VPC in which to create the Supabase project. |
None |
|
VSwitchId |
String |
Yes |
No |
The ID of the vSwitch within the specified VPC. |
None |
|
ZoneId |
String |
Yes |
No |
The zone ID of the Supabase project. |
None |
|
DatabaseIPList |
String |
No |
Yes |
The IP address whitelist for the database. |
None |
|
DiskPerformanceLevel |
String |
No |
No |
The performance level of the instance disk. |
Default value: PL0. Valid values:
|
|
PayType |
String |
No |
No |
The billing method for the instance. |
Valid values:
|
|
Period |
String |
No |
No |
The subscription duration unit. Required only when PayType is set to Prepaid. |
None |
|
StorageSize |
Integer |
No |
No |
The storage size of the instance. |
Unit: GB. Default value: 1. |
|
UsedTime |
Integer |
No |
No |
The subscription duration. Required only when PayType is set to Prepaid. |
None |
Return values
Fn::GetAtt
-
ProjectId: The ID of the Supabase project
-
ApiKeys: The API keys for the Supabase project
-
Eni: The ID of the elastic network interface
-
PublicConnectUrl: The public connection URL for the Supabase Dashboard
-
PrivateConnectUrl: The private connection URL for the Supabase Dashboard
Examples
Scenario 1: Create a Free Supabase Project
ROSTemplateFormatVersion: '2015-09-01'
Description:
zh-cn: 创建免费版Supabase项目,快速体验Supabase开发能力。
en: Create a free Supabase project for quick development experience.
Parameters:
ZoneId:
Type: String
Label:
zh-cn: 可用区
en: Availability Zone
Description:
zh-cn: 创建Supabase项目的可用区。
en: The availability zone for the Supabase project.
AssociationProperty: ALIYUN::ECS::Instance::ZoneId
VpcId:
Type: String
Label:
zh-cn: VPC ID
en: VPC ID
Description:
zh-cn: Supabase项目所在的专有网络ID。
en: The VPC ID for the Supabase project.
AssociationProperty: ALIYUN::ECS::VPC::VPCId
VSwitchId:
Type: String
Label:
zh-cn: 交换机ID
en: VSwitch ID
Description:
zh-cn: Supabase项目所在的交换机ID,需与可用区一致。
en: The VSwitch ID, must be in the same availability zone.
AssociationProperty: ALIYUN::VPC::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId}
ProjectName:
Type: String
Label:
zh-cn: 项目名称
en: Project Name
Description:
zh-cn: >-
Supabase项目名称,1~128个字符,
以英文字母或下划线开头,
只能包含英文字母、数字、短横线和下划线。
en: >-
Supabase project name, 1-128 characters,
starting with a letter or underscore.
AllowedPattern: '^[a-zA-Z_][a-zA-Z0-9_-]{0,127}$'
AccountPassword:
Type: String
Label:
zh-cn: 初始账号密码
en: Account Password
Description:
zh-cn: >-
初始账号密码,8~32个字符,
至少包含大写字母、小写字母、数字和特殊字符中的三种。
en: >-
Initial account password, 8-32 characters,
must contain at least three of: uppercase, lowercase, digits, special characters.
NoEcho: true
MinLength: 8
MaxLength: 32
Resources:
SupabaseProject:
Type: ALIYUN::GPDB::SupabaseProject
Properties:
ProjectName:
Ref: ProjectName
ProjectSpec: 1C1G
AccountPassword:
Ref: AccountPassword
SecurityIPList: 127.0.0.1
VpcId:
Ref: VpcId
VSwitchId:
Ref: VSwitchId
ZoneId:
Ref: ZoneId
PayType: Free
Outputs:
ProjectId:
Label:
zh-cn: 项目ID
en: Project ID
Description:
zh-cn: 创建成功的Supabase项目ID。
en: The ID of the created Supabase project.
Value:
Fn::GetAtt:
- SupabaseProject
- ProjectId
PrivateConnectUrl:
Label:
zh-cn: 内网连接地址
en: Private Connect URL
Description:
zh-cn: Supabase Dashboard内网连接串。
en: The private connection URL for Supabase Dashboard.
Value:
Fn::GetAtt:
- SupabaseProject
- PrivateConnectUrl
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": {
"zh-cn": "创建免费版Supabase项目,快速体验Supabase开发能力。",
"en": "Create a free Supabase project for quick development experience."
},
"Parameters": {
"ZoneId": {
"Type": "String",
"Label": {
"zh-cn": "可用区",
"en": "Availability Zone"
},
"Description": {
"zh-cn": "创建Supabase项目的可用区。",
"en": "The availability zone for the Supabase project."
},
"AssociationProperty": "ALIYUN::ECS::Instance::ZoneId"
},
"VpcId": {
"Type": "String",
"Label": {
"zh-cn": "VPC ID",
"en": "VPC ID"
},
"Description": {
"zh-cn": "Supabase项目所在的专有网络ID。",
"en": "The VPC ID for the Supabase project."
},
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId"
},
"VSwitchId": {
"Type": "String",
"Label": {
"zh-cn": "交换机ID",
"en": "VSwitch ID"
},
"Description": {
"zh-cn": "Supabase项目所在的交换机ID,需与可用区一致。",
"en": "The VSwitch ID, must be in the same availability zone."
},
"AssociationProperty": "ALIYUN::VPC::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}",
"ZoneId": "${ZoneId}"
}
},
"ProjectName": {
"Type": "String",
"Label": {
"zh-cn": "项目名称",
"en": "Project Name"
},
"Description": {
"zh-cn": "Supabase项目名称,1~128个字符,以英文字母或下划线开头,只能包含英文字母、数字、短横线和下划线。",
"en": "Supabase project name, 1-128 characters, starting with a letter or underscore."
},
"AllowedPattern": "^[a-zA-Z_][a-zA-Z0-9_-]{0,127}$"
},
"AccountPassword": {
"Type": "String",
"Label": {
"zh-cn": "初始账号密码",
"en": "Account Password"
},
"Description": {
"zh-cn": "初始账号密码,8~32个字符,至少包含大写字母、小写字母、数字和特殊字符中的三种。",
"en": "Initial account password, 8-32 characters, must contain at least three of: uppercase, lowercase, digits, special characters."
},
"NoEcho": true,
"MinLength": 8,
"MaxLength": 32
}
},
"Resources": {
"SupabaseProject": {
"Type": "ALIYUN::GPDB::SupabaseProject",
"Properties": {
"ProjectName": {
"Ref": "ProjectName"
},
"ProjectSpec": "1C1G",
"AccountPassword": {
"Ref": "AccountPassword"
},
"SecurityIPList": "127.0.0.1",
"VpcId": {
"Ref": "VpcId"
},
"VSwitchId": {
"Ref": "VSwitchId"
},
"ZoneId": {
"Ref": "ZoneId"
},
"PayType": "Free"
}
}
},
"Outputs": {
"ProjectId": {
"Label": {
"zh-cn": "项目ID",
"en": "Project ID"
},
"Description": {
"zh-cn": "创建成功的Supabase项目ID。",
"en": "The ID of the created Supabase project."
},
"Value": {
"Fn::GetAtt": [
"SupabaseProject",
"ProjectId"
]
}
},
"PrivateConnectUrl": {
"Label": {
"zh-cn": "内网连接地址",
"en": "Private Connect URL"
},
"Description": {
"zh-cn": "Supabase Dashboard内网连接串。",
"en": "The private connection URL for Supabase Dashboard."
},
"Value": {
"Fn::GetAtt": [
"SupabaseProject",
"PrivateConnectUrl"
]
}
}
}
}Scenario 2: Create a Pay-As-You-Go Supabase Project with Custom Storage and Disk Performance Level
ROSTemplateFormatVersion: '2015-09-01'
Description:
zh-cn: 创建按量付费Supabase项目,配置自定义存储和磁盘性能等级。
en: Create a postpaid Supabase project with custom storage and disk performance.
Parameters:
ZoneId:
Type: String
Label:
zh-cn: 可用区
en: Availability Zone
AssociationProperty: ALIYUN::ECS::Instance::ZoneId
VpcId:
Type: String
Label:
zh-cn: VPC ID
en: VPC ID
AssociationProperty: ALIYUN::ECS::VPC::VPCId
VSwitchId:
Type: String
Label:
zh-cn: 交换机ID
en: VSwitch ID
AssociationProperty: ALIYUN::VPC::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId}
ProjectName:
Type: String
Label:
zh-cn: 项目名称
en: Project Name
Description:
zh-cn: >-
Supabase项目名称,1~128个字符,
以英文字母或下划线开头。
en: >-
Supabase project name, 1-128 characters,
starting with a letter or underscore.
AllowedPattern: '^[a-zA-Z_][a-zA-Z0-9_-]{0,127}$'
ProjectSpec:
Type: String
Label:
zh-cn: 实例规格
en: Instance Spec
Description:
zh-cn: Supabase实例规格。
en: The Supabase instance specification.
Default: 1C1G
AccountPassword:
Type: String
Label:
zh-cn: 初始账号密码
en: Account Password
Description:
zh-cn: 初始账号密码,8~32个字符。
en: Initial account password, 8-32 characters.
NoEcho: true
MinLength: 8
MaxLength: 32
SecurityIPList:
Type: String
Label:
zh-cn: 安全访问白名单
en: Security IP Whitelist
Description:
zh-cn: >-
允许访问的IP白名单,多个IP用英文逗号分隔。
设置为127.0.0.1表示禁止所有外部IP访问。
en: >-
IP whitelist for access control, multiple IPs separated by commas.
Set to 127.0.0.1 to deny all external access.
Default: 127.0.0.1
DatabaseIPList:
Type: String
Label:
zh-cn: 数据库白名单
en: Database IP Whitelist
Description:
zh-cn: 数据库访问的IP白名单,多个IP用英文逗号分隔。
en: Database access IP whitelist, multiple IPs separated by commas.
Default: ''
StorageSize:
Type: Number
Label:
zh-cn: 存储空间大小
en: Storage Size
Description:
zh-cn: 存储空间大小,单位GB。
en: Storage size in GB.
Default: 50
MinValue: 1
DiskPerformanceLevel:
Type: String
Label:
zh-cn: 磁盘性能等级
en: Disk Performance Level
Description:
zh-cn: >-
云盘PL等级。
PL0:适用于一般性能需求的场景。
PL1:适用于高性能需求的场景。
en: >-
Disk performance level.
PL0: for general performance needs.
PL1: for high performance needs.
Default: PL1
AllowedValues:
- PL0
- PL1
Resources:
SupabaseProject:
Type: ALIYUN::GPDB::SupabaseProject
Properties:
ProjectName:
Ref: ProjectName
ProjectSpec:
Ref: ProjectSpec
AccountPassword:
Ref: AccountPassword
SecurityIPList:
Ref: SecurityIPList
DatabaseIPList:
Ref: DatabaseIPList
VpcId:
Ref: VpcId
VSwitchId:
Ref: VSwitchId
ZoneId:
Ref: ZoneId
PayType: Postpaid
StorageSize:
Ref: StorageSize
DiskPerformanceLevel:
Ref: DiskPerformanceLevel
Outputs:
ProjectId:
Label:
zh-cn: 项目ID
en: Project ID
Description:
zh-cn: 创建成功的Supabase项目ID。
en: The ID of the created Supabase project.
Value:
Fn::GetAtt:
- SupabaseProject
- ProjectId
ApiKeys:
Label:
zh-cn: API密钥
en: API Keys
Description:
zh-cn: Supabase项目的API Keys。
en: The API Keys of the Supabase project.
Value:
Fn::GetAtt:
- SupabaseProject
- ApiKeys
PublicConnectUrl:
Label:
zh-cn: 公网连接地址
en: Public Connect URL
Description:
zh-cn: Supabase Dashboard公网连接串。
en: The public connection URL for Supabase Dashboard.
Value:
Fn::GetAtt:
- SupabaseProject
- PublicConnectUrl
PrivateConnectUrl:
Label:
zh-cn: 内网连接地址
en: Private Connect URL
Description:
zh-cn: Supabase Dashboard内网连接串。
en: The private connection URL for Supabase Dashboard.
Value:
Fn::GetAtt:
- SupabaseProject
- PrivateConnectUrl
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": {
"zh-cn": "创建按量付费Supabase项目,配置自定义存储和磁盘性能等级。",
"en": "Create a postpaid Supabase project with custom storage and disk performance."
},
"Parameters": {
"ZoneId": {
"Type": "String",
"Label": {
"zh-cn": "可用区",
"en": "Availability Zone"
},
"AssociationProperty": "ALIYUN::ECS::Instance::ZoneId"
},
"VpcId": {
"Type": "String",
"Label": {
"zh-cn": "VPC ID",
"en": "VPC ID"
},
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId"
},
"VSwitchId": {
"Type": "String",
"Label": {
"zh-cn": "交换机ID",
"en": "VSwitch ID"
},
"AssociationProperty": "ALIYUN::VPC::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}",
"ZoneId": "${ZoneId}"
}
},
"ProjectName": {
"Type": "String",
"Label": {
"zh-cn": "项目名称",
"en": "Project Name"
},
"Description": {
"zh-cn": "Supabase项目名称,1~128个字符,以英文字母或下划线开头。",
"en": "Supabase project name, 1-128 characters, starting with a letter or underscore."
},
"AllowedPattern": "^[a-zA-Z_][a-zA-Z0-9_-]{0,127}$"
},
"ProjectSpec": {
"Type": "String",
"Label": {
"zh-cn": "实例规格",
"en": "Instance Spec"
},
"Description": {
"zh-cn": "Supabase实例规格。",
"en": "The Supabase instance specification."
},
"Default": "1C1G"
},
"AccountPassword": {
"Type": "String",
"Label": {
"zh-cn": "初始账号密码",
"en": "Account Password"
},
"Description": {
"zh-cn": "初始账号密码,8~32个字符。",
"en": "Initial account password, 8-32 characters."
},
"NoEcho": true,
"MinLength": 8,
"MaxLength": 32
},
"SecurityIPList": {
"Type": "String",
"Label": {
"zh-cn": "安全访问白名单",
"en": "Security IP Whitelist"
},
"Description": {
"zh-cn": "允许访问的IP白名单,多个IP用英文逗号分隔。设置为127.0.0.1表示禁止所有外部IP访问。",
"en": "IP whitelist for access control, multiple IPs separated by commas. Set to 127.0.0.1 to deny all external access."
},
"Default": "127.0.0.1"
},
"DatabaseIPList": {
"Type": "String",
"Label": {
"zh-cn": "数据库白名单",
"en": "Database IP Whitelist"
},
"Description": {
"zh-cn": "数据库访问的IP白名单,多个IP用英文逗号分隔。",
"en": "Database access IP whitelist, multiple IPs separated by commas."
},
"Default": ""
},
"StorageSize": {
"Type": "Number",
"Label": {
"zh-cn": "存储空间大小",
"en": "Storage Size"
},
"Description": {
"zh-cn": "存储空间大小,单位GB。",
"en": "Storage size in GB."
},
"Default": 50,
"MinValue": 1
},
"DiskPerformanceLevel": {
"Type": "String",
"Label": {
"zh-cn": "磁盘性能等级",
"en": "Disk Performance Level"
},
"Description": {
"zh-cn": "云盘PL等级。PL0:适用于一般性能需求的场景。PL1:适用于高性能需求的场景。",
"en": "Disk performance level. PL0: for general performance needs. PL1: for high performance needs."
},
"Default": "PL1",
"AllowedValues": [
"PL0",
"PL1"
]
}
},
"Resources": {
"SupabaseProject": {
"Type": "ALIYUN::GPDB::SupabaseProject",
"Properties": {
"ProjectName": {
"Ref": "ProjectName"
},
"ProjectSpec": {
"Ref": "ProjectSpec"
},
"AccountPassword": {
"Ref": "AccountPassword"
},
"SecurityIPList": {
"Ref": "SecurityIPList"
},
"DatabaseIPList": {
"Ref": "DatabaseIPList"
},
"VpcId": {
"Ref": "VpcId"
},
"VSwitchId": {
"Ref": "VSwitchId"
},
"ZoneId": {
"Ref": "ZoneId"
},
"PayType": "Postpaid",
"StorageSize": {
"Ref": "StorageSize"
},
"DiskPerformanceLevel": {
"Ref": "DiskPerformanceLevel"
}
}
}
},
"Outputs": {
"ProjectId": {
"Label": {
"zh-cn": "项目ID",
"en": "Project ID"
},
"Description": {
"zh-cn": "创建成功的Supabase项目ID。",
"en": "The ID of the created Supabase project."
},
"Value": {
"Fn::GetAtt": [
"SupabaseProject",
"ProjectId"
]
}
},
"ApiKeys": {
"Label": {
"zh-cn": "API密钥",
"en": "API Keys"
},
"Description": {
"zh-cn": "Supabase项目的API Keys。",
"en": "The API Keys of the Supabase project."
},
"Value": {
"Fn::GetAtt": [
"SupabaseProject",
"ApiKeys"
]
}
},
"PublicConnectUrl": {
"Label": {
"zh-cn": "公网连接地址",
"en": "Public Connect URL"
},
"Description": {
"zh-cn": "Supabase Dashboard公网连接串。",
"en": "The public connection URL for Supabase Dashboard."
},
"Value": {
"Fn::GetAtt": [
"SupabaseProject",
"PublicConnectUrl"
]
}
},
"PrivateConnectUrl": {
"Label": {
"zh-cn": "内网连接地址",
"en": "Private Connect URL"
},
"Description": {
"zh-cn": "Supabase Dashboard内网连接串。",
"en": "The private connection URL for Supabase Dashboard."
},
"Value": {
"Fn::GetAtt": [
"SupabaseProject",
"PrivateConnectUrl"
]
}
}
}
}Scenario 3: Create a Subscription Supabase Project with Full Network and Storage Configuration
ROSTemplateFormatVersion: '2015-09-01'
Description:
zh-cn: 创建包年包月Supabase生产项目,配置完整的网络和存储参数。
en: Create a prepaid Supabase production project with full network and storage config.
Parameters:
ZoneId:
Type: String
Label:
zh-cn: 可用区
en: Availability Zone
AssociationProperty: ALIYUN::ECS::Instance::ZoneId
VpcId:
Type: String
Label:
zh-cn: VPC ID
en: VPC ID
AssociationProperty: ALIYUN::ECS::VPC::VPCId
VSwitchId:
Type: String
Label:
zh-cn: 交换机ID
en: VSwitch ID
AssociationProperty: ALIYUN::VPC::VSwitch::VSwitchId
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId}
ProjectName:
Type: String
Label:
zh-cn: 项目名称
en: Project Name
Description:
zh-cn: >-
Supabase项目名称,1~128个字符,
以英文字母或下划线开头。
en: >-
Supabase project name, 1-128 characters,
starting with a letter or underscore.
AllowedPattern: '^[a-zA-Z_][a-zA-Z0-9_-]{0,127}$'
ProjectSpec:
Type: String
Label:
zh-cn: 实例规格
en: Instance Spec
Description:
zh-cn: Supabase实例规格,根据业务负载选择合适的规格。
en: Supabase instance spec, choose based on workload.
Default: 2C4G
AccountPassword:
Type: String
Label:
zh-cn: 初始账号密码
en: Account Password
Description:
zh-cn: >-
初始账号密码,8~32个字符,
至少包含大写字母、小写字母、数字和特殊字符中的三种。
en: >-
Initial account password, 8-32 characters,
must contain at least three character types.
NoEcho: true
MinLength: 8
MaxLength: 32
SecurityIPList:
Type: String
Label:
zh-cn: 安全访问白名单
en: Security IP Whitelist
Description:
zh-cn: >-
允许访问的IP白名单,多个IP用英文逗号分隔。
生产环境建议配置为具体的应用服务器IP。
en: >-
IP whitelist for access, multiple IPs separated by commas.
For production, set to specific application server IPs.
DatabaseIPList:
Type: String
Label:
zh-cn: 数据库白名单
en: Database IP Whitelist
Description:
zh-cn: 数据库访问的IP白名单,多个IP用英文逗号分隔。
en: Database access IP whitelist, multiple IPs separated by commas.
Default: ''
StorageSize:
Type: Number
Label:
zh-cn: 存储空间大小
en: Storage Size (GB)
Description:
zh-cn: 存储空间大小,单位GB,根据数据量规划选择。
en: Storage size in GB, choose based on data volume planning.
Default: 200
MinValue: 1
Period:
Type: String
Label:
zh-cn: 购买时长单位
en: Period Unit
Description:
zh-cn: 购买资源的时长单位。
en: The period unit of the purchase.
Default: Month
AllowedValues:
- Month
- Year
UsedTime:
Type: Number
Label:
zh-cn: 购买时长
en: Used Time
Description:
zh-cn: >-
购买时长。
当Period为Month时,取值范围1~9。
当Period为Year时,取值范围1~3。
en: >-
Purchase duration.
When Period is Month, valid values: 1-9.
When Period is Year, valid values: 1-3.
Default: 3
MinValue: 1
MaxValue: 9
Resources:
SupabaseProject:
Type: ALIYUN::GPDB::SupabaseProject
Properties:
ProjectName:
Ref: ProjectName
ProjectSpec:
Ref: ProjectSpec
AccountPassword:
Ref: AccountPassword
SecurityIPList:
Ref: SecurityIPList
DatabaseIPList:
Ref: DatabaseIPList
VpcId:
Ref: VpcId
VSwitchId:
Ref: VSwitchId
ZoneId:
Ref: ZoneId
PayType: Prepaid
DiskPerformanceLevel: PL1
StorageSize:
Ref: StorageSize
Period:
Ref: Period
UsedTime:
Ref: UsedTime
Outputs:
ProjectId:
Label:
zh-cn: 项目ID
en: Project ID
Description:
zh-cn: 创建成功的Supabase项目ID。
en: The ID of the created Supabase project.
Value:
Fn::GetAtt:
- SupabaseProject
- ProjectId
ApiKeys:
Label:
zh-cn: API密钥
en: API Keys
Description:
zh-cn: Supabase项目的API Keys。
en: The API Keys of the Supabase project.
Value:
Fn::GetAtt:
- SupabaseProject
- ApiKeys
Eni:
Label:
zh-cn: 弹性网卡ID
en: ENI ID
Description:
zh-cn: Supabase项目的弹性网卡ID。
en: The ENI ID of the Supabase project.
Value:
Fn::GetAtt:
- SupabaseProject
- Eni
PublicConnectUrl:
Label:
zh-cn: 公网连接地址
en: Public Connect URL
Description:
zh-cn: Supabase Dashboard公网连接串。
en: The public connection URL for Supabase Dashboard.
Value:
Fn::GetAtt:
- SupabaseProject
- PublicConnectUrl
PrivateConnectUrl:
Label:
zh-cn: 内网连接地址
en: Private Connect URL
Description:
zh-cn: Supabase Dashboard内网连接串。
en: The private connection URL for Supabase Dashboard.
Value:
Fn::GetAtt:
- SupabaseProject
- PrivateConnectUrl
{
"ROSTemplateFormatVersion": "2015-09-01",
"Description": {
"zh-cn": "创建包年包月Supabase生产项目,配置完整的网络和存储参数。",
"en": "Create a prepaid Supabase production project with full network and storage config."
},
"Parameters": {
"ZoneId": {
"Type": "String",
"Label": {
"zh-cn": "可用区",
"en": "Availability Zone"
},
"AssociationProperty": "ALIYUN::ECS::Instance::ZoneId"
},
"VpcId": {
"Type": "String",
"Label": {
"zh-cn": "VPC ID",
"en": "VPC ID"
},
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId"
},
"VSwitchId": {
"Type": "String",
"Label": {
"zh-cn": "交换机ID",
"en": "VSwitch ID"
},
"AssociationProperty": "ALIYUN::VPC::VSwitch::VSwitchId",
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}",
"ZoneId": "${ZoneId}"
}
},
"ProjectName": {
"Type": "String",
"Label": {
"zh-cn": "项目名称",
"en": "Project Name"
},
"Description": {
"zh-cn": "Supabase项目名称,1~128个字符,以英文字母或下划线开头。",
"en": "Supabase project name, 1-128 characters, starting with a letter or underscore."
},
"AllowedPattern": "^[a-zA-Z_][a-zA-Z0-9_-]{0,127}$"
},
"ProjectSpec": {
"Type": "String",
"Label": {
"zh-cn": "实例规格",
"en": "Instance Spec"
},
"Description": {
"zh-cn": "Supabase实例规格,根据业务负载选择合适的规格。",
"en": "Supabase instance spec, choose based on workload."
},
"Default": "2C4G"
},
"AccountPassword": {
"Type": "String",
"Label": {
"zh-cn": "初始账号密码",
"en": "Account Password"
},
"Description": {
"zh-cn": "初始账号密码,8~32个字符,至少包含大写字母、小写字母、数字和特殊字符中的三种。",
"en": "Initial account password, 8-32 characters, must contain at least three character types."
},
"NoEcho": true,
"MinLength": 8,
"MaxLength": 32
},
"SecurityIPList": {
"Type": "String",
"Label": {
"zh-cn": "安全访问白名单",
"en": "Security IP Whitelist"
},
"Description": {
"zh-cn": "允许访问的IP白名单,多个IP用英文逗号分隔。生产环境建议配置为具体的应用服务器IP。",
"en": "IP whitelist for access, multiple IPs separated by commas. For production, set to specific application server IPs."
}
},
"DatabaseIPList": {
"Type": "String",
"Label": {
"zh-cn": "数据库白名单",
"en": "Database IP Whitelist"
},
"Description": {
"zh-cn": "数据库访问的IP白名单,多个IP用英文逗号分隔。",
"en": "Database access IP whitelist, multiple IPs separated by commas."
},
"Default": ""
},
"StorageSize": {
"Type": "Number",
"Label": {
"zh-cn": "存储空间大小",
"en": "Storage Size (GB)"
},
"Description": {
"zh-cn": "存储空间大小,单位GB,根据数据量规划选择。",
"en": "Storage size in GB, choose based on data volume planning."
},
"Default": 200,
"MinValue": 1
},
"Period": {
"Type": "String",
"Label": {
"zh-cn": "购买时长单位",
"en": "Period Unit"
},
"Description": {
"zh-cn": "购买资源的时长单位。",
"en": "The period unit of the purchase."
},
"Default": "Month",
"AllowedValues": [
"Month",
"Year"
]
},
"UsedTime": {
"Type": "Number",
"Label": {
"zh-cn": "购买时长",
"en": "Used Time"
},
"Description": {
"zh-cn": "购买时长。当Period为Month时,取值范围1~9。当Period为Year时,取值范围1~3。",
"en": "Purchase duration. When Period is Month, valid values: 1-9. When Period is Year, valid values: 1-3."
},
"Default": 3,
"MinValue": 1,
"MaxValue": 9
}
},
"Resources": {
"SupabaseProject": {
"Type": "ALIYUN::GPDB::SupabaseProject",
"Properties": {
"ProjectName": {
"Ref": "ProjectName"
},
"ProjectSpec": {
"Ref": "ProjectSpec"
},
"AccountPassword": {
"Ref": "AccountPassword"
},
"SecurityIPList": {
"Ref": "SecurityIPList"
},
"DatabaseIPList": {
"Ref": "DatabaseIPList"
},
"VpcId": {
"Ref": "VpcId"
},
"VSwitchId": {
"Ref": "VSwitchId"
},
"ZoneId": {
"Ref": "ZoneId"
},
"PayType": "Prepaid",
"DiskPerformanceLevel": "PL1",
"StorageSize": {
"Ref": "StorageSize"
},
"Period": {
"Ref": "Period"
},
"UsedTime": {
"Ref": "UsedTime"
}
}
}
},
"Outputs": {
"ProjectId": {
"Label": {
"zh-cn": "项目ID",
"en": "Project ID"
},
"Description": {
"zh-cn": "创建成功的Supabase项目ID。",
"en": "The ID of the created Supabase project."
},
"Value": {
"Fn::GetAtt": [
"SupabaseProject",
"ProjectId"
]
}
},
"ApiKeys": {
"Label": {
"zh-cn": "API密钥",
"en": "API Keys"
},
"Description": {
"zh-cn": "Supabase项目的API Keys。",
"en": "The API Keys of the Supabase project."
},
"Value": {
"Fn::GetAtt": [
"SupabaseProject",
"ApiKeys"
]
}
},
"Eni": {
"Label": {
"zh-cn": "弹性网卡ID",
"en": "ENI ID"
},
"Description": {
"zh-cn": "Supabase项目的弹性网卡ID。",
"en": "The ENI ID of the Supabase project."
},
"Value": {
"Fn::GetAtt": [
"SupabaseProject",
"Eni"
]
}
},
"PublicConnectUrl": {
"Label": {
"zh-cn": "公网连接地址",
"en": "Public Connect URL"
},
"Description": {
"zh-cn": "Supabase Dashboard公网连接串。",
"en": "The public connection URL for Supabase Dashboard."
},
"Value": {
"Fn::GetAtt": [
"SupabaseProject",
"PublicConnectUrl"
]
}
},
"PrivateConnectUrl": {
"Label": {
"zh-cn": "内网连接地址",
"en": "Private Connect URL"
},
"Description": {
"zh-cn": "Supabase Dashboard内网连接串。",
"en": "The private connection URL for Supabase Dashboard."
},
"Value": {
"Fn::GetAtt": [
"SupabaseProject",
"PrivateConnectUrl"
]
}
}
}
}