{
  "type": "record",
  "Aspect": {
    "name": "globalSettingsInfo"
  },
  "name": "GlobalSettingsInfo",
  "namespace": "com.linkedin.pegasus2avro.settings.global",
  "fields": [
    {
      "type": [
        "null",
        {
          "type": "record",
          "name": "SsoSettings",
          "namespace": "com.linkedin.pegasus2avro.settings.global",
          "fields": [
            {
              "type": "string",
              "name": "baseUrl",
              "doc": "Auth base URL."
            },
            {
              "type": [
                "null",
                {
                  "type": "record",
                  "name": "OidcSettings",
                  "namespace": "com.linkedin.pegasus2avro.settings.global",
                  "fields": [
                    {
                      "type": "boolean",
                      "name": "enabled",
                      "doc": "Whether OIDC SSO is enabled."
                    },
                    {
                      "type": "string",
                      "name": "clientId",
                      "doc": "Unique client id issued by the identity provider."
                    },
                    {
                      "type": "string",
                      "name": "clientSecret",
                      "doc": "Unique client secret issued by the identity provider."
                    },
                    {
                      "type": "string",
                      "name": "discoveryUri",
                      "doc": "The IdP OIDC discovery url."
                    },
                    {
                      "type": [
                        "null",
                        "string"
                      ],
                      "name": "userNameClaim",
                      "default": null,
                      "doc": "ADVANCED. The attribute / claim used to derive the DataHub username. Defaults to \"preferred_username\"."
                    },
                    {
                      "type": [
                        "null",
                        "string"
                      ],
                      "name": "userNameClaimRegex",
                      "default": null,
                      "doc": "ADVANCED. TThe regex used to parse the DataHub username from the user name claim. Defaults to (.*) (all)."
                    },
                    {
                      "type": [
                        "null",
                        "string"
                      ],
                      "name": "scope",
                      "default": null,
                      "doc": "ADVANCED. String representing the requested scope from the IdP. Defaults to \"oidc email profile\"."
                    },
                    {
                      "type": [
                        "null",
                        "string"
                      ],
                      "name": "clientAuthenticationMethod",
                      "default": null,
                      "doc": "ADVANCED. Which authentication method to use to pass credentials (clientId and clientSecret) to the token endpoint: Defaults to \"client_secret_basic\"."
                    },
                    {
                      "type": [
                        "null",
                        "boolean"
                      ],
                      "name": "jitProvisioningEnabled",
                      "default": null,
                      "doc": "ADVANCED. Whether DataHub users should be provisioned on login if they do not exist. Defaults to true."
                    },
                    {
                      "type": [
                        "null",
                        "boolean"
                      ],
                      "name": "preProvisioningRequired",
                      "default": null,
                      "doc": "ADVANCED. Whether the user should already exist in DataHub on login, failing login if they are not. Defaults to false."
                    },
                    {
                      "type": [
                        "null",
                        "boolean"
                      ],
                      "name": "extractGroupsEnabled",
                      "default": null,
                      "doc": "ADVANCED. Whether groups should be extracted from a claim in the OIDC profile. Only applies if JIT provisioning is enabled. Groups will be created if they do not exist. Defaults to true."
                    },
                    {
                      "type": [
                        "null",
                        "string"
                      ],
                      "name": "groupsClaim",
                      "default": null,
                      "doc": "ADVANCED. The OIDC claim to extract groups information from. Defaults to 'groups'."
                    },
                    {
                      "type": [
                        "null",
                        "string"
                      ],
                      "name": "responseType",
                      "default": null,
                      "doc": "ADVANCED. Response type."
                    },
                    {
                      "type": [
                        "null",
                        "string"
                      ],
                      "name": "responseMode",
                      "default": null,
                      "doc": "ADVANCED. Response mode."
                    },
                    {
                      "type": [
                        "null",
                        "boolean"
                      ],
                      "name": "useNonce",
                      "default": null,
                      "doc": "ADVANCED. Use Nonce."
                    },
                    {
                      "type": [
                        "null",
                        "long"
                      ],
                      "name": "readTimeout",
                      "default": null,
                      "doc": "ADVANCED. Read timeout."
                    },
                    {
                      "type": [
                        "null",
                        "boolean"
                      ],
                      "name": "extractJwtAccessTokenClaims",
                      "default": null,
                      "doc": "ADVANCED. Whether to extract claims from JWT access token.  Defaults to false."
                    },
                    {
                      "type": [
                        "null",
                        "string"
                      ],
                      "name": "preferredJwsAlgorithm",
                      "default": null,
                      "doc": " ADVANCED. Which jws algorithm to use. Unused."
                    },
                    {
                      "type": [
                        "null",
                        "string"
                      ],
                      "name": "preferredJwsAlgorithm2",
                      "default": null,
                      "doc": " ADVANCED. Which jws algorithm to use."
                    }
                  ],
                  "doc": "Settings for OIDC SSO integration."
                }
              ],
              "name": "oidcSettings",
              "default": null,
              "doc": "Optional OIDC SSO settings."
            }
          ],
          "doc": "SSO Integrations, supported on the UI."
        }
      ],
      "name": "sso",
      "default": null,
      "doc": "SSO integrations between DataHub and identity providers"
    },
    {
      "type": [
        "null",
        {
          "type": "record",
          "name": "GlobalViewsSettings",
          "namespace": "com.linkedin.pegasus2avro.settings.global",
          "fields": [
            {
              "Relationship": {
                "entityTypes": [
                  "dataHubView"
                ],
                "name": "viewedWith"
              },
              "java": {
                "class": "com.linkedin.pegasus2avro.common.urn.Urn"
              },
              "type": [
                "null",
                "string"
              ],
              "name": "defaultView",
              "default": null,
              "doc": "The default View for the instance, or organization.",
              "Urn": "Urn",
              "entityTypes": [
                "dataHubView"
              ]
            }
          ],
          "doc": "Settings for DataHub Views feature."
        }
      ],
      "name": "views",
      "default": null,
      "doc": "Settings related to the Views Feature"
    },
    {
      "type": [
        {
          "type": "record",
          "name": "DocPropagationFeatureSettings",
          "namespace": "com.linkedin.pegasus2avro.settings.global",
          "fields": [
            {
              "type": "boolean",
              "name": "enabled"
            },
            {
              "type": [
                "null",
                "string"
              ],
              "name": "config",
              "default": null,
              "doc": "The configuration for the feature, in JSON format."
            },
            {
              "type": [
                "null",
                "string"
              ],
              "name": "configVersion",
              "default": null,
              "doc": "The version of the configuration schema that has been used to serialize\n       the config.\nIf not provided, the version is assumed to be the latest version."
            },
            {
              "type": "boolean",
              "name": "columnPropagationEnabled",
              "default": true
            }
          ]
        },
        "null"
      ],
      "name": "docPropagation",
      "default": {
        "configVersion": null,
        "config": null,
        "enabled": true,
        "columnPropagationEnabled": true
      },
      "doc": "Settings related to the documentation propagation feature"
    }
  ],
  "doc": "DataHub Global platform settings. Careful - these should not be modified by the outside world!"
}