internal static ServerTrustGroupListResult DeserializeServerTrustGroupListResult(JsonElement element) { Optional <IReadOnlyList <ServerTrustGroupData> > value = default; Optional <string> nextLink = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("value")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <ServerTrustGroupData> array = new List <ServerTrustGroupData>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(ServerTrustGroupData.DeserializeServerTrustGroupData(item)); } value = array; continue; } if (property.NameEquals("nextLink")) { nextLink = property.Value.GetString(); continue; } } return(new ServerTrustGroupListResult(Optional.ToList(value), nextLink.Value)); }
private async Task <ServerTrustGroup> CreateServerTrustGroup(string locationName, string serverTrustGroupName) { // create two ManagedInstanceName string managedInstanceName1 = Recording.GenerateAssetName("managed-instance-"); string managedInstanceName2 = Recording.GenerateAssetName("managed-instance-backup-"); string networkSecurityGroupName1 = Recording.GenerateAssetName("network-security-group-"); string networkSecurityGroupName2 = Recording.GenerateAssetName("network-security-group-"); string routeTableName1 = Recording.GenerateAssetName("route-table-"); string routeTableName2 = Recording.GenerateAssetName("route-table-"); string vnetName1 = Recording.GenerateAssetName("vnet-"); string vnetName2 = Recording.GenerateAssetName("vnet-"); Task[] tasks = new Task[] { CreateDefaultManagedInstance(managedInstanceName1, networkSecurityGroupName1, routeTableName1, vnetName1, Location.WestUS2, _resourceGroup), CreateDefaultManagedInstance(managedInstanceName2, networkSecurityGroupName2, routeTableName2, vnetName2, Location.WestUS2, _resourceGroup), }; Task.WaitAll(tasks); string primaryManagedInstanceId = (await _resourceGroup.GetManagedInstances().GetAsync(managedInstanceName1)).Value.Data.Id.ToString(); string backupManagedInstanceId = (await _resourceGroup.GetManagedInstances().GetAsync(managedInstanceName2)).Value.Data.Id.ToString(); // create ServerTrustGroup ServerTrustGroupData data = new ServerTrustGroupData() { GroupMembers = { new ServerInfo(primaryManagedInstanceId), new ServerInfo(backupManagedInstanceId), }, TrustScopes = { ServerTrustGroupPropertiesTrustScopesItem.GlobalTransactions }, }; var serverTrustGroup = await _resourceGroup.GetServerTrustGroups().CreateOrUpdateAsync(locationName, serverTrustGroupName, data); return(serverTrustGroup.Value); }
ServerTrustGroup IOperationSource <ServerTrustGroup> .CreateResult(Response response, CancellationToken cancellationToken) { using var document = JsonDocument.Parse(response.ContentStream); var data = ServerTrustGroupData.DeserializeServerTrustGroupData(document.RootElement); return(new ServerTrustGroup(_armClient, data)); }