示例#1
0
        /// <summary>
        /// Loads and returns all available credential profiles registered in the store.
        /// </summary>
        /// <returns>Collection of profiles.</returns>
        public static IEnumerable <ProfileSettingsBase> ListProfiles()
        {
            var profiles     = new List <ProfileSettingsBase>();
            var profileNames = ListProfileNames();

            foreach (var profileName in profileNames)
            {
                try
                {
                    if (SAMLRoleProfile.CanCreateFrom(profileName))
                    {
                        profiles.Add(SAMLRoleProfile.LoadFrom(profileName));
                    }
                    else if (AWSCredentialsProfile.CanCreateFrom(profileName))
                    {
                        profiles.Add(AWSCredentialsProfile.LoadFrom(profileName));
                    }
                }
                catch (Exception e)
                {
                    Logger.GetLogger(typeof(ProfileManager)).Error(e, "Error loading AWS credential or SAML role profile '{0}'", profileName);
                }
            }

            return(profiles);
        }