/// <summary> /// Constructs the resource /// </summary> private JToken GetResource() { var policyassignmentObject = new PolicyAssignment { Name = this.Name, Sku = Sku?.ToDictionary(addValueLayer: false).ToJson().FromJson <PolicySku>(), // only store Sku if it was provided by user Identity = this.AssignIdentity.IsPresent ? new ResourceIdentity { Type = ResourceIdentityType.SystemAssigned } : null, Location = this.Location, Properties = new PolicyAssignmentProperties { DisplayName = this.DisplayName ?? null, Description = this.Description ?? null, Scope = this.Scope, NotScopes = this.NotScope ?? null, Metadata = this.Metadata == null ? null : JObject.Parse(this.GetObjectFromParameter(this.Metadata).ToString()), Parameters = this.GetParameters() } }; if (this.PolicyDefinition != null) { policyassignmentObject.Properties.PolicyDefinitionId = this.PolicyDefinition.Properties["policyDefinitionId"].Value.ToString(); } else if (this.PolicySetDefinition != null) { policyassignmentObject.Properties.PolicyDefinitionId = this.PolicySetDefinition.Properties["policySetDefinitionId"].Value.ToString(); } return(policyassignmentObject.ToJToken()); }
/// <summary> /// Constructs the resource /// </summary> private JToken GetResource(string resourceId, string apiVersion) { var resource = this.GetExistingResource(resourceId, apiVersion).Result.ToResource(); var metaDataJson = string.IsNullOrEmpty(this.Metadata) ? resource.Properties["metadata"]?.ToString() : GetObjectFromParameter(this.Metadata).ToString(); var policyAssignmentObject = new PolicyAssignment { Name = this.Name ?? resource.Name, Sku = Sku?.ToDictionary(addValueLayer: false).ToJson().FromJson <PolicySku>(), // only store Sku if it was provided by user Identity = this.AssignIdentity.IsPresent ? new ResourceIdentity { Type = ResourceIdentityType.SystemAssigned } : null, Location = this.Location ?? resource.Location, Properties = new PolicyAssignmentProperties { DisplayName = this.DisplayName ?? resource.Properties["displayName"]?.ToString(), Description = this.Description ?? resource.Properties["description"]?.ToString(), Scope = resource.Properties["scope"].ToString(), NotScopes = this.NotScope ?? resource.Properties["NotScopes"]?.ToString().Split(','), PolicyDefinitionId = resource.Properties["policyDefinitionId"].ToString(), Metadata = string.IsNullOrEmpty(this.Metadata) ? null : JObject.Parse(metaDataJson), Parameters = (JObject)resource.Properties["parameters"] } }; return(policyAssignmentObject.ToJToken()); }