/// <summary>
        /// Get or create new  named resource group
        /// </summary>
        /// <param name="service"></param>
        /// <param name="resourceGroup"></param>
        /// <param name="deleteOnDispose"></param>
        /// <param name="subscriptionInfo"></param>
        /// <returns></returns>
        public static async Task <IResourceGroupResource> GetOrCreateAsync(
            this IResourceGroupFactory service, string resourceGroup,
            bool deleteOnDispose, ISubscriptionInfo subscriptionInfo = null)
        {
            var rg = await Try.Async(() => service.GetAsync(resourceGroup,
                                                            deleteOnDispose, subscriptionInfo));

            if (rg == null)
            {
                rg = await service.CreateAsync(resourceGroup, deleteOnDispose,
                                               subscriptionInfo);
            }
            return(rg);
        }
 /// <summary>
 /// Get named resource group
 /// </summary>
 /// <param name="service"></param>
 /// <param name="resourceGroup"></param>
 /// <param name="deleteOnDispose"></param>
 /// <returns></returns>
 public static Task <IResourceGroupResource> GetAsync(
     this IResourceGroupFactory service, string resourceGroup,
     bool deleteOnDispose)
 {
     return(service.GetAsync(resourceGroup, deleteOnDispose, null));
 }
 /// <summary>
 /// Get non auto-delete on dispose resource group
 /// </summary>
 /// <param name="service"></param>
 /// <param name="resourceGroup"></param>
 /// <param name="subscription"></param>
 /// <returns></returns>
 public static Task <IResourceGroupResource> GetAsync(
     this IResourceGroupFactory service, string resourceGroup,
     ISubscriptionInfo subscription)
 {
     return(service.GetAsync(resourceGroup, false, subscription));
 }
 /// <summary>
 /// Get non auto-delete on dispose resource group
 /// </summary>
 /// <param name="service"></param>
 /// <param name="resourceGroup"></param>
 /// <returns></returns>
 public static Task <IResourceGroupResource> GetAsync(
     this IResourceGroupFactory service, string resourceGroup)
 {
     return(service.GetAsync(resourceGroup, false));
 }