From 05979eeb22f761835b97d991f93ffd52c5fb2250 Mon Sep 17 00:00:00 2001 From: Anu Thomas Chandy Date: Mon, 26 Mar 2018 19:27:52 -0700 Subject: [PATCH] Release 1.8.0 --- Common/Utilities.cs | 155 ++++++++++++++++++ ManageVirtualMachineWithUnmanagedDisks.csproj | 2 +- 2 files changed, 156 insertions(+), 1 deletion(-) diff --git a/Common/Utilities.cs b/Common/Utilities.cs index dd69558..6e5f64b 100644 --- a/Common/Utilities.cs +++ b/Common/Utilities.cs @@ -47,6 +47,7 @@ using Microsoft.Azure.Management.Locks.Fluent; using Microsoft.Azure.Management.Msi.Fluent; using Microsoft.Azure.Management.Eventhub.Fluent; +using Microsoft.Azure.Management.Monitor.Fluent; namespace Microsoft.Azure.Management.Samples.Common { @@ -330,6 +331,55 @@ public static void Print(ITopicAuthorizationRule topicAuthorizationRule) Log(builder.ToString()); } + public static void Print(IDiagnosticSetting resource) + { + StringBuilder info = new StringBuilder("Diagnostic Setting: ") + .Append("\n\tId: ").Append(resource.Id) + .Append("\n\tAssociated resource Id: ").Append(resource.ResourceId) + .Append("\n\tName: ").Append(resource.Name) + .Append("\n\tStorage Account Id: ").Append(resource.StorageAccountId) + .Append("\n\tEventHub Namespace Autorization Rule Id: ").Append(resource.EventHubAuthorizationRuleId) + .Append("\n\tEventHub name: ").Append(resource.EventHubName) + .Append("\n\tLog Analytics workspace Id: ").Append(resource.WorkspaceId); + + if (resource.Logs != null && resource.Logs.Any()) + { + info.Append("\n\tLog Settings: "); + foreach (var ls in resource.Logs) + { + info.Append("\n\t\tCategory: ").Append(ls.Category); + info.Append("\n\t\tRetention policy: "); + if (ls.RetentionPolicy != null) + { + info.Append(ls.RetentionPolicy.Days + " days"); + } + else + { + info.Append("NONE"); + } + } + } + if (resource.Metrics != null && resource.Metrics.Any()) + { + info.Append("\n\tMetric Settings: "); + foreach (var ls in resource.Metrics) + { + info.Append("\n\t\tCategory: ").Append(ls.Category); + info.Append("\n\t\tTimegrain: ").Append(ls.TimeGrain); + info.Append("\n\t\tRetention policy: "); + if (ls.RetentionPolicy != null) + { + info.Append(ls.RetentionPolicy.Days + " days"); + } + else + { + info.Append("NONE"); + } + } + } + Log(info.ToString()); + } + public static void Print(ISearchService searchService) { var adminKeys = searchService.GetAdminKeys(); @@ -1325,6 +1375,61 @@ public static void PrintFirewallRule(ISqlFirewallRule firewallRule) Utilities.Log(builder.ToString()); } + public static void PrintSqlVirtualNetworkRule(ISqlVirtualNetworkRule virtualNetworkRule) + { + var builder = new StringBuilder().Append("SQL virtual network rule: ").Append(virtualNetworkRule.Id) + .Append("Name: ").Append(virtualNetworkRule.Name) + .Append("\n\tResource group: ").Append(virtualNetworkRule.ResourceGroupName) + .Append("\n\tSqlServer Name: ").Append(virtualNetworkRule.SqlServerName) + .Append("\n\tSubnet ID: ").Append(virtualNetworkRule.SubnetId) + .Append("\n\tState: ").Append(virtualNetworkRule.State); + + Utilities.Log(builder.ToString()); + } + + public static void PrintSqlFailoverGroup(ISqlFailoverGroup failoverGroup) + { + var builder = new StringBuilder().Append("SQL Failover Group: ").Append(failoverGroup.Id) + .Append("Name: ").Append(failoverGroup.Name) + .Append("\n\tResource group: ").Append(failoverGroup.ResourceGroupName) + .Append("\n\tSqlServer Name: ").Append(failoverGroup.SqlServerName) + .Append("\n\tRead-write endpoint policy: ").Append(failoverGroup.ReadWriteEndpointPolicy) + .Append("\n\tData loss grace period: ").Append(failoverGroup.ReadWriteEndpointDataLossGracePeriodMinutes) + .Append("\n\tRead-only endpoint policy: ").Append(failoverGroup.ReadOnlyEndpointPolicy) + .Append("\n\tReplication state: ").Append(failoverGroup.ReplicationState) + .Append("\n\tReplication role: ").Append(failoverGroup.ReplicationRole); + builder.Append("\n\tPartner Servers: "); + foreach (var item in failoverGroup.PartnerServers) + { + builder + .Append("\n\t\tId: ").Append(item.Id) + .Append("\n\t\tLocation: ").Append(item.Location) + .Append("\n\t\tReplication role: ").Append(item.ReplicationRole); + } + builder.Append("\n\tDatabases: "); + foreach (var databaseId in failoverGroup.Databases) + { + builder.Append("\n\t\tID: ").Append(databaseId); + } + + Utilities.Log(builder.ToString()); + } + + public static void PrintSqlServerKey(ISqlServerKey serverKey) + { + var builder = new StringBuilder().Append("SQL server key: ").Append(serverKey.Id) + .Append("Name: ").Append(serverKey.Name) + .Append("\n\tResource group: ").Append(serverKey.ResourceGroupName) + .Append("\n\tSqlServer Name: ").Append(serverKey.SqlServerName) + .Append("\n\tRegion: ").Append(serverKey.Region != null ? serverKey.Region.Name : "") + .Append("\n\tServer Key Type: ").Append(serverKey.ServerKeyType) + .Append("\n\tServer Key URI: ").Append(serverKey.Uri) + .Append("\n\tServer Key Thumbprint: ").Append(serverKey.Thumbprint) + .Append("\n\tServer Key Creation Date: ").Append(serverKey.CreationDate != null ? serverKey.CreationDate.ToString() : ""); + + Utilities.Log(builder.ToString()); + } + public static void PrintElasticPool(ISqlElasticPool elasticPool) { var builder = new StringBuilder().Append("Sql elastic pool: ").Append(elasticPool.Id) @@ -1384,6 +1489,56 @@ public static void PrintDatabaseActivity(IElasticPoolDatabaseActivity databaseAc Utilities.Log(builder.ToString()); } + public static void PrintSqlMetric(ISqlSubscriptionUsageMetric subscriptionUsageMetric) + { + var builder = new StringBuilder().Append("SQL Subscription Usage Metric: ").Append(subscriptionUsageMetric.Id) + .Append("Name: ").Append(subscriptionUsageMetric.Name) + .Append("\n\tDisplay Name: ").Append(subscriptionUsageMetric.DisplayName) + .Append("\n\tCurrent Value: ").Append(subscriptionUsageMetric.CurrentValue) + .Append("\n\tLimit: ").Append(subscriptionUsageMetric.Limit) + .Append("\n\tUnit: ").Append(subscriptionUsageMetric.Unit) + .Append("\n\tType: ").Append(subscriptionUsageMetric.Type); + + Utilities.Log(builder.ToString()); + } + + public static void PrintSqlMetric(ISqlDatabaseUsageMetric dbUsageMetric) + { + var builder = new StringBuilder().Append("SQL Database Usage Metric") + .Append("Name: ").Append(dbUsageMetric.Name) + .Append("\n\tResource Name: ").Append(dbUsageMetric.ResourceName) + .Append("\n\tDisplay Name: ").Append(dbUsageMetric.DisplayName) + .Append("\n\tCurrent Value: ").Append(dbUsageMetric.CurrentValue) + .Append("\n\tLimit: ").Append(dbUsageMetric.Limit) + .Append("\n\tUnit: ").Append(dbUsageMetric.Unit) + .Append("\n\tNext Reset Time: ").Append(dbUsageMetric.NextResetTime.GetValueOrDefault().ToString()); + + Utilities.Log(builder.ToString()); + } + + public static void PrintSqlMetric(ISqlDatabaseMetric dbMetric) + { + StringBuilder builder = new StringBuilder().Append("SQL Database Metric") + .Append("Name: ").Append(dbMetric.Name) + .Append("\n\tStart Time: ").Append(dbMetric.StartTime) + .Append("\n\tEnd Time: ").Append(dbMetric.EndTime) + .Append("\n\tTime Grain: ").Append(dbMetric.TimeGrain) + .Append("\n\tUnit: ").Append(dbMetric.Unit); + foreach (var metricValue in dbMetric.MetricValues) + { + builder + .Append("\n\tMetric Value: ") + .Append("\n\t\tCount: ").Append(metricValue.Count) + .Append("\n\t\tAverage: ").Append(metricValue.Average) + .Append("\n\t\tMaximum: ").Append(metricValue.Maximum) + .Append("\n\t\tMinimum: ").Append(metricValue.Minimum) + .Append("\n\t\tTimestamp: ").Append(metricValue.Timestamp) + .Append("\n\t\tTotal: ").Append(metricValue.Total); + } + + Utilities.Log(builder.ToString()); + } + public static void Print(ITrafficManagerProfile profile) { var builder = new StringBuilder(); diff --git a/ManageVirtualMachineWithUnmanagedDisks.csproj b/ManageVirtualMachineWithUnmanagedDisks.csproj index d810186..2fe2ce3 100644 --- a/ManageVirtualMachineWithUnmanagedDisks.csproj +++ b/ManageVirtualMachineWithUnmanagedDisks.csproj @@ -19,7 +19,7 @@ - +