/// <summary>
        /// Initializes a new instance of the <see cref="TokenCloudCredentials"/>
        /// class without subscription ID.
        /// </summary>
        /// <param name="token">Valid JSON Web Token (JWT).</param>
        public TokenCloudCredentials(string token)
        {
            if (token == null)
            {
                throw new ArgumentNullException("token");
            }
            else if (token.Length == 0)
            {
                throw CloudExtensions.CreateArgumentEmptyException("token");
            }

            Token = token;
        }
        /// <summary>
        /// Initializes a new instance of the CertificateCloudCredentials
        /// class.
        /// </summary>
        /// <param name="subscriptionId">The Subscription ID.</param>
        public CertificateCloudCredentials(string subscriptionId)
        {
            if (subscriptionId == null)
            {
                throw new ArgumentNullException("subscriptionId");
            }
            else if (subscriptionId.Length == 0)
            {
                throw CloudExtensions.CreateArgumentEmptyException("subscriptionId");
            }

            _subscriptionId = subscriptionId;
        }
예제 #3
0
        public IDictionary <string, object> Parse(string settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }
            else if (settings.Length == 0)
            {
                throw CloudExtensions.CreateArgumentEmptyException("settings");
            }

            return(JsonConvert.DeserializeObject <Dictionary <string, object> >(settings));
        }
예제 #4
0
        /// <summary>
        /// Parse a JSON settings file.
        /// </summary>
        /// <param name="settings">The JSON settings.</param>
        /// <returns>
        /// A dictionary of the setting names and values from the JSON
        /// settings.
        /// </returns>
        public IDictionary <string, object> ParseJsonSettings(string settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }
            else if (settings.Length == 0)
            {
                throw CloudExtensions.CreateArgumentEmptyException("settings");
            }

            return(new JsonSettingsFormat().Parse(settings));
        }
예제 #5
0
        /// <summary>
        /// Parse a connection string.
        /// </summary>
        /// <param name="connectionString">The connection string.</param>
        /// <returns>
        /// A dictionary of the setting names and values from the connection
        /// string.
        /// </returns>
        public IDictionary <string, object> ParseConnectionStringSettings(string connectionString)
        {
            if (connectionString == null)
            {
                throw new ArgumentNullException("connectionString");
            }
            else if (connectionString.Length == 0)
            {
                throw CloudExtensions.CreateArgumentEmptyException("connectionString");
            }

            return(new ConnectionStringSettingsFormat().Parse(connectionString));
        }
예제 #6
0
        /// <summary>
        /// Get the value of a configuration setting from a platform specific
        /// configuration source.
        /// </summary>
        /// <param name="name">The name of the setting.</param>
        /// <returns>The value of the setting, or null if not found.</returns>
        public string GetSetting(string name)
        {
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }
            else if (name.Length == 0)
            {
                throw CloudExtensions.CreateArgumentEmptyException("name");
            }

            return(ConfigurationProvider.GetSetting(name));
        }
        /// <summary>
        /// Initializes a new instance of the CertificateCloudCredentials
        /// class.
        /// </summary>
        /// <param name="subscriptionId">The Subscription ID.</param>
        /// <param name="managementCertificate">
        /// The management certificate.
        /// </param>
        public CertificateCloudCredentials(string subscriptionId, X509Certificate2 managementCertificate)
        {
            if (subscriptionId == null)
            {
                throw new ArgumentNullException("subscriptionId");
            }
            else if (subscriptionId.Length == 0)
            {
                throw CloudExtensions.CreateArgumentEmptyException("subscriptionId");
            }
            else if (managementCertificate == null)
            {
                throw new ArgumentNullException("managementCertificate");
            }

            _subscriptionId       = subscriptionId;
            ManagementCertificate = managementCertificate;
        }
예제 #8
0
        public IDictionary<string,object> Parse(string settings)
        {
            if (settings == null)
            {
                throw new ArgumentNullException("settings");
            }
            else if (settings.Length == 0)
            {
                throw CloudExtensions.CreateArgumentEmptyException("settings");
            }

            IDictionary<string, object> parameters = new Dictionary<string, object>();
            foreach (KeyValuePair<string, string> setting in ConnectionStringParser.Parse(settings))
            {
                parameters[setting.Key] = setting.Value;
            }
            return parameters; 
        }
예제 #9
0
        /// <summary>
        /// Get named connection info that can be used to instantiate a type by
        /// searching for configuration settings of the format
        /// Namespace.Type.Name.format.  If no connection info is found for
        /// the type, we will search for connection info for all of its base
        /// types.
        /// </summary>
        /// <param name="type">
        /// The type to obtain connection info for.
        /// </param>
        /// <param name="name">The name of the connection info.</param>
        /// <returns>
        /// Connection info used to instantiate the given type or null if
        /// no connection string is found.
        /// </returns>
        /// <remarks>
        /// You can get insight into the connection info search by checking
        /// the tracing output.
        /// </remarks>
        public IDictionary <string, object> GetConnectionInfo(Type type, string name)
        {
            if (type == null)
            {
                throw new ArgumentNullException("type");
            }
            else if (name == null)
            {
                throw new ArgumentNullException("name");
            }
            else if (name.Length == 0)
            {
                throw CloudExtensions.CreateArgumentEmptyException("name");
            }

            string key   = null;
            string value = null;

            return(ProbeForConnectionInfo(type, name, out key, out value));
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="TokenCloudCredentials"/>
        /// class with subscription ID.
        /// </summary>
        /// <param name="subscriptionId">The Subscription ID.</param>
        /// <param name="token">Valid JSON Web Token (JWT).</param>
        public TokenCloudCredentials(string subscriptionId, string token)
        {
            if (subscriptionId == null)
            {
                throw new ArgumentNullException("subscriptionId");
            }
            else if (subscriptionId.Length == 0)
            {
                throw CloudExtensions.CreateArgumentEmptyException("subscriptionId");
            }
            else if (token == null)
            {
                throw new ArgumentNullException("token");
            }
            else if (token.Length == 0)
            {
                throw CloudExtensions.CreateArgumentEmptyException("token");
            }

            _subscriptionId = subscriptionId;
            Token           = token;
        }