/// <summary>
        /// Executes the cmdlet.
        /// </summary>
        public override void ExecuteCmdlet()
        {
            base.ExecuteCmdlet();

            ExecuteClientAction(() =>
            {
                CheckNameAvailabilityResult checkNameAvailabilityResult = StorageSyncClientWrapper.StorageSyncManagementClient.StorageSyncServices.CheckNameAvailability(Location.Replace(" ", string.Empty), Name);

                if (!checkNameAvailabilityResult.NameAvailable.Value)
                {
                    throw new PSArgumentException(checkNameAvailabilityResult.Message, nameof(Name));
                }

                var createParameters = new StorageSyncServiceCreateParameters()
                {
                    Location = Location,
                    Tags     = TagsConversionHelper.CreateTagDictionary(Tag ?? new Hashtable(), validate: true),
                };

                Target = string.Join("/", ResourceGroupName, Name);
                if (ShouldProcess(Target, ActionMessage))
                {
                    StorageSyncModels.StorageSyncService storageSyncService = StorageSyncClientWrapper.StorageSyncManagementClient.StorageSyncServices.Create(ResourceGroupName, Name, createParameters);

                    WriteObject(storageSyncService);
                }
            });
        }
Esempio n. 2
0
 /// <summary>
 /// Create a new StorageSyncService.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group. The name is case insensitive.
 /// </param>
 /// <param name='storageSyncServiceName'>
 /// Name of Storage Sync Service resource.
 /// </param>
 /// <param name='parameters'>
 /// Storage Sync Service resource name.
 /// </param>
 public static StorageSyncService Create(this IStorageSyncServicesOperations operations, string resourceGroupName, string storageSyncServiceName, StorageSyncServiceCreateParameters parameters)
 {
     return(operations.CreateAsync(resourceGroupName, storageSyncServiceName, parameters).GetAwaiter().GetResult());
 }
Esempio n. 3
0
 /// <summary>
 /// Create a new StorageSyncService.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group. The name is case insensitive.
 /// </param>
 /// <param name='storageSyncServiceName'>
 /// Name of Storage Sync Service resource.
 /// </param>
 /// <param name='parameters'>
 /// Storage Sync Service resource name.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <StorageSyncService> CreateAsync(this IStorageSyncServicesOperations operations, string resourceGroupName, string storageSyncServiceName, StorageSyncServiceCreateParameters parameters, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.CreateWithHttpMessagesAsync(resourceGroupName, storageSyncServiceName, parameters, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }