internal string CreateAzureQueueStoredAccessPolicy(IStorageQueueManagement localChannel, string queueName, string policyName, DateTime?startTime, DateTime?expiryTime, string permission) { if (!NameUtil.IsValidStoredAccessPolicyName(policyName)) { throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, Resources.InvalidAccessPolicyName, policyName)); } //Get existing permissions CloudQueue queue = Channel.GetQueueReference(queueName); QueuePermissions queuePermissions = localChannel.GetPermissions(queue); //Add new policy if (queuePermissions.SharedAccessPolicies.Keys.Contains(policyName)) { throw new ResourceAlreadyExistException(String.Format(CultureInfo.CurrentCulture, Resources.PolicyAlreadyExists, policyName)); } SharedAccessQueuePolicy policy = new SharedAccessQueuePolicy(); AccessPolicyHelper.SetupAccessPolicy <SharedAccessQueuePolicy>(policy, startTime, expiryTime, permission); queuePermissions.SharedAccessPolicies.Add(policyName, policy); //Set permissions back to queue localChannel.SetPermissions(queue, queuePermissions); return(policyName); }
internal async Task <SharedAccessQueuePolicies> GetPoliciesAsync(IStorageQueueManagement localChannel, string queueName, string policyName) { CloudQueue queue = localChannel.GetQueueReference(queueName); QueuePermissions queuePermissions = await localChannel.GetPermissionsAsync(queue).ConfigureAwait(false); return(queuePermissions.SharedAccessPolicies); }
internal string CreateAzureQueueStoredAccessPolicy(IStorageQueueManagement localChannel, string queueName, string policyName, DateTime? startTime, DateTime? expiryTime, string permission) { if (!NameUtil.IsValidStoredAccessPolicyName(policyName)) { throw new ArgumentException(String.Format(CultureInfo.CurrentCulture, Resources.InvalidAccessPolicyName, policyName)); } //Get existing permissions CloudQueue queue = Channel.GetQueueReference(queueName); QueuePermissions queuePermissions = localChannel.GetPermissions(queue); //Add new policy if (queuePermissions.SharedAccessPolicies.Keys.Contains(policyName)) { throw new ResourceAlreadyExistException(String.Format(CultureInfo.CurrentCulture, Resources.PolicyAlreadyExists, policyName)); } SharedAccessQueuePolicy policy = new SharedAccessQueuePolicy(); AccessPolicyHelper.SetupAccessPolicy<SharedAccessQueuePolicy>(policy, startTime, expiryTime, permission); queuePermissions.SharedAccessPolicies.Add(policyName, policy); //Set permissions back to queue localChannel.SetPermissions(queue, queuePermissions); return policyName; }
/// <summary> /// Validate the queue access policy /// </summary> /// <param name="policy">SharedAccessBlobPolicy object</param> /// <param name="policyIdentifier">The policy identifier which need to be checked.</param> public static bool ValidateQueueAccessPolicy(IStorageQueueManagement channel, string queueName, SharedAccessQueuePolicy policy, string policyIdentifier) { if (string.IsNullOrEmpty(policyIdentifier)) { return(true); } CloudQueue queue = channel.GetQueueReference(queueName); QueueRequestOptions options = null; OperationContext context = null; QueuePermissions permission = channel.GetPermissions(queue, options, context); SharedAccessQueuePolicy sharedAccessPolicy = GetExistingPolicy <SharedAccessQueuePolicy>(permission.SharedAccessPolicies, policyIdentifier); if (policy.Permissions != SharedAccessQueuePermissions.None) { throw new ArgumentException(Resources.SignedPermissionsMustBeOmitted); } if (policy.SharedAccessExpiryTime.HasValue && sharedAccessPolicy.SharedAccessExpiryTime.HasValue) { throw new ArgumentException(Resources.SignedExpiryTimeMustBeOmitted); } return(!sharedAccessPolicy.SharedAccessExpiryTime.HasValue); }
internal string SetAzureQueueStoredAccessPolicy(IStorageQueueManagement localChannel, string queueName, string policyName, DateTime? startTime, DateTime? expiryTime, string permission, bool noStartTime, bool noExpiryTime) { //Get existing permissions CloudQueue queue = Channel.GetQueueReference(queueName); QueuePermissions queuePermissions = localChannel.GetPermissions(queue); //Set the policy with new value if (!queuePermissions.SharedAccessPolicies.Keys.Contains(policyName)) { throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, Resources.PolicyNotFound, policyName)); } SharedAccessQueuePolicy policy = queuePermissions.SharedAccessPolicies[policyName]; AccessPolicyHelper.SetupAccessPolicy<SharedAccessQueuePolicy>(policy, startTime, expiryTime, permission, noStartTime, noExpiryTime); queuePermissions.SharedAccessPolicies[policyName] = policy; //Set permission back to queue WriteObject(AccessPolicyHelper.ConstructPolicyOutputPSObject<SharedAccessQueuePolicy>(queuePermissions.SharedAccessPolicies, policyName)); localChannel.SetPermissions(queue, queuePermissions); return policyName; }
internal string SetAzureQueueStoredAccessPolicy(IStorageQueueManagement localChannel, string queueName, string policyName, DateTime?startTime, DateTime?expiryTime, string permission, bool noStartTime, bool noExpiryTime) { //Get existing permissions CloudQueue queue = Channel.GetQueueReference(queueName); QueuePermissions queuePermissions = localChannel.GetPermissions(queue); //Set the policy with new value if (!queuePermissions.SharedAccessPolicies.Keys.Contains(policyName)) { throw new ArgumentException(string.Format(CultureInfo.CurrentCulture, Resources.PolicyNotFound, policyName)); } SharedAccessQueuePolicy policy = queuePermissions.SharedAccessPolicies[policyName]; AccessPolicyHelper.SetupAccessPolicy <SharedAccessQueuePolicy>(policy, startTime, expiryTime, permission, noStartTime, noExpiryTime); queuePermissions.SharedAccessPolicies[policyName] = policy; //Set permission back to queue WriteObject(AccessPolicyHelper.ConstructPolicyOutputPSObject <SharedAccessQueuePolicy>(queuePermissions.SharedAccessPolicies, policyName)); localChannel.SetPermissions(queue, queuePermissions); return(policyName); }
internal async Task GetAzureQueueStoredAccessPolicyAsync(long taskId, IStorageQueueManagement localChannel, string queueName, string policyName) { SharedAccessQueuePolicies shareAccessPolicies = await GetPoliciesAsync(localChannel, queueName, policyName); if (!String.IsNullOrEmpty(policyName)) { if (shareAccessPolicies.Keys.Contains(policyName)) { OutputStream.WriteObject(taskId, AccessPolicyHelper.ConstructPolicyOutputPSObject<SharedAccessQueuePolicy>(shareAccessPolicies, policyName)); } else { throw new ResourceNotFoundException(String.Format(CultureInfo.CurrentCulture, Resources.PolicyNotFound, policyName)); } } else { foreach (string key in shareAccessPolicies.Keys) { OutputStream.WriteObject(taskId, AccessPolicyHelper.ConstructPolicyOutputPSObject<SharedAccessQueuePolicy>(shareAccessPolicies, key)); } } }
internal async Task GetAzureQueueStoredAccessPolicyAsync(long taskId, IStorageQueueManagement localChannel, string queueName, string policyName) { SharedAccessQueuePolicies shareAccessPolicies = await GetPoliciesAsync(localChannel, queueName, policyName).ConfigureAwait(false); if (!String.IsNullOrEmpty(policyName)) { if (shareAccessPolicies.Keys.Contains(policyName)) { OutputStream.WriteObject(taskId, AccessPolicyHelper.ConstructPolicyOutputPSObject <SharedAccessQueuePolicy>(shareAccessPolicies, policyName)); } else { throw new ResourceNotFoundException(String.Format(CultureInfo.CurrentCulture, Resources.PolicyNotFound, policyName)); } } else { foreach (string key in shareAccessPolicies.Keys) { OutputStream.WriteObject(taskId, AccessPolicyHelper.ConstructPolicyOutputPSObject <SharedAccessQueuePolicy>(shareAccessPolicies, key)); } } }
internal bool RemoveAzureQueueStoredAccessPolicy(IStorageQueueManagement localChannel, string queueName, string policyName) { bool success = false; string result = string.Empty; //Get existing permissions CloudQueue queue = Channel.GetQueueReference(queueName); QueuePermissions queuePermissions = localChannel.GetPermissions(queue); //remove the specified policy if (!queuePermissions.SharedAccessPolicies.Keys.Contains(policyName)) { throw new ResourceNotFoundException(String.Format(CultureInfo.CurrentCulture, Resources.PolicyNotFound, policyName)); } if (ShouldProcess(policyName, "Remove policy")) { queuePermissions.SharedAccessPolicies.Remove(policyName); localChannel.SetPermissions(queue, queuePermissions); success = true; } return(success); }
internal bool RemoveAzureQueueStoredAccessPolicy(IStorageQueueManagement localChannel, string queueName, string policyName) { bool success = false; string result = string.Empty; //Get existing permissions CloudQueue queue = Channel.GetQueueReference(queueName); QueuePermissions queuePermissions = localChannel.GetPermissions(queue); //remove the specified policy if (!queuePermissions.SharedAccessPolicies.Keys.Contains(policyName)) { throw new ResourceNotFoundException(String.Format(CultureInfo.CurrentCulture, Resources.PolicyNotFound, policyName)); } if (ShouldProcess(policyName, "Remove policy")) { queuePermissions.SharedAccessPolicies.Remove(policyName); localChannel.SetPermissions(queue, queuePermissions); success = true; } return success; }
/// <summary> /// Initializes a new instance of the RemoveAzureStorageQueueCommand class. /// </summary> /// <param name="channel">IStorageQueueManagement channel</param> public RemoveAzureStorageQueueCommand(IStorageQueueManagement channel) { Channel = channel; }
/// <summary> /// Initializes a new instance of the SetAzureStorageQueueStoredAccessPolicyCommand class. /// </summary> /// <param name="channel">IStorageBlobManagement channel</param> public SetAzureStorageQueueStoredAccessPolicyCommand(IStorageQueueManagement channel) { Channel = channel; EnableMultiThread = false; }
/// <summary> /// Initializes a new instance of the GetAzureStorageQueueStoredAccessPolicyCommand class. /// </summary> /// <param name="channel">IStorageBlobManagement channel</param> public GetAzureStorageQueueStoredAccessPolicyCommand(IStorageQueueManagement channel) { Channel = channel; }
/// <summary> /// Initializes a new instance of the NewAzureStorageQueueCommand class. /// </summary> /// <param name="channel">IStorageQueueManagement channel</param> public NewAzureStorageQueueCommand(IStorageQueueManagement channel) { Channel = channel; EnableMultiThread = false; }
/// <summary> /// Initializes a new instance of the NewAzureStorageQueueSasCommand class. /// </summary> /// <param name="channel">IStorageBlobManagement channel</param> public NewAzureStorageQueueSasTokenCommand(IStorageQueueManagement channel) { Channel = channel; EnableMultiThread = false; }
/// <summary> /// Initializes a new instance of the RemoveAzureStorageQueueCommand class. /// </summary> /// <param name="channel">IStorageQueueManagement channel</param> public RemoveAzureStorageQueueCommand(IStorageQueueManagement channel) { Channel = channel; EnableMultiThread = false; }
/// <summary> /// Initializes a new instance of the NewAzureStorageQueueCommand class. /// </summary> /// <param name="channel">IStorageQueueManagement channel</param> public NewAzureStorageQueueCommand(IStorageQueueManagement channel) { Channel = channel; }
internal async Task<SharedAccessQueuePolicies> GetPoliciesAsync(IStorageQueueManagement localChannel, string queueName, string policyName) { CloudQueue queue = localChannel.GetQueueReference(queueName); QueuePermissions queuePermissions = await localChannel.GetPermissionsAsync(queue); return queuePermissions.SharedAccessPolicies; }
public FakeRemoveAzureQueueCommand(IStorageQueueManagement channel) { Channel = channel; }
/// <summary> /// Initializes a new instance of the NewAzureStorageQueueSasCommand class. /// </summary> /// <param name="channel">IStorageBlobManagement channel</param> public NewAzureStorageQueueSasTokenCommand(IStorageQueueManagement channel) { Channel = channel; }