/// <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() { var policyassignmentObject = new PolicyAssignment { Name = this.Name, 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 : this.GetObjectFromParameter(this.Metadata, nameof(this.Metadata)), EnforcementMode = EnforcementMode ?? PolicyAssignmentEnforcementMode.Default, Parameters = this.GetParameters(this.PolicyParameter, this.PolicyParameterObject) } }; 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, 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()); }
/// <summary> /// Constructs the resource /// </summary> private JToken GetResource(string resourceId, string apiVersion) { var resource = this.GetExistingResource(resourceId, apiVersion).Result.ToResource <PolicyAssignmentProperties>(); // get incoming object properties if present JObject inputMetadata = null; if (this.InputObject != null) { var newProperties = this.InputObject.Properties.ToJToken(); inputMetadata = newProperties["metadata"] as JObject; } var parameterMetadata = this.Metadata != null?this.GetObjectFromParameter(this.Metadata, nameof(this.Metadata)) : null; PolicyAssignmentEnforcementMode?inputMode = null; if (Enum.TryParse(this.InputObject?.Properties?.EnforcementMode?.ToString(), true, out PolicyAssignmentEnforcementMode tempMode1)) { inputMode = tempMode1; } // Grab the non-compliance messages from the parameter or input object or existing resource var nonComplianceMessages = this.NonComplianceMessage?.Where(message => message != null).SelectArray(message => message.ToModel()); if (nonComplianceMessages == null && this.InputObject?.Properties.NonComplianceMessages != null) { nonComplianceMessages = this.InputObject.Properties.NonComplianceMessages.Where(message => message != null).SelectArray(message => message.ToModel()); } else if (nonComplianceMessages == null) { nonComplianceMessages = resource.Properties.NonComplianceMessages; } var policyAssignmentObject = new PolicyAssignment { Name = this.Name ?? this.InputObject?.Name ?? resource.Name, Identity = this.AssignIdentity.IsPresent ? new ResourceIdentity { Type = ResourceIdentityType.SystemAssigned } : null, Location = this.Location ?? this.InputObject?.Location ?? resource.Location, Properties = new PolicyAssignmentProperties { DisplayName = this.DisplayName ?? this.InputObject?.Properties?.DisplayName ?? resource.Properties.DisplayName, Description = this.Description ?? this.InputObject?.Properties?.Description ?? resource.Properties.Description, Scope = resource.Properties.Scope, NotScopes = this.NotScope ?? this.InputObject?.Properties?.NotScopes ?? resource.Properties.NotScopes, PolicyDefinitionId = resource.Properties.PolicyDefinitionId, Metadata = parameterMetadata ?? inputMetadata ?? resource.Properties.Metadata, EnforcementMode = this.EnforcementMode ?? inputMode ?? resource.Properties.EnforcementMode, NonComplianceMessages = nonComplianceMessages, Parameters = this.GetParameters(this.PolicyParameter, this.PolicyParameterObject) ?? this.InputObject?.Properties?.Parameters?.ToResourcePropertiesBody() as JObject ?? resource.Properties.Parameters } }; return(policyAssignmentObject.ToJToken()); }
/// <summary> /// Constructs the resource /// </summary> private JToken GetResource(string resourceId, string apiVersion) { var resource = this.GetExistingResource(resourceId, apiVersion).Result.ToResource(); var policyAssignmentObject = new PolicyAssignment { Name = this.Name ?? ResourceIdUtility.GetResourceName(this.Id), Sku = this.Sku != null ? this.Sku.ToDictionary(addValueLayer : false).ToJson().FromJson <PolicySku>() : (resource.Sku == null ? new PolicySku { Name = "A0", Tier = "Free" } : resource.Sku.ToJson().FromJson <PolicySku>()), Properties = new PolicyAssignmentProperties { DisplayName = this.DisplayName ?? (resource.Properties["displayName"] != null ? resource.Properties["displayName"].ToString() : null), Description = this.Description ?? (resource.Properties["description"] != null ? resource.Properties["description"].ToString() : null), Scope = resource.Properties["scope"].ToString(), NotScopes = this.NotScope ?? (resource.Properties["NotScopes"] == null ? null : resource.Properties["NotScopes"].ToString().Split(',')), PolicyDefinitionId = resource.Properties["policyDefinitionId"].ToString() } }; return(policyAssignmentObject.ToJToken()); }
/// <summary> /// Constructs the resource /// </summary> private JToken GetResource() { var policyassignmentObject = new PolicyAssignment { Name = this.Name, Sku = this.Sku == null? new PolicySku { Name = "A0", Tier = "Free" } : this.Sku.ToDictionary(addValueLayer: false).ToJson().FromJson <PolicySku>(), Properties = new PolicyAssignmentProperties { DisplayName = this.DisplayName ?? null, Description = this.Description ?? null, Scope = this.Scope, NotScopes = this.NotScope ?? null, 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(); // get incoming object properties if present JObject inputMetadata = null; if (this.InputObject != null) { var newProperties = this.InputObject.Properties.ToJToken(); inputMetadata = newProperties["metadata"] as JObject; } var parameterMetadata = this.Metadata != null?this.GetObjectFromParameter(this.Metadata, nameof(this.Metadata)) : null; PolicyAssignmentEnforcementMode?existingMode = null; if (Enum.TryParse(resource.Properties["enforcementMode"]?.ToString(), true, out PolicyAssignmentEnforcementMode tempMode)) { existingMode = tempMode; } PolicyAssignmentEnforcementMode?inputMode = null; if (Enum.TryParse(this.InputObject?.Properties?.EnforcementMode?.ToString(), true, out PolicyAssignmentEnforcementMode tempMode1)) { inputMode = tempMode1; } var policyAssignmentObject = new PolicyAssignment { Name = this.Name ?? this?.InputObject?.Name ?? resource.Name, Identity = this.AssignIdentity.IsPresent ? new ResourceIdentity { Type = ResourceIdentityType.SystemAssigned } : null, Location = this.Location ?? this.InputObject?.Location ?? resource.Location, Properties = new PolicyAssignmentProperties { DisplayName = this.DisplayName ?? this?.InputObject?.Properties?.DisplayName ?? resource.Properties["displayName"]?.ToString(), Description = this.Description ?? this?.InputObject?.Properties?.Description ?? resource.Properties["description"]?.ToString(), Scope = resource.Properties["scope"]?.ToString(), NotScopes = this.NotScope ?? this?.InputObject?.Properties?.NotScopes ?? resource.Properties["NotScopes"]?.ToString()?.Split(','), PolicyDefinitionId = resource.Properties["policyDefinitionId"]?.ToString(), Metadata = parameterMetadata ?? inputMetadata ?? resource.Properties["metadata"] as JObject, EnforcementMode = this.EnforcementMode ?? inputMode ?? existingMode, Parameters = this.GetParameters(this.PolicyParameter, this.PolicyParameterObject) ?? this.InputObject?.Properties?.Parameters?.ToResourcePropertiesBody() as JObject ?? resource.Properties["parameters"] as JObject } }; return(policyAssignmentObject.ToJToken()); }
/// <summary> /// Constructs the resource /// </summary> private JToken GetResource() { if (this.AssignIdentity != null && this.AssignIdentity.IsPresent) { this.IdentityType = ManagedIdentityType.SystemAssigned; } ResourceIdentity identityObject = this.IdentityType != null ? (this.IdentityType == ManagedIdentityType.UserAssigned ? new ResourceIdentity { Type = IdentityType.ToString(), UserAssignedIdentities = new Dictionary <string, UserAssignedIdentityResource> { { this.IdentityId, new UserAssignedIdentityResource { } } } } : new ResourceIdentity { Type = IdentityType.ToString() } ) : null; var policyassignmentObject = new PolicyAssignment { Name = this.Name, Identity = identityObject, 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 : this.GetObjectFromParameter(this.Metadata, nameof(this.Metadata)), EnforcementMode = EnforcementMode ?? PolicyAssignmentEnforcementMode.Default, Parameters = this.GetParameters(this.PolicyParameter, this.PolicyParameterObject), NonComplianceMessages = this.NonComplianceMessage?.Where(message => message != null).SelectArray(message => message.ToModel()) } }; if (this.PolicyDefinition != null) { policyassignmentObject.Properties.PolicyDefinitionId = this.PolicyDefinition.PolicyDefinitionId; } else if (this.PolicySetDefinition != null) { policyassignmentObject.Properties.PolicyDefinitionId = this.PolicySetDefinition.PolicySetDefinitionId; } return(policyassignmentObject.ToJToken()); }
/// <summary> /// Constructs the resource /// </summary> private JToken GetResource() { var policyassignmentObject = new PolicyAssignment { Name = this.Name, Properties = new PolicyAssignmentProperties { DisplayName = this.DisplayName ?? null, PolicyDefinitionId = this.PolicyDefinition.Properties["policyDefinitionId"].Value.ToString(), Scope = this.Scope } }; return(policyassignmentObject.ToJToken()); }
/// <summary> /// Constructs the resource /// </summary> private JToken GetResource(string resourceId, string apiVersion) { var resource = this.GetExistingResource(resourceId, apiVersion).Result.ToResource(); var policyAssignmentObject = new PolicyAssignment { Name = this.Name ?? ResourceIdUtility.GetResourceName(this.Id), Properties = new PolicyAssignmentProperties { DisplayName = this.DisplayName ?? (resource.Properties["displayName"] != null ? resource.Properties["displayName"].ToString() : null), Scope = resource.Properties["scope"].ToString(), PolicyDefinitionId = resource.Properties["policyDefinitionId"].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 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()); }