.. Copyright 2014 2014 Mirantis, Inc. 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. .. _active-directory-yaml: ============= *ad.yaml* ============= .. code-block:: yaml Version: 2 Templates: primaryController: ?: type: io.murano.windows.activeDirectory.PrimaryController host: ?: type: io.murano.windows.Host adminPassword: $.appConfiguration.adminPassword name: generateHostname($.appConfiguration.unitNamingPattern, 1) flavor: $.instanceConfiguration.flavor image: $.instanceConfiguration.osImage assignFloatingIp: $.appConfiguration.assignFloatingIP secondaryController: ?: type: io.murano.windows.activeDirectory.SecondaryController host: ?: type: io.murano.services.windows.Host adminPassword: $.appConfiguration.adminPassword name: generateHostname($.appConfiguration.unitNamingPattern, $index + 1) flavor: $.instanceConfiguration.flavor image: $.instanceConfiguration.osImage Application: ?: type: io.murano.windows.activeDirectory.ActiveDirectory name: $.appConfiguration.name primaryController: $primaryController secondaryControllers: repeat($secondaryController, $.appConfiguration.dcInstances - 1) Forms: - appConfiguration: fields: - name: configuration type: string hidden: true initial: standalone - name: name type: string label: Domain Name description: >- Enter a desired name for a new domain. This name should fit to DNS Domain Name requirements: it should contain only A-Z, a-z, 0-9, (.) and (-) and should not end with a dash. DNS server will be automatically set up on each of the Domain Controller instances. Note: Only first 15 characters or characters before first period is used as NetBIOS name. minLength: 2 maxLength: 255 validators: - expr: regexpValidator: '^([0-9A-Za-z]|[0-9A-Za-z][0-9A-Za-z-]*[0-9A-Za-z])\.[0-9A-Za-z][0-9A-Za-z-]*[0-9A-Za-z]$' message: >- Only letters, numbers and dashes in the middle are allowed. Period characters are allowed only when they are used to delimit the components of domain style names. Single-level domain is not appropriate. Subdomains are not allowed. - expr: regexpValidator: '(^[^.]+$|^[^.]{1,15}\..*$)' message: >- NetBIOS name cannot be shorter than 1 symbol and longer than 15 symbols. - expr: regexpValidator: '(^[^.]+$|^[^.]*\.[^.]{2,63}.*$)' message: >- DNS host name cannot be shorter than 2 symbols and longer than 63 symbols. helpText: >- Just letters, numbers and dashes are allowed. A dot can be used to create subdomains - name: dcInstances type: integer label: Instance Count description: >- You can create several Active Directory instances by setting instance number larger than one. One primary Domain Controller and a few secondary DCs will be created. minValue: 1 maxValue: 100 initial: 1 helpText: Enter an integer value between 1 and 100 - name: adminAccountName type: string label: Account Name initial: Administrator regexpValidator: '^[-\w]+$' errorMessages: invalid: 'Just letters, numbers, underscores and hyphens are allowed.' - name: adminPassword type: password label: Administrator password descriptionTitle: Passwords description: >- Windows requires strong password for service administration. Your password should have at least one letter in each register, a number and a special character. Password length should be a minimum of 7 characters. Once you forget your password you won't be able to operate the service until recovery password would be entered. So it's better for Recovery and Administrator password to be different. - name: recoveryPassword type: password label: Recovery password - name: assignFloatingIP required: false type: boolean label: Assign Floating IP description: >- Select to true to assign floating IP automatically to Primary DC initial: false required: false widgetMedia: css: {all: ['muranodashboard/css/checkbox.css']} - name: unitNamingPattern type: string label: Hostname template description: >- For your convenience all instance hostnames can be named in the same way. Enter a name and use # character for incrementation. For example, host# turns into host1, host2, etc. Please follow Windows hostname restrictions. required: false regexpValidator: '^(([a-zA-Z0-9#][a-zA-Z0-9-#]*[a-zA-Z0-9#])\.)*([A-Za-z0-9#]|[A-Za-z0-9#][A-Za-z0-9-#]*[A-Za-z0-9#])$' # FIXME: does not work for # turning into 2-digit numbers maxLength: 15 helpText: Optional field for a machine hostname template # temporaryHack widgetMedia: js: ['muranodashboard/js/support_placeholder.js'] css: {all: ['muranodashboard/css/support_placeholder.css']} validators: # if unitNamingPattern is given and dcInstances > 1, then '#' should occur in unitNamingPattern - expr: $.appConfiguration.dcInstances < 2 or not $.appConfiguration.unitNamingPattern.bool() or '#' in $.appConfiguration.unitNamingPattern message: Incrementation symbol "#" is required in the Hostname template - instanceConfiguration: fields: - name: title type: string required: false hidden: true descriptionTitle: Instance Configuration description: Specify some instance parameters on which service would be created. - name: flavor type: flavor label: Instance flavor description: >- Select registered in Openstack flavor. Consider that service performance depends on this parameter. required: false - name: osImage type: image imageType: windows label: Instance image description: >- Select valid image for a service. Image should already be prepared and registered in glance. - name: availabilityZone type: azone label: Availability zone description: Select availability zone where service would be installed. required: false