public IList <ConfigParameterDefinition> GetConfigParametersEx(KeyedCollection <string, ConfigParameter> configParameters, ConfigParameterPage page, int pageNumber) { if (pageNumber == 1) { return(ManagementAgentParameters.GetParameters(configParameters, page)); } else { return(new List <ConfigParameterDefinition>()); } }
public ParameterValidationResult ValidateConfigParametersEx(KeyedCollection <string, ConfigParameter> configParameters, ConfigParameterPage page, int pageNumber) { if (pageNumber == 1) { ManagementAgentParameters parameters = new ManagementAgentParameters(configParameters); return(parameters.ValidateParameters(page)); } else { return(new ParameterValidationResult(ParameterValidationResultCode.Success, null, null)); } }
public ParameterValidationResult ValidateConfigParameters(KeyedCollection <string, ConfigParameter> configParameters, ConfigParameterPage page) { ManagementAgentParameters parameters = new ManagementAgentParameters(configParameters); return(parameters.ValidateParameters(page)); }
public IList <ConfigParameterDefinition> GetConfigParameters(KeyedCollection <string, ConfigParameter> configParameters, ConfigParameterPage page) { return(ManagementAgentParameters.GetParameters(configParameters, page)); }
public static IList <ConfigParameterDefinition> GetParameters(KeyedCollection <string, ConfigParameter> configParameters, ConfigParameterPage page) { List <ConfigParameterDefinition> parameters = new List <ConfigParameterDefinition>(); switch (page) { case ConfigParameterPage.Capabilities: break; case ConfigParameterPage.Connectivity: parameters.Add(ConfigParameterDefinition.CreateLabelParameter("Credentials")); parameters.Add(ConfigParameterDefinition.CreateStringParameter(ManagementAgentParametersBase.CustomerIDParameter, null, "my_customer")); parameters.Add(ConfigParameterDefinition.CreateStringParameter(ManagementAgentParametersBase.DomainParameter, null, null)); parameters.Add(ConfigParameterDefinition.CreateStringParameter(ManagementAgentParametersBase.ServiceAccountEmailAddressParameter, null, null)); parameters.Add(ConfigParameterDefinition.CreateStringParameter(ManagementAgentParametersBase.UserEmailAddressParameter, null, null)); parameters.Add(ConfigParameterDefinition.CreateStringParameter(ManagementAgentParametersBase.KeyFilePathParameter, null)); parameters.Add(ConfigParameterDefinition.CreateEncryptedStringParameter(ManagementAgentParametersBase.KeyFilePasswordParameter, null, null)); parameters.Add(ConfigParameterDefinition.CreateDividerParameter()); parameters.Add(ConfigParameterDefinition.CreateStringParameter(ManagementAgentParametersBase.LogFilePathParameter, null)); break; case ConfigParameterPage.Global: parameters.Add(ConfigParameterDefinition.CreateStringParameter(ManagementAgentParametersBase.UserRegexFilterParameter, null, null)); parameters.Add(ConfigParameterDefinition.CreateStringParameter(ManagementAgentParametersBase.GroupRegexFilterParameter, null, null)); parameters.Add(ConfigParameterDefinition.CreateStringParameter(ManagementAgentParametersBase.ContactRegexFilterParameter, null, null)); parameters.Add(ConfigParameterDefinition.CreateCheckBoxParameter(ManagementAgentParametersBase.ExcludeUserCreatedGroupsParameter, false)); parameters.Add(ConfigParameterDefinition.CreateDividerParameter()); parameters.Add(ConfigParameterDefinition.CreateLabelParameter("The Google API supports filtering users based on query parameters. For example, to filter on org unit, type 'orgUnitPath=/MyOrgUnit'. Refer to the API documentation at https://developers.google.com/admin-sdk/directory/v1/guides/search-users for more information")); parameters.Add(ConfigParameterDefinition.CreateStringParameter(ManagementAgentParametersBase.UserQueryFilterParameter, null, null)); parameters.Add(ConfigParameterDefinition.CreateDividerParameter()); parameters.Add(ConfigParameterDefinition.CreateCheckBoxParameter(ManagementAgentParametersBase.InheritGroupRolesParameter, false)); parameters.Add(ConfigParameterDefinition.CreateLabelParameter("Inheriting group roles forces the MA to include owners in the managers list, and managers in the members list")); parameters.Add(ConfigParameterDefinition.CreateDividerParameter()); parameters.Add(ConfigParameterDefinition.CreateCheckBoxParameter(ManagementAgentParametersBase.CalendarSendNotificationOnPermissionChangeParameter, false)); parameters.Add(ConfigParameterDefinition.CreateDividerParameter()); parameters.Add(ConfigParameterDefinition.CreateStringParameter(ManagementAgentParametersBase.ContactsPrefixParameter, null, "contact:")); parameters.Add(ConfigParameterDefinition.CreateDividerParameter()); parameters.Add(ConfigParameterDefinition.CreateCheckBoxParameter(ManagementAgentParametersBase.SkipMemberImportOnArchivedCoursesParameter, false)); parameters.Add(ConfigParameterDefinition.CreateLabelParameter("Skipping import of students and teachers on ARCHIVED Courses can speed up import if you have many Archived course objects.")); break; case ConfigParameterPage.Partition: break; case ConfigParameterPage.RunStep: parameters.Add(ConfigParameterDefinition.CreateCheckBoxParameter(ManagementAgentParametersBase.DoNotGenerateDeltaParameter, false)); break; case ConfigParameterPage.Schema: parameters.Add(ConfigParameterDefinition.CreateLabelParameter("The values from the following objects are flattened based on the type of object specified. Enter the types you wish to expose, each on a separate line (ctrl-enter for a new line). For example, entering 'work' and 'home' in the phone numbers text box will expose the attributes phones_work and phones_home")); parameters.Add(ConfigParameterDefinition.CreateTextParameter(ManagementAgentParametersBase.PhonesFixedTypeFormatParameter, null)); parameters.Add(ConfigParameterDefinition.CreateDividerParameter()); parameters.Add(ConfigParameterDefinition.CreateTextParameter(ManagementAgentParametersBase.OrganizationsFixedTypeFormatParameter, null)); parameters.Add(ConfigParameterDefinition.CreateDividerParameter()); parameters.Add(ConfigParameterDefinition.CreateTextParameter(ManagementAgentParametersBase.IMsFixedTypeFormatParameter, null)); parameters.Add(ConfigParameterDefinition.CreateDividerParameter()); parameters.Add(ConfigParameterDefinition.CreateTextParameter(ManagementAgentParametersBase.ExternalIDsFixedTypeFormatParameter, null)); parameters.Add(ConfigParameterDefinition.CreateDividerParameter()); parameters.Add(ConfigParameterDefinition.CreateTextParameter(ManagementAgentParametersBase.RelationsFixedTypeFormatParameter, null)); parameters.Add(ConfigParameterDefinition.CreateDividerParameter()); parameters.Add(ConfigParameterDefinition.CreateTextParameter(ManagementAgentParametersBase.AddressesFixedTypeFormatParameter, null)); parameters.Add(ConfigParameterDefinition.CreateDividerParameter()); parameters.Add(ConfigParameterDefinition.CreateTextParameter(ManagementAgentParametersBase.EmailsFixedTypeFormatParameter, null)); parameters.Add(ConfigParameterDefinition.CreateDividerParameter()); parameters.Add(ConfigParameterDefinition.CreateTextParameter(ManagementAgentParametersBase.WebsitesFixedTypeFormatParameter, null)); parameters.Add(ConfigParameterDefinition.CreateDividerParameter()); parameters.Add(ConfigParameterDefinition.CreateDividerParameter()); parameters.Add(ConfigParameterDefinition.CreateDropDownParameter(ManagementAgentParametersBase.CalendarBuildingAttributeTypeParameter, new string[] { "String", "Reference" }, false, "String")); parameters.Add(ConfigParameterDefinition.CreateDropDownParameter(ManagementAgentParametersBase.CalendarFeatureAttributeTypeParameter, new string[] { "String", "Reference" }, false, "String")); parameters.Add(ConfigParameterDefinition.CreateDropDownParameter(ManagementAgentParametersBase.GroupMemberAttributeTypeParameter, new string[] { "String", "Reference" }, false, "Reference")); parameters.Add(ConfigParameterDefinition.CreateDividerParameter()); parameters.Add(ConfigParameterDefinition.CreateLabelParameter("Specify additional custom user object classes to expose. (Press ctrl+enter for each new line)")); parameters.Add(ConfigParameterDefinition.CreateTextParameter(ManagementAgentParametersBase.CustomUserObjectClassesParameter, null)); var config = new ManagementAgentParameters(configParameters); if (config.KeyFilePath != null && !string.IsNullOrEmpty(config.KeyFilePassword) && config.Certificate != null) { parameters.Add(ConfigParameterDefinition.CreateDividerParameter()); parameters.Add(ConfigParameterDefinition.CreateCheckBoxParameter(ManagementAgentParametersBase.EnableAdvancedUserAttributesParameter, false)); parameters.Add(ConfigParameterDefinition.CreateLabelParameter("Enabling advanced user attributes enables managing delegate and send-as settings, however this can significantly slow down the speed of full imports. A separate API call must be made for every user during the import process for each of these selected attributes.")); parameters.Add(ConfigParameterDefinition.CreateCheckBoxParameter(ManagementAgentParametersBase.MakeNewSendAsAddressesDefaultParameter, false)); } break; default: break; } return(parameters); }