/// <param name='operations'> /// Reference to the KeyVaultClient.ISecretOperations. /// </param> /// <param name='secretName'> /// Required. /// </param> /// <param name='secret'> /// Required. /// </param> public static Secret CreateSecret(this ISecretOperations operations, string secretName, Secret secret) { return Task.Factory.StartNew((object s) => { return ((ISecretOperations)s).CreateSecretAsync(secretName, secret); } , operations, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.Default).Unwrap().GetAwaiter().GetResult(); }
// Please set the following connection strings in app.config for this WebJob to run: // AzureWebJobsDashboard and AzureWebJobsStorage static void Main() { var client = new KeyVault(new Uri(CloudConfigurationManager.GetSetting("KeyVault"))); var jobStorage = client.Secret.GetSecretByName("JobStorage"); var sb = client.Secret.GetSecretByName("ServiceBus"); if (jobStorage.Value != CloudConfigurationManager.GetSetting("JobStorage")) { jobStorage = new Secret() { ContentType = "String", Name = "JobStorage", Value = CloudConfigurationManager.GetSetting("JobStorage") }; jobStorage = client.Secret.CreateSecret("JobStorage", jobStorage); } if (sb.Value != CloudConfigurationManager.GetSetting("ServiceBus")) { sb = new Secret() { ContentType = "String", Name = "ServiceBus", Value = CloudConfigurationManager.GetSetting("ServiceBus") }; sb = client.Secret.CreateSecret("ServiceBus", sb); } var jobStorageConnString = jobStorage.Value; var host = new JobHost(new JobHostConfiguration(jobStorageConnString)); host.Start(); Console.WriteLine("Bootstrapped"); host.Stop(); }
/// <param name='operations'> /// Reference to the KeyVaultClient.ISecretOperations. /// </param> /// <param name='secretName'> /// Required. /// </param> /// <param name='secret'> /// Required. /// </param> /// <param name='cancellationToken'> /// Cancellation token. /// </param> public static async Task<Secret> CreateSecretAsync(this ISecretOperations operations, string secretName, Secret secret, CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { Microsoft.Rest.HttpOperationResponse<KeyVaultClient.Models.Secret> result = await operations.CreateSecretWithOperationResponseAsync(secretName, secret, cancellationToken).ConfigureAwait(false); return result.Body; }