salt.states.github module

Github User State Module

New in version 2016.3.0..

This state is used to ensure presence of users in the Organization.

ensure user test is present in github:
    github.present:
        - name: 'Example TestUser1'
        - email: example@domain.com
        - username: 'gitexample'
salt.states.github.absent(name, profile=u'github', **kwargs)

Ensure a github user is absent

ensure user test is absent in github:
    github.absent:
        - name: 'Example TestUser1'
        - email: example@domain.com
        - username: 'gitexample'

The following parameters are required:

name
Github handle of the user in organization
salt.states.github.present(name, profile=u'github', **kwargs)

Ensure a user is present

ensure user test is present in github:
    github.present:
        - name: 'gitexample'

The following parameters are required:

name
This is the github handle of the user in the organization
salt.states.github.repo_absent(name, profile=u'github', **kwargs)

Ensure a repo is absent.

Example:

ensure repo test is absent in github:
    github.repo_absent:
        - name: 'test'

The following parameters are required:

name
This is the name of the repository in the organization.

New in version 2016.11.0.

salt.states.github.repo_present(name, description=None, homepage=None, private=None, has_issues=None, has_wiki=None, has_downloads=None, auto_init=False, gitignore_template=None, license_template=None, teams=None, profile=u'github', **kwargs)

Ensure a repository is present

name
This is the name of the repository.
description
The description of the repository.
homepage
The URL with more information about the repository.
private
The visiblity of the repository. Note that private repositories require a paid GitHub account.
has_issues
Whether to enable issues for this repository.
has_wiki
Whether to enable the wiki for this repository.
has_downloads
Whether to enable downloads for this repository.
auto_init
Whether to create an initial commit with an empty README.
gitignore_template
The desired language or platform for a .gitignore, e.g "Haskell".
license_template
The desired LICENSE template to apply, e.g "mit" or "mozilla".
teams

The teams for which this repo should belong to, specified as a dict of team name to permission ('pull', 'push' or 'admin').

New in version 2017.7.0.

Example:

Ensure repo my-repo is present in github:
    github.repo_present:
        - name: 'my-repo'
        - description: 'My very important repository'

New in version 2016.11.0.

salt.states.github.team_absent(name, profile=u'github', **kwargs)

Ensure a team is absent.

Example:

ensure team test is present in github:
    github.team_absent:
        - name: 'test'

The following parameters are required:

name
This is the name of the team in the organization.

New in version 2016.11.0.

salt.states.github.team_present(name, description=None, repo_names=None, privacy=u'secret', permission=u'pull', members=None, enforce_mfa=False, no_mfa_grace_seconds=0, profile=u'github', **kwargs)

Ensure a team is present

name
This is the name of the team in the organization.
description
The description of the team.
repo_names
The names of repositories to add the team to.
privacy
The level of privacy for the team, can be 'secret' or 'closed'. Defaults to secret.
permission
The default permission for new repositories added to the team, can be 'pull', 'push' or 'admin'. Defaults to pull.
members
The members belonging to the team, specified as a dict of member name to optional configuration. Options include 'enforce_mfa_from' and 'mfa_exempt'.
enforce_mfa
Whether to enforce MFA requirements on members of the team. If True then all members without mfa_exempt: True configured will be removed from the team. Note that no_mfa_grace_seconds may be set to allow members a grace period.
no_mfa_grace_seconds
The number of seconds of grace time that a member will have to enable MFA before being removed from the team. The grace period will begin from enforce_mfa_from on the member configuration, which defaults to 1970/01/01.

Example:

Ensure team test is present in github:
    github.team_present:
        - name: 'test'
        - members:
            user1: {}
            user2: {}

Ensure team test_mfa is present in github:
    github.team_present:
        - name: 'test_mfa'
        - members:
            user1:
                enforce_mfa_from: 2016/06/15
        - enforce_mfa: True

New in version 2016.11.0.