{
  "type": "record",
  "Aspect": {
    "name": "globalSettingsInfo"
  },
  "name": "GlobalSettingsInfo",
  "namespace": "com.linkedin.pegasus2avro.settings.global",
  "fields": [
    {
      "type": [
        "null",
        {
          "type": "record",
          "name": "GlobalIntegrationSettings",
          "namespace": "com.linkedin.pegasus2avro.settings.global",
          "fields": [
            {
              "type": [
                "null",
                {
                  "type": "record",
                  "name": "SlackIntegrationSettings",
                  "namespace": "com.linkedin.pegasus2avro.settings.global",
                  "fields": [
                    {
                      "deprecated": true,
                      "type": "boolean",
                      "name": "enabled",
                      "default": true,
                      "doc": "Whether the slack integration is enabled or not.\nDeprecated! This is no longer used in favor of using the connections abstraction.\nIf a connection is present, then this is enabled."
                    },
                    {
                      "deprecated": true,
                      "type": [
                        "null",
                        "string"
                      ],
                      "name": "encryptedBotToken",
                      "default": null,
                      "doc": "An encrypted bot token.\nDeprecated! This is no longer used in favor of using the connections abstraction."
                    },
                    {
                      "type": [
                        "null",
                        "string"
                      ],
                      "name": "defaultChannelName",
                      "default": null,
                      "doc": "A default slack channel to use."
                    }
                  ],
                  "doc": "Slack integration settings."
                }
              ],
              "name": "slackSettings",
              "default": null,
              "doc": "Slack integration settings."
            },
            {
              "type": [
                "null",
                {
                  "type": "record",
                  "name": "EmailIntegrationSettings",
                  "namespace": "com.linkedin.pegasus2avro.settings.global",
                  "fields": [
                    {
                      "type": [
                        "null",
                        "string"
                      ],
                      "name": "defaultEmail",
                      "default": null,
                      "doc": "The default email address to use for global notifications."
                    }
                  ],
                  "doc": "Email integration settings. Enabled by default and only disable-able via the application configs."
                }
              ],
              "name": "emailSettings",
              "default": null,
              "doc": "Email integration settings."
            }
          ],
          "doc": "Native DataHub Integrations, supported on the UI."
        }
      ],
      "name": "integrations",
      "default": null,
      "doc": "Integrations between DataHub & other platforms."
    },
    {
      "type": [
        "null",
        {
          "type": "record",
          "name": "GlobalNotificationSettings",
          "namespace": "com.linkedin.pegasus2avro.settings.global",
          "fields": [
            {
              "type": [
                "null",
                {
                  "type": "map",
                  "values": {
                    "type": "record",
                    "name": "NotificationSetting",
                    "namespace": "com.linkedin.pegasus2avro.settings",
                    "fields": [
                      {
                        "type": {
                          "type": "enum",
                          "symbolDocs": {
                            "DISABLED": "Setting is disabled.",
                            "ENABLED": "Setting is enabled."
                          },
                          "name": "NotificationSettingValue",
                          "namespace": "com.linkedin.pegasus2avro.settings",
                          "symbols": [
                            "ENABLED",
                            "DISABLED"
                          ]
                        },
                        "name": "value",
                        "doc": "Integrations between DataHub & other platforms."
                      },
                      {
                        "type": [
                          "null",
                          {
                            "type": "map",
                            "values": "string"
                          }
                        ],
                        "name": "params",
                        "default": null,
                        "doc": "Custom set of setting parameters."
                      }
                    ]
                  }
                }
              ],
              "name": "settings",
              "default": null,
              "doc": "Global / platform notification settings.\nA map of notification scenario type to the settings associated with it.\nFor a list of all scenario types to notify on, check out NotificationScenarioType enum."
            },
            {
              "type": [
                "null",
                {
                  "type": "record",
                  "name": "GlobalIncidentsSettings",
                  "namespace": "com.linkedin.pegasus2avro.settings.global",
                  "fields": [
                    {
                      "type": "com.linkedin.pegasus2avro.settings.NotificationSetting",
                      "name": "broadcastNewIncidentNotification",
                      "doc": "Send a 'broadcast' notification when a new incident has been created. A broadcast is a notification that\nis sent to a general purpose channel, as opposed to a specific user or group member directly."
                    },
                    {
                      "type": "com.linkedin.pegasus2avro.settings.NotificationSetting",
                      "name": "broadcastIncidentStatusChangeNotification",
                      "doc": "Send a 'broadcast' notification when an incident status has changed. A broadcast is a notification that\nis sent to a general purpose channel, as opposed to a specific user or group member directly."
                    }
                  ]
                }
              ],
              "name": "incidents",
              "default": null,
              "doc": "Settings related to asset incidents.\nDeprecated! Use 'settings' for configuring incidents settings instead."
            }
          ],
          "doc": "DataHub global notification settings"
        }
      ],
      "name": "notifications",
      "default": null,
      "doc": "Global notifications settings"
    },
    {
      "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": [
            {
              "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"
            }
          ],
          "doc": "Settings for DataHub Views feature."
        }
      ],
      "name": "views",
      "default": null,
      "doc": "Settings related to the Views Feature"
    },
    {
      "type": [
        "null",
        {
          "type": "record",
          "name": "GlobalVisualSettings",
          "namespace": "com.linkedin.pegasus2avro.settings.global",
          "fields": [
            {
              "type": [
                "null",
                {
                  "type": "record",
                  "name": "HelpLink",
                  "namespace": "com.linkedin.pegasus2avro.settings.global",
                  "fields": [
                    {
                      "type": "boolean",
                      "name": "isEnabled",
                      "doc": "Whether or not this link should be shown in the UI"
                    },
                    {
                      "type": "string",
                      "name": "label",
                      "doc": "The label of this help link"
                    },
                    {
                      "type": "string",
                      "name": "link",
                      "doc": "The url or mailto link that this links to"
                    }
                  ],
                  "doc": "Information regarding the help link dislayed in the UI"
                }
              ],
              "name": "helpLink",
              "default": null,
              "doc": "The configurable help link shown in the UI"
            }
          ],
          "doc": "Global settings for the UI"
        }
      ],
      "name": "visual",
      "default": null,
      "doc": "Global settings related to the UI and what's displayed in the app"
    }
  ],
  "doc": "DataHub Global platform settings. Careful - these should not be modified by the outside world!"
}