murano-apps/Cassandra/package/UI/ui.yaml

135 lines
4.8 KiB
YAML

# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
Version: 2
Templates:
seedNode:
?:
type: com.example.apache.CassandraNode
instance:
?:
type: io.murano.resources.LinuxMuranoInstance
name: generateHostname($.appConfiguration.unitNamingPattern, $index)
flavor: $.instanceConfiguration.flavor
image: $.instanceConfiguration.osImage
assignFloatingIp: $.appConfiguration.assignFloatingIP
keyname: $.instanceConfiguration.keyPair
availabilityZone: $.instanceConfiguration.availabilityZone
regularNode:
?:
type: com.example.apache.CassandraNode
instance:
?:
type: io.murano.resources.LinuxMuranoInstance
name: generateHostname($.appConfiguration.unitNamingPattern, $index + $.appConfiguration.countOfSeedNodes)
flavor: $.instanceConfiguration.flavor
image: $.instanceConfiguration.osImage
assignFloatingIp: $.appConfiguration.assignFloatingIP
keyname: $.instanceConfiguration.keyPair
availabilityZone: $.instanceConfiguration.availabilityZone
Application:
?:
type: com.example.apache.CassandraCluster
name: $.appConfiguration.name
seedNodes: repeat($seedNode, $.appConfiguration.countOfSeedNodes)
regularNodes: repeat($regularNode, $.appConfiguration.countOfRegularNodes)
Forms:
- appConfiguration:
fields:
- name: license
type: string
description: Apache License, Version 2.0
hidden: true
required: false
- name: name
type: string
label: Cluster Name
initial: CassandraCluster
description: >-
Enter a desired name for the application. Just A-Z, a-z, 0-9, dash and
underline are allowed
- name: countOfSeedNodes
type: integer
label: Count of seed nodes
initial: 1
minValue: 0
required: true
description: >-
Select the number of seed nodes. Seed nodes are used to bootstrap
other nodes(which is the process of a new node joining an existing
cluster) and setup the communication
- name: countOfRegularNodes
type: integer
label: Count of regular nodes
initial: 1
required: true
minValue: 0
description: >-
Select the number of Cassandra nodes (except seed nodes)
- name: assignFloatingIP
type: boolean
initial: true
label: Assign floating IP to nodes
description: >-
Check to assign floating IP to nodes
required: false
- name: unitNamingPattern
type: string
initial: cassandra-#
helpText: "# expands to machine sequence number"
required: false
description: >-
For your convenience instance hostname can be specified.
Enter a name or leave blank for random name generation.
regexpValidator: '^[a-zA-z][-_\w#]*$'
maxLength: 64
errorMessages:
invalid: Just letters, numbers, underscores, sharps and hyphens are allowed.
label: Cassandra node hostname pattern
- instanceConfiguration:
fields:
- name: title
type: string
required: false
hidden: true
description: Specify some instance parameters on which application would be created.
- name: flavor
type: flavor
label: Instance flavor
description: >-
Select one of the existing flavors. Consider that application performance
depends on this parameter.
- name: osImage
type: image
imageType: linux
label: Instance image
description: >-
Select a valid image for the application. Image should already be prepared and
registered in glance.
- name: keyPair
type: keypair
label: Key Pair
description: >-
Select the Key Pair to control access to instances. You can login to
instances using this KeyPair after the deployment.
required: false
- name: availabilityZone
type: azone
label: Availability zone
description: Select an availability zone where the application would be installed.
required: false