internal static ManagedServerSecurityAlertPolicyListResult DeserializeManagedServerSecurityAlertPolicyListResult(JsonElement element)
        {
            Optional <IReadOnlyList <ManagedServerSecurityAlertPolicyData> > 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 <ManagedServerSecurityAlertPolicyData> array = new List <ManagedServerSecurityAlertPolicyData>();
                    foreach (var item in property.Value.EnumerateArray())
                    {
                        array.Add(ManagedServerSecurityAlertPolicyData.DeserializeManagedServerSecurityAlertPolicyData(item));
                    }
                    value = array;
                    continue;
                }
                if (property.NameEquals("nextLink"))
                {
                    nextLink = property.Value.GetString();
                    continue;
                }
            }
            return(new ManagedServerSecurityAlertPolicyListResult(Optional.ToList(value), nextLink.Value));
        }
        ManagedServerSecurityAlertPolicy IOperationSource <ManagedServerSecurityAlertPolicy> .CreateResult(Response response, CancellationToken cancellationToken)
        {
            using var document = JsonDocument.Parse(response.ContentStream);
            var data = ManagedServerSecurityAlertPolicyData.DeserializeManagedServerSecurityAlertPolicyData(document.RootElement);

            return(new ManagedServerSecurityAlertPolicy(_armClient, data));
        }
Example #3
0
        public async Task ManagedServerSecurityAlertPolicyApiTests()
        {
            // Create Managed Instance
            string managedInstanceName      = Recording.GenerateAssetName("managed-instance-");
            string networkSecurityGroupName = Recording.GenerateAssetName("network-security-group-");
            string routeTableName           = Recording.GenerateAssetName("route-table-");
            string vnetName        = Recording.GenerateAssetName("vnet-");
            var    managedInstance = await CreateDefaultManagedInstance(managedInstanceName, networkSecurityGroupName, routeTableName, vnetName, AzureLocation.WestUS2, _resourceGroup);

            Assert.IsNotNull(managedInstance.Data);

            string securityAlertPoliciesName = "Default";
            var    collection = managedInstance.GetManagedServerSecurityAlertPolicies();

            // 1.CreateOrUpdate
            ManagedServerSecurityAlertPolicyData data = new ManagedServerSecurityAlertPolicyData()
            {
                State              = SecurityAlertsPolicyState.Enabled,
                DisabledAlerts     = { },
                EmailAddresses     = { },
                EmailAccountAdmins = false,
                RetentionDays      = 0,
            };
            var securityAlertPolicie = await collection.CreateOrUpdateAsync(WaitUntil.Completed, securityAlertPoliciesName, data);

            Assert.IsNotNull(securityAlertPolicie.Value.Data);
            Assert.AreEqual(securityAlertPoliciesName, securityAlertPolicie.Value.Data.Name);
            Assert.AreEqual("Enabled", securityAlertPolicie.Value.Data.State.ToString());

            // 2.CheckIfExist
            Assert.IsTrue(await collection.ExistsAsync(securityAlertPoliciesName));

            // 3.Get
            var getsecurityAlertPolicie = await collection.GetAsync(securityAlertPoliciesName);

            Assert.IsNotNull(getsecurityAlertPolicie.Value.Data);
            Assert.AreEqual(securityAlertPoliciesName, getsecurityAlertPolicie.Value.Data.Name);

            // 4.GetAll
            var list = await collection.GetAllAsync().ToEnumerableAsync();

            Assert.IsNotEmpty(list);
            Assert.AreEqual(1, list.Count);
            Assert.AreEqual(securityAlertPoliciesName, list.FirstOrDefault().Data.Name);
        }