CaPolice.xml

<?xml version="1.0"?>
<doc>
    <assembly>
        <name>CaPolice</name>
    </assembly>
    <members>
        <member name="T:CaPolice.Authentication.GithubActionsTokenCredential">
            <summary>
            Represents a token credential that retrieves an ID token from GitHub Actions OIDC and uses it to authenticate with Entra ID.
            </summary>
        </member>
        <member name="M:CaPolice.Authentication.GithubActionsTokenCredential.#ctor(System.String,System.String,System.String,System.Net.Http.HttpClient)">
            <summary>
            Initializes a new instance of the <see cref="T:CaPolice.Authentication.GithubActionsTokenCredential"/> class.
            </summary>
            <param name="tenantId">Override the tenant ID, as loaded from the `AZURE_TENANT_ID` variable</param>
            <param name="clientId">Override the client ID, as loaded from the `AZURE_CLIENT_ID` variable</param>
            <param name="idTokenAudience">Override the ID token audience, default `api://AzureADTokenExchange`</param>
            <param name="httpClient">Optional HTTP client to use for requests</param>
        </member>
        <member name="M:CaPolice.Authentication.GithubActionsTokenCredential.GetToken(Azure.Core.TokenRequestContext,System.Threading.CancellationToken)">
            <summary>
            Gets an access token from GitHub Actions OIDC and uses it to authenticate with Entra ID.
            </summary>
            <param name="requestContext"></param>
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="M:CaPolice.Authentication.GithubActionsTokenCredential.GetTokenAsync(Azure.Core.TokenRequestContext,System.Threading.CancellationToken)">
            <summary>
            Gets an access token from GitHub Actions OIDC and uses it to authenticate with Entra ID asynchronously.
            </summary>
            <param name="requestContext"></param>
            <param name="cancellationToken"></param>
            <returns></returns>
        </member>
        <member name="T:CaPolice.Authentication.GitHubTokenResponse">
            <summary>
            Represents the response from the GitHub Actions OIDC token endpoint.
            </summary>
        </member>
        <member name="P:CaPolice.Authentication.GitHubTokenResponse.value">
            <summary>
            Gets or sets the ID token value returned by the GitHub Actions OIDC token endpoint.
            </summary>
        </member>
        <member name="T:CaPolice.Commands.ConnectCaPoliceCommand">
            <summary>
            <para type="synopsis">Connects to CaPolice to Graph.</para>
            <para type="description">This cmdlet connects to CaPolice to Graph using the specified authentication method.</para>
            </summary>
            <parameterSet>
            <para type="name">GitHub</para>
            <para type="description">Connect to Graph using GitHub Actions workload identity.</para>
            </parameterSet>
            <parameterSet>
            <para type="name">DefaultCredentials</para>
            <para type="description">Connect to Graph using DefaultAzureCredential with default settings.</para>
            </parameterSet>
            <parameterSet>
            <para type="name">ManagedIdentity</para>
            <para type="description">Connect to Graph using managed identity with default settings.</para>
            </parameterSet>
            <example>
            <para type="name">GitHub Actions workload identity</para>
            <para type="description">Connect to Graph using GitHub Actions workload identity.</para>
            <code>Connect-CaPolice -Github</code>
            </example>
        </member>
        <member name="P:CaPolice.Commands.ConnectCaPoliceCommand.ClientId">
            <summary>
            Specify the client ID for the authentication, is load from the environment variable AZURE_CLIENT_ID if not specified.
            </summary>
        </member>
        <member name="P:CaPolice.Commands.ConnectCaPoliceCommand.TenantId">
            <summary>
            Specify the Tenant ID for the authentication, is load from the environment variable AZURE_TENANT_ID if not specified.
            </summary>
        </member>
        <member name="P:CaPolice.Commands.ConnectCaPoliceCommand.Github">
            <summary>
            Try connect to Graph using GitHub Actions workload identity.
            </summary>
        </member>
        <member name="P:CaPolice.Commands.ConnectCaPoliceCommand.UseManagedIdentity">
            <summary>
            Try connect to Graph using Managed Identity.
            </summary>
        </member>
        <member name="P:CaPolice.Commands.ConnectCaPoliceCommand.UseDefaultCredentials">
            <summary>
            Try connect to Graph using DefaultAzureCredential.
            </summary>
        </member>
        <member name="P:CaPolice.Commands.ConnectCaPoliceCommand.Test">
            <summary>
            Test the connection by retrieving a token from Graph and output it to the console.
            </summary>
        </member>
        <member name="M:CaPolice.Commands.ConnectCaPoliceCommand.ProcessRecordAsync(System.Threading.CancellationToken)">
            <inheritdoc />
        </member>
        <member name="P:CaPolice.Commands.ConnectCaPoliceCommand.BindDependencies">
            <summary>Source generated dependency binding for: <see cref="T:CaPolice.Commands.ConnectCaPoliceCommand"/></summary>
        </member>
        <member name="T:CaPolice.Startup">
            <inheritdoc/>
        </member>
        <member name="M:CaPolice.Startup.ConfigureServices(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
            <inheritdoc/>
        </member>
        <member name="M:CaPolice.Startup.ConfigurePowerShellLogging">
            <inheritdoc/>
        </member>
        <member name="T:Svrooij.PowerShell.DI.GenerateBindingsAttribute">
            <summary>
            Tell the source generator to generate code to bind the dependencies instead of using reflection.
            </summary>
            <remarks>Your class has to be a partial class and extend <see cref="T:Svrooij.PowerShell.DI.DependencyCmdlet`1"/>.</remarks>
        </member>
        <member name="T:Svrooij.PowerShell.DI.ServiceDependencyAttribute">
            <summary>
            Mark a field or property as a dependency that has to be resolved by the <see cref="T:System.IServiceProvider"/>.
            </summary>
        </member>
        <member name="P:Svrooij.PowerShell.DI.ServiceDependencyAttribute.Required">
            <summary>
            Should the dependency be required, if it is not found an exception will be thrown.
            </summary>
        </member>
        <member name="T:Svrooij.PowerShell.DI.PsStartup">
            <summary>
            Base class for startup classes for PowerShell cmdlets.
            Create a class that extends this class and override <see cref="M:Svrooij.PowerShell.DI.PsStartup.ConfigureServices(Microsoft.Extensions.DependencyInjection.IServiceCollection)"/>.
            </summary>
            <remarks>
            This class is called automatically by the <see cref="T:Svrooij.PowerShell.DI.DependencyCmdlet`1"/> constructor.
            Logging is automatically added to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>, please don't mess with the logging part.
            </remarks>
        </member>
        <member name="M:Svrooij.PowerShell.DI.PsStartup.ConfigureServices(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
            <summary>
            Override this method to configure the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> needed by your application.
            </summary>
            <param name="services"><see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> that you can add services to.</param>
            <remarks>Logging is setup for you, overriding it breaks stuff!</remarks>
        </member>
        <member name="M:Svrooij.PowerShell.DI.PsStartup.ConfigurePowerShellLogging">
            <summary>
            Override this method to configure the <see cref="T:Svrooij.PowerShell.DI.Logging.PowerShellLoggerConfiguration"/> needed by your application.
            </summary>
            <code>
            return builder =>
            {
               builder.MinimumLevel = LogLevel.Information;
            };
            </code>
        </member>
        <member name="T:Svrooij.PowerShell.DI.DependencyCmdlet`1">
            <summary>
            Base class for cmdlets that use dependency injection.
            <para>Use the <see cref="T:Svrooij.PowerShell.DI.GenerateBindingsAttribute"/> to tell the compiler to generate binding code instead of using reflection</para>
            </summary>
            <typeparam name="TStartup">Your startup class that has to extend <see cref="T:Svrooij.PowerShell.DI.PsStartup"/> and extend <see cref="M:Svrooij.PowerShell.DI.PsStartup.ConfigureServices(Microsoft.Extensions.DependencyInjection.IServiceCollection)"/>.</typeparam>
            <remarks>You should override <see cref="M:Svrooij.PowerShell.DI.DependencyCmdlet`1.ProcessRecordAsync(System.Threading.CancellationToken)"/>. A lot of other methods are blocked from overriding.</remarks>
        </member>
        <member name="M:Svrooij.PowerShell.DI.DependencyCmdlet`1.#ctor">
            <summary>
            <see cref="T:Svrooij.PowerShell.DI.DependencyCmdlet`1"/> constructor, called by PowerShell.
            </summary>
        </member>
        <member name="M:Svrooij.PowerShell.DI.DependencyCmdlet`1.ProcessRecordAsync(System.Threading.CancellationToken)">
            <summary>
            Override this method to process each record.
            </summary>
            <param name="cancellationToken">The cancellation token will be called when the user presses CTRL+C during execution</param>
            <remarks>Your overridden method will be called automatically!</remarks>
            <exception cref="T:System.NotImplementedException">When not overridden</exception>
            <exception cref="T:System.InvalidOperationException">When one or more dependencies marked as required are not found</exception>
        </member>
        <member name="P:Svrooij.PowerShell.DI.DependencyCmdlet`1.BindDependencies">
            <summary>
            Override this property to bind dependencies manually, the service provider is provided by the base library.
            </summary>
        </member>
        <member name="M:Svrooij.PowerShell.DI.DependencyCmdlet`1.ProcessRecord">
            <summary>
            You can call ProcessRecord, but you cannot override it!
            </summary>
            <remarks>Override the <see cref="M:Svrooij.PowerShell.DI.DependencyCmdlet`1.ProcessRecordAsync(System.Threading.CancellationToken)"/> method, which is called automatically.</remarks>
        </member>
        <member name="M:Svrooij.PowerShell.DI.DependencyCmdlet`1.BeginProcessing">
            <summary>
            You can call BeginProcessing, but you cannot override it!
            </summary>
            <remarks>This is called by PowerShell automatically. And is used to bind dependencies.</remarks>
        </member>
        <member name="M:Svrooij.PowerShell.DI.DependencyCmdlet`1.StopProcessing">
            <summary>
            You can call StopProcessing, but you cannot override it!
            </summary>
            <remarks>This is called by PowerShell if the user cancels the request. If is used to trigger the cancellationToken on <see cref="M:Svrooij.PowerShell.DI.DependencyCmdlet`1.ProcessRecordAsync(System.Threading.CancellationToken)"/>.</remarks>
        </member>
        <member name="M:Svrooij.PowerShell.DI.DependencyCmdlet`1.EndProcessing">
            <summary>
            You can call EndProcessing, but you cannot override it!
            </summary>
            <remarks>This is called by PowerShell automatically.</remarks>
        </member>
        <member name="M:Svrooij.PowerShell.DI.ServiceProviderExtensions.BindDependencies(System.IServiceProvider,System.Object)">
            <summary>
            Use reflection to find all properties and fields with the <see cref="T:Svrooij.PowerShell.DI.ServiceDependencyAttribute"/> and set the value of the property or field using the service provider.
            </summary>
            <param name="serviceProvider"><see cref="T:System.IServiceProvider"/> to use to resolve dependencies</param>
            <param name="obj">The object where the dependencies have to be set</param>
            <exception cref="T:System.ArgumentNullException">if required arguments are not set</exception>
            <exception cref="T:System.InvalidOperationException">if a required dependency is not found</exception>"
        </member>
        <member name="T:Svrooij.PowerShell.DI.Logging.PowerShellLogger">
            <summary>
            <see cref="T:Microsoft.Extensions.Logging.ILogger"/> that outputs to the PowerShell <see cref="T:System.Management.Automation.PSCmdlet"/>
            </summary>
        </member>
        <member name="M:Svrooij.PowerShell.DI.Logging.PowerShellLogger.#ctor(System.String,System.Func{Svrooij.PowerShell.DI.Logging.PowerShellLoggerConfiguration},Svrooij.PowerShell.DI.Logging.PowerShellLoggerContainer)">
            <summary>
            Constructor for <see cref="T:Svrooij.PowerShell.DI.Logging.PowerShellLogger"/>
            </summary>
            <remarks>Called automatically by the <see cref="T:Svrooij.PowerShell.DI.Logging.PowerShellLoggerProvider"/></remarks>
        </member>
        <member name="M:Svrooij.PowerShell.DI.Logging.PowerShellLogger.Log``1(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,``0,System.Exception,System.Func{``0,System.Exception,System.String})">
            <inheritdoc/>
        </member>
        <member name="M:Svrooij.PowerShell.DI.Logging.PowerShellLogger.IsEnabled(Microsoft.Extensions.Logging.LogLevel)">
            <inheritdoc/>
        </member>
        <member name="M:Svrooij.PowerShell.DI.Logging.PowerShellLogger.BeginScope``1(``0)">
            <inheritdoc/>
        </member>
        <member name="T:Svrooij.PowerShell.DI.Logging.PowerShellLoggerConfiguration">
            <summary>
            Configuration for the <see cref="T:Svrooij.PowerShell.DI.Logging.PowerShellLoggerProvider"/>
            </summary>
        </member>
        <member name="P:Svrooij.PowerShell.DI.Logging.PowerShellLoggerConfiguration.DefaultLevel">
            <summary>
            Minimum level of log messages to output
            </summary>
        </member>
        <member name="P:Svrooij.PowerShell.DI.Logging.PowerShellLoggerConfiguration.LogLevel">
            <summary>
            Override the minimum level for specific categories (Type Names)
            </summary>
        </member>
        <member name="P:Svrooij.PowerShell.DI.Logging.PowerShellLoggerConfiguration.IncludeCategory">
            <summary>
            Specify if the log message should be prefixed with the category name
            </summary>
        </member>
        <member name="P:Svrooij.PowerShell.DI.Logging.PowerShellLoggerConfiguration.StripNamespace">
            <summary>
            Strip the namespace from the category name
            </summary>
        </member>
        <member name="T:Svrooij.PowerShell.DI.Logging.PowerShellLoggerContainer">
            <summary>
            Container for the <see cref="T:System.Management.Automation.PSCmdlet"/> that is used by the <see cref="T:Svrooij.PowerShell.DI.Logging.PowerShellLoggerProvider"/>
            </summary>
        </member>
        <member name="T:Svrooij.PowerShell.DI.Logging.PowerShellLoggerProvider">
            <summary>
            <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> that outputs to the PowerShell <see cref="T:System.Management.Automation.PSCmdlet"/>
            </summary>
        </member>
        <member name="M:Svrooij.PowerShell.DI.Logging.PowerShellLoggerProvider.#ctor(Microsoft.Extensions.Options.IOptionsMonitor{Svrooij.PowerShell.DI.Logging.PowerShellLoggerConfiguration},Svrooij.PowerShell.DI.Logging.PowerShellLoggerContainer)">
            <summary>
            Creates a new instance of <see cref="T:Svrooij.PowerShell.DI.Logging.PowerShellLoggerProvider"/>
            </summary>
            <param name="config">Auto loaded configuration</param>
            <param name="powerShellLoggerContainer">Container for the <see cref="T:System.Management.Automation.PSCmdlet"/></param>
        </member>
        <member name="M:Svrooij.PowerShell.DI.Logging.PowerShellLoggerProvider.CreateLogger(System.String)">
            <summary>
            Creates a new <see cref="T:Microsoft.Extensions.Logging.ILogger"/> instance.
            </summary>
            <param name="categoryName">Category name to use</param>
            <returns><see cref="T:Microsoft.Extensions.Logging.ILogger"/></returns>
        </member>
        <member name="M:Svrooij.PowerShell.DI.Logging.PowerShellLoggerProvider.Dispose">
            <summary>
            Dispose the provider
            </summary>
        </member>
        <member name="M:Svrooij.PowerShell.DI.Logging.PsCmdletExtensions.WriteLog(System.Management.Automation.PSCmdlet,Microsoft.Extensions.Logging.LogLevel,System.Int32,System.String,System.Exception)">
            <summary>
            Write a log message to the provider PowerShell <see cref="T:System.Management.Automation.PSCmdlet"/>
            </summary>
            <param name="cmdlet"><see cref="T:System.Management.Automation.PSCmdlet"/> that is used for the log message</param>
            <param name="logLevel"><see cref="T:Microsoft.Extensions.Logging.LogLevel"/> for the message, will be put in from the message</param>
            <param name="eventId">The ID for this specific event</param>
            <param name="message">Log message</param>
            <param name="e">(optional) <see cref="T:System.Exception"/></param>
        </member>
        <member name="M:Svrooij.PowerShell.DI.Logging.PowershellLoggingBuilderExtensions.AddPowerShellLogging(Microsoft.Extensions.Logging.ILoggingBuilder,System.Management.Automation.PSCmdlet)">
            <summary>
            Adds a PowerShell logger named 'PowerShell' to the logger factory.
            </summary>
            <param name="builder"><see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> that you get when you call serviceCollection.AddLogging(builder =>)</param>
            <param name="cmdlet">(optional) <see cref="T:System.Management.Automation.PSCmdlet"/> where the log messages are sent to</param>
            <returns><see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to support chaining</returns>
        </member>
        <member name="M:Svrooij.PowerShell.DI.Logging.ServiceProviderLoggerExtensions.AddPowerShellLogging(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{Svrooij.PowerShell.DI.Logging.PowerShellLoggerConfiguration},System.Management.Automation.PSCmdlet)">
            <summary>
            Adds a PowerShell logger named 'PowerShell' to the service collection.
            </summary>
            <param name="services"><see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> you want to add logging to</param>
            <param name="configure">(optional) action to configure the <see cref="T:Svrooij.PowerShell.DI.Logging.PowerShellLoggerConfiguration"/></param>
            <param name="cmdlet">(optional) <see cref="T:System.Management.Automation.PSCmdlet"/> where the log messages are sent to</param>
            <returns><see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> to support chaining</returns>
            <exception cref="T:System.ArgumentNullException">When one of the required arguments are not set</exception>
        </member>
        <member name="T:Svrooij.PowerShell.DI.ThreadAffinitiveSynchronizationContext">
            <summary>
            A synchronisation context that runs all calls scheduled on it (via <see cref="M:System.Threading.SynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)"/>) on a single thread.
            </summary>
            <remarks>This part is taken from <see href="https://github.com/NTTLimitedRD/OctopusDeploy.Powershell/blob/7653993ffbf3ddfc7381e1196dbaa6fdf43cd982/OctopusDeploy.Powershell/ThreadAffinitiveSynchronizationContext.cs">OctopusDeploy.Powershell</see> licensed under <see href="https://github.com/NTTLimitedRD/OctopusDeploy.Powershell/blob/7653993ffbf3ddfc7381e1196dbaa6fdf43cd982/LICENSE">MIT</see>. And was then optimized using Github Copilot.</remarks>
        </member>
        <member name="M:Svrooij.PowerShell.DI.ThreadAffinitiveSynchronizationContext.Dispose">
            <summary>
            Deconstructor that disposes the synchronization context.
            </summary>
        </member>
        <member name="M:Svrooij.PowerShell.DI.ThreadAffinitiveSynchronizationContext.Post(System.Threading.SendOrPostCallback,System.Object)">
            <summary>
            Add a new work item to the synchronization context's queue.
            </summary>
        </member>
        <member name="M:Svrooij.PowerShell.DI.ThreadAffinitiveSynchronizationContext.RunSynchronized(System.Func{System.Threading.Tasks.Task})">
            <summary>
            Add a new work item to the synchronization context's queue and wait for it to complete.
            </summary>
        </member>
        <member name="M:Svrooij.PowerShell.DI.ThreadAffinitiveSynchronizationContext.RunSynchronized``1(System.Func{System.Threading.Tasks.Task{``0}})">
            <summary>
            Add a new work item to the synchronization context's queue and wait for it to complete, returning the result.
            </summary>
        </member>
    </members>
</doc>