Beispiel #1
0
    protected virtual async Task <string> GetLatestApiVersionAsync(bool includePreviewVersions = false)
    {
        var apiVersions = await AzureResourceService
                          .GetApiVersionsAsync(this.ResourceId, includePreviewVersions)
                          .ConfigureAwait(false);

        return(apiVersions.FirstOrDefault());
    }
Beispiel #2
0
        private async Task AssertResourceGroupAsync(ProviderProjectUpdateCommand command)
        {
            var resourceGroup = await AzureResourceService
                                .GetResourceGroupAsync(ResourceGroupSubscriptionId.Value, ResourceGroupName, true)
                                .ConfigureAwait(false);

            var resources = await resourceGroup.GetResourcesAsync()
                            .ToListAsync()
                            .ConfigureAwait(false);

            var resource = resources
                           .SingleOrDefault(resource => resource.ResourceId.ResourceTypeFullName.Equals("microsoft.insights/components", StringComparison.OrdinalIgnoreCase));

            Assert.NotNull(resource);

            foreach (var user in command.Payload.Users)
            {
                switch (user.ProjectMembership(command.Payload.Id.ToString()).Role)
                {
                case ProjectUserRole.Owner:

                    await resource
                    .ShouldHaveRoleAssignmentAsync(user, AzureRoleDefinition.Contributor)
                    .ConfigureAwait(false);

                    break;

                case ProjectUserRole.Member:

                    await resource
                    .ShouldHaveRoleAssignmentAsync(user, AzureRoleDefinition.Reader)
                    .ConfigureAwait(false);

                    break;

                case ProjectUserRole.None:

                    await resource
                    .ShouldHaveNoRoleAssignmentAsync(user)
                    .ConfigureAwait(false);

                    break;
                }
                ;
            }
        }
Beispiel #3
0
    public virtual async Task <bool> ExistsAsync()
    {
        var apiVersions = await AzureResourceService
                          .GetApiVersionsAsync(ResourceId, true)
                          .ConfigureAwait(false);

        var token = await AzureResourceService.AzureSessionService
                    .AcquireTokenAsync()
                    .ConfigureAwait(false);

        var response = await ResourceId.GetApiUrl(AzureResourceService.AzureSessionService.Environment)
                       .SetQueryParam("api-version", apiVersions.First())
                       .WithOAuthBearerToken(token)
                       .AllowAnyHttpStatus()
                       .GetAsync(completionOption: HttpCompletionOption.ResponseHeadersRead)
                       .ConfigureAwait(false);

        return(response.IsSuccessStatusCode());
    }