private void SetServiceBus(ServiceDiagnosticSettingsResource properties) { if (this.isServiceBusParamPresent) { properties.ServiceBusRuleId = this.ServiceBusRuleId; } }
/// <summary> /// Initializes a new instance of the PSServiceDiagnosticSettings class. /// </summary> public PSServiceDiagnosticSettings(ServiceDiagnosticSettingsResource serviceDiagnosticSettings) : base( id: serviceDiagnosticSettings.Id, location: serviceDiagnosticSettings.Location, metrics: serviceDiagnosticSettings.Metrics, logs: serviceDiagnosticSettings.Logs) { this.StorageAccountId = serviceDiagnosticSettings.StorageAccountId; this.ServiceBusRuleId = serviceDiagnosticSettings.ServiceBusRuleId; this.Metrics = new List <PSMetricSettings>(); foreach (MetricSettings metricSettings in serviceDiagnosticSettings.Metrics) { this.Metrics.Add(new PSMetricSettings(metricSettings)); } this.Logs = new List <PSLogSettings>(); foreach (LogSettings LogSettings in serviceDiagnosticSettings.Logs) { this.Logs.Add(new PSLogSettings(LogSettings)); } this.WorkspaceId = serviceDiagnosticSettings.WorkspaceId; this.Name = serviceDiagnosticSettings.Name; this.Tags = serviceDiagnosticSettings.Tags; }
private void SetEventHubRule(ServiceDiagnosticSettingsResource properties) { if (this.isEventHubRuleParamPresent) { properties.EventHubAuthorizationRuleId = this.EventHubAuthorizationRuleId; } }
/// <summary> /// Initializes a new instance of the PSServiceDiagnosticSettings class. /// </summary> public PSServiceDiagnosticSettings(ServiceDiagnosticSettingsResource serviceDiagnosticSettings) : base( id: serviceDiagnosticSettings.Id, location: serviceDiagnosticSettings.Location, metrics: serviceDiagnosticSettings.Metrics, logs: serviceDiagnosticSettings.Logs) { this.StorageAccountId = serviceDiagnosticSettings.StorageAccountId; this.ServiceBusRuleId = serviceDiagnosticSettings.ServiceBusRuleId; this.Metrics = new List<PSMetricSettings>(); foreach (MetricSettings metricSettings in serviceDiagnosticSettings.Metrics) { this.Metrics.Add(new PSMetricSettings(metricSettings)); } this.Logs = new List<PSLogSettings>(); foreach (LogSettings LogSettings in serviceDiagnosticSettings.Logs) { this.Logs.Add(new PSLogSettings(LogSettings)); } this.WorkspaceId = serviceDiagnosticSettings.WorkspaceId; this.Name = serviceDiagnosticSettings.Name; this.Tags = serviceDiagnosticSettings.Tags; }
private void SetWorkspace(ServiceDiagnosticSettingsResource properties) { if (this.isWorkspaceParamPresent) { properties.WorkspaceId = this.WorkspaceId; } }
/// <summary> /// Initializes a new instance of the PSServiceDiagnosticSettings class. /// </summary> public PSServiceDiagnosticSettings(ServiceDiagnosticSettingsResource serviceDiagnosticSettings) : base( name: serviceDiagnosticSettings.Name, id: serviceDiagnosticSettings.Id, location: serviceDiagnosticSettings.Location, type: serviceDiagnosticSettings.Type, metrics: serviceDiagnosticSettings.Metrics, logs: serviceDiagnosticSettings.Logs) { this.StorageAccountId = serviceDiagnosticSettings.StorageAccountId; this.ServiceBusRuleId = serviceDiagnosticSettings.ServiceBusRuleId; this.EventHubAuthorizationRuleId = serviceDiagnosticSettings.EventHubAuthorizationRuleId; this.Metrics = new List <MetricSettings>(); foreach (MetricSettings metricSettings in serviceDiagnosticSettings.Metrics) { this.Metrics.Add(new PSMetricSettings(metricSettings)); } this.Logs = new List <LogSettings>(); foreach (LogSettings logSettings in serviceDiagnosticSettings.Logs) { this.Logs.Add(new PSLogSettings(logSettings)); } this.WorkspaceId = serviceDiagnosticSettings.WorkspaceId; this.Tags = serviceDiagnosticSettings.Tags; }
private void SetStorage(ServiceDiagnosticSettingsResource properties) { if (this.isStorageParamPresent) { properties.StorageAccountId = this.StorageAccountId; } }
protected override void ProcessRecordInternal() { HashSet <string> usedParams = new HashSet <string>(this.MyInvocation.BoundParameters.Keys, StringComparer.OrdinalIgnoreCase); this.isStorageParamPresent = usedParams.Contains(StorageAccountIdParamName); this.isServiceBusParamPresent = usedParams.Contains(ServiceBusRuleIdParamName); this.isEventHubRuleParamPresent = usedParams.Contains(EventHubRuleIdParamName); this.isWorkspaceParamPresent = usedParams.Contains(WorkspacetIdParamName); this.isEnbledParameterPresent = usedParams.Contains(EnabledParamName); if (!this.isStorageParamPresent && !this.isServiceBusParamPresent && !this.isEventHubRuleParamPresent && !this.isWorkspaceParamPresent && !this.isEnbledParameterPresent) { throw new ArgumentException("No operation is specified"); } ServiceDiagnosticSettingsResource getResponse = this.MonitorManagementClient.ServiceDiagnosticSettings.GetAsync(resourceUri: this.ResourceId, cancellationToken: CancellationToken.None).Result; ServiceDiagnosticSettingsResource properties = getResponse; SetStorage(properties); SetServiceBus(properties); SetEventHubRule(properties); SetWorkspace(properties); if (this.Categories == null && this.Timegrains == null) { SetAllCategoriesAndTimegrains(properties); } else { if (this.Categories != null) { SetSelectedCategories(properties); } if (this.Timegrains != null) { SetSelectedTimegrains(properties); } } if (this.RetentionEnabled.HasValue) { SetRetention(properties); } var putParameters = CopySettings(properties); ServiceDiagnosticSettingsResource result = this.MonitorManagementClient.ServiceDiagnosticSettings.CreateOrUpdateAsync(resourceUri: this.ResourceId, parameters: putParameters, cancellationToken: CancellationToken.None).Result; WriteObject(new PSServiceDiagnosticSettings(result)); }
protected override void ProcessRecordInternal() { ServiceDiagnosticSettingsResource result = this.InsightsManagementClient.ServiceDiagnosticSettings.GetAsync(resourceUri: this.ResourceId, cancellationToken: CancellationToken.None).Result; PSServiceDiagnosticSettings psResult = new PSServiceDiagnosticSettings(result); WriteObject(psResult); }
private static ServiceDiagnosticSettingsResource CopySettings(ServiceDiagnosticSettingsResource properties) { var putParameters = new ServiceDiagnosticSettingsResource(location: string.Empty); putParameters.Logs = properties.Logs; putParameters.Metrics = properties.Metrics; putParameters.ServiceBusRuleId = properties.ServiceBusRuleId; putParameters.StorageAccountId = properties.StorageAccountId; putParameters.WorkspaceId = properties.WorkspaceId; return(putParameters); }
public void DisableStorage() { cmdlet.MyInvocation.BoundParameters["StorageAccountId"] = null; cmdlet.ExecuteCmdlet(); ServiceDiagnosticSettingsResource expectedSettings = GetDefaultSetting(); expectedSettings.StorageAccountId = null; VerifyCalledOnce(); VerifySettings(expectedSettings, this.calledSettings); }
public void DisableEventHub() { cmdlet.MyInvocation.BoundParameters[SetAzureRmDiagnosticSettingCommand.ServiceBusRuleIdParamName] = null; cmdlet.ExecuteCmdlet(); ServiceDiagnosticSettingsResource expectedSettings = GetDefaultSetting(); expectedSettings.ServiceBusRuleId = null; VerifyCalledOnce(); VerifySettings(expectedSettings, this.calledSettings); }
public void SetWorkspace() { string newWorkspaceId = "otherworkspace"; cmdlet.WorkspaceId = newWorkspaceId; cmdlet.MyInvocation.BoundParameters[SetAzureRmDiagnosticSettingCommand.WorkspacetIdParamName] = newWorkspaceId; cmdlet.ExecuteCmdlet(); ServiceDiagnosticSettingsResource expectedSettings = GetDefaultSetting(); expectedSettings.WorkspaceId = newWorkspaceId; VerifyCalledOnce(); VerifySettings(expectedSettings, this.calledSettings); }
public void SetSomeTimeGrains() { cmdlet.Timegrains = new List <string> { "PT1H" }; cmdlet.Enabled = false; cmdlet.MyInvocation.BoundParameters[SetAzureRmDiagnosticSettingCommand.EnabledParamName] = false; cmdlet.ExecuteCmdlet(); ServiceDiagnosticSettingsResource expectedSettings = GetDefaultSetting(); expectedSettings.Metrics[1].Enabled = false; VerifyCalledOnce(); VerifySettings(expectedSettings, this.calledSettings); }
public void SetSomeCategories() { cmdlet.Categories = new List <string> { "TestCategory1" }; cmdlet.Enabled = false; cmdlet.MyInvocation.BoundParameters[SetAzureRmDiagnosticSettingCommand.EnabledParamName] = false; cmdlet.ExecuteCmdlet(); ServiceDiagnosticSettingsResource expectedSettings = GetDefaultSetting(); expectedSettings.Logs[0].Enabled = false; VerifyCalledOnce(); VerifySettings(expectedSettings, this.calledSettings); }
private static ServiceDiagnosticSettingsResource CopySettings(ServiceDiagnosticSettingsResource properties) { // Location is marked as required, but the get operation returns Location as null. So use an empty string instead of null to avoid validation errors var putParameters = new ServiceDiagnosticSettingsResource(location: properties.Location ?? string.Empty, name: properties.Name, id: properties.Id, type: properties.Type) { Logs = properties.Logs, Metrics = properties.Metrics, ServiceBusRuleId = properties.ServiceBusRuleId, StorageAccountId = properties.StorageAccountId, WorkspaceId = properties.WorkspaceId, Tags = properties.Tags, EventHubAuthorizationRuleId = properties.EventHubAuthorizationRuleId }; return(putParameters); }
public SetDiagnosticSettingCommandTests(Xunit.Abstractions.ITestOutputHelper output) { ServiceManagemenet.Common.Models.XunitTracingInterceptor.AddToContext(new ServiceManagemenet.Common.Models.XunitTracingInterceptor(output)); this.insightsDiagnosticsOperationsMock = new Mock <IServiceDiagnosticSettingsOperations>(); this.insightsManagementClientMock = new Mock <MonitorManagementClient>(); this.commandRuntimeMock = new Mock <ICommandRuntime>(); this.cmdlet = new SetAzureRmDiagnosticSettingCommand() { CommandRuntime = commandRuntimeMock.Object, MonitorManagementClient = insightsManagementClientMock.Object }; this.ExistingSetting = GetDefaultSetting(); insightsDiagnosticsOperationsMock.Setup(f => f.GetWithHttpMessagesAsync( It.IsAny <string>(), It.IsAny <Dictionary <string, List <string> > >(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult <AzureOperationResponse <ServiceDiagnosticSettingsResource> >(new AzureOperationResponse <ServiceDiagnosticSettingsResource> { Body = this.ExistingSetting })); insightsDiagnosticsOperationsMock.Setup(f => f.CreateOrUpdateWithHttpMessagesAsync( It.IsAny <string>(), It.IsAny <ServiceDiagnosticSettingsResource>(), It.IsAny <Dictionary <string, List <string> > >(), It.IsAny <CancellationToken>())) .Returns((string a, ServiceDiagnosticSettingsResource x, Dictionary <string, List <string> > b, CancellationToken c) => { calledSettings = x; return(Task.FromResult(new AzureOperationResponse <ServiceDiagnosticSettingsResource> { Body = x })); }); insightsManagementClientMock.SetupGet(f => f.ServiceDiagnosticSettings).Returns(this.insightsDiagnosticsOperationsMock.Object); cmdlet.ResourceId = resourceId; // Setup Confirmation commandRuntimeMock.Setup(f => f.ShouldProcess(It.IsAny <string>())).Returns(true); commandRuntimeMock.Setup(f => f.ShouldProcess(It.IsAny <string>(), It.IsAny <string>())).Returns(true); commandRuntimeMock.Setup(f => f.ShouldProcess(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())).Returns(true); commandRuntimeMock.Setup(f => f.ShouldContinue(It.IsAny <string>(), It.IsAny <string>())).Returns(true); }
private void SetAllCategoriesAndTimegrains(ServiceDiagnosticSettingsResource properties) { if (!this.isEnbledParameterPresent) { return; } foreach (var log in properties.Logs) { log.Enabled = this.Enabled; } foreach (var metric in properties.Metrics) { metric.Enabled = this.Enabled; } }
public void LogProfiles_GetTest() { var expResponse = CreateDiagnosticSettings(); var handler = new RecordedDelegatingHandler(); var insightsClient = GetInsightsManagementClient(handler); var serializedObject = Microsoft.Rest.Serialization.SafeJsonConvert.SerializeObject(expResponse, insightsClient.SerializationSettings); var expectedResponse = new HttpResponseMessage(HttpStatusCode.OK) { Content = new StringContent(serializedObject) }; handler = new RecordedDelegatingHandler(expectedResponse); insightsClient = GetInsightsManagementClient(handler); ServiceDiagnosticSettingsResource actualResponse = insightsClient.ServiceDiagnosticSettings.Get(resourceUri: ResourceUri); AreEqual(expResponse, actualResponse); }
private void SetSelectedCategories(ServiceDiagnosticSettingsResource properties) { if (!this.isEnbledParameterPresent) { throw new ArgumentException("Parameter 'Enabled' is required by 'Categories' parameter."); } foreach (string category in this.Categories) { LogSettings logSettings = properties.Logs.FirstOrDefault(x => string.Equals(x.Category, category, StringComparison.OrdinalIgnoreCase)); if (logSettings == null) { throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, "Log category '{0}' is not available", category)); } logSettings.Enabled = this.Enabled; } }
private void SetSelectedTimegrains(ServiceDiagnosticSettingsResource properties) { if (!this.isEnbledParameterPresent) { throw new ArgumentException("Parameter 'Enabled' is required by 'Timegrains' parameter."); } foreach (string timegrainString in this.Timegrains) { TimeSpan timegrain = XmlConvert.ToTimeSpan(timegrainString); MetricSettings metricSettings = properties.Metrics.FirstOrDefault(x => TimeSpan.Equals(x.TimeGrain, timegrain)); if (metricSettings == null) { throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, "Metric timegrain '{0}' is not available", timegrainString)); } metricSettings.Enabled = this.Enabled; } }
private void VerifySettings( ServiceDiagnosticSettingsResource expectedSettings, ServiceDiagnosticSettingsResource actualSettings) { Assert.Equal(expectedSettings.StorageAccountId, actualSettings.StorageAccountId); Assert.Equal(expectedSettings.ServiceBusRuleId, actualSettings.ServiceBusRuleId); Assert.Equal(expectedSettings.WorkspaceId, actualSettings.WorkspaceId); if (expectedSettings.Logs == null) { Assert.Null(actualSettings.Logs); } else { Assert.Equal(expectedSettings.Logs.Count, actualSettings.Logs.Count); for (int i = 0; i < expectedSettings.Logs.Count; i++) { var expected = expectedSettings.Logs[i]; var actual = actualSettings.Logs[i]; Assert.Equal(expected.Category, actual.Category); Assert.Equal(expected.Enabled, actual.Enabled); VerifyRetentionPolicy(expected.RetentionPolicy, actual.RetentionPolicy); } } if (expectedSettings.Metrics == null) { Assert.Null(actualSettings.Metrics); } else { Assert.Equal(expectedSettings.Metrics.Count, actualSettings.Metrics.Count); for (int i = 0; i < expectedSettings.Metrics.Count; i++) { var expected = expectedSettings.Metrics[i]; var actual = actualSettings.Metrics[i]; Assert.Equal(expected.TimeGrain, actual.TimeGrain); Assert.Equal(expected.Enabled, actual.Enabled); VerifyRetentionPolicy(expected.RetentionPolicy, actual.RetentionPolicy); } } }
private static void AreEqual(ServiceDiagnosticSettingsResource exp, ServiceDiagnosticSettingsResource act) { if (exp == act) { return; } if (exp == null) { Assert.Null(act); } Assert.False(act == null, "Actual value can't be null"); CompareLists(exp.Logs, act.Logs); CompareLists(exp.Metrics, act.Metrics); Assert.Equal(exp.StorageAccountId, act.StorageAccountId); Assert.Equal(exp.WorkspaceId, act.WorkspaceId); Assert.Equal(exp.ServiceBusRuleId, act.ServiceBusRuleId); }
private void SetRetention(ServiceDiagnosticSettingsResource properties) { var retentionPolicy = new RetentionPolicy { Enabled = this.RetentionEnabled.Value, Days = this.RetentionInDays.Value }; if (properties.Logs != null) { foreach (LogSettings logSettings in properties.Logs) { logSettings.RetentionPolicy = retentionPolicy; } } if (properties.Metrics != null) { foreach (MetricSettings metricSettings in properties.Metrics) { metricSettings.RetentionPolicy = retentionPolicy; } } }
public SetDiagnosticSettingCommandTests(Xunit.Abstractions.ITestOutputHelper output) { //ServiceManagemenet.Common.Models.XunitTracingInterceptor.AddToContext(new ServiceManagemenet.Common.Models.XunitTracingInterceptor(output)); insightsDiagnosticsOperationsMock = new Mock<IServiceDiagnosticSettingsOperations>(); insightsManagementClientMock = new Mock<InsightsManagementClient>(); commandRuntimeMock = new Mock<ICommandRuntime>(); cmdlet = new SetAzureRmDiagnosticSettingCommand() { CommandRuntime = commandRuntimeMock.Object, InsightsManagementClient = insightsManagementClientMock.Object }; request = new ServiceDiagnosticSettingsResource { StorageAccountId = storageAccountId, Logs = new List<LogSettings> { new LogSettings { Category = "TestCategory1", Enabled = true }, new LogSettings { Category = "TestCategory2", Enabled = false } }, Metrics = new List<MetricSettings> { new MetricSettings { TimeGrain = TimeSpan.FromMinutes(1), Enabled = false }, new MetricSettings { TimeGrain = TimeSpan.FromHours(1), Enabled = true } } }; insightsDiagnosticsOperationsMock.Setup(f => f.GetAsync(It.IsAny<string>(), It.IsAny<CancellationToken>())) .Returns(Task.FromResult<ServiceDiagnosticSettingsResource>(request)) .Callback((string resourceId) => { this.calledResourceId = resourceId; }); Rest.Azure.AzureOperationResponse<ServiceDiagnosticSettingsResource> response = new AzureOperationResponse<ServiceDiagnosticSettingsResource> { Body = request }; insightsDiagnosticsOperationsMock.Setup(f => f.CreateOrUpdateWithHttpMessagesAsync(It.IsAny<string>(), It.IsAny<ServiceDiagnosticSettingsCreateOrUpdateParameters>(), It.IsAny<Dictionary<string,List<string>>>(), It.IsAny<CancellationToken>())) .Returns(Task.FromResult<Rest.Azure.AzureOperationResponse<ServiceDiagnosticSettingsResource>>(response)) .Callback((string resourceId, ServiceDiagnosticSettingsCreateOrUpdateParameters putParameters, Dictionary<string,List<string>> headers) => { this.calledResourceId = resourceId; this.calledPutParameters = putParameters; }); insightsManagementClientMock.SetupGet(f => f.ServiceDiagnosticSettings).Returns(this.insightsDiagnosticsOperationsMock.Object); }
public SetDiagnosticSettingCommandTests(Xunit.Abstractions.ITestOutputHelper output) { //ServiceManagemenet.Common.Models.XunitTracingInterceptor.AddToContext(new ServiceManagemenet.Common.Models.XunitTracingInterceptor(output)); insightsDiagnosticsOperationsMock = new Mock <IServiceDiagnosticSettingsOperations>(); insightsManagementClientMock = new Mock <InsightsManagementClient>(); commandRuntimeMock = new Mock <ICommandRuntime>(); cmdlet = new SetAzureRmDiagnosticSettingCommand() { CommandRuntime = commandRuntimeMock.Object, InsightsManagementClient = insightsManagementClientMock.Object }; request = new ServiceDiagnosticSettingsResource { StorageAccountId = storageAccountId, Logs = new List <LogSettings> { new LogSettings { Category = "TestCategory1", Enabled = true }, new LogSettings { Category = "TestCategory2", Enabled = false } }, Metrics = new List <MetricSettings> { new MetricSettings { TimeGrain = TimeSpan.FromMinutes(1), Enabled = false }, new MetricSettings { TimeGrain = TimeSpan.FromHours(1), Enabled = true } } }; insightsDiagnosticsOperationsMock.Setup(f => f.GetAsync(It.IsAny <string>(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult <ServiceDiagnosticSettingsResource>(request)) .Callback((string resourceId) => { this.calledResourceId = resourceId; }); Rest.Azure.AzureOperationResponse <ServiceDiagnosticSettingsResource> response = new AzureOperationResponse <ServiceDiagnosticSettingsResource> { Body = request }; insightsDiagnosticsOperationsMock.Setup(f => f.CreateOrUpdateWithHttpMessagesAsync(It.IsAny <string>(), It.IsAny <ServiceDiagnosticSettingsCreateOrUpdateParameters>(), It.IsAny <Dictionary <string, List <string> > >(), It.IsAny <CancellationToken>())) .Returns(Task.FromResult <Rest.Azure.AzureOperationResponse <ServiceDiagnosticSettingsResource> >(response)) .Callback((string resourceId, ServiceDiagnosticSettingsCreateOrUpdateParameters putParameters, Dictionary <string, List <string> > headers) => { this.calledResourceId = resourceId; this.calledPutParameters = putParameters; }); insightsManagementClientMock.SetupGet(f => f.ServiceDiagnosticSettings).Returns(this.insightsDiagnosticsOperationsMock.Object); }
protected override void ProcessRecordInternal() { var putParameters = new ServiceDiagnosticSettingsResource(location: string.Empty); ServiceDiagnosticSettingsResource getResponse = this.InsightsManagementClient.ServiceDiagnosticSettings.GetAsync(resourceUri: this.ResourceId, cancellationToken: CancellationToken.None).Result; ServiceDiagnosticSettingsResource properties = getResponse; if (!string.IsNullOrWhiteSpace(this.StorageAccountId)) { properties.StorageAccountId = this.StorageAccountId; } if (!string.IsNullOrWhiteSpace(this.ServiceBusRuleId)) { properties.ServiceBusRuleId = this.ServiceBusRuleId; } if (!string.IsNullOrWhiteSpace(this.WorkspaceId)) { properties.WorkspaceId = this.WorkspaceId; } if (this.Categories == null && this.Timegrains == null) { foreach (var log in properties.Logs) { log.Enabled = this.Enabled; } foreach (var metric in properties.Metrics) { metric.Enabled = this.Enabled; } } else { if (this.Categories != null) { foreach (string category in this.Categories) { LogSettings logSettings = properties.Logs.FirstOrDefault(x => string.Equals(x.Category, category, StringComparison.OrdinalIgnoreCase)); if (logSettings == null) { throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, "Log category '{0}' is not available", category)); } logSettings.Enabled = this.Enabled; } } if (this.Timegrains != null) { foreach (string timegrainString in this.Timegrains) { TimeSpan timegrain = XmlConvert.ToTimeSpan(timegrainString); MetricSettings metricSettings = properties.Metrics.FirstOrDefault(x => TimeSpan.Equals(x.TimeGrain, timegrain)); if (metricSettings == null) { throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, "Metric timegrain '{0}' is not available", timegrainString)); } metricSettings.Enabled = this.Enabled; } } } if (this.RetentionEnabled.HasValue) { var retentionPolicy = new RetentionPolicy { Enabled = this.RetentionEnabled.Value, Days = this.RetentionInDays.Value }; if (properties.Logs != null) { foreach (LogSettings logSettings in properties.Logs) { logSettings.RetentionPolicy = retentionPolicy; } } if (properties.Metrics != null) { foreach (MetricSettings metricSettings in properties.Metrics) { metricSettings.RetentionPolicy = retentionPolicy; } } } putParameters.Logs = properties.Logs; putParameters.Metrics = properties.Metrics; putParameters.ServiceBusRuleId = properties.ServiceBusRuleId; putParameters.StorageAccountId = properties.StorageAccountId; putParameters.WorkspaceId = properties.WorkspaceId; ServiceDiagnosticSettingsResource result = this.InsightsManagementClient.ServiceDiagnosticSettings.CreateOrUpdateAsync(resourceUri: this.ResourceId, parameters: putParameters, cancellationToken: CancellationToken.None).Result; WriteObject(result); }
/// <summary> /// Create or update new diagnostic settings for the specified resource. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceUri'> /// The identifier of the resource. /// </param> /// <param name='parameters'> /// Parameters supplied to the operation. /// </param> public static ServiceDiagnosticSettingsResource CreateOrUpdate(this IServiceDiagnosticSettingsOperations operations, string resourceUri, ServiceDiagnosticSettingsResource parameters) { return(System.Threading.Tasks.Task.Factory.StartNew(s => ((IServiceDiagnosticSettingsOperations)s).CreateOrUpdateAsync(resourceUri, parameters), operations, System.Threading.CancellationToken.None, System.Threading.Tasks.TaskCreationOptions.None, System.Threading.Tasks.TaskScheduler.Default).Unwrap().GetAwaiter().GetResult()); }
/// <summary> /// Create or update new diagnostic settings for the specified resource. /// </summary> /// <param name='operations'> /// The operations group for this extension method. /// </param> /// <param name='resourceUri'> /// The identifier of the resource. /// </param> /// <param name='parameters'> /// Parameters supplied to the operation. /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> public static async System.Threading.Tasks.Task <ServiceDiagnosticSettingsResource> CreateOrUpdateAsync(this IServiceDiagnosticSettingsOperations operations, string resourceUri, ServiceDiagnosticSettingsResource parameters, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { using (var _result = await operations.CreateOrUpdateWithHttpMessagesAsync(resourceUri, parameters, null, cancellationToken).ConfigureAwait(false)) { return(_result.Body); } }
/// <summary> /// Create or update new diagnostic settings for the specified resource. /// </summary> /// <param name='resourceUri'> /// The identifier of the resource. /// </param> /// <param name='parameters'> /// Parameters supplied to the operation. /// </param> /// <param name='customHeaders'> /// Headers that will be added to request. /// </param> /// <param name='cancellationToken'> /// The cancellation token. /// </param> /// <exception cref="Microsoft.Rest.Azure.CloudException"> /// Thrown when the operation returned an invalid status code /// </exception> /// <exception cref="Microsoft.Rest.SerializationException"> /// Thrown when unable to deserialize the response /// </exception> /// <exception cref="Microsoft.Rest.ValidationException"> /// Thrown when a required parameter is null /// </exception> /// <return> /// A response object containing the response body and response headers. /// </return> public async System.Threading.Tasks.Task <Microsoft.Rest.Azure.AzureOperationResponse <ServiceDiagnosticSettingsResource> > CreateOrUpdateWithHttpMessagesAsync(string resourceUri, ServiceDiagnosticSettingsResource parameters, System.Collections.Generic.Dictionary <string, System.Collections.Generic.List <string> > customHeaders = null, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken)) { if (resourceUri == null) { throw new Microsoft.Rest.ValidationException(Microsoft.Rest.ValidationRules.CannotBeNull, "resourceUri"); } if (parameters == null) { throw new Microsoft.Rest.ValidationException(Microsoft.Rest.ValidationRules.CannotBeNull, "parameters"); } if (parameters != null) { parameters.Validate(); } if (this.Client.SubscriptionId == null) { throw new Microsoft.Rest.ValidationException(Microsoft.Rest.ValidationRules.CannotBeNull, "this.Client.SubscriptionId"); } string apiVersion = "2015-07-01"; // Tracing bool _shouldTrace = Microsoft.Rest.ServiceClientTracing.IsEnabled; string _invocationId = null; if (_shouldTrace) { _invocationId = Microsoft.Rest.ServiceClientTracing.NextInvocationId.ToString(); System.Collections.Generic.Dictionary <string, object> tracingParameters = new System.Collections.Generic.Dictionary <string, object>(); tracingParameters.Add("resourceUri", resourceUri); tracingParameters.Add("apiVersion", apiVersion); tracingParameters.Add("parameters", parameters); tracingParameters.Add("cancellationToken", cancellationToken); Microsoft.Rest.ServiceClientTracing.Enter(_invocationId, this, "CreateOrUpdate", tracingParameters); } // Construct URL var _baseUrl = this.Client.BaseUri.AbsoluteUri; var _url = new System.Uri(new System.Uri(_baseUrl + (_baseUrl.EndsWith("/") ? "" : "/")), "{resourceUri}/providers/microsoft.insights/diagnosticSettings/service").ToString(); _url = _url.Replace("{resourceUri}", System.Uri.EscapeDataString(resourceUri)); _url = _url.Replace("{subscriptionId}", System.Uri.EscapeDataString(this.Client.SubscriptionId)); System.Collections.Generic.List <string> _queryParameters = new System.Collections.Generic.List <string>(); if (apiVersion != null) { _queryParameters.Add(string.Format("api-version={0}", System.Uri.EscapeDataString(apiVersion))); } if (_queryParameters.Count > 0) { _url += (_url.Contains("?") ? "&" : "?") + string.Join("&", _queryParameters); } // Create HTTP transport objects System.Net.Http.HttpRequestMessage _httpRequest = new System.Net.Http.HttpRequestMessage(); System.Net.Http.HttpResponseMessage _httpResponse = null; _httpRequest.Method = new System.Net.Http.HttpMethod("PUT"); _httpRequest.RequestUri = new System.Uri(_url); // Set Headers if (this.Client.GenerateClientRequestId != null && this.Client.GenerateClientRequestId.Value) { _httpRequest.Headers.TryAddWithoutValidation("x-ms-client-request-id", System.Guid.NewGuid().ToString()); } if (this.Client.AcceptLanguage != null) { if (_httpRequest.Headers.Contains("accept-language")) { _httpRequest.Headers.Remove("accept-language"); } _httpRequest.Headers.TryAddWithoutValidation("accept-language", this.Client.AcceptLanguage); } if (customHeaders != null) { foreach (var _header in customHeaders) { if (_httpRequest.Headers.Contains(_header.Key)) { _httpRequest.Headers.Remove(_header.Key); } _httpRequest.Headers.TryAddWithoutValidation(_header.Key, _header.Value); } } // Serialize Request string _requestContent = null; if (parameters != null) { _requestContent = Microsoft.Rest.Serialization.SafeJsonConvert.SerializeObject(parameters, this.Client.SerializationSettings); _httpRequest.Content = new System.Net.Http.StringContent(_requestContent, System.Text.Encoding.UTF8); _httpRequest.Content.Headers.ContentType = System.Net.Http.Headers.MediaTypeHeaderValue.Parse("application/json; charset=utf-8"); } // Set Credentials if (this.Client.Credentials != null) { cancellationToken.ThrowIfCancellationRequested(); await this.Client.Credentials.ProcessHttpRequestAsync(_httpRequest, cancellationToken).ConfigureAwait(false); } // Send Request if (_shouldTrace) { Microsoft.Rest.ServiceClientTracing.SendRequest(_invocationId, _httpRequest); } cancellationToken.ThrowIfCancellationRequested(); _httpResponse = await this.Client.HttpClient.SendAsync(_httpRequest, cancellationToken).ConfigureAwait(false); if (_shouldTrace) { Microsoft.Rest.ServiceClientTracing.ReceiveResponse(_invocationId, _httpResponse); } System.Net.HttpStatusCode _statusCode = _httpResponse.StatusCode; cancellationToken.ThrowIfCancellationRequested(); string _responseContent = null; if ((int)_statusCode != 200) { var ex = new Microsoft.Rest.Azure.CloudException(string.Format("Operation returned an invalid status code '{0}'", _statusCode)); try { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); CloudError _errorBody = Microsoft.Rest.Serialization.SafeJsonConvert.DeserializeObject <CloudError>(_responseContent, this.Client.DeserializationSettings); if (_errorBody != null) { ex = new Microsoft.Rest.Azure.CloudException(_errorBody.Message); ex.Body = _errorBody; } } catch (Newtonsoft.Json.JsonException) { // Ignore the exception } ex.Request = new Microsoft.Rest.HttpRequestMessageWrapper(_httpRequest, _requestContent); ex.Response = new Microsoft.Rest.HttpResponseMessageWrapper(_httpResponse, _responseContent); if (_httpResponse.Headers.Contains("x-ms-request-id")) { ex.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } if (_shouldTrace) { Microsoft.Rest.ServiceClientTracing.Error(_invocationId, ex); } _httpRequest.Dispose(); if (_httpResponse != null) { _httpResponse.Dispose(); } throw ex; } // Create Result var _result = new Microsoft.Rest.Azure.AzureOperationResponse <ServiceDiagnosticSettingsResource>(); _result.Request = _httpRequest; _result.Response = _httpResponse; if (_httpResponse.Headers.Contains("x-ms-request-id")) { _result.RequestId = _httpResponse.Headers.GetValues("x-ms-request-id").FirstOrDefault(); } // Deserialize Response if ((int)_statusCode == 200) { _responseContent = await _httpResponse.Content.ReadAsStringAsync().ConfigureAwait(false); try { _result.Body = Microsoft.Rest.Serialization.SafeJsonConvert.DeserializeObject <ServiceDiagnosticSettingsResource>(_responseContent, this.Client.DeserializationSettings); } catch (Newtonsoft.Json.JsonException ex) { _httpRequest.Dispose(); if (_httpResponse != null) { _httpResponse.Dispose(); } throw new Microsoft.Rest.SerializationException("Unable to deserialize the response.", _responseContent, ex); } } if (_shouldTrace) { Microsoft.Rest.ServiceClientTracing.Exit(_invocationId, _result); } return(_result); }