public override void ExecuteCmdlet() { PSDataSource dataSource = OperationalInsightsClient.GetSingletonDataSource( this.ResourceGroupName, this.WorkspaceName, PSDataSourceKinds.LinuxSyslogCollection); if (null == dataSource) { var dsProperties = new PSLinuxSyslogCollectionDataSourceProperties { State = CollectionState.Disabled }; CreatePSDataSourceWithProperties(dsProperties, Resources.SingletonDataSourceLinuxSyslogCollectionDefaultName); } else { PSLinuxSyslogCollectionDataSourceProperties dsProperties = dataSource.Properties as PSLinuxSyslogCollectionDataSourceProperties; dsProperties.State = CollectionState.Disabled; UpdatePSDataSourceParameters parameters = new UpdatePSDataSourceParameters { ResourceGroupName = dataSource.ResourceGroupName, WorkspaceName = dataSource.WorkspaceName, Name = dataSource.Name, Properties = dsProperties }; WriteObject(OperationalInsightsClient.UpdatePSDataSource(parameters)); } }
public virtual PSDataSource CreatePSDataSource(CreatePSDataSourceParameters parameters) { PSDataSource dataSource = null; Action createDataSource = () => { dataSource = new PSDataSource( CreateOrUpdateDataSource( parameters.ResourceGroupName, parameters.WorkspaceName, parameters.Name, parameters.Properties), parameters.ResourceGroupName, parameters.WorkspaceName); }; parameters.ConfirmAction( parameters.Force, string.Format( CultureInfo.InvariantCulture, Resources.DataSourceExists, parameters.Name, parameters.WorkspaceName), string.Format( CultureInfo.InvariantCulture, Resources.DataSourceNotFound, parameters.Name, parameters.WorkspaceName), parameters.Name, createDataSource, () => CheckDataSourceExists(parameters.ResourceGroupName, parameters.WorkspaceName, parameters.Name)); return(dataSource); }
private bool CheckDataSourceExists(string resourceGroupName, string workspaceName, string dataSourceName) { try { PSDataSource datasource = GetDataSource(resourceGroupName, workspaceName, dataSourceName); return(true); } catch (Rest.Azure.CloudException e) { // Get throws NotFound exception if workspace does not exist if (e.Response.StatusCode == HttpStatusCode.NotFound) { return(false); } throw; } }