in tools/code/publisher/WorkspaceNamedValue.cs [157:177]
private static PutWorkspaceNamedValueInApim GetPutWorkspaceNamedValueInApim(IServiceProvider provider)
{
var serviceUri = provider.GetRequiredService<ManagementServiceUri>();
var pipeline = provider.GetRequiredService<HttpPipeline>();
var logger = provider.GetRequiredService<ILogger>();
return async (name, dto, workspaceName, cancellationToken) =>
{
// Don't put secret named values without a value or keyvault identifier
if (dto.Properties.Secret is true && dto.Properties.Value is null && dto.Properties.KeyVault?.SecretIdentifier is null)
{
logger.LogWarning("Named value {NamedValueName} in workspace {WorkspaceName} is secret, but no value or keyvault identifier was specified. Skipping it...", name, workspaceName);
return;
}
logger.LogInformation("Adding named value {NamedValueName} to workspace {WorkspaceName}...", name, workspaceName);
await WorkspaceNamedValueUri.From(name, workspaceName, serviceUri)
.PutDto(dto, pipeline, cancellationToken);
};
}