Available resources models

Containers / Resources mapping

  • Model type: git can only be defined in container: repos
  • Model type: group can only be defined in container: groups
  • Model type: project can only be defined in container: projects
  • Model type: acl can only be defined in container: acls
  • Model type: tenant can only be defined in container: tenants
  • Model type: connection can only be defined in container: connections

Resources

Note that the key name for every resource type is not mandatory. A resource is referenced via its resource’s ID that will automatically become the resource name value. The resource’s ID must validate the name value constraint of the related resource type. If you still want to specify the name then please make sure to have the resource ID equals to the resource name.

project

The project resource can be is used to describe a project. It can be seen as the top level resource type in in this model. You can use it reference multiple Git repositories and multiple link to external resources like a project website and the issues tracker website.

Below are the list of keys available for this resource.

name (Overwritten by the resource ID)

  • Description: The project name
  • Authorized value: RE(^([a-zA-Z0-9-_./])+$)
  • Mandatory key: False

description

  • Description: The project description
  • Type: <class ‘str’>
  • Authorized value: RE(.*)
  • Mandatory key: True
  • Mutable key: True

tenant

  • Description: The tenant name
  • Type: <class ‘str’>
  • Authorized value: RE(.*)
  • Mandatory key: False
  • Mutable key: True
  • Default value: “”

connection

  • Description: The default connection for source-repositories
  • Type: <class ‘str’>
  • Authorized value: RE(.*)
  • Mandatory key: False
  • Mutable key: True
  • Default value: “”

website

  • Description: The project web page link
  • Type: <class ‘str’>
  • Authorized value: RE(.*)
  • Mandatory key: False
  • Mutable key: True
  • Default value: “”

documentation

  • Description: The project documentation link
  • Type: <class ‘str’>
  • Authorized value: RE(.*)
  • Mandatory key: False
  • Mutable key: True
  • Default value: “”

issue-tracker-url

  • Description: The project issue tracker link
  • Type: <class ‘str’>
  • Authorized value: RE(.*)
  • Mandatory key: False
  • Mutable key: True
  • Default value: “”

review-dashboard

  • Description: A gerrit dashboard name reference
  • Type: <class ‘str’>
  • Authorized value: RE(^([a-zA-Z0-9-_])*$)
  • Mandatory key: False
  • Mutable key: True
  • Default value: “”

mailing-lists

  • Description: Email addresses of project mailing lists
  • Type: <class ‘list’>
  • Authorized value: RE(.+@.+)
  • Mandatory key: False
  • Mutable key: True
  • Default value: []

contacts

  • Description: Email addresses of project main contacts
  • Type: <class ‘list’>
  • Authorized value: RE(.+@.+)
  • Mandatory key: False
  • Mutable key: True
  • Default value: []

source-repositories

  • Description: Code source repositories related to the project
  • Type: <class ‘list’>
  • Authorized value: RE((<class ‘dict’>, ‘.+’))
  • Mandatory key: True
  • Mutable key: True

options

  • Description: Project options for services
  • Type: <class ‘list’>
  • Authorized value: RE(.+)
  • Mandatory key: False
  • Mutable key: True
  • Default value: []

acl

The acl resource is used to store a Gerrit ACL. The acl can be shared between multiple git repositories. Group mentionned inside the acl file key must be referenced by their ID under the groups key. Do not provide the description entry in the acl file to keep them shareable between git repositories if needed.

Below are the list of keys available for this resource.

name (Overwritten by the resource ID)

  • Description: The ACL name
  • Authorized value: RE(.*)
  • Mandatory key: False

file

  • Description: The Gerrit ACL content
  • Type: <class ‘str’>
  • Authorized value: RE(.*)
  • Mandatory key: True
  • Mutable key: True

groups

  • Description: The list of groups this ACL depends on
  • Type: <class ‘list’>
  • Authorized value: RE(.+)
  • Mandatory key: False
  • Mutable key: True
  • Default value: []

git

The git resource is used to describe a git repository hosted on Gerrit. An acl ID can be provided via the acl key.

Below are the list of keys available for this resource.

name (Overwritten by the resource ID)

  • Description: The repository name
  • Authorized value: RE(^([a-zA-Z0-9-_./])+$)
  • Mandatory key: False

description

  • Description: The repository description
  • Type: <class ‘str’>
  • Authorized value: RE(.*)
  • Mandatory key: False
  • Mutable key: True
  • Default value: No description provided

acl

  • Description: The ACLs id
  • Type: <class ‘str’>
  • Authorized value: RE(.*)
  • Mandatory key: False
  • Mutable key: True
  • Default value: “”

default-branch

  • Description: The repository default branch. If the branch does not exist yet or have not been defined in the ‘branches’ attribute then default-branch is first created from origin/HEAD
  • Type: <class ‘str’>
  • Authorized value: RE([a-zA-Z0-9-_./]*)
  • Mandatory key: False
  • Mutable key: True
  • Default value: “”

branches

  • Description: Repository branches. Branches name is the key and branch is the branch value (a SHA/or an existing branch name/or HEAD). When branch already exist then no reset to the given value is done except for the ‘0’ value that ensure the branch does not exist by removing the ref. If you intend to explicitly declare already existing branches then please use HEAD as value.
  • Type: <class ‘dict’>
  • Authorized value: RE((‘[a-zA-Z0-9-_./]+’, ‘[a-zA-Z0-9-_./]+’))
  • Mandatory key: False
  • Mutable key: True
  • Default value: {}

group

The group resource is used to define a group of known user on the platform. Users must be referenced by their email address. A group can be share between multiple acls.

Below are the list of keys available for this resource.

name (Overwritten by the resource ID)

  • Description: The group name
  • Authorized value: RE(^([a-zA-Z0-9-_./])+$)
  • Mandatory key: False

description

  • Description: The group description
  • Type: <class ‘str’>
  • Authorized value: RE(.*)
  • Mandatory key: False
  • Mutable key: True
  • Default value: “”

members

  • Description: The group members list
  • Type: <class ‘list’>
  • Authorized value: RE(.+@.+)
  • Mandatory key: False
  • Mutable key: True
  • Default value: []