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;
     }
 }