public static MachineTypeId GetId(string name)
        {
            // cg1.4xlarge
            var id = new MachineTypeId();

            var parts = name.Split(Seperators.Period);

            var a = parts[0];
            var b = parts[1];

            if (a.Length == 3)
            {
                id.ClassId1   = GetLetterId(a[0]);
                id.ClassId2   = GetLetterId(a[1]);
                id.Generation = byte.Parse(a[2].ToString());
            }
            else
            {
                id.ClassId1   = GetLetterId(a[0]);
                id.Generation = byte.Parse(a[1].ToString());
            }

            id.MachineSize = GetSizeId(b);
            id.ProviderId  = 1;

            return(id);
        }
        public static string GetName(long id)
        {
            var a = new MachineTypeId {
                Value = id
            };

            var sb = new StringBuilder();

            if (a.ClassId1 != 0)
            {
                sb.Append(alphabet[a.ClassId1 - 1]);
            }

            if (a.ClassId2 != 0)
            {
                sb.Append(alphabet[a.ClassId2 - 1]);
            }

            if (a.Generation != 0)
            {
                sb.Append(a.Generation);
            }

            sb.Append('.');

            sb.Append(GetSizeName(a.MachineSize));

            return(sb.ToString());
        }