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:
|
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:
|
Type | String | Yes | No | The type of the IP address whitelist. | Valid values:
|
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:
|
PvlEndpointId | String | Yes | No | The ID of the private endpoint. | None |
Type | String | Yes | No | The type of the IP address whitelist. | Valid values:
|
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"
]
}
}
}
}