internal static ApplicationDefinitionData DeserializeApplicationDefinitionData(JsonElement element) { Optional <string> managedBy = default; Optional <SkuAutoGenerated> sku = default; IDictionary <string, string> tags = default; Location location = default; ResourceIdentifier id = default; string name = default; ResourceType type = default; ApplicationLockLevel lockLevel = default; Optional <string> displayName = default; Optional <bool> isEnabled = default; Optional <IList <ApplicationAuthorization> > authorizations = default; Optional <IList <ApplicationDefinitionArtifact> > artifacts = default; Optional <string> description = default; Optional <string> packageFileUri = default; Optional <object> mainTemplate = default; Optional <object> createUiDefinition = default; Optional <ApplicationNotificationPolicy> notificationPolicy = default; Optional <ApplicationPackageLockingPolicyDefinition> lockingPolicy = default; Optional <ApplicationDeploymentPolicy> deploymentPolicy = default; Optional <ApplicationManagementPolicy> managementPolicy = default; Optional <IList <ApplicationPolicy> > policies = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("managedBy")) { managedBy = property.Value.GetString(); continue; } if (property.NameEquals("sku")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } sku = SkuAutoGenerated.DeserializeSkuAutoGenerated(property.Value); continue; } if (property.NameEquals("tags")) { Dictionary <string, string> dictionary = new Dictionary <string, string>(); foreach (var property0 in property.Value.EnumerateObject()) { dictionary.Add(property0.Name, property0.Value.GetString()); } tags = dictionary; continue; } if (property.NameEquals("location")) { location = property.Value.GetString(); continue; } if (property.NameEquals("id")) { id = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("properties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } foreach (var property0 in property.Value.EnumerateObject()) { if (property0.NameEquals("lockLevel")) { lockLevel = property0.Value.GetString().ToApplicationLockLevel(); continue; } if (property0.NameEquals("displayName")) { displayName = property0.Value.GetString(); continue; } if (property0.NameEquals("isEnabled")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } isEnabled = property0.Value.GetBoolean(); continue; } if (property0.NameEquals("authorizations")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } List <ApplicationAuthorization> array = new List <ApplicationAuthorization>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(ApplicationAuthorization.DeserializeApplicationAuthorization(item)); } authorizations = array; continue; } if (property0.NameEquals("artifacts")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } List <ApplicationDefinitionArtifact> array = new List <ApplicationDefinitionArtifact>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(ApplicationDefinitionArtifact.DeserializeApplicationDefinitionArtifact(item)); } artifacts = array; continue; } if (property0.NameEquals("description")) { description = property0.Value.GetString(); continue; } if (property0.NameEquals("packageFileUri")) { packageFileUri = property0.Value.GetString(); continue; } if (property0.NameEquals("mainTemplate")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } mainTemplate = property0.Value.GetObject(); continue; } if (property0.NameEquals("createUiDefinition")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } createUiDefinition = property0.Value.GetObject(); continue; } if (property0.NameEquals("notificationPolicy")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } notificationPolicy = ApplicationNotificationPolicy.DeserializeApplicationNotificationPolicy(property0.Value); continue; } if (property0.NameEquals("lockingPolicy")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } lockingPolicy = ApplicationPackageLockingPolicyDefinition.DeserializeApplicationPackageLockingPolicyDefinition(property0.Value); continue; } if (property0.NameEquals("deploymentPolicy")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } deploymentPolicy = ApplicationDeploymentPolicy.DeserializeApplicationDeploymentPolicy(property0.Value); continue; } if (property0.NameEquals("managementPolicy")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } managementPolicy = ApplicationManagementPolicy.DeserializeApplicationManagementPolicy(property0.Value); continue; } if (property0.NameEquals("policies")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } List <ApplicationPolicy> array = new List <ApplicationPolicy>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(ApplicationPolicy.DeserializeApplicationPolicy(item)); } policies = array; continue; } } continue; } } return(new ApplicationDefinitionData(id, name, type, tags, location, managedBy.Value, sku.Value, lockLevel, displayName.Value, Optional.ToNullable(isEnabled), Optional.ToList(authorizations), Optional.ToList(artifacts), description.Value, packageFileUri.Value, mainTemplate.Value, createUiDefinition.Value, notificationPolicy.Value, lockingPolicy.Value, deploymentPolicy.Value, managementPolicy.Value, Optional.ToList(policies))); }
internal static ApplicationData DeserializeApplicationData(JsonElement element) { Optional <Plan> plan = default; string kind = default; Optional <IdentityAutoGenerated> identity = default; Optional <string> managedBy = default; Optional <SkuAutoGenerated> sku = default; IDictionary <string, string> tags = default; Location location = default; ResourceIdentifier id = default; string name = default; ResourceType type = default; Optional <string> managedResourceGroupId = default; Optional <string> applicationDefinitionId = default; Optional <object> parameters = default; Optional <object> outputs = default; Optional <ProvisioningState> provisioningState = default; Optional <ApplicationBillingDetailsDefinition> billingDetails = default; Optional <ApplicationJitAccessPolicy> jitAccessPolicy = default; Optional <string> publisherTenantId = default; Optional <IReadOnlyList <ApplicationAuthorization> > authorizations = default; Optional <ApplicationManagementMode> managementMode = default; Optional <ApplicationPackageContact> customerSupport = default; Optional <ApplicationPackageSupportUrls> supportUrls = default; Optional <IReadOnlyList <ApplicationArtifact> > artifacts = default; Optional <ApplicationClientDetails> createdBy = default; Optional <ApplicationClientDetails> updatedBy = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("plan")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } plan = JsonSerializer.Deserialize <Plan>(property.Value.ToString()); continue; } if (property.NameEquals("kind")) { kind = property.Value.GetString(); continue; } if (property.NameEquals("identity")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } identity = IdentityAutoGenerated.DeserializeIdentityAutoGenerated(property.Value); continue; } if (property.NameEquals("managedBy")) { managedBy = property.Value.GetString(); continue; } if (property.NameEquals("sku")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } sku = SkuAutoGenerated.DeserializeSkuAutoGenerated(property.Value); continue; } if (property.NameEquals("tags")) { Dictionary <string, string> dictionary = new Dictionary <string, string>(); foreach (var property0 in property.Value.EnumerateObject()) { dictionary.Add(property0.Name, property0.Value.GetString()); } tags = dictionary; continue; } if (property.NameEquals("location")) { location = property.Value.GetString(); continue; } if (property.NameEquals("id")) { id = property.Value.GetString(); continue; } if (property.NameEquals("name")) { name = property.Value.GetString(); continue; } if (property.NameEquals("type")) { type = property.Value.GetString(); continue; } if (property.NameEquals("properties")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } foreach (var property0 in property.Value.EnumerateObject()) { if (property0.NameEquals("managedResourceGroupId")) { managedResourceGroupId = property0.Value.GetString(); continue; } if (property0.NameEquals("applicationDefinitionId")) { applicationDefinitionId = property0.Value.GetString(); continue; } if (property0.NameEquals("parameters")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } parameters = property0.Value.GetObject(); continue; } if (property0.NameEquals("outputs")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } outputs = property0.Value.GetObject(); continue; } if (property0.NameEquals("provisioningState")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } provisioningState = new ProvisioningState(property0.Value.GetString()); continue; } if (property0.NameEquals("billingDetails")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } billingDetails = ApplicationBillingDetailsDefinition.DeserializeApplicationBillingDetailsDefinition(property0.Value); continue; } if (property0.NameEquals("jitAccessPolicy")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } jitAccessPolicy = ApplicationJitAccessPolicy.DeserializeApplicationJitAccessPolicy(property0.Value); continue; } if (property0.NameEquals("publisherTenantId")) { publisherTenantId = property0.Value.GetString(); continue; } if (property0.NameEquals("authorizations")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } List <ApplicationAuthorization> array = new List <ApplicationAuthorization>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(ApplicationAuthorization.DeserializeApplicationAuthorization(item)); } authorizations = array; continue; } if (property0.NameEquals("managementMode")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } managementMode = new ApplicationManagementMode(property0.Value.GetString()); continue; } if (property0.NameEquals("customerSupport")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } customerSupport = ApplicationPackageContact.DeserializeApplicationPackageContact(property0.Value); continue; } if (property0.NameEquals("supportUrls")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } supportUrls = ApplicationPackageSupportUrls.DeserializeApplicationPackageSupportUrls(property0.Value); continue; } if (property0.NameEquals("artifacts")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } List <ApplicationArtifact> array = new List <ApplicationArtifact>(); foreach (var item in property0.Value.EnumerateArray()) { array.Add(ApplicationArtifact.DeserializeApplicationArtifact(item)); } artifacts = array; continue; } if (property0.NameEquals("createdBy")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } createdBy = ApplicationClientDetails.DeserializeApplicationClientDetails(property0.Value); continue; } if (property0.NameEquals("updatedBy")) { if (property0.Value.ValueKind == JsonValueKind.Null) { property0.ThrowNonNullablePropertyIsNull(); continue; } updatedBy = ApplicationClientDetails.DeserializeApplicationClientDetails(property0.Value); continue; } } continue; } } return(new ApplicationData(id, name, type, tags, location, managedBy.Value, sku.Value, plan, kind, identity.Value, managedResourceGroupId.Value, applicationDefinitionId.Value, parameters.Value, outputs.Value, Optional.ToNullable(provisioningState), billingDetails.Value, jitAccessPolicy.Value, publisherTenantId.Value, Optional.ToList(authorizations), Optional.ToNullable(managementMode), customerSupport.Value, supportUrls.Value, Optional.ToList(artifacts), createdBy.Value, updatedBy.Value)); }