/// <summary> /// Triggers detection of changes performed on Azure File share connected to /// the specified Azure File Sync Cloud Endpoint. /// </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='syncGroupName'> /// Name of Sync Group resource. /// </param> /// <param name='cloudEndpointName'> /// Name of Cloud Endpoint object. /// </param> /// <param name='parameters'> /// Trigger Change Detection Action parameters. /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async Task <CloudEndpointsTriggerChangeDetectionHeaders> BeginTriggerChangeDetectionAsync(this ICloudEndpointsOperations operations, string resourceGroupName, string storageSyncServiceName, string syncGroupName, string cloudEndpointName, TriggerChangeDetectionParameters parameters, CancellationToken cancellationToken = default(CancellationToken)) { using (var _result = await operations.BeginTriggerChangeDetectionWithHttpMessagesAsync(resourceGroupName, storageSyncServiceName, syncGroupName, cloudEndpointName, parameters, null, cancellationToken).ConfigureAwait(false)) { return(_result.Headers); } }
/// <summary> /// Executes the cmdlet. /// </summary> public override void ExecuteCmdlet() { base.ExecuteCmdlet(); ExecuteClientAction(() => { var resourceName = default(string); var resourceGroupName = default(string); var storageSyncServiceName = default(string); var parentResourceName = default(string); if (this.IsParameterBound(c => c.ResourceId)) { var resourceIdentifier = new ResourceIdentifier(ResourceId); resourceName = resourceIdentifier.ResourceName; resourceGroupName = resourceIdentifier.ResourceGroupName; parentResourceName = resourceIdentifier.GetParentResourceName(StorageSyncConstants.SyncGroupTypeName, 0); storageSyncServiceName = resourceIdentifier.GetParentResourceName(StorageSyncConstants.StorageSyncServiceTypeName, 1); } else if (this.IsParameterBound(c => c.InputObject)) { resourceName = InputObject.CloudEndpointName; resourceGroupName = InputObject.ResourceGroupName; parentResourceName = InputObject.SyncGroupName; storageSyncServiceName = InputObject.StorageSyncServiceName; } else { resourceName = Name; resourceGroupName = ResourceGroupName; parentResourceName = SyncGroupName; storageSyncServiceName = StorageSyncServiceName; } var triggerChangeDetectionParameters = new TriggerChangeDetectionParameters(); if (this.IsParameterBound(c => c.DirectoryPath)) { if (this.DirectoryPath == null) { throw new PSArgumentException(nameof(this.DirectoryPath)); } triggerChangeDetectionParameters.DirectoryPath = this.DirectoryPath; triggerChangeDetectionParameters.ChangeDetectionMode = this.Recursive.IsPresent ? ChangeDetectionMode.Recursive : ChangeDetectionMode.Default; } else if (this.IsParameterBound(c => c.Path)) { if (this.Path == null || this.Path.Length == 0) { throw new PSArgumentException(nameof(this.Path)); } triggerChangeDetectionParameters.Paths = this.Path.ToList(); } string target = string.Join("/", resourceGroupName, storageSyncServiceName, parentResourceName, resourceName); if (ShouldProcess(target, ActionMessage)) { StorageSyncClientWrapper.StorageSyncManagementClient.CloudEndpoints.TriggerChangeDetection( resourceGroupName: resourceGroupName, storageSyncServiceName: storageSyncServiceName, syncGroupName: parentResourceName, cloudEndpointName: resourceName, parameters: triggerChangeDetectionParameters); } }); if (PassThru.IsPresent) { WriteObject(true); } }
/// <summary> /// Triggers detection of changes performed on Azure File share connected to /// the specified Azure File Sync Cloud Endpoint. /// </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='syncGroupName'> /// Name of Sync Group resource. /// </param> /// <param name='cloudEndpointName'> /// Name of Cloud Endpoint object. /// </param> /// <param name='parameters'> /// Trigger Change Detection Action parameters. /// </param> public static CloudEndpointsTriggerChangeDetectionHeaders BeginTriggerChangeDetection(this ICloudEndpointsOperations operations, string resourceGroupName, string storageSyncServiceName, string syncGroupName, string cloudEndpointName, TriggerChangeDetectionParameters parameters) { return(operations.BeginTriggerChangeDetectionAsync(resourceGroupName, storageSyncServiceName, syncGroupName, cloudEndpointName, parameters).GetAwaiter().GetResult()); }