
{#
Copyright 2017-present Open Networking Foundation

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.
#}


tosca_definitions_version: tosca_simple_yaml_1_0

description: Add a user

imports:
   - custom_types/xos.yaml

topology_template:
  node_templates:
    {{ local_site }}:
      type: tosca.nodes.Site

    {{ name }}:
      type: tosca.nodes.User
      properties:
          password: "{{ password }}"
          firstname: "{{ firstname }}"
          lastname: "{{ lastname }}"
          phone: "{{ phone }}"
          user_url: "{{ user_url }}"
          public_key: "{{ public_key }}"
          is_active: "{{ is_active }}"
          is_admin: "{{ is_admin }}"
          is_readonly: "{{ is_readonly }}"
          is_appuser: "{{ is_appuser }}"
      requirements:
          - site:
              node: {{ local_site }}
              relationship: tosca.relationships.MemberOfSite
