public override void ExecuteCmdlet() { if (this.ShouldProcess(this.DomainName, $"Regenerate key {this.Name} for domain {this.DomainName} in Resource Group {this.ResourceGroupName}")) { string resourceGroupName; string domainName; if (!string.IsNullOrEmpty(this.DomainResourceId)) { EventGridUtils.GetResourceGroupNameAndDomainName(this.DomainResourceId, out resourceGroupName, out domainName); } else if (this.DomainInputObject != null) { resourceGroupName = this.DomainInputObject.ResourceGroupName; domainName = this.DomainInputObject.DomainName; } else { resourceGroupName = this.ResourceGroupName; domainName = this.DomainName; } DomainSharedAccessKeys domainSharedAccessKeys = this.Client.RegenerateDomainKey(resourceGroupName, domainName, this.Name); PsDomainSharedAccessKeys psDomainSharedAccessKeys = new PsDomainSharedAccessKeys(domainSharedAccessKeys); this.WriteObject(psDomainSharedAccessKeys); } }
public override void ExecuteCmdlet() { string resourceGroupName; string domainName; if (!string.IsNullOrEmpty(this.DomainResourceId)) { EventGridUtils.GetResourceGroupNameAndDomainName(this.DomainResourceId, out resourceGroupName, out domainName); } else if (this.DomainObject != null) { resourceGroupName = this.DomainObject.ResourceGroupName; domainName = this.DomainObject.DomainName; } else { resourceGroupName = this.ResourceGroupName; domainName = this.Name; } DomainSharedAccessKeys domainSharedAccessKeys = this.Client.GetDomainSharedAccessKeys(resourceGroupName, domainName); PsDomainSharedAccessKeys psDomainSharedAccessKeys = new PsDomainSharedAccessKeys(domainSharedAccessKeys); this.WriteObject(psDomainSharedAccessKeys); }
public void PublishEventsToDomain() { using (MockContext context = MockContext.Start(this.GetType().FullName)) { this.InitializeClients(context); var location = this.ResourceManagementClient.GetLocationFromProvider(); var resourceGroup = this.ResourceManagementClient.TryGetResourceGroup(location); if (string.IsNullOrWhiteSpace(resourceGroup)) { resourceGroup = TestUtilities.GenerateName(EventGridManagementHelper.ResourceGroupPrefix); this.ResourceManagementClient.TryRegisterResourceGroup(location, resourceGroup); } var domainName = TestUtilities.GenerateName(EventGridManagementHelper.DomainPrefix); var originalTagsDictionary = new Dictionary <string, string>() { { "originalTag1", "originalValue1" }, { "originalTag2", "originalValue2" } }; Domain domain = new Domain() { Location = location, Tags = originalTagsDictionary }; var createDomainResponse = this.EventGridManagementClient.Domains.CreateOrUpdate(resourceGroup, domainName, domain); Assert.NotNull(createDomainResponse); Assert.Equal(createDomainResponse.Name, domainName); TestUtilities.Wait(TimeSpan.FromSeconds(60)); // Get the domain key DomainSharedAccessKeys keys = this.EventGridManagementClient.Domains.ListSharedAccessKeys(resourceGroup, domainName); // Publish events to domain string domainHostname = new Uri(createDomainResponse.Endpoint).Host; ResourceCredentials credentials = new ResourceCredentials(keys.Key1); EventGridClient client = EventGridManagementHelper.GetEventGridClient( context, credentials, new RecordedDelegatingHandler { StatusCodeToReturn = HttpStatusCode.OK }); Console.WriteLine("Publishing to Azure Event Grid Domain"); client.PublishEventsAsync(domainHostname, GetEventsList()).GetAwaiter().GetResult(); Console.WriteLine("Published successfully!"); // Delete Domain this.EventGridManagementClient.Domains.Delete(resourceGroup, domainName); } }
static async Task PerformDomainAndEventSubscriptionOperations() { string token = await GetAuthorizationHeaderAsync(); TokenCredentials credential = new TokenCredentials(token); ResourceManagementClient resourcesClient = new ResourceManagementClient(credential) { SubscriptionId = SubscriptionId }; EventGridManagementClient eventGridManagementClient = new EventGridManagementClient(credential) { SubscriptionId = SubscriptionId, LongRunningOperationRetryTimeout = 2 }; try { // Register the EventGrid Resource Provider with the Subscription await RegisterEventGridResourceProviderAsync(resourcesClient); // Create a new resource group await CreateResourceGroupAsync(ResourceGroupName, resourcesClient); // Create a new Event Grid domain in a resource group await CreateEventGridDomainAsync(ResourceGroupName, DomainName, eventGridManagementClient); // Get the keys for the domain DomainSharedAccessKeys domainKeys = await eventGridManagementClient.Domains.ListSharedAccessKeysAsync(ResourceGroupName, DomainName); Console.WriteLine($"The key1 value of domain {DomainName} is: {domainKeys.Key1}"); // Create an event subscription at the scope of a topic under the domain await CreateEventGridEventSubscriptionAsync(ResourceGroupName, DomainName, "domaintopic1", EventSubscriptionName, eventGridManagementClient, StorageAccountId, StorageQueueName); // Delete the event subscription created above await DeleteEventGridEventSubscriptionAsync(ResourceGroupName, DomainName, "domaintopic1", EventSubscriptionName, eventGridManagementClient); // Create an event subscription at the scope of the domain await CreateEventGridEventSubscriptionAsync(ResourceGroupName, DomainName, null, EventSubscriptionName, eventGridManagementClient, StorageAccountId, StorageQueueName); // Delete the event subscription created above await DeleteEventGridEventSubscriptionAsync(ResourceGroupName, DomainName, null, EventSubscriptionName, eventGridManagementClient); // Delete the EventGrid domain with the given domain name and a resource group await DeleteEventGridDomainAsync(ResourceGroupName, DomainName, eventGridManagementClient); Console.WriteLine("Press any key to exit..."); Console.ReadLine(); } catch (Exception e) { Console.WriteLine(e.Message); Console.ReadLine(); } }
public async Task <DomainSharedAccessKeys> GetDomainKeys(string credentialsAzureSubscriptionId, string credentialsTenantId, string credentialsClientId, string credentialsClientSecret, string domainName, string resourceGroupName) { try { //Management SDKs (Microsoft.Azure.Management.EventGrid) EventGridManagementClient managementClient = new EventGridManagementClient(credentials: new CustomLoginCredentials(credentialsTenantId, credentialsClientId, credentialsClientSecret)); managementClient.SubscriptionId = credentialsAzureSubscriptionId; DomainSharedAccessKeys domainKeys = await managementClient.Domains.ListSharedAccessKeysAsync(resourceGroupName : resourceGroupName, domainName : domainName); return(domainKeys); } catch (Exception ex) { _logger?.LogError($"Unknown Exception. Type: {ex.GetType().ToString()} ; Message: {ex.Message} ; Details: {ex.ToString()}"); return(null); } }
public override void ExecuteCmdlet() { if (!string.IsNullOrEmpty(this.DomainResourceId)) { var resourceIdentifier = new ResourceIdentifier(this.DomainResourceId); this.ResourceGroupName = resourceIdentifier.ResourceGroupName; this.Name = resourceIdentifier.ResourceName; } else if (this.DomainObject != null) { this.ResourceGroupName = this.DomainObject.ResourceGroupName; this.Name = this.DomainObject.DomainName; } DomainSharedAccessKeys domainSharedAccessKeys = this.Client.GetDomainSharedAccessKeys(this.ResourceGroupName, this.Name); PsDomainSharedAccessKeys psDomainSharedAccessKeys = new PsDomainSharedAccessKeys(domainSharedAccessKeys); this.WriteObject(psDomainSharedAccessKeys); }
public override void ExecuteCmdlet() { if (!string.IsNullOrEmpty(this.DomainResourceId)) { var resourceIdentifier = new ResourceIdentifier(this.DomainResourceId); this.ResourceGroupName = resourceIdentifier.ResourceGroupName; this.DomainName = resourceIdentifier.ResourceName; } else if (this.DomainInputObject != null) { this.ResourceGroupName = this.DomainInputObject.ResourceGroupName; this.DomainName = this.DomainInputObject.DomainName; } if (this.ShouldProcess(this.DomainName, $"Regenerate key {this.Name} for domain {this.DomainName} in Resource Group {this.ResourceGroupName}")) { DomainSharedAccessKeys domainSharedAccessKeys = this.Client.RegenerateDomainKey(this.ResourceGroupName, this.DomainName, this.Name); PsDomainSharedAccessKeys psDomainSharedAccessKeys = new PsDomainSharedAccessKeys(domainSharedAccessKeys); this.WriteObject(psDomainSharedAccessKeys); } }
public PsDomainSharedAccessKeys(DomainSharedAccessKeys domainSharedAccessKeys) { this.Key1 = domainSharedAccessKeys.Key1; this.Key2 = domainSharedAccessKeys.Key2; }