.. _config-resources-model: 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:** * **Authorized value:** RE(.*) * **Mandatory key:** True * **Mutable key:** True tenant """""" * **Description:** The tenant name * **Type:** * **Authorized value:** RE(.*) * **Mandatory key:** False * **Mutable key:** True * **Default value:** "" connection """""""""" * **Description:** The default connection for source-repositories * **Type:** * **Authorized value:** RE(.*) * **Mandatory key:** False * **Mutable key:** True * **Default value:** "" website """"""" * **Description:** The project web page link * **Type:** * **Authorized value:** RE(.*) * **Mandatory key:** False * **Mutable key:** True * **Default value:** "" documentation """"""""""""" * **Description:** The project documentation link * **Type:** * **Authorized value:** RE(.*) * **Mandatory key:** False * **Mutable key:** True * **Default value:** "" issue-tracker-url """"""""""""""""" * **Description:** The project issue tracker link * **Type:** * **Authorized value:** RE(.*) * **Mandatory key:** False * **Mutable key:** True * **Default value:** "" review-dashboard """""""""""""""" * **Description:** A gerrit dashboard name reference * **Type:** * **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:** * **Authorized value:** RE(.+@.+) * **Mandatory key:** False * **Mutable key:** True * **Default value:** [] contacts """""""" * **Description:** Email addresses of project main contacts * **Type:** * **Authorized value:** RE(.+@.+) * **Mandatory key:** False * **Mutable key:** True * **Default value:** [] source-repositories """"""""""""""""""" * **Description:** Code source repositories related to the project * **Type:** * **Authorized value:** RE((, '.+')) * **Mandatory key:** True * **Mutable key:** True options """"""" * **Description:** Project options for services * **Type:** * **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:** * **Authorized value:** RE(.*) * **Mandatory key:** True * **Mutable key:** True groups """""" * **Description:** The list of groups this ACL depends on * **Type:** * **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:** * **Authorized value:** RE(.*) * **Mandatory key:** False * **Mutable key:** True * **Default value:** No description provided acl """ * **Description:** The ACLs id * **Type:** * **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:** * **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:** * **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:** * **Authorized value:** RE(.*) * **Mandatory key:** False * **Mutable key:** True * **Default value:** "" members """"""" * **Description:** The group members list * **Type:** * **Authorized value:** RE(.+@.+) * **Mandatory key:** False * **Mutable key:** True * **Default value:** []