{
  "type": "record",
  "Aspect": {
    "name": "corpGroupSettings"
  },
  "name": "CorpGroupSettings",
  "namespace": "com.linkedin.pegasus2avro.identity",
  "fields": [
    {
      "type": [
        "null",
        {
          "type": "record",
          "name": "NotificationSettings",
          "namespace": "com.linkedin.pegasus2avro.event.notification.settings",
          "fields": [
            {
              "type": {
                "type": "array",
                "items": {
                  "type": "enum",
                  "symbolDocs": {
                    "EMAIL": "Email target type.",
                    "SLACK": "Slack target type."
                  },
                  "name": "NotificationSinkType",
                  "namespace": "com.linkedin.pegasus2avro.event.notification",
                  "symbols": [
                    "SLACK",
                    "EMAIL"
                  ],
                  "doc": "A type of sink / platform to send a notification to."
                }
              },
              "name": "sinkTypes",
              "doc": "Sink types that notifications are sent to. This is a top-level on/off switch."
            },
            {
              "type": [
                "null",
                {
                  "type": "record",
                  "name": "SlackNotificationSettings",
                  "namespace": "com.linkedin.pegasus2avro.event.notification.settings",
                  "fields": [
                    {
                      "type": [
                        "null",
                        "string"
                      ],
                      "name": "userHandle",
                      "default": null,
                      "doc": "Optional user handle"
                    },
                    {
                      "type": [
                        "null",
                        {
                          "type": "array",
                          "items": "string"
                        }
                      ],
                      "name": "channels",
                      "default": null,
                      "doc": "Optional list of channels to send notifications to"
                    }
                  ],
                  "doc": "Slack Notification settings for an actor."
                }
              ],
              "name": "slackSettings",
              "default": null,
              "doc": "Slack Notification Settings"
            },
            {
              "type": [
                "null",
                {
                  "type": "record",
                  "name": "EmailNotificationSettings",
                  "namespace": "com.linkedin.pegasus2avro.event.notification.settings",
                  "fields": [
                    {
                      "type": "string",
                      "name": "email",
                      "doc": "Optional user or group email address"
                    }
                  ],
                  "doc": "Email Notification settings for an actor."
                }
              ],
              "name": "emailSettings",
              "default": null,
              "doc": "Email Notification Settings"
            },
            {
              "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.\nCurrently used to store sink enabled / disabled settings.\nE.g. slack.enabled = true, email.enabled = false"
                      }
                    ]
                  }
                }
              ],
              "name": "settings",
              "default": null,
              "doc": "User or Group Notification Scenario Settings.\n\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."
            }
          ],
          "doc": "Notification settings for an actor or subscription."
        }
      ],
      "name": "notificationSettings",
      "default": null,
      "doc": "Notification settings for a group"
    }
  ],
  "doc": "Settings that a group can customize through the DataHub UI"
}