in csharp/Microsoft.Azure.Databricks.Client.Sample/SampleProgram.ClusterPolicies.cs [11:64]
private static async Task TestClusterPoliciesApi(DatabricksClient client)
{
Console.WriteLine("Listing policy families");
var policyFamilies = await client.ClusterPolicies.ListPolicyFamily(2);
foreach (var policyFamily in policyFamilies.Item1)
{
await Console.Out.WriteLineAsync($"\t{policyFamily.Name}");
}
policyFamilies = await client.ClusterPolicies.ListPolicyFamily(2, policyFamilies.Item2);
foreach (var policyFamily in policyFamilies.Item1)
{
await Console.Out.WriteLineAsync($"\t{policyFamily.Name}");
}
Console.WriteLine("Get policy family by id \"personal-vm\"");
var family = await client.ClusterPolicies.GetPolicyFamily("personal-vm");
await Console.Out.WriteLineAsync($"{family.Definition}");
Console.WriteLine("Creating cluster policy");
const string policyDef = "{\"spark_conf.spark.databricks.cluster.profile\":{\"type\":\"forbidden\",\"hidden\":true}}";
var policyId1 = await client.ClusterPolicies.Create("Test policy 1", policyDef);
Console.WriteLine("Creating cluster policy with policy family");
const string policyFamilyOverride = "{\"spark_conf.spark.databricks.cluster.profile\":{\"type\":\"forbidden\",\"hidden\":true}}";
var policyId2 = await client.ClusterPolicies.CreateWithPoiclyFamily("Test policy 2", "personal-vm", policyFamilyOverride, 5);
Console.WriteLine("Listing cluster policies...");
var policies = await client.ClusterPolicies.List();
foreach (var policy in policies)
{
await Console.Out.WriteLineAsync(
$"\tPolicy {policy.Name}, Created at {policy.CreatedAtTimestamp}");
}
Console.WriteLine("Getting cluster policy");
var retrievedPolicy1 = await client.ClusterPolicies.Get(policyId1);
Console.WriteLine($"\tPolicy {retrievedPolicy1.Name}");
var retrievedPolicy2 = await client.ClusterPolicies.Get(policyId2);
Console.WriteLine($"\tPolicy {retrievedPolicy2.Name}");
Console.WriteLine($"Editing policy {policyId1}");
await client.ClusterPolicies.Edit(policyId1, "Test policy 1", policyDef);
Console.WriteLine($"Editing policy {policyId2}");
await client.ClusterPolicies.EditWithPoiclyFamily(policyId2, "Test policy 2", "personal-vm");
Console.WriteLine($"Deleting policy {policyId1}");
await client.ClusterPolicies.Delete(policyId1);
Console.WriteLine($"Deleting policy {policyId2}");
await client.ClusterPolicies.Delete(policyId2);
}