public override async Task <string> GetInputFormSchemaAsync() { var json = await TeamCloudForm.GetFormSchemaAsync <AzureResourceManagerData>() .ConfigureAwait(false); return(json.ToString(Newtonsoft.Json.Formatting.None)); }
public async Task GetFormJsonAsync() { var formJson = await TeamCloudForm .GetFormSchemaAsync <SimpleFormData>() .ConfigureAwait(false); Assert.NotNull(formJson); }
public override async Task <string> GetInputDataSchemaAsync() { var json = await TeamCloudForm.GetDataSchemaAsync <AzureResourceManagerData>(true) .ConfigureAwait(false); await Task.WhenAll ( EnhanceSubscriptionIdsAsync(), EnhanceManagementGroupIdAsync() ).ConfigureAwait(false); return(json.ToString(Newtonsoft.Json.Formatting.None)); async Task EnhanceSubscriptionIdsAsync() { var session = await azureResourceService.AzureSessionService .CreateSessionAsync() .ConfigureAwait(false); var subscriptions = await session.Subscriptions .ListAsync(loadAllPages : true) .ConfigureAwait(false); if (subscriptions.Any() && json.TrySelectToken("$..properties.subscriptionIds.items", out var subscriptionIdsToken)) { subscriptionIdsToken["enum"] = new JArray(subscriptions.OrderBy(s => s.DisplayName).Select(s => s.SubscriptionId)); subscriptionIdsToken["enumNames"] = new JArray(subscriptions.OrderBy(s => s.DisplayName).Select(s => s.DisplayName)); ((JToken)subscriptionIdsToken.Parent.Parent)["uniqueItems"] = new JValue(true); } } async Task EnhanceManagementGroupIdAsync() { var client = await azureResourceService.AzureSessionService .CreateClientAsync <ManagementGroupsAPIClient>() .ConfigureAwait(false); var managementGroupPage = await client.ManagementGroups .ListAsync() .ConfigureAwait(false); var managementGroups = await managementGroupPage .AsContinuousCollectionAsync(nextPageLink => client.ManagementGroups.ListNextAsync(nextPageLink)) .ToListAsync() .ConfigureAwait(false); if (managementGroups.Any() && json.TrySelectToken("$..properties.managementGroupId", out var managementGroupToken)) { managementGroupToken["enum"] = new JArray(managementGroups.OrderBy(mg => mg.DisplayName).Select(mg => mg.Id)); managementGroupToken["enumNames"] = new JArray(managementGroups.OrderBy(mg => mg.DisplayName).Select(mg => mg.DisplayName)); } } }
public override Task <string> GetInputFormSchemaAsync() => TeamCloudForm.GetFormSchemaAsync <GitHubData>() .ContinueWith(t => t.Result.ToString(), TaskContinuationOptions.OnlyOnRanToCompletion);