GafaelfawrDetails

pydantic model phalanx.models.environments.GafaelfawrDetails

Details about the Gafaelfawr configuration for an environment.

Parameters:

data (Any)

Show JSON schema
{
   "title": "GafaelfawrDetails",
   "description": "Details about the Gafaelfawr configuration for an environment.",
   "type": "object",
   "properties": {
      "provider": {
         "$ref": "#/$defs/IdentityProvider"
      },
      "provider_hostname": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Provider Hostname"
      },
      "comanage_hostname": {
         "anyOf": [
            {
               "type": "string"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "title": "Comanage Hostname"
      },
      "scopes": {
         "default": [],
         "items": {
            "$ref": "#/$defs/GafaelfawrScope"
         },
         "title": "Scopes",
         "type": "array"
      }
   },
   "$defs": {
      "GafaelfawrGitHubGroup": {
         "description": "A group based on a GitHub team.",
         "properties": {
            "github": {
               "$ref": "#/$defs/GafaelfawrGitHubTeam"
            }
         },
         "required": [
            "github"
         ],
         "title": "GafaelfawrGitHubGroup",
         "type": "object"
      },
      "GafaelfawrGitHubTeam": {
         "description": "Designates a GitHub team for use as a Gafaelfawr group.",
         "properties": {
            "organization": {
               "title": "Organization",
               "type": "string"
            },
            "team": {
               "title": "Team",
               "type": "string"
            }
         },
         "required": [
            "organization",
            "team"
         ],
         "title": "GafaelfawrGitHubTeam",
         "type": "object"
      },
      "GafaelfawrScope": {
         "description": "A Gafaelfawr scope and its associated groups.",
         "properties": {
            "scope": {
               "title": "Scope",
               "type": "string"
            },
            "groups": {
               "items": {
                  "anyOf": [
                     {
                        "type": "string"
                     },
                     {
                        "$ref": "#/$defs/GafaelfawrGitHubGroup"
                     }
                  ]
               },
               "title": "Groups",
               "type": "array"
            }
         },
         "required": [
            "scope",
            "groups"
         ],
         "title": "GafaelfawrScope",
         "type": "object"
      },
      "IdentityProvider": {
         "description": "Type of identity provider used by Gafaelfawr.",
         "enum": [
            "CILogon",
            "GitHub",
            "Google",
            "OpenID Connect",
            "None"
         ],
         "title": "IdentityProvider",
         "type": "string"
      }
   },
   "required": [
      "provider"
   ]
}

Fields:
field comanage_hostname: str | None = None

Hostname of COmanage instance, if COmanage is in use.

field provider: IdentityProvider [Required]

Type of identity provider used by Gafaelfawr in this environment.

field provider_hostname: str | None = None

Hostname of upstream identity provider, if meaningful.

field scopes: list[GafaelfawrScope] = []

Gafaelfawr scopes and their associated groups.