private static PSParameterValueBase GetAssignmentParameters(KeyValuePair <string, ParameterValueBase> parameterKvp) { PSParameterValueBase parameter = null; if (parameterKvp.Value != null && parameterKvp.Value is ParameterValue) { // Need to cast as ParameterValue since assignment.Parameters value type is ParameterValueBase. var parameterValue = (ParameterValue)parameterKvp.Value; parameter = new PSParameterValue { Description = parameterValue.Description, Value = parameterValue.Value }; } else if (parameterKvp.Value != null && parameterKvp.Value is SecretReferenceParameterValue) { var parameterValue = (SecretReferenceParameterValue)parameterKvp.Value; var secretReference = new PSSecretValueReference { KeyVault = new PSKeyVaultReference { Id = parameterValue.Reference.KeyVault.Id }, SecretName = parameterValue.Reference.SecretName, SecretVersion = parameterValue.Reference.SecretVersion }; parameter = new PSSecretReferenceParameterValue { Reference = secretReference, Description = parameterValue.Description }; } return(parameter); }
internal static PSTemplateArtifact FromArtifactModel(TemplateArtifact artifact, string scope) { var psArtifact = new PSTemplateArtifact { Id = artifact.Id, Type = artifact.Type, Name = artifact.Name, DisplayName = artifact.DisplayName, Description = artifact.Description, DependsOn = new List <string>(), Template = artifact.Template, Parameters = new Dictionary <string, PSParameterValue>(), ResourceGroup = artifact.ResourceGroup }; foreach (var item in artifact.Parameters) { PSParameterValue parameter = GetArtifactParameters(item); psArtifact.Parameters.Add(item.Key, parameter); } psArtifact.DependsOn = artifact.DependsOn?.ToList(); return(psArtifact); }
private static PSParameterValue GetArtifactParameters(KeyValuePair <string, ParameterValue> parameterKvp) { PSParameterValue parameter = null; if (parameterKvp.Value?.Value != null) { var parameterValue = parameterKvp.Value; parameter = new PSParameterValue { Value = parameterValue.Value }; } else if (parameterKvp.Value?.Reference != null) { var parameterValue = parameterKvp.Value; var secretReference = new PSSecretValueReference { KeyVault = new PSKeyVaultReference { Id = parameterValue.Reference.KeyVault.Id }, SecretName = parameterValue.Reference.SecretName, SecretVersion = parameterValue.Reference.SecretVersion }; parameter = new PSParameterValue { Reference = secretReference }; } return(parameter); }
private static PSParameterValue GetArtifactParameters(KeyValuePair <string, ParameterValue> parameterKvp) { PSParameterValue parameter = null; if (parameterKvp.Value != null) { var parameterValue = parameterKvp.Value; parameter = new PSParameterValue { Value = parameterValue.Value }; } return(parameter); }
private static PSParameterValueBase GetArtifactParameters(KeyValuePair <string, ParameterValueBase> parameterKvp) { PSParameterValueBase parameter = null; if (parameterKvp.Value != null && parameterKvp.Value is ParameterValue) { // Need to cast as ParameterValue since assignment.Parameters value type is ParameterValueBase. var parameterValue = (ParameterValue)parameterKvp.Value; parameter = new PSParameterValue { Description = parameterValue.Description, Value = parameterValue.Value }; } return(parameter); }
/// <summary> /// Create a PSBluprintAssignment object from an Assignment model. /// </summary> /// <param name="assignment">Assignment object from which to create the PSBlueprintAssignment.</param> /// <returns>A new PSBlueprintAssignment object.</returns> internal static PSBlueprintAssignment FromAssignment(Assignment assignment) { var psAssignment = new PSBlueprintAssignment { Name = assignment.Name, Id = assignment.Id, Type = assignment.Type, Location = assignment.Location, Scope = assignment.Scope, Identity = new PSManagedServiceIdentity { PrincipalId = assignment.Identity.PrincipalId, TenantId = assignment.Identity.TenantId, Type = assignment.Type, UserAssignedIdentities = new Dictionary <string, PSUserAssignedIdentity>() }, DisplayName = assignment.DisplayName, Description = assignment.Description, BlueprintId = assignment.BlueprintId, ProvisioningState = PSAssignmentProvisioningState.Unknown, Status = new PSAssignmentStatus(), Locks = new PSAssignmentLockSettings { Mode = PSLockMode.None, ExcludedActions = new List <string>(), ExcludedPrincipals = new List <string>() }, Parameters = new Dictionary <string, PSParameterValue>(), ResourceGroups = new Dictionary <string, PSResourceGroupValue>() }; psAssignment.Status.TimeCreated = assignment.Status.TimeCreated; psAssignment.Status.LastModified = assignment.Status.LastModified; if (Enum.TryParse(assignment.ProvisioningState, true, out PSAssignmentProvisioningState state)) { psAssignment.ProvisioningState = state; } else { psAssignment.ProvisioningState = PSAssignmentProvisioningState.Unknown; } if (Enum.TryParse(assignment.Locks.Mode, true, out PSLockMode lockMode)) { psAssignment.Locks.Mode = lockMode; } else { psAssignment.Locks.Mode = PSLockMode.None; } if (assignment.Locks.ExcludedActions != null) { foreach (var item in assignment.Locks.ExcludedActions) { psAssignment.Locks.ExcludedActions.Add(item); } } if (assignment.Locks.ExcludedPrincipals != null) { foreach (var item in assignment.Locks.ExcludedPrincipals) { psAssignment.Locks.ExcludedPrincipals.Add(item); } } foreach (var item in assignment.Parameters) { PSParameterValue parameter = GetAssignmentParameters(item); psAssignment.Parameters.Add(item.Key, parameter); } foreach (var item in assignment.ResourceGroups) { psAssignment.ResourceGroups.Add(item.Key, new PSResourceGroupValue { Name = item.Value.Name, Location = item.Value.Location }); } if (assignment.Identity.UserAssignedIdentities != null) { foreach (var item in assignment.Identity.UserAssignedIdentities) { psAssignment.Identity.UserAssignedIdentities.Add(item.Key, new PSUserAssignedIdentity { ClientId = item.Value.ClientId, PrincipalId = item.Value.PrincipalId }); } } return(psAssignment); }