ALIYUN::GPDB::SupabaseProject

更新时间:
复制为 MD 格式

ALIYUN::GPDB::SupabaseProject类型用于创建Supabase项目。

语法

{
  "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
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

AccountPassword

String

初始账户的密码。

约束:

  • 由大写字母、小写字母、数字、特殊字符其中三种及以上组成。

  • 支持的特殊字符:!@#$%^&*()_+-=

  • 长度为 8~32 个字符。

ProjectName

String

项目名称。

命名规则如下:

  • 长度为 1~128 字符。

  • 只能包含英文字母,数字,短划线(-)和下划线(_)。

  • 必须以英文字母或下划线(_)开头。

ProjectSpec

String

Supabase 实例规格。

默认为 1C1G。

SecurityIPList

String

IP 白名单。

127.0.0.1 表示禁止任何外部 IP 访问。

VpcId

String

VPC ID。

VSwitchId

String

交换机ID。

ZoneId

String

可用区 ID。

DatabaseIPList

String

数据库白名单。

DiskPerformanceLevel

String

云盘 PL 等级。

默认 PL0。取值可选:

  • PL0

  • PL1

PayType

String

计费类型。

取值说明:

  • Postpaid:按量付费。

  • Prepaid:包年包月。

  • Free: 免费。

Period

String

购买资源的时长。

StorageSize

Integer

存储空间大小。

单位 GB,默认 1GB。

UsedTime

Integer

实例使用时间。

返回值

Fn::GetAtt

  • ProjectId:Supabase 实例 ID

  • ApiKeys:Supabase 实例 API Keys。

  • Eni:弹性网卡 ID。

  • PublicConnectUrl:Supabase Dashboard 公网连接串。

  • PrivateConnectUrl:Supabase Dashboard 内网连接串。

示例

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  ProjectSpec:
    Type: String
    Description:
      en: Supabase instance specification, default is 1C1G.
    Required: true
  VpcId:
    AssociationProperty: ALIYUN::ECS::VPC::VPCId
    Type: String
    Description:
      en: |-
        VPC ID.
        illustrate
        You can call the DescribeRdsVpcs interface to view the available VPC IDs.
        This parameter must be passed in.
    Required: true
  ZoneId:
    AssociationProperty: ZoneId
    Type: String
    Description:
      en: |-
        Availability Zone ID.
        Description You can call the DescribeRegions interface to view the available Availability Zone ID.
    Required: true
  ProjectName:
    Type: String
    Description:
      en: |-
        Project name.The naming rules are as follows:
        The length is 1~128 characters.
        Only English letters, numbers, dash (-) and underscore (_).
        Must start with English letters or underscores (_).
    AllowedPattern: ^[a-zA-Z_][a-zA-Z0-9_-]{0,127}$
    Required: true
  SecurityIPList:
    Type: String
    Description:
      en: |-
        IP whitelist.
        127.0.0.1 means that any external IP access is prohibited. You can call the ModifySecurityIps interface to modify the IP whitelist after the instance is created.
    Required: true
  VSwitchId:
    AssociationPropertyMetadata:
      VpcId: ${VpcId}
      ZoneId: ${ZoneId}
    AssociationProperty: ALIYUN::VPC::VSwitch::VSwitchId
    Type: String
    Description:
      en: |-
        vSwitch ID.
        illustrate
        vSwitchId is required.
        The Availability Zone where the vSwitch is located must be consistent with the ZoneId.
    Required: true
  AccountPassword:
    Type: String
    Description:
      en: |-
        The password for the initial account.
        It consists of three or more types of capital letters, lowercase letters, numbers, and special characters.
        Supported special characters: !@#$%^&*()_+-=
        The length is 8~32 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: Supabase instance ID
    Value:
      Fn::GetAtt:
        - SupabaseProject
        - ProjectId
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "ProjectSpec": {
      "Type": "String",
      "Description": {
        "en": "Supabase instance specification, default is 1C1G."
      },
      "Required": true
    },
    "VpcId": {
      "AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
      "Type": "String",
      "Description": {
        "en": "VPC ID.\nillustrate\nYou can call the DescribeRdsVpcs interface to view the available VPC IDs.\nThis parameter must be passed in."
      },
      "Required": true
    },
    "ZoneId": {
      "AssociationProperty": "ZoneId",
      "Type": "String",
      "Description": {
        "en": "Availability Zone ID.\nDescription You can call the DescribeRegions interface to view the available Availability Zone ID."
      },
      "Required": true
    },
    "ProjectName": {
      "Type": "String",
      "Description": {
        "en": "Project name.The naming rules are as follows:\nThe length is 1~128 characters.\nOnly English letters, numbers, dash (-) and underscore (_).\nMust start with English letters or underscores (_)."
      },
      "AllowedPattern": "^[a-zA-Z_][a-zA-Z0-9_-]{0,127}$",
      "Required": true
    },
    "SecurityIPList": {
      "Type": "String",
      "Description": {
        "en": "IP whitelist.\n127.0.0.1 means that any external IP access is prohibited. You can call the ModifySecurityIps interface to modify the IP whitelist after the instance is created."
      },
      "Required": true
    },
    "VSwitchId": {
      "AssociationPropertyMetadata": {
        "VpcId": "${VpcId}",
        "ZoneId": "${ZoneId}"
      },
      "AssociationProperty": "ALIYUN::VPC::VSwitch::VSwitchId",
      "Type": "String",
      "Description": {
        "en": "vSwitch ID.\nillustrate\nvSwitchId is required.\nThe Availability Zone where the vSwitch is located must be consistent with the ZoneId."
      },
      "Required": true
    },
    "AccountPassword": {
      "Type": "String",
      "Description": {
        "en": "The password for the initial account.\nIt consists of three or more types of capital letters, lowercase letters, numbers, and special characters.\nSupported special characters: !@#$%^&*()_+-=\nThe length is 8~32 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": "Supabase instance ID",
      "Value": {
        "Fn::GetAtt": [
          "SupabaseProject",
          "ProjectId"
        ]
      }
    }
  }
}