/// <summary>
        /// Creates a FloatingIpStatus enum from a string.
        /// </summary>
        /// <param name="input">The input string.</param>
        /// <returns>A FloatingIpStatus enum.</returns>
        public static FloatingIpStatus GetFloatingIpStatus(this string input)
        {
            input.AssertIsNotNullOrEmpty("input", "Cannot get Floating IP status with null or empty value.");

            switch (input.ToLowerInvariant())
            {
                case "active":
                    return FloatingIpStatus.Active;
                case "down":
                    return FloatingIpStatus.Down;
                default:
                    return FloatingIpStatus.Unknown;
            }
        }
        /// <summary>
        /// Creates a ComputeServerStatus enum from a string.
        /// </summary>
        /// <param name="input">The input string.</param>
        /// <returns>A ComputeServerStatus enum.</returns>
        public static ComputeServerStatus GetComputeServerStatus(this string input)
        {
            input.AssertIsNotNullOrEmpty("input", "Cannot get computer server status with null or empty value.");

            switch (input.ToLowerInvariant())
            {
                case "active":
                    return ComputeServerStatus.Active;
                case "build":
                    return ComputeServerStatus.Build;
                case "deleted":
                    return ComputeServerStatus.Deleted;
                case "error":
                    return ComputeServerStatus.Error;
                case "hard_reboot":
                    return ComputeServerStatus.Hard_Reboot;
                case "password":
                    return ComputeServerStatus.Password;
                case "reboot":
                    return ComputeServerStatus.Reboot;
                case "rebuild":
                    return ComputeServerStatus.Rebuild;
                case "rescue":
                    return ComputeServerStatus.Rescue;
                case "revert_resize":
                    return ComputeServerStatus.Revert_Resize;
                case "shutoff":
                    return ComputeServerStatus.Shutoff;
                case "suspended":
                    return ComputeServerStatus.Suspended;
                case "verify_resize":
                    return ComputeServerStatus.Verify_Resize;
                default:
                    return ComputeServerStatus.Unknown;
            }
        }