ALIYUN::ElasticSearchServerless::App

ALIYUN::ElasticSearchServerless::App类型用于创建Elasticsearch Serverless应用。

语法

{
  "Type": "ALIYUN::ElasticSearchServerless::App",
  "Properties": {
    "Authentication": Map,
    "AppName": String,
    "QuotaInfo": Map,
    "AppVersion": String,
    "Description": String,
    "Network": List,
    "PrivateNetwork": List
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

Authentication

Map

认证信息。

更多信息,请参见Authentication属性

AppName

String

应用名称。

QuotaInfo

Map

应用的配额信息。

更多信息,请参见QuotaInfo属性

AppVersion

String

产品版本。

取值:7.10。

Description

String

应用备注。

Network

List

公网信息。

更多信息,请参见Network属性

PrivateNetwork

List

私网信息。

更多信息,请参见PrivateNetwork属性

Authentication语法

"Authentication": {
  "BasicAuth": List
}

Authentication属性

属性名称

类型

必须

允许更新

描述

约束

BasicAuth

List

BasicAuth 信息。

更多信息,请参见BasicAuth属性

BasicAuth语法

"BasicAuth": [
  {
    "Password": String
  }
]

BasicAuth属性

属性名称

类型

必须

允许更新

描述

约束

Password

String

用户密码。

QuotaInfo语法

"QuotaInfo": {
  "Cu": Integer,
  "Storage": Integer,
  "AppType": String
}

QuotaInfo属性

属性名称

类型

必须

允许更新

描述

约束

AppType

String

应用类型。

取值:

  • TRIAL

  • STANDARD

Cu

Integer

应用的计算单元。

Storage

Integer

应用的存储空间。

Network语法

"Network": [
  {
    "Type": String,
    "Enabled": Boolean,
    "WhiteIpGroup": List
  }
]

Network属性

属性名称

类型

必须

允许更新

描述

约束

Enabled

Boolean

是否开启公网访问。

取值:

  • true:开启公网访问。

  • false:关闭公网访问。

Type

String

IP白名单的类型。

取值:

  • PUBLIC_ES:Elasticsearch公网访问白名单。

  • PUBLIC_KIBANA:Kibana公网访问白名单。

WhiteIpGroup

List

白名单列表。

更多信息,请参见WhiteIpGroup属性

WhiteIpGroup语法

"WhiteIpGroup": [
  {
    "GroupName": String,
    "Ips": List
  }
]

WhiteIpGroup属性

属性名称

类型

必须

允许更新

描述

约束

GroupName

String

白名单组的组名。

Ips

List

白名单组中的IP地址列表。

PrivateNetwork语法

"PrivateNetwork": [
  {
    "PvlEndpointId": String,
    "Type": String,
    "VpcId": String,
    "Enabled": Boolean,
    "WhiteIpGroup": List
  }
]

PrivateNetwork属性

属性名称

类型

必须

允许更新

描述

约束

Enabled

Boolean

是否开启私网访问。

取值:

  • true:开启私网访问。

  • false:关闭私网访问。

PvlEndpointId

String

终端节点信息。

Type

String

IP白名单的类型。

取值:

  • PRIVATE_KIBANA:Kibana私网访问白名单

  • PRIVATE_ES:Elasticsearch私网访问白名单

VpcId

String

专有网络ID。

WhiteIpGroup

List

白名单列表。

更多信息,请参见WhiteIpGroup属性

返回值

Fn::GetAtt

  • PublicKibanaDomain:应用的公网Kibana域名。

  • InstanceId:实例ID。

  • PrivateESDomain:应用的私网域名。

  • PublicESDomain:应用的公网域名。

  • PrivateKibanaDomain:应用的私网Kibana域名。

示例

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  Authentication:
    AssociationPropertyMetadata:
      Parameters:
        BasicAuth:
          AssociationPropertyMetadata:
            Parameters:
              Password:
                Type: String
                Description:
                  en: The password of the user.
                Required: true
          AssociationProperty: List[Parameters]
          Type: Json
          Description:
            en: The basic authentication of the app.
          Required: true
    Type: Json
    Description:
      en: The authentication of the app. Currently only supports specifying passwords for initial users
    Required: true
  QuotaInfo:
    AssociationPropertyMetadata:
      Parameters:
        Cu:
          Type: Number
          Description:
            en: The cu of the app.
          Required: true
        Storage:
          Type: Number
          Description:
            en: The storage of the app.
          Required: true
        AppType:
          Type: String
          Description:
            en: The type of the app.
          AllowedValues:
            - TRIAL
            - STANDARD
          Required: true
    Type: Json
    Description:
      en: The quota info of the app.
    Required: true
  AppName:
    Type: String
    Description:
      en: The name of the elastic search serverless version app.
    Required: true
Resources:
  App:
    Type: ALIYUN::ElasticSearchServerless::App
    Properties:
      Authentication:
        Ref: Authentication
      QuotaInfo:
        Ref: QuotaInfo
      AppName:
        Ref: AppName
Outputs:
  PublicKibanaDomain:
    Description: The public network kibana domain of the app.
    Value:
      Fn::GetAtt:
        - App
        - PublicKibanaDomain
  InstanceId:
    Description: The Id of the ElasticSearch serverless instance.
    Value:
      Fn::GetAtt:
        - App
        - InstanceId
  PrivateESDomain:
    Description: The private network domain of the app.
    Value:
      Fn::GetAtt:
        - App
        - PrivateESDomain
  PublicESDomain:
    Description: The public network domain of the app.
    Value:
      Fn::GetAtt:
        - App
        - PublicESDomain
  PrivateKibanaDomain:
    Description: The private network kibana domain of the app.
    Value:
      Fn::GetAtt:
        - App
        - PrivateKibanaDomain

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "Authentication": {
      "AssociationPropertyMetadata": {
        "Parameters": {
          "BasicAuth": {
            "AssociationPropertyMetadata": {
              "Parameters": {
                "Password": {
                  "Type": "String",
                  "Description": {
                    "en": "The password of the user."
                  },
                  "Required": true
                }
              }
            },
            "AssociationProperty": "List[Parameters]",
            "Type": "Json",
            "Description": {
              "en": "The basic authentication of the app."
            },
            "Required": true
          }
        }
      },
      "Type": "Json",
      "Description": {
        "en": "The authentication of the app. Currently only supports specifying passwords for initial users"
      },
      "Required": true
    },
    "QuotaInfo": {
      "AssociationPropertyMetadata": {
        "Parameters": {
          "Cu": {
            "Type": "Number",
            "Description": {
              "en": "The cu of the app."
            },
            "Required": true
          },
          "Storage": {
            "Type": "Number",
            "Description": {
              "en": "The storage of the app."
            },
            "Required": true
          },
          "AppType": {
            "Type": "String",
            "Description": {
              "en": "The type of the app."
            },
            "AllowedValues": [
              "TRIAL",
              "STANDARD"
            ],
            "Required": true
          }
        }
      },
      "Type": "Json",
      "Description": {
        "en": "The quota info of the app."
      },
      "Required": true
    },
    "AppName": {
      "Type": "String",
      "Description": {
        "en": "The name of the elastic search serverless version app."
      },
      "Required": true
    }
  },
  "Resources": {
    "App": {
      "Type": "ALIYUN::ElasticSearchServerless::App",
      "Properties": {
        "Authentication": {
          "Ref": "Authentication"
        },
        "QuotaInfo": {
          "Ref": "QuotaInfo"
        },
        "AppName": {
          "Ref": "AppName"
        }
      }
    }
  },
  "Outputs": {
    "PublicKibanaDomain": {
      "Description": "The public network kibana domain of the app.",
      "Value": {
        "Fn::GetAtt": [
          "App",
          "PublicKibanaDomain"
        ]
      }
    },
    "InstanceId": {
      "Description": "The Id of the ElasticSearch serverless instance.",
      "Value": {
        "Fn::GetAtt": [
          "App",
          "InstanceId"
        ]
      }
    },
    "PrivateESDomain": {
      "Description": "The private network domain of the app.",
      "Value": {
        "Fn::GetAtt": [
          "App",
          "PrivateESDomain"
        ]
      }
    },
    "PublicESDomain": {
      "Description": "The public network domain of the app.",
      "Value": {
        "Fn::GetAtt": [
          "App",
          "PublicESDomain"
        ]
      }
    },
    "PrivateKibanaDomain": {
      "Description": "The private network kibana domain of the app.",
      "Value": {
        "Fn::GetAtt": [
          "App",
          "PrivateKibanaDomain"
        ]
      }
    }
  }
}