# coding: utf-8

"""
    Aron API

    No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)  # noqa: E501

    The version of the OpenAPI document: 1.0.0
    Generated by: https://openapi-generator.tech
"""


try:
    from inspect import getfullargspec
except ImportError:
    from inspect import getargspec as getfullargspec
import pprint
import re  # noqa: F401
import six

from openapi_client.configuration import Configuration


class GithubRepository(object):
    """NOTE: This class is auto generated by OpenAPI Generator.
    Ref: https://openapi-generator.tech

    Do not edit the class manually.
    """

    """
    Attributes:
      openapi_types (dict): The key is attribute name
                            and the value is attribute type.
      attribute_map (dict): The key is attribute name
                            and the value is json key in definition.
    """
    openapi_types = {
        'allow_auto_merge': 'bool',
        'allow_merge_commit': 'bool',
        'allow_rebase_merge': 'bool',
        'allow_squash_merge': 'bool',
        'archive_url': 'str',
        'archived': 'bool',
        'assignees_url': 'str',
        'auto_init': 'bool',
        'blobs_url': 'str',
        'branches_url': 'str',
        'clone_url': 'str',
        'code_of_conduct': 'GithubCodeOfConduct',
        'collaborators_url': 'str',
        'comments_url': 'str',
        'commits_url': 'str',
        'compare_url': 'str',
        'contents_url': 'str',
        'contributors_url': 'str',
        'created_at': 'object',
        'default_branch': 'str',
        'delete_branch_on_merge': 'bool',
        'deployments_url': 'str',
        'description': 'str',
        'disabled': 'bool',
        'downloads_url': 'str',
        'events_url': 'str',
        'fork': 'bool',
        'forks_count': 'int',
        'forks_url': 'str',
        'full_name': 'str',
        'git_commits_url': 'str',
        'git_refs_url': 'str',
        'git_tags_url': 'str',
        'git_url': 'str',
        'gitignore_template': 'str',
        'has_downloads': 'bool',
        'has_issues': 'bool',
        'has_pages': 'bool',
        'has_projects': 'bool',
        'has_wiki': 'bool',
        'homepage': 'str',
        'hooks_url': 'str',
        'html_url': 'str',
        'id': 'int',
        'is_template': 'bool',
        'issue_comment_url': 'str',
        'issue_events_url': 'str',
        'issues_url': 'str',
        'keys_url': 'str',
        'labels_url': 'str',
        'language': 'str',
        'languages_url': 'str',
        'license': 'GithubLicense',
        'license_template': 'str',
        'master_branch': 'str',
        'merges_url': 'str',
        'milestones_url': 'str',
        'mirror_url': 'str',
        'name': 'str',
        'network_count': 'int',
        'node_id': 'str',
        'notifications_url': 'str',
        'open_issues': 'int',
        'open_issues_count': 'int',
        'organization': 'GithubOrganization',
        'owner': 'GithubUser',
        'parent': 'GithubRepository',
        'permissions': 'dict(str, bool)',
        'private': 'bool',
        'pulls_url': 'str',
        'pushed_at': 'object',
        'releases_url': 'str',
        'size': 'int',
        'source': 'GithubRepository',
        'ssh_url': 'str',
        'stargazers_count': 'int',
        'stargazers_url': 'str',
        'statuses_url': 'str',
        'subscribers_count': 'int',
        'subscribers_url': 'str',
        'subscription_url': 'str',
        'svn_url': 'str',
        'tags_url': 'str',
        'team_id': 'int',
        'teams_url': 'str',
        'template_repository': 'GithubRepository',
        'text_matches': 'list[GithubTextMatch]',
        'topics': 'list[str]',
        'trees_url': 'str',
        'updated_at': 'object',
        'url': 'str',
        'visibility': 'str',
        'watchers': 'int',
        'watchers_count': 'int'
    }

    attribute_map = {
        'allow_auto_merge': 'allow_auto_merge',
        'allow_merge_commit': 'allow_merge_commit',
        'allow_rebase_merge': 'allow_rebase_merge',
        'allow_squash_merge': 'allow_squash_merge',
        'archive_url': 'archive_url',
        'archived': 'archived',
        'assignees_url': 'assignees_url',
        'auto_init': 'auto_init',
        'blobs_url': 'blobs_url',
        'branches_url': 'branches_url',
        'clone_url': 'clone_url',
        'code_of_conduct': 'code_of_conduct',
        'collaborators_url': 'collaborators_url',
        'comments_url': 'comments_url',
        'commits_url': 'commits_url',
        'compare_url': 'compare_url',
        'contents_url': 'contents_url',
        'contributors_url': 'contributors_url',
        'created_at': 'created_at',
        'default_branch': 'default_branch',
        'delete_branch_on_merge': 'delete_branch_on_merge',
        'deployments_url': 'deployments_url',
        'description': 'description',
        'disabled': 'disabled',
        'downloads_url': 'downloads_url',
        'events_url': 'events_url',
        'fork': 'fork',
        'forks_count': 'forks_count',
        'forks_url': 'forks_url',
        'full_name': 'full_name',
        'git_commits_url': 'git_commits_url',
        'git_refs_url': 'git_refs_url',
        'git_tags_url': 'git_tags_url',
        'git_url': 'git_url',
        'gitignore_template': 'gitignore_template',
        'has_downloads': 'has_downloads',
        'has_issues': 'has_issues',
        'has_pages': 'has_pages',
        'has_projects': 'has_projects',
        'has_wiki': 'has_wiki',
        'homepage': 'homepage',
        'hooks_url': 'hooks_url',
        'html_url': 'html_url',
        'id': 'id',
        'is_template': 'is_template',
        'issue_comment_url': 'issue_comment_url',
        'issue_events_url': 'issue_events_url',
        'issues_url': 'issues_url',
        'keys_url': 'keys_url',
        'labels_url': 'labels_url',
        'language': 'language',
        'languages_url': 'languages_url',
        'license': 'license',
        'license_template': 'license_template',
        'master_branch': 'master_branch',
        'merges_url': 'merges_url',
        'milestones_url': 'milestones_url',
        'mirror_url': 'mirror_url',
        'name': 'name',
        'network_count': 'network_count',
        'node_id': 'node_id',
        'notifications_url': 'notifications_url',
        'open_issues': 'open_issues',
        'open_issues_count': 'open_issues_count',
        'organization': 'organization',
        'owner': 'owner',
        'parent': 'parent',
        'permissions': 'permissions',
        'private': 'private',
        'pulls_url': 'pulls_url',
        'pushed_at': 'pushed_at',
        'releases_url': 'releases_url',
        'size': 'size',
        'source': 'source',
        'ssh_url': 'ssh_url',
        'stargazers_count': 'stargazers_count',
        'stargazers_url': 'stargazers_url',
        'statuses_url': 'statuses_url',
        'subscribers_count': 'subscribers_count',
        'subscribers_url': 'subscribers_url',
        'subscription_url': 'subscription_url',
        'svn_url': 'svn_url',
        'tags_url': 'tags_url',
        'team_id': 'team_id',
        'teams_url': 'teams_url',
        'template_repository': 'template_repository',
        'text_matches': 'text_matches',
        'topics': 'topics',
        'trees_url': 'trees_url',
        'updated_at': 'updated_at',
        'url': 'url',
        'visibility': 'visibility',
        'watchers': 'watchers',
        'watchers_count': 'watchers_count'
    }

    def __init__(self, allow_auto_merge=None, allow_merge_commit=None, allow_rebase_merge=None, allow_squash_merge=None, archive_url=None, archived=None, assignees_url=None, auto_init=None, blobs_url=None, branches_url=None, clone_url=None, code_of_conduct=None, collaborators_url=None, comments_url=None, commits_url=None, compare_url=None, contents_url=None, contributors_url=None, created_at=None, default_branch=None, delete_branch_on_merge=None, deployments_url=None, description=None, disabled=None, downloads_url=None, events_url=None, fork=None, forks_count=None, forks_url=None, full_name=None, git_commits_url=None, git_refs_url=None, git_tags_url=None, git_url=None, gitignore_template=None, has_downloads=None, has_issues=None, has_pages=None, has_projects=None, has_wiki=None, homepage=None, hooks_url=None, html_url=None, id=None, is_template=None, issue_comment_url=None, issue_events_url=None, issues_url=None, keys_url=None, labels_url=None, language=None, languages_url=None, license=None, license_template=None, master_branch=None, merges_url=None, milestones_url=None, mirror_url=None, name=None, network_count=None, node_id=None, notifications_url=None, open_issues=None, open_issues_count=None, organization=None, owner=None, parent=None, permissions=None, private=None, pulls_url=None, pushed_at=None, releases_url=None, size=None, source=None, ssh_url=None, stargazers_count=None, stargazers_url=None, statuses_url=None, subscribers_count=None, subscribers_url=None, subscription_url=None, svn_url=None, tags_url=None, team_id=None, teams_url=None, template_repository=None, text_matches=None, topics=None, trees_url=None, updated_at=None, url=None, visibility=None, watchers=None, watchers_count=None, local_vars_configuration=None):  # noqa: E501
        """GithubRepository - a model defined in OpenAPI"""  # noqa: E501
        if local_vars_configuration is None:
            local_vars_configuration = Configuration.get_default_copy()
        self.local_vars_configuration = local_vars_configuration

        self._allow_auto_merge = None
        self._allow_merge_commit = None
        self._allow_rebase_merge = None
        self._allow_squash_merge = None
        self._archive_url = None
        self._archived = None
        self._assignees_url = None
        self._auto_init = None
        self._blobs_url = None
        self._branches_url = None
        self._clone_url = None
        self._code_of_conduct = None
        self._collaborators_url = None
        self._comments_url = None
        self._commits_url = None
        self._compare_url = None
        self._contents_url = None
        self._contributors_url = None
        self._created_at = None
        self._default_branch = None
        self._delete_branch_on_merge = None
        self._deployments_url = None
        self._description = None
        self._disabled = None
        self._downloads_url = None
        self._events_url = None
        self._fork = None
        self._forks_count = None
        self._forks_url = None
        self._full_name = None
        self._git_commits_url = None
        self._git_refs_url = None
        self._git_tags_url = None
        self._git_url = None
        self._gitignore_template = None
        self._has_downloads = None
        self._has_issues = None
        self._has_pages = None
        self._has_projects = None
        self._has_wiki = None
        self._homepage = None
        self._hooks_url = None
        self._html_url = None
        self._id = None
        self._is_template = None
        self._issue_comment_url = None
        self._issue_events_url = None
        self._issues_url = None
        self._keys_url = None
        self._labels_url = None
        self._language = None
        self._languages_url = None
        self._license = None
        self._license_template = None
        self._master_branch = None
        self._merges_url = None
        self._milestones_url = None
        self._mirror_url = None
        self._name = None
        self._network_count = None
        self._node_id = None
        self._notifications_url = None
        self._open_issues = None
        self._open_issues_count = None
        self._organization = None
        self._owner = None
        self._parent = None
        self._permissions = None
        self._private = None
        self._pulls_url = None
        self._pushed_at = None
        self._releases_url = None
        self._size = None
        self._source = None
        self._ssh_url = None
        self._stargazers_count = None
        self._stargazers_url = None
        self._statuses_url = None
        self._subscribers_count = None
        self._subscribers_url = None
        self._subscription_url = None
        self._svn_url = None
        self._tags_url = None
        self._team_id = None
        self._teams_url = None
        self._template_repository = None
        self._text_matches = None
        self._topics = None
        self._trees_url = None
        self._updated_at = None
        self._url = None
        self._visibility = None
        self._watchers = None
        self._watchers_count = None
        self.discriminator = None

        self.allow_auto_merge = allow_auto_merge
        self.allow_merge_commit = allow_merge_commit
        self.allow_rebase_merge = allow_rebase_merge
        self.allow_squash_merge = allow_squash_merge
        self.archive_url = archive_url
        self.archived = archived
        self.assignees_url = assignees_url
        self.auto_init = auto_init
        self.blobs_url = blobs_url
        self.branches_url = branches_url
        self.clone_url = clone_url
        if code_of_conduct is not None:
            self.code_of_conduct = code_of_conduct
        self.collaborators_url = collaborators_url
        self.comments_url = comments_url
        self.commits_url = commits_url
        self.compare_url = compare_url
        self.contents_url = contents_url
        self.contributors_url = contributors_url
        if created_at is not None:
            self.created_at = created_at
        self.default_branch = default_branch
        self.delete_branch_on_merge = delete_branch_on_merge
        self.deployments_url = deployments_url
        self.description = description
        self.disabled = disabled
        self.downloads_url = downloads_url
        self.events_url = events_url
        self.fork = fork
        self.forks_count = forks_count
        self.forks_url = forks_url
        self.full_name = full_name
        self.git_commits_url = git_commits_url
        self.git_refs_url = git_refs_url
        self.git_tags_url = git_tags_url
        self.git_url = git_url
        self.gitignore_template = gitignore_template
        self.has_downloads = has_downloads
        self.has_issues = has_issues
        self.has_pages = has_pages
        self.has_projects = has_projects
        self.has_wiki = has_wiki
        self.homepage = homepage
        self.hooks_url = hooks_url
        self.html_url = html_url
        self.id = id
        self.is_template = is_template
        self.issue_comment_url = issue_comment_url
        self.issue_events_url = issue_events_url
        self.issues_url = issues_url
        self.keys_url = keys_url
        self.labels_url = labels_url
        self.language = language
        self.languages_url = languages_url
        if license is not None:
            self.license = license
        self.license_template = license_template
        self.master_branch = master_branch
        self.merges_url = merges_url
        self.milestones_url = milestones_url
        self.mirror_url = mirror_url
        self.name = name
        self.network_count = network_count
        self.node_id = node_id
        self.notifications_url = notifications_url
        self.open_issues = open_issues
        self.open_issues_count = open_issues_count
        if organization is not None:
            self.organization = organization
        if owner is not None:
            self.owner = owner
        if parent is not None:
            self.parent = parent
        if permissions is not None:
            self.permissions = permissions
        self.private = private
        self.pulls_url = pulls_url
        if pushed_at is not None:
            self.pushed_at = pushed_at
        self.releases_url = releases_url
        self.size = size
        if source is not None:
            self.source = source
        self.ssh_url = ssh_url
        self.stargazers_count = stargazers_count
        self.stargazers_url = stargazers_url
        self.statuses_url = statuses_url
        self.subscribers_count = subscribers_count
        self.subscribers_url = subscribers_url
        self.subscription_url = subscription_url
        self.svn_url = svn_url
        self.tags_url = tags_url
        self.team_id = team_id
        self.teams_url = teams_url
        if template_repository is not None:
            self.template_repository = template_repository
        if text_matches is not None:
            self.text_matches = text_matches
        if topics is not None:
            self.topics = topics
        self.trees_url = trees_url
        if updated_at is not None:
            self.updated_at = updated_at
        self.url = url
        self.visibility = visibility
        self.watchers = watchers
        self.watchers_count = watchers_count

    @property
    def allow_auto_merge(self):
        """Gets the allow_auto_merge of this GithubRepository.  # noqa: E501


        :return: The allow_auto_merge of this GithubRepository.  # noqa: E501
        :rtype: bool
        """
        return self._allow_auto_merge

    @allow_auto_merge.setter
    def allow_auto_merge(self, allow_auto_merge):
        """Sets the allow_auto_merge of this GithubRepository.


        :param allow_auto_merge: The allow_auto_merge of this GithubRepository.  # noqa: E501
        :type allow_auto_merge: bool
        """

        self._allow_auto_merge = allow_auto_merge

    @property
    def allow_merge_commit(self):
        """Gets the allow_merge_commit of this GithubRepository.  # noqa: E501


        :return: The allow_merge_commit of this GithubRepository.  # noqa: E501
        :rtype: bool
        """
        return self._allow_merge_commit

    @allow_merge_commit.setter
    def allow_merge_commit(self, allow_merge_commit):
        """Sets the allow_merge_commit of this GithubRepository.


        :param allow_merge_commit: The allow_merge_commit of this GithubRepository.  # noqa: E501
        :type allow_merge_commit: bool
        """

        self._allow_merge_commit = allow_merge_commit

    @property
    def allow_rebase_merge(self):
        """Gets the allow_rebase_merge of this GithubRepository.  # noqa: E501


        :return: The allow_rebase_merge of this GithubRepository.  # noqa: E501
        :rtype: bool
        """
        return self._allow_rebase_merge

    @allow_rebase_merge.setter
    def allow_rebase_merge(self, allow_rebase_merge):
        """Sets the allow_rebase_merge of this GithubRepository.


        :param allow_rebase_merge: The allow_rebase_merge of this GithubRepository.  # noqa: E501
        :type allow_rebase_merge: bool
        """

        self._allow_rebase_merge = allow_rebase_merge

    @property
    def allow_squash_merge(self):
        """Gets the allow_squash_merge of this GithubRepository.  # noqa: E501


        :return: The allow_squash_merge of this GithubRepository.  # noqa: E501
        :rtype: bool
        """
        return self._allow_squash_merge

    @allow_squash_merge.setter
    def allow_squash_merge(self, allow_squash_merge):
        """Sets the allow_squash_merge of this GithubRepository.


        :param allow_squash_merge: The allow_squash_merge of this GithubRepository.  # noqa: E501
        :type allow_squash_merge: bool
        """

        self._allow_squash_merge = allow_squash_merge

    @property
    def archive_url(self):
        """Gets the archive_url of this GithubRepository.  # noqa: E501


        :return: The archive_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._archive_url

    @archive_url.setter
    def archive_url(self, archive_url):
        """Sets the archive_url of this GithubRepository.


        :param archive_url: The archive_url of this GithubRepository.  # noqa: E501
        :type archive_url: str
        """

        self._archive_url = archive_url

    @property
    def archived(self):
        """Gets the archived of this GithubRepository.  # noqa: E501


        :return: The archived of this GithubRepository.  # noqa: E501
        :rtype: bool
        """
        return self._archived

    @archived.setter
    def archived(self, archived):
        """Sets the archived of this GithubRepository.


        :param archived: The archived of this GithubRepository.  # noqa: E501
        :type archived: bool
        """

        self._archived = archived

    @property
    def assignees_url(self):
        """Gets the assignees_url of this GithubRepository.  # noqa: E501


        :return: The assignees_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._assignees_url

    @assignees_url.setter
    def assignees_url(self, assignees_url):
        """Sets the assignees_url of this GithubRepository.


        :param assignees_url: The assignees_url of this GithubRepository.  # noqa: E501
        :type assignees_url: str
        """

        self._assignees_url = assignees_url

    @property
    def auto_init(self):
        """Gets the auto_init of this GithubRepository.  # noqa: E501


        :return: The auto_init of this GithubRepository.  # noqa: E501
        :rtype: bool
        """
        return self._auto_init

    @auto_init.setter
    def auto_init(self, auto_init):
        """Sets the auto_init of this GithubRepository.


        :param auto_init: The auto_init of this GithubRepository.  # noqa: E501
        :type auto_init: bool
        """

        self._auto_init = auto_init

    @property
    def blobs_url(self):
        """Gets the blobs_url of this GithubRepository.  # noqa: E501


        :return: The blobs_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._blobs_url

    @blobs_url.setter
    def blobs_url(self, blobs_url):
        """Sets the blobs_url of this GithubRepository.


        :param blobs_url: The blobs_url of this GithubRepository.  # noqa: E501
        :type blobs_url: str
        """

        self._blobs_url = blobs_url

    @property
    def branches_url(self):
        """Gets the branches_url of this GithubRepository.  # noqa: E501


        :return: The branches_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._branches_url

    @branches_url.setter
    def branches_url(self, branches_url):
        """Sets the branches_url of this GithubRepository.


        :param branches_url: The branches_url of this GithubRepository.  # noqa: E501
        :type branches_url: str
        """

        self._branches_url = branches_url

    @property
    def clone_url(self):
        """Gets the clone_url of this GithubRepository.  # noqa: E501


        :return: The clone_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._clone_url

    @clone_url.setter
    def clone_url(self, clone_url):
        """Sets the clone_url of this GithubRepository.


        :param clone_url: The clone_url of this GithubRepository.  # noqa: E501
        :type clone_url: str
        """

        self._clone_url = clone_url

    @property
    def code_of_conduct(self):
        """Gets the code_of_conduct of this GithubRepository.  # noqa: E501


        :return: The code_of_conduct of this GithubRepository.  # noqa: E501
        :rtype: GithubCodeOfConduct
        """
        return self._code_of_conduct

    @code_of_conduct.setter
    def code_of_conduct(self, code_of_conduct):
        """Sets the code_of_conduct of this GithubRepository.


        :param code_of_conduct: The code_of_conduct of this GithubRepository.  # noqa: E501
        :type code_of_conduct: GithubCodeOfConduct
        """

        self._code_of_conduct = code_of_conduct

    @property
    def collaborators_url(self):
        """Gets the collaborators_url of this GithubRepository.  # noqa: E501


        :return: The collaborators_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._collaborators_url

    @collaborators_url.setter
    def collaborators_url(self, collaborators_url):
        """Sets the collaborators_url of this GithubRepository.


        :param collaborators_url: The collaborators_url of this GithubRepository.  # noqa: E501
        :type collaborators_url: str
        """

        self._collaborators_url = collaborators_url

    @property
    def comments_url(self):
        """Gets the comments_url of this GithubRepository.  # noqa: E501


        :return: The comments_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._comments_url

    @comments_url.setter
    def comments_url(self, comments_url):
        """Sets the comments_url of this GithubRepository.


        :param comments_url: The comments_url of this GithubRepository.  # noqa: E501
        :type comments_url: str
        """

        self._comments_url = comments_url

    @property
    def commits_url(self):
        """Gets the commits_url of this GithubRepository.  # noqa: E501


        :return: The commits_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._commits_url

    @commits_url.setter
    def commits_url(self, commits_url):
        """Sets the commits_url of this GithubRepository.


        :param commits_url: The commits_url of this GithubRepository.  # noqa: E501
        :type commits_url: str
        """

        self._commits_url = commits_url

    @property
    def compare_url(self):
        """Gets the compare_url of this GithubRepository.  # noqa: E501


        :return: The compare_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._compare_url

    @compare_url.setter
    def compare_url(self, compare_url):
        """Sets the compare_url of this GithubRepository.


        :param compare_url: The compare_url of this GithubRepository.  # noqa: E501
        :type compare_url: str
        """

        self._compare_url = compare_url

    @property
    def contents_url(self):
        """Gets the contents_url of this GithubRepository.  # noqa: E501


        :return: The contents_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._contents_url

    @contents_url.setter
    def contents_url(self, contents_url):
        """Sets the contents_url of this GithubRepository.


        :param contents_url: The contents_url of this GithubRepository.  # noqa: E501
        :type contents_url: str
        """

        self._contents_url = contents_url

    @property
    def contributors_url(self):
        """Gets the contributors_url of this GithubRepository.  # noqa: E501


        :return: The contributors_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._contributors_url

    @contributors_url.setter
    def contributors_url(self, contributors_url):
        """Sets the contributors_url of this GithubRepository.


        :param contributors_url: The contributors_url of this GithubRepository.  # noqa: E501
        :type contributors_url: str
        """

        self._contributors_url = contributors_url

    @property
    def created_at(self):
        """Gets the created_at of this GithubRepository.  # noqa: E501


        :return: The created_at of this GithubRepository.  # noqa: E501
        :rtype: object
        """
        return self._created_at

    @created_at.setter
    def created_at(self, created_at):
        """Sets the created_at of this GithubRepository.


        :param created_at: The created_at of this GithubRepository.  # noqa: E501
        :type created_at: object
        """

        self._created_at = created_at

    @property
    def default_branch(self):
        """Gets the default_branch of this GithubRepository.  # noqa: E501


        :return: The default_branch of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._default_branch

    @default_branch.setter
    def default_branch(self, default_branch):
        """Sets the default_branch of this GithubRepository.


        :param default_branch: The default_branch of this GithubRepository.  # noqa: E501
        :type default_branch: str
        """

        self._default_branch = default_branch

    @property
    def delete_branch_on_merge(self):
        """Gets the delete_branch_on_merge of this GithubRepository.  # noqa: E501


        :return: The delete_branch_on_merge of this GithubRepository.  # noqa: E501
        :rtype: bool
        """
        return self._delete_branch_on_merge

    @delete_branch_on_merge.setter
    def delete_branch_on_merge(self, delete_branch_on_merge):
        """Sets the delete_branch_on_merge of this GithubRepository.


        :param delete_branch_on_merge: The delete_branch_on_merge of this GithubRepository.  # noqa: E501
        :type delete_branch_on_merge: bool
        """

        self._delete_branch_on_merge = delete_branch_on_merge

    @property
    def deployments_url(self):
        """Gets the deployments_url of this GithubRepository.  # noqa: E501


        :return: The deployments_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._deployments_url

    @deployments_url.setter
    def deployments_url(self, deployments_url):
        """Sets the deployments_url of this GithubRepository.


        :param deployments_url: The deployments_url of this GithubRepository.  # noqa: E501
        :type deployments_url: str
        """

        self._deployments_url = deployments_url

    @property
    def description(self):
        """Gets the description of this GithubRepository.  # noqa: E501


        :return: The description of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._description

    @description.setter
    def description(self, description):
        """Sets the description of this GithubRepository.


        :param description: The description of this GithubRepository.  # noqa: E501
        :type description: str
        """

        self._description = description

    @property
    def disabled(self):
        """Gets the disabled of this GithubRepository.  # noqa: E501


        :return: The disabled of this GithubRepository.  # noqa: E501
        :rtype: bool
        """
        return self._disabled

    @disabled.setter
    def disabled(self, disabled):
        """Sets the disabled of this GithubRepository.


        :param disabled: The disabled of this GithubRepository.  # noqa: E501
        :type disabled: bool
        """

        self._disabled = disabled

    @property
    def downloads_url(self):
        """Gets the downloads_url of this GithubRepository.  # noqa: E501


        :return: The downloads_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._downloads_url

    @downloads_url.setter
    def downloads_url(self, downloads_url):
        """Sets the downloads_url of this GithubRepository.


        :param downloads_url: The downloads_url of this GithubRepository.  # noqa: E501
        :type downloads_url: str
        """

        self._downloads_url = downloads_url

    @property
    def events_url(self):
        """Gets the events_url of this GithubRepository.  # noqa: E501


        :return: The events_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._events_url

    @events_url.setter
    def events_url(self, events_url):
        """Sets the events_url of this GithubRepository.


        :param events_url: The events_url of this GithubRepository.  # noqa: E501
        :type events_url: str
        """

        self._events_url = events_url

    @property
    def fork(self):
        """Gets the fork of this GithubRepository.  # noqa: E501


        :return: The fork of this GithubRepository.  # noqa: E501
        :rtype: bool
        """
        return self._fork

    @fork.setter
    def fork(self, fork):
        """Sets the fork of this GithubRepository.


        :param fork: The fork of this GithubRepository.  # noqa: E501
        :type fork: bool
        """

        self._fork = fork

    @property
    def forks_count(self):
        """Gets the forks_count of this GithubRepository.  # noqa: E501


        :return: The forks_count of this GithubRepository.  # noqa: E501
        :rtype: int
        """
        return self._forks_count

    @forks_count.setter
    def forks_count(self, forks_count):
        """Sets the forks_count of this GithubRepository.


        :param forks_count: The forks_count of this GithubRepository.  # noqa: E501
        :type forks_count: int
        """

        self._forks_count = forks_count

    @property
    def forks_url(self):
        """Gets the forks_url of this GithubRepository.  # noqa: E501


        :return: The forks_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._forks_url

    @forks_url.setter
    def forks_url(self, forks_url):
        """Sets the forks_url of this GithubRepository.


        :param forks_url: The forks_url of this GithubRepository.  # noqa: E501
        :type forks_url: str
        """

        self._forks_url = forks_url

    @property
    def full_name(self):
        """Gets the full_name of this GithubRepository.  # noqa: E501


        :return: The full_name of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._full_name

    @full_name.setter
    def full_name(self, full_name):
        """Sets the full_name of this GithubRepository.


        :param full_name: The full_name of this GithubRepository.  # noqa: E501
        :type full_name: str
        """

        self._full_name = full_name

    @property
    def git_commits_url(self):
        """Gets the git_commits_url of this GithubRepository.  # noqa: E501


        :return: The git_commits_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._git_commits_url

    @git_commits_url.setter
    def git_commits_url(self, git_commits_url):
        """Sets the git_commits_url of this GithubRepository.


        :param git_commits_url: The git_commits_url of this GithubRepository.  # noqa: E501
        :type git_commits_url: str
        """

        self._git_commits_url = git_commits_url

    @property
    def git_refs_url(self):
        """Gets the git_refs_url of this GithubRepository.  # noqa: E501


        :return: The git_refs_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._git_refs_url

    @git_refs_url.setter
    def git_refs_url(self, git_refs_url):
        """Sets the git_refs_url of this GithubRepository.


        :param git_refs_url: The git_refs_url of this GithubRepository.  # noqa: E501
        :type git_refs_url: str
        """

        self._git_refs_url = git_refs_url

    @property
    def git_tags_url(self):
        """Gets the git_tags_url of this GithubRepository.  # noqa: E501


        :return: The git_tags_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._git_tags_url

    @git_tags_url.setter
    def git_tags_url(self, git_tags_url):
        """Sets the git_tags_url of this GithubRepository.


        :param git_tags_url: The git_tags_url of this GithubRepository.  # noqa: E501
        :type git_tags_url: str
        """

        self._git_tags_url = git_tags_url

    @property
    def git_url(self):
        """Gets the git_url of this GithubRepository.  # noqa: E501


        :return: The git_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._git_url

    @git_url.setter
    def git_url(self, git_url):
        """Sets the git_url of this GithubRepository.


        :param git_url: The git_url of this GithubRepository.  # noqa: E501
        :type git_url: str
        """

        self._git_url = git_url

    @property
    def gitignore_template(self):
        """Gets the gitignore_template of this GithubRepository.  # noqa: E501


        :return: The gitignore_template of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._gitignore_template

    @gitignore_template.setter
    def gitignore_template(self, gitignore_template):
        """Sets the gitignore_template of this GithubRepository.


        :param gitignore_template: The gitignore_template of this GithubRepository.  # noqa: E501
        :type gitignore_template: str
        """

        self._gitignore_template = gitignore_template

    @property
    def has_downloads(self):
        """Gets the has_downloads of this GithubRepository.  # noqa: E501


        :return: The has_downloads of this GithubRepository.  # noqa: E501
        :rtype: bool
        """
        return self._has_downloads

    @has_downloads.setter
    def has_downloads(self, has_downloads):
        """Sets the has_downloads of this GithubRepository.


        :param has_downloads: The has_downloads of this GithubRepository.  # noqa: E501
        :type has_downloads: bool
        """

        self._has_downloads = has_downloads

    @property
    def has_issues(self):
        """Gets the has_issues of this GithubRepository.  # noqa: E501


        :return: The has_issues of this GithubRepository.  # noqa: E501
        :rtype: bool
        """
        return self._has_issues

    @has_issues.setter
    def has_issues(self, has_issues):
        """Sets the has_issues of this GithubRepository.


        :param has_issues: The has_issues of this GithubRepository.  # noqa: E501
        :type has_issues: bool
        """

        self._has_issues = has_issues

    @property
    def has_pages(self):
        """Gets the has_pages of this GithubRepository.  # noqa: E501


        :return: The has_pages of this GithubRepository.  # noqa: E501
        :rtype: bool
        """
        return self._has_pages

    @has_pages.setter
    def has_pages(self, has_pages):
        """Sets the has_pages of this GithubRepository.


        :param has_pages: The has_pages of this GithubRepository.  # noqa: E501
        :type has_pages: bool
        """

        self._has_pages = has_pages

    @property
    def has_projects(self):
        """Gets the has_projects of this GithubRepository.  # noqa: E501


        :return: The has_projects of this GithubRepository.  # noqa: E501
        :rtype: bool
        """
        return self._has_projects

    @has_projects.setter
    def has_projects(self, has_projects):
        """Sets the has_projects of this GithubRepository.


        :param has_projects: The has_projects of this GithubRepository.  # noqa: E501
        :type has_projects: bool
        """

        self._has_projects = has_projects

    @property
    def has_wiki(self):
        """Gets the has_wiki of this GithubRepository.  # noqa: E501


        :return: The has_wiki of this GithubRepository.  # noqa: E501
        :rtype: bool
        """
        return self._has_wiki

    @has_wiki.setter
    def has_wiki(self, has_wiki):
        """Sets the has_wiki of this GithubRepository.


        :param has_wiki: The has_wiki of this GithubRepository.  # noqa: E501
        :type has_wiki: bool
        """

        self._has_wiki = has_wiki

    @property
    def homepage(self):
        """Gets the homepage of this GithubRepository.  # noqa: E501


        :return: The homepage of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._homepage

    @homepage.setter
    def homepage(self, homepage):
        """Sets the homepage of this GithubRepository.


        :param homepage: The homepage of this GithubRepository.  # noqa: E501
        :type homepage: str
        """

        self._homepage = homepage

    @property
    def hooks_url(self):
        """Gets the hooks_url of this GithubRepository.  # noqa: E501


        :return: The hooks_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._hooks_url

    @hooks_url.setter
    def hooks_url(self, hooks_url):
        """Sets the hooks_url of this GithubRepository.


        :param hooks_url: The hooks_url of this GithubRepository.  # noqa: E501
        :type hooks_url: str
        """

        self._hooks_url = hooks_url

    @property
    def html_url(self):
        """Gets the html_url of this GithubRepository.  # noqa: E501


        :return: The html_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._html_url

    @html_url.setter
    def html_url(self, html_url):
        """Sets the html_url of this GithubRepository.


        :param html_url: The html_url of this GithubRepository.  # noqa: E501
        :type html_url: str
        """

        self._html_url = html_url

    @property
    def id(self):
        """Gets the id of this GithubRepository.  # noqa: E501


        :return: The id of this GithubRepository.  # noqa: E501
        :rtype: int
        """
        return self._id

    @id.setter
    def id(self, id):
        """Sets the id of this GithubRepository.


        :param id: The id of this GithubRepository.  # noqa: E501
        :type id: int
        """

        self._id = id

    @property
    def is_template(self):
        """Gets the is_template of this GithubRepository.  # noqa: E501


        :return: The is_template of this GithubRepository.  # noqa: E501
        :rtype: bool
        """
        return self._is_template

    @is_template.setter
    def is_template(self, is_template):
        """Sets the is_template of this GithubRepository.


        :param is_template: The is_template of this GithubRepository.  # noqa: E501
        :type is_template: bool
        """

        self._is_template = is_template

    @property
    def issue_comment_url(self):
        """Gets the issue_comment_url of this GithubRepository.  # noqa: E501


        :return: The issue_comment_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._issue_comment_url

    @issue_comment_url.setter
    def issue_comment_url(self, issue_comment_url):
        """Sets the issue_comment_url of this GithubRepository.


        :param issue_comment_url: The issue_comment_url of this GithubRepository.  # noqa: E501
        :type issue_comment_url: str
        """

        self._issue_comment_url = issue_comment_url

    @property
    def issue_events_url(self):
        """Gets the issue_events_url of this GithubRepository.  # noqa: E501


        :return: The issue_events_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._issue_events_url

    @issue_events_url.setter
    def issue_events_url(self, issue_events_url):
        """Sets the issue_events_url of this GithubRepository.


        :param issue_events_url: The issue_events_url of this GithubRepository.  # noqa: E501
        :type issue_events_url: str
        """

        self._issue_events_url = issue_events_url

    @property
    def issues_url(self):
        """Gets the issues_url of this GithubRepository.  # noqa: E501


        :return: The issues_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._issues_url

    @issues_url.setter
    def issues_url(self, issues_url):
        """Sets the issues_url of this GithubRepository.


        :param issues_url: The issues_url of this GithubRepository.  # noqa: E501
        :type issues_url: str
        """

        self._issues_url = issues_url

    @property
    def keys_url(self):
        """Gets the keys_url of this GithubRepository.  # noqa: E501


        :return: The keys_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._keys_url

    @keys_url.setter
    def keys_url(self, keys_url):
        """Sets the keys_url of this GithubRepository.


        :param keys_url: The keys_url of this GithubRepository.  # noqa: E501
        :type keys_url: str
        """

        self._keys_url = keys_url

    @property
    def labels_url(self):
        """Gets the labels_url of this GithubRepository.  # noqa: E501


        :return: The labels_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._labels_url

    @labels_url.setter
    def labels_url(self, labels_url):
        """Sets the labels_url of this GithubRepository.


        :param labels_url: The labels_url of this GithubRepository.  # noqa: E501
        :type labels_url: str
        """

        self._labels_url = labels_url

    @property
    def language(self):
        """Gets the language of this GithubRepository.  # noqa: E501


        :return: The language of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._language

    @language.setter
    def language(self, language):
        """Sets the language of this GithubRepository.


        :param language: The language of this GithubRepository.  # noqa: E501
        :type language: str
        """

        self._language = language

    @property
    def languages_url(self):
        """Gets the languages_url of this GithubRepository.  # noqa: E501


        :return: The languages_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._languages_url

    @languages_url.setter
    def languages_url(self, languages_url):
        """Sets the languages_url of this GithubRepository.


        :param languages_url: The languages_url of this GithubRepository.  # noqa: E501
        :type languages_url: str
        """

        self._languages_url = languages_url

    @property
    def license(self):
        """Gets the license of this GithubRepository.  # noqa: E501


        :return: The license of this GithubRepository.  # noqa: E501
        :rtype: GithubLicense
        """
        return self._license

    @license.setter
    def license(self, license):
        """Sets the license of this GithubRepository.


        :param license: The license of this GithubRepository.  # noqa: E501
        :type license: GithubLicense
        """

        self._license = license

    @property
    def license_template(self):
        """Gets the license_template of this GithubRepository.  # noqa: E501


        :return: The license_template of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._license_template

    @license_template.setter
    def license_template(self, license_template):
        """Sets the license_template of this GithubRepository.


        :param license_template: The license_template of this GithubRepository.  # noqa: E501
        :type license_template: str
        """

        self._license_template = license_template

    @property
    def master_branch(self):
        """Gets the master_branch of this GithubRepository.  # noqa: E501


        :return: The master_branch of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._master_branch

    @master_branch.setter
    def master_branch(self, master_branch):
        """Sets the master_branch of this GithubRepository.


        :param master_branch: The master_branch of this GithubRepository.  # noqa: E501
        :type master_branch: str
        """

        self._master_branch = master_branch

    @property
    def merges_url(self):
        """Gets the merges_url of this GithubRepository.  # noqa: E501


        :return: The merges_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._merges_url

    @merges_url.setter
    def merges_url(self, merges_url):
        """Sets the merges_url of this GithubRepository.


        :param merges_url: The merges_url of this GithubRepository.  # noqa: E501
        :type merges_url: str
        """

        self._merges_url = merges_url

    @property
    def milestones_url(self):
        """Gets the milestones_url of this GithubRepository.  # noqa: E501


        :return: The milestones_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._milestones_url

    @milestones_url.setter
    def milestones_url(self, milestones_url):
        """Sets the milestones_url of this GithubRepository.


        :param milestones_url: The milestones_url of this GithubRepository.  # noqa: E501
        :type milestones_url: str
        """

        self._milestones_url = milestones_url

    @property
    def mirror_url(self):
        """Gets the mirror_url of this GithubRepository.  # noqa: E501


        :return: The mirror_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._mirror_url

    @mirror_url.setter
    def mirror_url(self, mirror_url):
        """Sets the mirror_url of this GithubRepository.


        :param mirror_url: The mirror_url of this GithubRepository.  # noqa: E501
        :type mirror_url: str
        """

        self._mirror_url = mirror_url

    @property
    def name(self):
        """Gets the name of this GithubRepository.  # noqa: E501


        :return: The name of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._name

    @name.setter
    def name(self, name):
        """Sets the name of this GithubRepository.


        :param name: The name of this GithubRepository.  # noqa: E501
        :type name: str
        """

        self._name = name

    @property
    def network_count(self):
        """Gets the network_count of this GithubRepository.  # noqa: E501


        :return: The network_count of this GithubRepository.  # noqa: E501
        :rtype: int
        """
        return self._network_count

    @network_count.setter
    def network_count(self, network_count):
        """Sets the network_count of this GithubRepository.


        :param network_count: The network_count of this GithubRepository.  # noqa: E501
        :type network_count: int
        """

        self._network_count = network_count

    @property
    def node_id(self):
        """Gets the node_id of this GithubRepository.  # noqa: E501


        :return: The node_id of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._node_id

    @node_id.setter
    def node_id(self, node_id):
        """Sets the node_id of this GithubRepository.


        :param node_id: The node_id of this GithubRepository.  # noqa: E501
        :type node_id: str
        """

        self._node_id = node_id

    @property
    def notifications_url(self):
        """Gets the notifications_url of this GithubRepository.  # noqa: E501


        :return: The notifications_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._notifications_url

    @notifications_url.setter
    def notifications_url(self, notifications_url):
        """Sets the notifications_url of this GithubRepository.


        :param notifications_url: The notifications_url of this GithubRepository.  # noqa: E501
        :type notifications_url: str
        """

        self._notifications_url = notifications_url

    @property
    def open_issues(self):
        """Gets the open_issues of this GithubRepository.  # noqa: E501


        :return: The open_issues of this GithubRepository.  # noqa: E501
        :rtype: int
        """
        return self._open_issues

    @open_issues.setter
    def open_issues(self, open_issues):
        """Sets the open_issues of this GithubRepository.


        :param open_issues: The open_issues of this GithubRepository.  # noqa: E501
        :type open_issues: int
        """

        self._open_issues = open_issues

    @property
    def open_issues_count(self):
        """Gets the open_issues_count of this GithubRepository.  # noqa: E501


        :return: The open_issues_count of this GithubRepository.  # noqa: E501
        :rtype: int
        """
        return self._open_issues_count

    @open_issues_count.setter
    def open_issues_count(self, open_issues_count):
        """Sets the open_issues_count of this GithubRepository.


        :param open_issues_count: The open_issues_count of this GithubRepository.  # noqa: E501
        :type open_issues_count: int
        """

        self._open_issues_count = open_issues_count

    @property
    def organization(self):
        """Gets the organization of this GithubRepository.  # noqa: E501


        :return: The organization of this GithubRepository.  # noqa: E501
        :rtype: GithubOrganization
        """
        return self._organization

    @organization.setter
    def organization(self, organization):
        """Sets the organization of this GithubRepository.


        :param organization: The organization of this GithubRepository.  # noqa: E501
        :type organization: GithubOrganization
        """

        self._organization = organization

    @property
    def owner(self):
        """Gets the owner of this GithubRepository.  # noqa: E501


        :return: The owner of this GithubRepository.  # noqa: E501
        :rtype: GithubUser
        """
        return self._owner

    @owner.setter
    def owner(self, owner):
        """Sets the owner of this GithubRepository.


        :param owner: The owner of this GithubRepository.  # noqa: E501
        :type owner: GithubUser
        """

        self._owner = owner

    @property
    def parent(self):
        """Gets the parent of this GithubRepository.  # noqa: E501


        :return: The parent of this GithubRepository.  # noqa: E501
        :rtype: GithubRepository
        """
        return self._parent

    @parent.setter
    def parent(self, parent):
        """Sets the parent of this GithubRepository.


        :param parent: The parent of this GithubRepository.  # noqa: E501
        :type parent: GithubRepository
        """

        self._parent = parent

    @property
    def permissions(self):
        """Gets the permissions of this GithubRepository.  # noqa: E501


        :return: The permissions of this GithubRepository.  # noqa: E501
        :rtype: dict(str, bool)
        """
        return self._permissions

    @permissions.setter
    def permissions(self, permissions):
        """Sets the permissions of this GithubRepository.


        :param permissions: The permissions of this GithubRepository.  # noqa: E501
        :type permissions: dict(str, bool)
        """

        self._permissions = permissions

    @property
    def private(self):
        """Gets the private of this GithubRepository.  # noqa: E501


        :return: The private of this GithubRepository.  # noqa: E501
        :rtype: bool
        """
        return self._private

    @private.setter
    def private(self, private):
        """Sets the private of this GithubRepository.


        :param private: The private of this GithubRepository.  # noqa: E501
        :type private: bool
        """

        self._private = private

    @property
    def pulls_url(self):
        """Gets the pulls_url of this GithubRepository.  # noqa: E501


        :return: The pulls_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._pulls_url

    @pulls_url.setter
    def pulls_url(self, pulls_url):
        """Sets the pulls_url of this GithubRepository.


        :param pulls_url: The pulls_url of this GithubRepository.  # noqa: E501
        :type pulls_url: str
        """

        self._pulls_url = pulls_url

    @property
    def pushed_at(self):
        """Gets the pushed_at of this GithubRepository.  # noqa: E501


        :return: The pushed_at of this GithubRepository.  # noqa: E501
        :rtype: object
        """
        return self._pushed_at

    @pushed_at.setter
    def pushed_at(self, pushed_at):
        """Sets the pushed_at of this GithubRepository.


        :param pushed_at: The pushed_at of this GithubRepository.  # noqa: E501
        :type pushed_at: object
        """

        self._pushed_at = pushed_at

    @property
    def releases_url(self):
        """Gets the releases_url of this GithubRepository.  # noqa: E501


        :return: The releases_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._releases_url

    @releases_url.setter
    def releases_url(self, releases_url):
        """Sets the releases_url of this GithubRepository.


        :param releases_url: The releases_url of this GithubRepository.  # noqa: E501
        :type releases_url: str
        """

        self._releases_url = releases_url

    @property
    def size(self):
        """Gets the size of this GithubRepository.  # noqa: E501


        :return: The size of this GithubRepository.  # noqa: E501
        :rtype: int
        """
        return self._size

    @size.setter
    def size(self, size):
        """Sets the size of this GithubRepository.


        :param size: The size of this GithubRepository.  # noqa: E501
        :type size: int
        """

        self._size = size

    @property
    def source(self):
        """Gets the source of this GithubRepository.  # noqa: E501


        :return: The source of this GithubRepository.  # noqa: E501
        :rtype: GithubRepository
        """
        return self._source

    @source.setter
    def source(self, source):
        """Sets the source of this GithubRepository.


        :param source: The source of this GithubRepository.  # noqa: E501
        :type source: GithubRepository
        """

        self._source = source

    @property
    def ssh_url(self):
        """Gets the ssh_url of this GithubRepository.  # noqa: E501


        :return: The ssh_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._ssh_url

    @ssh_url.setter
    def ssh_url(self, ssh_url):
        """Sets the ssh_url of this GithubRepository.


        :param ssh_url: The ssh_url of this GithubRepository.  # noqa: E501
        :type ssh_url: str
        """

        self._ssh_url = ssh_url

    @property
    def stargazers_count(self):
        """Gets the stargazers_count of this GithubRepository.  # noqa: E501


        :return: The stargazers_count of this GithubRepository.  # noqa: E501
        :rtype: int
        """
        return self._stargazers_count

    @stargazers_count.setter
    def stargazers_count(self, stargazers_count):
        """Sets the stargazers_count of this GithubRepository.


        :param stargazers_count: The stargazers_count of this GithubRepository.  # noqa: E501
        :type stargazers_count: int
        """

        self._stargazers_count = stargazers_count

    @property
    def stargazers_url(self):
        """Gets the stargazers_url of this GithubRepository.  # noqa: E501


        :return: The stargazers_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._stargazers_url

    @stargazers_url.setter
    def stargazers_url(self, stargazers_url):
        """Sets the stargazers_url of this GithubRepository.


        :param stargazers_url: The stargazers_url of this GithubRepository.  # noqa: E501
        :type stargazers_url: str
        """

        self._stargazers_url = stargazers_url

    @property
    def statuses_url(self):
        """Gets the statuses_url of this GithubRepository.  # noqa: E501


        :return: The statuses_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._statuses_url

    @statuses_url.setter
    def statuses_url(self, statuses_url):
        """Sets the statuses_url of this GithubRepository.


        :param statuses_url: The statuses_url of this GithubRepository.  # noqa: E501
        :type statuses_url: str
        """

        self._statuses_url = statuses_url

    @property
    def subscribers_count(self):
        """Gets the subscribers_count of this GithubRepository.  # noqa: E501


        :return: The subscribers_count of this GithubRepository.  # noqa: E501
        :rtype: int
        """
        return self._subscribers_count

    @subscribers_count.setter
    def subscribers_count(self, subscribers_count):
        """Sets the subscribers_count of this GithubRepository.


        :param subscribers_count: The subscribers_count of this GithubRepository.  # noqa: E501
        :type subscribers_count: int
        """

        self._subscribers_count = subscribers_count

    @property
    def subscribers_url(self):
        """Gets the subscribers_url of this GithubRepository.  # noqa: E501


        :return: The subscribers_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._subscribers_url

    @subscribers_url.setter
    def subscribers_url(self, subscribers_url):
        """Sets the subscribers_url of this GithubRepository.


        :param subscribers_url: The subscribers_url of this GithubRepository.  # noqa: E501
        :type subscribers_url: str
        """

        self._subscribers_url = subscribers_url

    @property
    def subscription_url(self):
        """Gets the subscription_url of this GithubRepository.  # noqa: E501


        :return: The subscription_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._subscription_url

    @subscription_url.setter
    def subscription_url(self, subscription_url):
        """Sets the subscription_url of this GithubRepository.


        :param subscription_url: The subscription_url of this GithubRepository.  # noqa: E501
        :type subscription_url: str
        """

        self._subscription_url = subscription_url

    @property
    def svn_url(self):
        """Gets the svn_url of this GithubRepository.  # noqa: E501


        :return: The svn_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._svn_url

    @svn_url.setter
    def svn_url(self, svn_url):
        """Sets the svn_url of this GithubRepository.


        :param svn_url: The svn_url of this GithubRepository.  # noqa: E501
        :type svn_url: str
        """

        self._svn_url = svn_url

    @property
    def tags_url(self):
        """Gets the tags_url of this GithubRepository.  # noqa: E501


        :return: The tags_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._tags_url

    @tags_url.setter
    def tags_url(self, tags_url):
        """Sets the tags_url of this GithubRepository.


        :param tags_url: The tags_url of this GithubRepository.  # noqa: E501
        :type tags_url: str
        """

        self._tags_url = tags_url

    @property
    def team_id(self):
        """Gets the team_id of this GithubRepository.  # noqa: E501


        :return: The team_id of this GithubRepository.  # noqa: E501
        :rtype: int
        """
        return self._team_id

    @team_id.setter
    def team_id(self, team_id):
        """Sets the team_id of this GithubRepository.


        :param team_id: The team_id of this GithubRepository.  # noqa: E501
        :type team_id: int
        """

        self._team_id = team_id

    @property
    def teams_url(self):
        """Gets the teams_url of this GithubRepository.  # noqa: E501


        :return: The teams_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._teams_url

    @teams_url.setter
    def teams_url(self, teams_url):
        """Sets the teams_url of this GithubRepository.


        :param teams_url: The teams_url of this GithubRepository.  # noqa: E501
        :type teams_url: str
        """

        self._teams_url = teams_url

    @property
    def template_repository(self):
        """Gets the template_repository of this GithubRepository.  # noqa: E501


        :return: The template_repository of this GithubRepository.  # noqa: E501
        :rtype: GithubRepository
        """
        return self._template_repository

    @template_repository.setter
    def template_repository(self, template_repository):
        """Sets the template_repository of this GithubRepository.


        :param template_repository: The template_repository of this GithubRepository.  # noqa: E501
        :type template_repository: GithubRepository
        """

        self._template_repository = template_repository

    @property
    def text_matches(self):
        """Gets the text_matches of this GithubRepository.  # noqa: E501


        :return: The text_matches of this GithubRepository.  # noqa: E501
        :rtype: list[GithubTextMatch]
        """
        return self._text_matches

    @text_matches.setter
    def text_matches(self, text_matches):
        """Sets the text_matches of this GithubRepository.


        :param text_matches: The text_matches of this GithubRepository.  # noqa: E501
        :type text_matches: list[GithubTextMatch]
        """

        self._text_matches = text_matches

    @property
    def topics(self):
        """Gets the topics of this GithubRepository.  # noqa: E501


        :return: The topics of this GithubRepository.  # noqa: E501
        :rtype: list[str]
        """
        return self._topics

    @topics.setter
    def topics(self, topics):
        """Sets the topics of this GithubRepository.


        :param topics: The topics of this GithubRepository.  # noqa: E501
        :type topics: list[str]
        """

        self._topics = topics

    @property
    def trees_url(self):
        """Gets the trees_url of this GithubRepository.  # noqa: E501


        :return: The trees_url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._trees_url

    @trees_url.setter
    def trees_url(self, trees_url):
        """Sets the trees_url of this GithubRepository.


        :param trees_url: The trees_url of this GithubRepository.  # noqa: E501
        :type trees_url: str
        """

        self._trees_url = trees_url

    @property
    def updated_at(self):
        """Gets the updated_at of this GithubRepository.  # noqa: E501


        :return: The updated_at of this GithubRepository.  # noqa: E501
        :rtype: object
        """
        return self._updated_at

    @updated_at.setter
    def updated_at(self, updated_at):
        """Sets the updated_at of this GithubRepository.


        :param updated_at: The updated_at of this GithubRepository.  # noqa: E501
        :type updated_at: object
        """

        self._updated_at = updated_at

    @property
    def url(self):
        """Gets the url of this GithubRepository.  # noqa: E501


        :return: The url of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._url

    @url.setter
    def url(self, url):
        """Sets the url of this GithubRepository.


        :param url: The url of this GithubRepository.  # noqa: E501
        :type url: str
        """

        self._url = url

    @property
    def visibility(self):
        """Gets the visibility of this GithubRepository.  # noqa: E501


        :return: The visibility of this GithubRepository.  # noqa: E501
        :rtype: str
        """
        return self._visibility

    @visibility.setter
    def visibility(self, visibility):
        """Sets the visibility of this GithubRepository.


        :param visibility: The visibility of this GithubRepository.  # noqa: E501
        :type visibility: str
        """

        self._visibility = visibility

    @property
    def watchers(self):
        """Gets the watchers of this GithubRepository.  # noqa: E501


        :return: The watchers of this GithubRepository.  # noqa: E501
        :rtype: int
        """
        return self._watchers

    @watchers.setter
    def watchers(self, watchers):
        """Sets the watchers of this GithubRepository.


        :param watchers: The watchers of this GithubRepository.  # noqa: E501
        :type watchers: int
        """

        self._watchers = watchers

    @property
    def watchers_count(self):
        """Gets the watchers_count of this GithubRepository.  # noqa: E501


        :return: The watchers_count of this GithubRepository.  # noqa: E501
        :rtype: int
        """
        return self._watchers_count

    @watchers_count.setter
    def watchers_count(self, watchers_count):
        """Sets the watchers_count of this GithubRepository.


        :param watchers_count: The watchers_count of this GithubRepository.  # noqa: E501
        :type watchers_count: int
        """

        self._watchers_count = watchers_count

    def to_dict(self, serialize=False):
        """Returns the model properties as a dict"""
        result = {}

        def convert(x):
            if hasattr(x, "to_dict"):
                args = getfullargspec(x.to_dict).args
                if len(args) == 1:
                    return x.to_dict()
                else:
                    return x.to_dict(serialize)
            else:
                return x

        for attr, _ in six.iteritems(self.openapi_types):
            value = getattr(self, attr)
            attr = self.attribute_map.get(attr, attr) if serialize else attr
            if isinstance(value, list):
                result[attr] = list(map(
                    lambda x: convert(x),
                    value
                ))
            elif isinstance(value, dict):
                result[attr] = dict(map(
                    lambda item: (item[0], convert(item[1])),
                    value.items()
                ))
            else:
                result[attr] = convert(value)

        return result

    def to_str(self):
        """Returns the string representation of the model"""
        return pprint.pformat(self.to_dict())

    def __repr__(self):
        """For `print` and `pprint`"""
        return self.to_str()

    def __eq__(self, other):
        """Returns true if both objects are equal"""
        if not isinstance(other, GithubRepository):
            return False

        return self.to_dict() == other.to_dict()

    def __ne__(self, other):
        """Returns true if both objects are not equal"""
        if not isinstance(other, GithubRepository):
            return True

        return self.to_dict() != other.to_dict()
