internal PSKeyVaultRoleDefinition CreateOrUpdateHsmRoleDefinition(string hsmName, string scope, PSKeyVaultRoleDefinition role) { CreateOrUpdateRoleDefinitionOptions createOptions; if (string.IsNullOrEmpty(role.Name)) { createOptions = new CreateOrUpdateRoleDefinitionOptions(new KeyVaultRoleScope(scope)); } else { createOptions = new CreateOrUpdateRoleDefinitionOptions(new KeyVaultRoleScope(scope), Guid.Parse(role.Name)); } createOptions.RoleName = role.RoleName; createOptions.Description = role.Description; role.AssignableScopes.ForEach(x => createOptions.AssignableScopes.Add(x)); role.Permissions.ForEach(x => createOptions.Permissions.Add(x.ToSdkType())); var client = CreateRbacClient(hsmName); var roleResponse = client.CreateOrUpdateRoleDefinitionAsync(createOptions, default).ConfigureAwait(false).GetAwaiter().GetResult().Value; return(new PSKeyVaultRoleDefinition(roleResponse)); }
public PSKeyVaultRoleDefinition CreateOrUpdateHsmRoleDefinition(string hsmName, string scope, PSKeyVaultRoleDefinition role) { return(HsmClient.CreateOrUpdateHsmRoleDefinition(hsmName, scope, role)); }