The ALIYUN::GPDB::SupabaseProject resource 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
|
Parameter |
Type |
Required |
Updatable |
Description |
Constraints |
|
AccountPassword |
String |
Yes |
No |
The initial account password. |
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 |
No |
The IP address whitelist for the instance. |
A value of |
|
VpcId |
String |
Yes |
No |
The ID of the VPC where the Supabase project will be created. |
None |
|
VSwitchId |
String |
Yes |
No |
The ID of the vSwitch within the specified VPC. |
None |
|
ZoneId |
String |
Yes |
No |
The ID of the availability zone where the Supabase project will be deployed. |
None |
|
DatabaseIPList |
String |
No |
No |
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 unit of the subscription duration. This property is 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. This property is 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
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
ProjectSpec:
Type: String
Description: 'The instance type of the Supabase project. Default value: 1C1G.'
Required: true
VpcId:
AssociationProperty: ALIYUN::ECS::VPC::VPCId
Type: String
Description: |-
The VPC ID.
Note: You can call the DescribeRdsVpcs operation to query the available VPC IDs.
This parameter is required.
Required: true
ZoneId:
AssociationProperty: ZoneId
Type: String
Description: |-
The availability zone ID.
Note: You can call the DescribeRegions operation to query the available availability zone IDs.
Required: true
ProjectName:
Type: String
Description: |-
The name of the project.
The name must meet the following requirements:
- The length must be 1 to 128 characters.
- Can contain only letters, digits, hyphens (-), and underscores (_).
- Must start with a letter or an underscore (_).
AllowedPattern: ^[a-zA-Z_][a-zA-Z0-9_-]{0,127}$
Required: true
SecurityIPList:
Type: String
Description: |-
The IP address whitelist.
A value of 127.0.0.1 prohibits external IP addresses from accessing the instance. After the instance is created, you can call the ModifySecurityIps operation to modify the IP address whitelist.
Required: true
VSwitchId:
AssociationPropertyMetadata:
VpcId: ${VpcId}
ZoneId: ${ZoneId}
AssociationProperty: ALIYUN::VPC::VSwitch::VSwitchId
Type: String
Description: |-
The vSwitch ID.
Note: This parameter is required. The vSwitch must be in the same availability zone as specified by ZoneId.
Required: true
AccountPassword:
Type: String
Description: |-
The password for the initial account.
The password must be 8 to 32 characters in length and contain characters from at least three of the following types: uppercase letters, lowercase letters, digits, and special characters (!@#$%^&*()_+-=).
AllowedPattern: ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[!@#$%^&*()_+=-]).{8,32}$
Required: true
Resources:
SupabaseProject:
Type: ALIYUN::GPDB::SupabaseProject
Properties:
ProjectSpec:
Ref: ProjectSpec
VpcId:
Ref: VpcId
ZoneId:
Ref: ZoneId
ProjectName:
Ref: ProjectName
SecurityIPList:
Ref: SecurityIPList
VSwitchId:
Ref: VSwitchId
AccountPassword:
Ref: AccountPassword
Outputs:
ProjectId:
Description: The ID of the Supabase project.
Value:
Fn::GetAtt:
- SupabaseProject
- ProjectId
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"ProjectSpec": {
"Type": "String",
"Description": "The instance type of the Supabase project. Default value: 1C1G.",
"Required": true
},
"VpcId": {
"AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
"Type": "String",
"Description": "The VPC ID.\nNote: You can call the DescribeRdsVpcs operation to query the available VPC IDs.\nThis parameter is required.",
"Required": true
},
"ZoneId": {
"AssociationProperty": "ZoneId",
"Type": "String",
"Description": "The availability zone ID.\nNote: You can call the DescribeRegions operation to query the available availability zone IDs.",
"Required": true
},
"ProjectName": {
"Type": "String",
"Description": "The name of the project.\nThe name must meet the following requirements:\n- The length must be 1 to 128 characters.\n- Can contain only letters, digits, hyphens (-), and underscores (_).\n- Must start with a letter or an underscore (_).",
"AllowedPattern": "^[a-zA-Z_][a-zA-Z0-9_-]{0,127}$",
"Required": true
},
"SecurityIPList": {
"Type": "String",
"Description": "The IP address whitelist.\nA value of 127.0.0.1 prohibits external IP addresses from accessing the instance. After the instance is created, you can call the ModifySecurityIps operation to modify the IP address whitelist.",
"Required": true
},
"VSwitchId": {
"AssociationPropertyMetadata": {
"VpcId": "${VpcId}",
"ZoneId": "${ZoneId}"
},
"AssociationProperty": "ALIYUN::VPC::VSwitch::VSwitchId",
"Type": "String",
"Description": "The vSwitch ID.\nNote: This parameter is required. The vSwitch must be in the same availability zone as specified by ZoneId.",
"Required": true
},
"AccountPassword": {
"Type": "String",
"Description": "The password for the initial account.\nThe password must be 8 to 32 characters in length and contain characters from at least three of the following types: uppercase letters, lowercase letters, digits, and special characters (!@#$%^&*()_+-=).",
"AllowedPattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[!@#$%^&*()_+=-]).{8,32}$",
"Required": true
}
},
"Resources": {
"SupabaseProject": {
"Type": "ALIYUN::GPDB::SupabaseProject",
"Properties": {
"ProjectSpec": {
"Ref": "ProjectSpec"
},
"VpcId": {
"Ref": "VpcId"
},
"ZoneId": {
"Ref": "ZoneId"
},
"ProjectName": {
"Ref": "ProjectName"
},
"SecurityIPList": {
"Ref": "SecurityIPList"
},
"VSwitchId": {
"Ref": "VSwitchId"
},
"AccountPassword": {
"Ref": "AccountPassword"
}
}
}
},
"Outputs": {
"ProjectId": {
"Description": "The ID of the Supabase project.",
"Value": {
"Fn::GetAtt": [
"SupabaseProject",
"ProjectId"
]
}
}
}
}