All Products
Search
Document Center

Resource Orchestration Service:ALIYUN::ElasticSearchServerless::App

Last Updated:Aug 12, 2024

ALIYUN::ElasticSearchServerless::App is used to create an Elasticsearch serverless application.

Syntax

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

Properties

Property

Type

Required

Editable

Description

Constraint

Authentication

Map

Yes

Yes

The authentication information.

For more information, see Authentication property.

AppName

String

Yes

No

The name of the application.

None

QuotaInfo

Map

Yes

No

The quota information of the application.

For more information, see QuotaInfo properties.

AppVersion

String

No

No

The version of the application.

Set the value to 7.10.

Description

String

No

Yes

The remarks of the application.

None

Network

List

No

Yes

The information about the public network.

For more information, see Network properties.

PrivateNetwork

List

No

Yes

The information about the private network.

For more information, see PrivateNetwork properties.

Authentication syntax

"Authentication": {
  "BasicAuth": List
}

Authentication property

Property

Type

Required

Editable

Description

Constraint

BasicAuth

List

Yes

Yes

The basic authentication information.

For more information, see BasicAuth property.

BasicAuth syntax

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

BasicAuth property

Property

Type

Required

Editable

Description

Constraint

Password

String

Yes

No

The password of the user.

None

QuotaInfo syntax

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

QuotaInfo properties

Property

Type

Required

Editable

Description

Constraint

AppType

String

Yes

No

The type of the application.

Valid values:

  • TRIAL

  • STANDARD

Cu

Integer

Yes

No

The compute unit of the application.

None

Storage

Integer

Yes

No

The storage space of the application.

None

Network syntax

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

Network properties

Property

Type

Required

Editable

Description

Constraint

Enabled

Boolean

Yes

No

Specifies whether to enable Internet access for the application.

Valid values:

  • true: enables Internet access for the application.

  • false: disables Internet access for the application.

Type

String

Yes

No

The type of the IP address whitelist.

Valid values:

  • PUBLIC_ES: the public IP address whitelist of Elasticsearch

  • PUBLIC_KIBANA: the public IP address whitelist of Kibana

WhiteIpGroup

List

No

Yes

The IP address whitelist.

For more information, see WhiteIpGroup properties.

WhiteIpGroup syntax

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

WhiteIpGroup properties

Property

Type

Required

Editable

Description

Constraint

GroupName

String

Yes

No

The name of the whitelist group.

None

Ips

List

No

No

The IP addresses in the whitelist group.

None

PrivateNetwork syntax

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

PrivateNetwork properties

Property

Type

Required

Editable

Description

Constraint

Enabled

Boolean

Yes

No

Specifies whether to enable private network access for the application.

Valid values:

  • true: enables private network access for the application.

  • false: disables private network access for the application.

PvlEndpointId

String

Yes

No

The ID of the private endpoint.

None

Type

String

Yes

No

The type of the IP address whitelist.

Valid values:

  • PRIVATE_KIBANA: the private IP address whitelist of Kibana

  • PRIVATE_ES: the private IP address whitelist of Elasticsearch

VpcId

String

Yes

No

The ID of the virtual private cloud (VPC).

None

WhiteIpGroup

List

No

Yes

The IP address whitelists.

For more information, see WhiteIpGroup properties.

Return values

Fn::GetAtt

  • PublicKibanaDomain: the Kibana public domain of the application.

  • InstanceId: the ID of the instance.

  • PrivateESDomain: the Elasticsearch private domain of the application.

  • PublicESDdomain: the Elasticsearch public domain of the application.

  • PrivateKibanaDomain: the Kibana private domain of the application.

Examples

YAML format

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 format

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