diff --git a/CHANGELOG.md b/CHANGELOG.md index 83d2519..ff6b704 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ The format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) loos ## Unreleased +## 2026.06.05.0117 + +- Build produced from commit cffda99591c9. + +## Unreleased (carried forward) + ## 2026.06.05.0015 - Build produced from commit fb27ab8a8503. diff --git a/Module/PSInfisicalAPI/PSInfisicalAPI.psd1 b/Module/PSInfisicalAPI/PSInfisicalAPI.psd1 index 0f9f952..a9c70cf 100644 --- a/Module/PSInfisicalAPI/PSInfisicalAPI.psd1 +++ b/Module/PSInfisicalAPI/PSInfisicalAPI.psd1 @@ -1,6 +1,6 @@ @{ RootModule = 'PSInfisicalAPI.psm1' - ModuleVersion = '2026.06.04.2335' + ModuleVersion = '2026.06.05.0117' GUID = 'b8a2f3d4-7c51-4d2f-9e6a-1f0c8b3d4e51' Author = 'Grace Solutions' CompanyName = 'Grace Solutions' @@ -63,7 +63,7 @@ LicenseUri = 'https://www.gnu.org/licenses/agpl-3.0.html' ProjectUri = 'https://prod.git.gracesolution.info/gsadmin/PSInfisicalAPI' ReleaseNotes = 'See CHANGELOG.md in the project repository for release history.' - CommitHash = '3c39a99b9a4c' + CommitHash = 'cffda99591c9' } } } \ No newline at end of file diff --git a/Module/PSInfisicalAPI/bin/PSInfisicalAPI.dll b/Module/PSInfisicalAPI/bin/PSInfisicalAPI.dll index babeb12..fd0a393 100644 Binary files a/Module/PSInfisicalAPI/bin/PSInfisicalAPI.dll and b/Module/PSInfisicalAPI/bin/PSInfisicalAPI.dll differ diff --git a/Module/PSInfisicalAPI/bin/en-US/PSInfisicalAPI.dll-Help.xml b/Module/PSInfisicalAPI/bin/en-US/PSInfisicalAPI.dll-Help.xml index c39f22b..5d82499 100644 --- a/Module/PSInfisicalAPI/bin/en-US/PSInfisicalAPI.dll-Help.xml +++ b/Module/PSInfisicalAPI/bin/en-US/PSInfisicalAPI.dll-Help.xml @@ -9,7 +9,7 @@ Infisical - Authenticates against an Infisical instance using one of the supported auth providers (UniversalAuth, Token, JWT, OIDC, LDAP, Azure, GCP IAM) and stores the resulting connection in the module-level session manager. Subsequent cmdlets pick up the connection automatically. If parameters such as BaseUri, OrganizationId, ProjectId, Environment, ClientId, or ClientSecret are not supplied, the cmdlet attempts to resolve them from a curated list of environment-variable name patterns across Process, User, and Machine scopes. + Authenticates against an Infisical instance using one of the supported auth providers (UniversalAuth, Token, JWT, OIDC, LDAP, Azure, GCP IAM) and stores the resulting connection in the module-level session manager. Subsequent cmdlets pick up the connection automatically. If parameters such as BaseUri, OrganizationId, ClientId, or ClientSecret are not supplied, the cmdlet attempts to resolve them from a curated list of environment-variable name patterns across Process, User, and Machine scopes. The connection no longer carries a default ProjectId, Environment, or SecretPath; downstream cmdlets accept those as explicit (mandatory where applicable) parameters. Notes @@ -21,7 +21,7 @@ EXAMPLE 1 - Connect-Infisical -BaseUri 'https://app.infisical.com' -ClientId $ClientId -ClientSecret $ClientSecret -OrganizationId $OrgId -ProjectId $ProjectId -Environment 'dev' + Connect-Infisical -BaseUri 'https://app.infisical.com' -ClientId $ClientId -ClientSecret $ClientSecret -OrganizationId $OrgId Performs a Universal-Auth machine-identity login and stores the resulting session for subsequent cmdlets. @@ -29,11 +29,8 @@ $ConnectInfisicalParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' -ArgumentList ([System.StringComparer]::OrdinalIgnoreCase) $ConnectInfisicalParameters.BaseUri = 'https://app.infisical.com' $ConnectInfisicalParameters.OrganizationId = $OrganizationId -$ConnectInfisicalParameters.ProjectId = $ProjectId -$ConnectInfisicalParameters.Environment = 'dev' $ConnectInfisicalParameters.ClientId = $ClientId $ConnectInfisicalParameters.ClientSecret = $ClientSecret -$ConnectInfisicalParameters.SecretPath = '/' $ConnectInfisicalParameters.ApiVersion = 'v4' $ConnectInfisicalParameters.PassThru = $True $ConnectInfisicalParameters.Verbose = $True @@ -86,7 +83,7 @@ $DisconnectInfisicalResult = Disconnect-Infisical @DisconnectInfisicalParameters InfisicalSecret - Default (List parameter set) enumerates secrets under the active session's project and environment, optionally recursing through subfolders and filtering by metadata or tag slugs. When -SecretName is supplied (Single parameter set) the cmdlet returns one secret by name; -Version and -Type tune the single-record fetch. ProjectId, Environment, SecretPath, and ApiVersion default to the values pinned on the active InfisicalConnection in both modes. + Default (List parameter set) enumerates secrets under the supplied project and environment, optionally recursing through subfolders and filtering by metadata or tag slugs. When -SecretName is supplied (Single parameter set) the cmdlet returns one secret by name; -Version and -Type tune the single-record fetch. -ProjectId and -Environment are mandatory in both modes; -SecretPath defaults to '/' and -ApiVersion defaults to the value pinned on the active InfisicalConnection. Notes @@ -97,8 +94,8 @@ $DisconnectInfisicalResult = Disconnect-Infisical @DisconnectInfisicalParameters EXAMPLE 1 - Get-InfisicalSecret -SecretPath '/Windows' -Recursive - Lists every secret under /Windows in the active project and environment. + Get-InfisicalSecret -ProjectId $ProjectId -Environment 'dev' -SecretPath '/Windows' -Recursive + Lists every secret under /Windows in the dev environment of the specified project. EXAMPLE 2 @@ -108,8 +105,8 @@ $DisconnectInfisicalResult = Disconnect-Infisical @DisconnectInfisicalParameters EXAMPLE 3 $GetInfisicalSecretParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' -ArgumentList ([System.StringComparer]::OrdinalIgnoreCase) -$GetInfisicalSecretParameters.ProjectId = $ConnectInfisicalParameters.ProjectId -$GetInfisicalSecretParameters.Environment = $ConnectInfisicalParameters.Environment +$GetInfisicalSecretParameters.ProjectId = $ProjectId +$GetInfisicalSecretParameters.Environment = 'dev' $GetInfisicalSecretParameters.SecretPath = "/Windows/$($CallingScriptPath.BaseName)" $GetInfisicalSecretParameters.Recursive = $True $GetInfisicalSecretParameters.ExpandSecretReferences = $True @@ -142,19 +139,19 @@ $GetInfisicalSecretResult = Get-InfisicalSecret @GetInfisicalSecretParameters EXAMPLE 1 - New-InfisicalSecret -SecretName 'API_KEY' -SecretValue 'super-secret-value' - Creates a single shared secret in the active project/environment. + New-InfisicalSecret -SecretName 'API_KEY' -SecretValue 'super-secret-value' -ProjectId $ProjectId -Environment 'dev' + Creates a single shared secret in the specified project/environment. EXAMPLE 2 - $GetInfisicalTagResult = Get-InfisicalTag -ProjectId $ConnectInfisicalParameters.ProjectId + $GetInfisicalTagResult = Get-InfisicalTag -ProjectId $ProjectId $NewInfisicalSecretParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' -ArgumentList ([System.StringComparer]::OrdinalIgnoreCase) $NewInfisicalSecretParameters.SecretName = 'API_KEY' $NewInfisicalSecretParameters.SecretValue = 'super-secret-value' $NewInfisicalSecretParameters.SecretComment = 'Issued by deployment pipeline' -$NewInfisicalSecretParameters.ProjectId = $ConnectInfisicalParameters.ProjectId -$NewInfisicalSecretParameters.Environment = $ConnectInfisicalParameters.Environment +$NewInfisicalSecretParameters.ProjectId = $ProjectId +$NewInfisicalSecretParameters.Environment = 'dev' $NewInfisicalSecretParameters.SecretPath = "/Windows/$($CallingScriptPath.BaseName)" $NewInfisicalSecretParameters.TagIds = @($GetInfisicalTagResult[0].Id) $NewInfisicalSecretParameters.Verbose = $True @@ -184,8 +181,8 @@ $NewInfisicalSecretResult = New-InfisicalSecret @NewInfisicalSecretParameters EXAMPLE 1 - Update-InfisicalSecret -SecretName 'API_KEY' -SecretValue 'rotated-value' - Rotates the API_KEY secret in the active project/environment. + Update-InfisicalSecret -SecretName 'API_KEY' -SecretValue 'rotated-value' -ProjectId $ProjectId -Environment 'dev' + Rotates the API_KEY secret in the specified project/environment. EXAMPLE 2 @@ -194,8 +191,8 @@ $UpdateInfisicalSecretParameters.SecretName = 'API_KEY' $UpdateInfisicalSecretParameters.NewSecretName = 'API_KEY_V2' $UpdateInfisicalSecretParameters.SecretValue = 'rotated-value' $UpdateInfisicalSecretParameters.SecretComment = 'Rotated by scheduled job' -$UpdateInfisicalSecretParameters.ProjectId = $ConnectInfisicalParameters.ProjectId -$UpdateInfisicalSecretParameters.Environment = $ConnectInfisicalParameters.Environment +$UpdateInfisicalSecretParameters.ProjectId = $ProjectId +$UpdateInfisicalSecretParameters.Environment = 'dev' $UpdateInfisicalSecretParameters.SecretPath = "/Windows/$($CallingScriptPath.BaseName)" $UpdateInfisicalSecretParameters.Verbose = $True @@ -224,15 +221,15 @@ $UpdateInfisicalSecretResult = Update-InfisicalSecret @UpdateInfisicalSecretPara EXAMPLE 1 - Remove-InfisicalSecret -SecretName 'API_KEY_V1' -Confirm:$False + Remove-InfisicalSecret -SecretName 'API_KEY_V1' -ProjectId $ProjectId -Environment 'dev' -Confirm:$False Deletes a single secret without prompting. EXAMPLE 2 $RemoveInfisicalSecretParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' -ArgumentList ([System.StringComparer]::OrdinalIgnoreCase) $RemoveInfisicalSecretParameters.SecretNames = @('LEGACY_KEY_1','LEGACY_KEY_2','LEGACY_KEY_3') -$RemoveInfisicalSecretParameters.ProjectId = $ConnectInfisicalParameters.ProjectId -$RemoveInfisicalSecretParameters.Environment = $ConnectInfisicalParameters.Environment +$RemoveInfisicalSecretParameters.ProjectId = $ProjectId +$RemoveInfisicalSecretParameters.Environment = 'dev' $RemoveInfisicalSecretParameters.SecretPath = "/Windows/$($CallingScriptPath.BaseName)" $RemoveInfisicalSecretParameters.PassThru = $True $RemoveInfisicalSecretParameters.Confirm = $False @@ -263,17 +260,17 @@ $RemoveInfisicalSecretResult = Remove-InfisicalSecret @RemoveInfisicalSecretPara EXAMPLE 1 - Get-InfisicalSecret | Select-Object -ExpandProperty Id | Copy-InfisicalSecret -DestinationEnvironment 'staging' -CopySecretValue - Copies all secrets from the active environment into 'staging', including their values. + Get-InfisicalSecret -ProjectId $ProjectId -Environment 'dev' | Select-Object -ExpandProperty Id | Copy-InfisicalSecret -ProjectId $ProjectId -SourceEnvironment 'dev' -DestinationEnvironment 'staging' -CopySecretValue + Copies all secrets from dev into staging, including their values. EXAMPLE 2 - $GetInfisicalSecretResult = Get-InfisicalSecret -SecretPath '/Windows' -Recursive + $GetInfisicalSecretResult = Get-InfisicalSecret -ProjectId $ProjectId -Environment 'dev' -SecretPath '/Windows' -Recursive $CopyInfisicalSecretParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' -ArgumentList ([System.StringComparer]::OrdinalIgnoreCase) $CopyInfisicalSecretParameters.SecretId = $GetInfisicalSecretResult.Id -$CopyInfisicalSecretParameters.ProjectId = $ConnectInfisicalParameters.ProjectId -$CopyInfisicalSecretParameters.SourceEnvironment = $ConnectInfisicalParameters.Environment +$CopyInfisicalSecretParameters.ProjectId = $ProjectId +$CopyInfisicalSecretParameters.SourceEnvironment = 'dev' $CopyInfisicalSecretParameters.SourceSecretPath = '/Windows' $CopyInfisicalSecretParameters.DestinationEnvironment = 'staging' $CopyInfisicalSecretParameters.DestinationSecretPath = '/Windows' @@ -285,7 +282,7 @@ $CopyInfisicalSecretParameters.CopyMetadata = $True $CopyInfisicalSecretParameters.Verbose = $True $CopyInfisicalSecretResult = Copy-InfisicalSecret @CopyInfisicalSecretParameters - Promotes every Windows secret from the active environment into staging with full value/comment/tag/metadata propagation. + Promotes every Windows secret from dev into staging with full value/comment/tag/metadata propagation. @@ -309,12 +306,12 @@ $CopyInfisicalSecretResult = Copy-InfisicalSecret @CopyInfisicalSecretParameters EXAMPLE 1 - Get-InfisicalSecret | ConvertTo-InfisicalSecretDictionary -AsPlainText - Builds a plain-text dictionary of every secret in the active environment. + Get-InfisicalSecret -ProjectId $ProjectId -Environment 'dev' | ConvertTo-InfisicalSecretDictionary -AsPlainText + Builds a plain-text dictionary of every secret in the dev environment of the specified project. EXAMPLE 2 - $GetInfisicalSecretResult = Get-InfisicalSecret -SecretPath "/Windows/$($CallingScriptPath.BaseName)" -Recursive + $GetInfisicalSecretResult = Get-InfisicalSecret -ProjectId $ProjectId -Environment 'dev' -SecretPath "/Windows/$($CallingScriptPath.BaseName)" -Recursive $ConvertToInfisicalSecretDictionaryParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' -ArgumentList ([System.StringComparer]::OrdinalIgnoreCase) $ConvertToInfisicalSecretDictionaryParameters.InputObject = $GetInfisicalSecretResult @@ -347,12 +344,12 @@ $ConvertToInfisicalSecretDictionaryResult = ConvertTo-InfisicalSecretDictionary EXAMPLE 1 - Get-InfisicalSecret | Export-InfisicalSecrets -Format DotEnv -Path '.\.env' -Force - Writes the active environment's secrets to a .env file. + Get-InfisicalSecret -ProjectId $ProjectId -Environment 'dev' | Export-InfisicalSecrets -Format DotEnv -Path '.\.env' -Force + Writes the dev environment's secrets for the specified project to a .env file. EXAMPLE 2 - $GetInfisicalSecretResult = Get-InfisicalSecret -SecretPath "/Windows/$($CallingScriptPath.BaseName)" -Recursive + $GetInfisicalSecretResult = Get-InfisicalSecret -ProjectId $ProjectId -Environment 'dev' -SecretPath "/Windows/$($CallingScriptPath.BaseName)" -Recursive $ExportInfisicalSecretsParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' -ArgumentList ([System.StringComparer]::OrdinalIgnoreCase) $ExportInfisicalSecretsParameters.InputObject = $GetInfisicalSecretResult @@ -375,7 +372,7 @@ $ExportInfisicalSecretsResult = Export-InfisicalSecrets @ExportInfisicalSecretsP InfisicalProject - Default (List parameter set) returns every project the active session can see; project visibility is governed by Infisical's role assignments. When -ProjectId is supplied (Single parameter set) the cmdlet returns the one matching record. + Default (List parameter set) returns every project the active session can see; project visibility is governed by Infisical's role assignments. -Type filters the list to a single product surface (secret-manager, cert-manager, kms, ssh, secret-scanning, pam, ai). -IncludeRoles asks the server to return the caller's role bindings on each project. When -ProjectId is supplied (Single parameter set) the cmdlet returns the one matching record. Notes @@ -391,19 +388,24 @@ $ExportInfisicalSecretsResult = Export-InfisicalSecrets @ExportInfisicalSecretsP EXAMPLE 2 - Get-InfisicalProject -ProjectId $ConnectInfisicalParameters.ProjectId - Retrieves the canonical record for the project pinned by the active session. + Get-InfisicalProject -ProjectId $ProjectId + Retrieves the canonical record for a single project by id. EXAMPLE 3 - $GetInfisicalProjectListResult = Get-InfisicalProject | Where-Object { $_.Slug -ilike 'platform-*' } + Get-InfisicalProject -Type 'cert-manager' -IncludeRoles + Lists every Certificate Manager project visible to the session, including the caller's role bindings. + + + EXAMPLE 4 + $GetInfisicalProjectListResult = Get-InfisicalProject -Type 'secret-manager' | Where-Object { $_.Slug -ilike 'platform-*' } $GetInfisicalProjectParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' -ArgumentList ([System.StringComparer]::OrdinalIgnoreCase) $GetInfisicalProjectParameters.ProjectId = $GetInfisicalProjectListResult[0].Id $GetInfisicalProjectParameters.Verbose = $True $GetInfisicalProjectResult = Get-InfisicalProject @GetInfisicalProjectParameters - Filters the project list to slugs that begin with 'platform-' and refetches the first match by id. + Filters Secret Manager projects to slugs that begin with 'platform-' and refetches the first match by id. @@ -454,7 +456,7 @@ $NewInfisicalProjectResult = New-InfisicalProject @NewInfisicalProjectParameters InfisicalProject - Updates mutable attributes on a project. -ProjectId defaults to the pinned session project when omitted. Only parameters that are bound are sent to the server. Honors -WhatIf and -Confirm. + Updates mutable attributes on a project. -ProjectId is required. Only parameters that are bound are sent to the server. Honors -WhatIf and -Confirm. Notes @@ -466,7 +468,7 @@ $NewInfisicalProjectResult = New-InfisicalProject @NewInfisicalProjectParameters EXAMPLE 1 Update-InfisicalProject -Name 'Platform Telemetry (v2)' - Renames the session-pinned project. + Renames the supplied project. EXAMPLE 2 @@ -493,7 +495,7 @@ $UpdateInfisicalProjectResult = Update-InfisicalProject @UpdateInfisicalProjectP InfisicalProject - Deletes a project by Id. Defaults to the session-pinned project when -ProjectId is omitted. High ConfirmImpact prompts unless -Confirm:$False is supplied. -PassThru emits the removed project id. + Deletes a project by Id. -ProjectId is required. High ConfirmImpact prompts unless -Confirm:$False is supplied. -PassThru emits the removed project id. Notes @@ -505,7 +507,7 @@ $UpdateInfisicalProjectResult = Update-InfisicalProject @UpdateInfisicalProjectP EXAMPLE 1 Remove-InfisicalProject -Confirm:$False - Deletes the session-pinned project without prompting. + Deletes the supplied project without prompting. EXAMPLE 2 @@ -531,7 +533,7 @@ $RemoveInfisicalProjectResult = Remove-InfisicalProject @RemoveInfisicalProjectP InfisicalEnvironment - Default (List parameter set) returns every environment configured on the session-pinned project. When -EnvironmentSlugOrId is supplied (Single parameter set) the cmdlet returns one environment by slug or id. -ProjectId defaults to the session-pinned project in both modes. + Default (List parameter set) returns every environment configured on the supplied project. When -EnvironmentSlugOrId is supplied (Single parameter set) the cmdlet returns one environment by slug or id. -ProjectId is required in both modes. Notes @@ -543,12 +545,12 @@ $RemoveInfisicalProjectResult = Remove-InfisicalProject @RemoveInfisicalProjectP EXAMPLE 1 Get-InfisicalEnvironment - Lists every environment defined on the session-pinned project. + Lists every environment defined on the supplied project. EXAMPLE 2 Get-InfisicalEnvironment -EnvironmentSlugOrId 'dev' - Retrieves the 'dev' environment from the session-pinned project. + Retrieves the 'dev' environment from the supplied project. EXAMPLE 3 @@ -573,7 +575,7 @@ $GetInfisicalEnvironmentResult = Get-InfisicalEnvironment @GetInfisicalEnvironme InfisicalEnvironment - Creates an environment with the supplied display name and slug, optionally setting its sort -Position. -ProjectId defaults to the session-pinned project when omitted. Honors -WhatIf and -Confirm. + Creates an environment with the supplied display name and slug, optionally setting its sort -Position. -ProjectId is required. Honors -WhatIf and -Confirm. Notes @@ -585,7 +587,7 @@ $GetInfisicalEnvironmentResult = Get-InfisicalEnvironment @GetInfisicalEnvironme EXAMPLE 1 New-InfisicalEnvironment -Name 'Staging' -Slug 'staging' - Adds a Staging environment to the session-pinned project. + Adds a Staging environment to the supplied project. EXAMPLE 2 @@ -612,7 +614,7 @@ $NewInfisicalEnvironmentResult = New-InfisicalEnvironment @NewInfisicalEnvironme InfisicalEnvironment - Updates an environment identified by -EnvironmentId. -ProjectId defaults to the session-pinned project when omitted. Only bound parameters are sent to the server. Honors -WhatIf and -Confirm. + Updates an environment identified by -EnvironmentId. -ProjectId is required. Only bound parameters are sent to the server. Honors -WhatIf and -Confirm. Notes @@ -624,7 +626,7 @@ $NewInfisicalEnvironmentResult = New-InfisicalEnvironment @NewInfisicalEnvironme EXAMPLE 1 Update-InfisicalEnvironment -EnvironmentId $EnvId -Name 'Pre-Production' - Renames an environment in the session-pinned project. + Renames an environment in the supplied project. EXAMPLE 2 @@ -632,7 +634,7 @@ $NewInfisicalEnvironmentResult = New-InfisicalEnvironment @NewInfisicalEnvironme $UpdateInfisicalEnvironmentParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' -ArgumentList ([System.StringComparer]::OrdinalIgnoreCase) $UpdateInfisicalEnvironmentParameters.EnvironmentId = $GetInfisicalEnvironmentResult.Id -$UpdateInfisicalEnvironmentParameters.ProjectId = $ConnectInfisicalParameters.ProjectId +$UpdateInfisicalEnvironmentParameters.ProjectId = $ProjectId $UpdateInfisicalEnvironmentParameters.Name = 'Pre-Production' $UpdateInfisicalEnvironmentParameters.Slug = 'preprod' $UpdateInfisicalEnvironmentParameters.Position = 25 @@ -652,7 +654,7 @@ $UpdateInfisicalEnvironmentResult = Update-InfisicalEnvironment @UpdateInfisical InfisicalEnvironment - Removes an environment by Id. -ProjectId defaults to the session-pinned project when omitted. High ConfirmImpact prompts unless -Confirm:$False is supplied. -PassThru emits the removed environment id. + Removes an environment by Id. -ProjectId is required. High ConfirmImpact prompts unless -Confirm:$False is supplied. -PassThru emits the removed environment id. Notes @@ -672,7 +674,7 @@ $UpdateInfisicalEnvironmentResult = Update-InfisicalEnvironment @UpdateInfisical $RemoveInfisicalEnvironmentParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' -ArgumentList ([System.StringComparer]::OrdinalIgnoreCase) $RemoveInfisicalEnvironmentParameters.EnvironmentId = $GetInfisicalEnvironmentResult.Id -$RemoveInfisicalEnvironmentParameters.ProjectId = $ConnectInfisicalParameters.ProjectId +$RemoveInfisicalEnvironmentParameters.ProjectId = $ProjectId $RemoveInfisicalEnvironmentParameters.PassThru = $True $RemoveInfisicalEnvironmentParameters.Confirm = $False $RemoveInfisicalEnvironmentParameters.Verbose = $True @@ -691,7 +693,7 @@ $RemoveInfisicalEnvironmentResult = Remove-InfisicalEnvironment @RemoveInfisical InfisicalFolder - Default (List parameter set) enumerates folders directly under the supplied -Path within the active project and environment. When -FolderNameOrId is supplied (Single parameter set) the cmdlet returns one folder by name or id under -Path. -ProjectId, -Environment, and -Path default to the session-pinned values in both modes. + Default (List parameter set) enumerates folders directly under the supplied -Path within the project and environment. When -FolderNameOrId is supplied (Single parameter set) the cmdlet returns one folder by name or id under -Path. -ProjectId and -Environment are required in both modes; -Path defaults to '/'. Notes @@ -702,13 +704,13 @@ $RemoveInfisicalEnvironmentResult = Remove-InfisicalEnvironment @RemoveInfisical EXAMPLE 1 - Get-InfisicalFolder -Path '/Windows' - Lists every folder directly under /Windows in the active project and environment. + Get-InfisicalFolder -ProjectId $ProjectId -Environment 'dev' -Path '/Windows' + Lists every folder directly under /Windows in the supplied project and environment. EXAMPLE 2 - Get-InfisicalFolder -FolderNameOrId 'Deployments' -Path '/Windows' - Retrieves the Deployments folder under /Windows in the active project and environment. + Get-InfisicalFolder -FolderNameOrId 'Deployments' -ProjectId $ProjectId -Environment 'dev' -Path '/Windows' + Retrieves the Deployments folder under /Windows in the supplied project and environment. EXAMPLE 3 @@ -716,8 +718,8 @@ $RemoveInfisicalEnvironmentResult = Remove-InfisicalEnvironment @RemoveInfisical $GetInfisicalFolderParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' -ArgumentList ([System.StringComparer]::OrdinalIgnoreCase) $GetInfisicalFolderParameters.FolderNameOrId = $GetInfisicalFolderListResult.Id -$GetInfisicalFolderParameters.ProjectId = $ConnectInfisicalParameters.ProjectId -$GetInfisicalFolderParameters.Environment = $ConnectInfisicalParameters.Environment +$GetInfisicalFolderParameters.ProjectId = $ProjectId +$GetInfisicalFolderParameters.Environment = 'dev' $GetInfisicalFolderParameters.Path = '/Windows' $GetInfisicalFolderParameters.Verbose = $True @@ -735,7 +737,7 @@ $GetInfisicalFolderResult = Get-InfisicalFolder @GetInfisicalFolderParametersInfisicalFolder - Creates a folder with the supplied -Name beneath the supplied -Path. -ProjectId, -Environment, and -Path default to the session-pinned values when omitted. Honors -WhatIf and -Confirm. + Creates a folder with the supplied -Name beneath the supplied -Path. -ProjectId and -Environment are required; -Path defaults to '/'. Honors -WhatIf and -Confirm. Notes @@ -746,20 +748,20 @@ $GetInfisicalFolderResult = Get-InfisicalFolder @GetInfisicalFolderParameters EXAMPLE 1 - New-InfisicalFolder -Name 'Deployments' -Path '/Windows' - Creates the Deployments folder under /Windows in the active project and environment. + New-InfisicalFolder -Name 'Deployments' -ProjectId $ProjectId -Environment 'dev' -Path '/Windows' + Creates the Deployments folder under /Windows in the supplied project and environment. EXAMPLE 2 $NewInfisicalFolderParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' -ArgumentList ([System.StringComparer]::OrdinalIgnoreCase) $NewInfisicalFolderParameters.Name = $CallingScriptPath.BaseName -$NewInfisicalFolderParameters.ProjectId = $ConnectInfisicalParameters.ProjectId -$NewInfisicalFolderParameters.Environment = $ConnectInfisicalParameters.Environment +$NewInfisicalFolderParameters.ProjectId = $ProjectId +$NewInfisicalFolderParameters.Environment = 'dev' $NewInfisicalFolderParameters.Path = '/Windows' $NewInfisicalFolderParameters.Verbose = $True $NewInfisicalFolderResult = New-InfisicalFolder @NewInfisicalFolderParameters - Creates a script-named folder under /Windows using the session-pinned project and environment. + Creates a script-named folder under /Windows in the supplied project and environment. @@ -772,7 +774,7 @@ $NewInfisicalFolderResult = New-InfisicalFolder @NewInfisicalFolderParametersInfisicalFolder - Renames a folder identified by -FolderId to the supplied -Name. -ProjectId, -Environment, and -Path default to the session-pinned values when omitted. Honors -WhatIf and -Confirm. + Renames a folder identified by -FolderId to the supplied -Name. -ProjectId and -Environment are required; -Path defaults to '/'. Honors -WhatIf and -Confirm. Notes @@ -784,7 +786,7 @@ $NewInfisicalFolderResult = New-InfisicalFolder @NewInfisicalFolderParameters EXAMPLE 1 Update-InfisicalFolder -FolderId $FolderId -Name 'Deployments-Archive' - Renames a folder in the session-pinned project/environment. + Renames a folder in the supplied project/environment. EXAMPLE 2 @@ -793,8 +795,8 @@ $NewInfisicalFolderResult = New-InfisicalFolder @NewInfisicalFolderParametersInfisicalFolder - Removes a folder by Id from the supplied -Path. -ProjectId, -Environment, and -Path default to the session-pinned values when omitted. High ConfirmImpact prompts unless -Confirm:$False is supplied. -PassThru emits the removed folder id. + Removes a folder by Id from the supplied -Path. -ProjectId and -Environment are required; -Path defaults to '/'. High ConfirmImpact prompts unless -Confirm:$False is supplied. -PassThru emits the removed folder id. Notes @@ -824,7 +826,7 @@ $UpdateInfisicalFolderResult = Update-InfisicalFolder @UpdateInfisicalFolderPara EXAMPLE 1 Remove-InfisicalFolder -FolderId $FolderId -Confirm:$False - Deletes a folder from the session-pinned project/environment without prompting. + Deletes a folder from the supplied project/environment without prompting. EXAMPLE 2 @@ -832,8 +834,8 @@ $UpdateInfisicalFolderResult = Update-InfisicalFolder @UpdateInfisicalFolderPara $RemoveInfisicalFolderParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' -ArgumentList ([System.StringComparer]::OrdinalIgnoreCase) $RemoveInfisicalFolderParameters.FolderId = $GetInfisicalFolderResult.Id -$RemoveInfisicalFolderParameters.ProjectId = $ConnectInfisicalParameters.ProjectId -$RemoveInfisicalFolderParameters.Environment = $ConnectInfisicalParameters.Environment +$RemoveInfisicalFolderParameters.ProjectId = $ProjectId +$RemoveInfisicalFolderParameters.Environment = 'dev' $RemoveInfisicalFolderParameters.Path = '/Windows' $RemoveInfisicalFolderParameters.PassThru = $True $RemoveInfisicalFolderParameters.Confirm = $False @@ -853,7 +855,7 @@ $RemoveInfisicalFolderResult = Remove-InfisicalFolder @RemoveInfisicalFolderPara InfisicalTag - Default (List parameter set) returns every tag configured on the project. When -TagSlugOrId is supplied (Single parameter set) the cmdlet returns the one matching record. -ProjectId defaults to the session-pinned project in both modes. + Default (List parameter set) returns every tag configured on the project. When -TagSlugOrId is supplied (Single parameter set) the cmdlet returns the one matching record. -ProjectId is required in both modes. Notes @@ -865,12 +867,12 @@ $RemoveInfisicalFolderResult = Remove-InfisicalFolder @RemoveInfisicalFolderPara EXAMPLE 1 Get-InfisicalTag - Lists every tag defined on the session-pinned project. + Lists every tag defined on the supplied project. EXAMPLE 2 Get-InfisicalTag -TagSlugOrId 'critical' - Retrieves the 'critical' tag from the session-pinned project. + Retrieves the 'critical' tag from the supplied project. EXAMPLE 3 @@ -895,7 +897,7 @@ $GetInfisicalTagResult = Get-InfisicalTag @GetInfisicalTagParameters InfisicalTag - Creates a tag with the supplied -Slug, optional -Name and -Color. -ProjectId defaults to the session-pinned project when omitted. Honors -WhatIf and -Confirm. + Creates a tag with the supplied -Slug, optional -Name and -Color. -ProjectId is required. Honors -WhatIf and -Confirm. Notes @@ -907,7 +909,7 @@ $GetInfisicalTagResult = Get-InfisicalTag @GetInfisicalTagParameters EXAMPLE 1 New-InfisicalTag -Slug 'critical' -Name 'Critical' -Color '#FF0000' - Creates a red Critical tag in the session-pinned project. + Creates a red Critical tag in the supplied project. EXAMPLE 2 @@ -915,7 +917,7 @@ $GetInfisicalTagResult = Get-InfisicalTag @GetInfisicalTagParameters $NewInfisicalTagParameters.Slug = 'critical' $NewInfisicalTagParameters.Name = 'Critical' $NewInfisicalTagParameters.Color = '#FF0000' -$NewInfisicalTagParameters.ProjectId = $ConnectInfisicalParameters.ProjectId +$NewInfisicalTagParameters.ProjectId = $ProjectId $NewInfisicalTagParameters.Verbose = $True $NewInfisicalTagResult = New-InfisicalTag @NewInfisicalTagParameters @@ -932,7 +934,7 @@ $NewInfisicalTagResult = New-InfisicalTag @NewInfisicalTagParameters InfisicalTag - Updates a tag identified by -TagId. -ProjectId defaults to the session-pinned project when omitted. Only bound parameters are sent to the server. Honors -WhatIf and -Confirm. + Updates a tag identified by -TagId. -ProjectId is required. Only bound parameters are sent to the server. Honors -WhatIf and -Confirm. Notes @@ -944,7 +946,7 @@ $NewInfisicalTagResult = New-InfisicalTag @NewInfisicalTagParameters EXAMPLE 1 Update-InfisicalTag -TagId $TagId -Color '#FFA500' - Changes the display color of a tag in the session-pinned project. + Changes the display color of a tag in the supplied project. EXAMPLE 2 @@ -955,7 +957,7 @@ $UpdateInfisicalTagParameters.TagId = $GetInfisicalTagResult.Id $UpdateInfisicalTagParameters.Slug = 'critical-v2' $UpdateInfisicalTagParameters.Name = 'Critical (v2)' $UpdateInfisicalTagParameters.Color = '#FFA500' -$UpdateInfisicalTagParameters.ProjectId = $ConnectInfisicalParameters.ProjectId +$UpdateInfisicalTagParameters.ProjectId = $ProjectId $UpdateInfisicalTagParameters.Verbose = $True $UpdateInfisicalTagResult = Update-InfisicalTag @UpdateInfisicalTagParameters @@ -972,7 +974,7 @@ $UpdateInfisicalTagResult = Update-InfisicalTag @UpdateInfisicalTagParametersInfisicalTag - Removes a tag by Id. -ProjectId defaults to the session-pinned project when omitted. High ConfirmImpact prompts unless -Confirm:$False is supplied. -PassThru emits the removed tag id. + Removes a tag by Id. -ProjectId is required. High ConfirmImpact prompts unless -Confirm:$False is supplied. -PassThru emits the removed tag id. Notes @@ -984,7 +986,7 @@ $UpdateInfisicalTagResult = Update-InfisicalTag @UpdateInfisicalTagParameters EXAMPLE 1 Remove-InfisicalTag -TagId $TagId -Confirm:$False - Deletes a tag from the session-pinned project without prompting. + Deletes a tag from the supplied project without prompting. EXAMPLE 2 @@ -992,7 +994,7 @@ $UpdateInfisicalTagResult = Update-InfisicalTag @UpdateInfisicalTagParametersInfisicalCertificateAuthority - When -CaId is supplied (ById parameter set) returns a single internal CA. Otherwise (List parameter set) returns CAs scoped by -Kind: Internal (default, /api/v1/cert-manager/ca/internal), Any (/api/v1/cert-manager/ca returning both internal and ACME), or Acme (filters the generic endpoint to ACME issuers only). -ProjectId defaults to the session-pinned project when omitted. + When -CaId is supplied (ById parameter set) returns a single internal CA. Otherwise (List parameter set) returns CAs scoped by -Kind: Internal (default, /api/v1/cert-manager/ca/internal), Any (/api/v1/cert-manager/ca returning both internal and ACME), or Acme (filters the generic endpoint to ACME issuers only). -ProjectId is required. Notes @@ -1023,12 +1025,12 @@ $RemoveInfisicalTagResult = Remove-InfisicalTag @RemoveInfisicalTagParameters EXAMPLE 1 Get-InfisicalCertificateAuthority - Lists every internal CA visible in the session-pinned project. + Lists every internal CA visible in the supplied project. EXAMPLE 2 Get-InfisicalCertificateAuthority -Kind Any - Lists every CA (internal and ACME) visible in the session-pinned project; inspect the Type property to distinguish them. + Lists every CA (internal and ACME) visible in the supplied project; inspect the Type property to distinguish them. EXAMPLE 3 @@ -1036,7 +1038,7 @@ $RemoveInfisicalTagResult = Remove-InfisicalTag @RemoveInfisicalTagParameters @@ -1053,7 +1055,7 @@ $GetInfisicalCertificateAuthorityResult = Get-InfisicalCertificateAuthority @Get InfisicalCertificate - Default (List parameter set) enumerates certificates with optional filters for -CommonName, -FriendlyName, -Status, and -CaId; -Limit and -Offset drive a single page and pages are walked automatically until exhausted unless -NoAutoPage is supplied. When -SerialNumber is supplied (Single parameter set) the cmdlet returns one certificate record. -ProjectId defaults to the session-pinned project in both modes. + Default (List parameter set) enumerates certificates with optional filters for -CommonName, -FriendlyName, -Status, and -CaId; -Limit and -Offset drive a single page and pages are walked automatically until exhausted unless -NoAutoPage is supplied. When -SerialNumber is supplied (Single parameter set) the cmdlet returns one certificate record. -ProjectId is required in both modes. Notes @@ -1065,7 +1067,7 @@ $GetInfisicalCertificateAuthorityResult = Get-InfisicalCertificateAuthority @Get EXAMPLE 1 Get-InfisicalCertificate -Status 'active' - Lists every active certificate in the session-pinned project. + Lists every active certificate in the supplied project. EXAMPLE 2 @@ -1077,7 +1079,7 @@ $GetInfisicalCertificateAuthorityResult = Get-InfisicalCertificateAuthority @Get $GetInfisicalCertificateAuthorityListResult = Get-InfisicalCertificateAuthority | Where-Object { $_.FriendlyName -eq 'Issuing CA - Platform' } $GetInfisicalCertificateParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' -ArgumentList ([System.StringComparer]::OrdinalIgnoreCase) -$GetInfisicalCertificateParameters.ProjectId = $ConnectInfisicalParameters.ProjectId +$GetInfisicalCertificateParameters.ProjectId = $ProjectId $GetInfisicalCertificateParameters.CommonName = $env:COMPUTERNAME $GetInfisicalCertificateParameters.FriendlyName = 'web-tier' $GetInfisicalCertificateParameters.Status = 'active' @@ -1099,7 +1101,7 @@ $GetInfisicalCertificateListResult = Get-InfisicalCertificate @GetInfisicalCerti InfisicalPkiSubscriber - Default (List parameter set) returns every PKI subscriber configured on the project. When -Name is supplied (ByName parameter set) the cmdlet returns one subscriber by its slug. -ProjectId defaults to the session-pinned project in both modes. + Default (List parameter set) returns every PKI subscriber configured on the project. When -Name is supplied (ByName parameter set) the cmdlet returns one subscriber by its slug. -ProjectId is required in both modes. Notes @@ -1111,12 +1113,12 @@ $GetInfisicalCertificateListResult = Get-InfisicalCertificate @GetInfisicalCerti EXAMPLE 1 Get-InfisicalPkiSubscriber - Lists every PKI subscriber defined on the session-pinned project. + Lists every PKI subscriber defined on the supplied project. EXAMPLE 2 Get-InfisicalPkiSubscriber -Name 'mecm' - Retrieves the 'mecm' PKI subscriber from the session-pinned project. + Retrieves the 'mecm' PKI subscriber from the supplied project. EXAMPLE 3 @@ -1124,7 +1126,7 @@ $GetInfisicalCertificateListResult = Get-InfisicalCertificate @GetInfisicalCerti $GetInfisicalPkiSubscriberParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' -ArgumentList ([System.StringComparer]::OrdinalIgnoreCase) $GetInfisicalPkiSubscriberParameters.Name = $GetInfisicalPkiSubscriberListResult[0].Name -$GetInfisicalPkiSubscriberParameters.ProjectId = $ConnectInfisicalParameters.ProjectId +$GetInfisicalPkiSubscriberParameters.ProjectId = $ProjectId $GetInfisicalPkiSubscriberParameters.Verbose = $True $GetInfisicalPkiSubscriberResult = Get-InfisicalPkiSubscriber @GetInfisicalPkiSubscriberParameters @@ -1141,7 +1143,7 @@ $GetInfisicalPkiSubscriberResult = Get-InfisicalPkiSubscriber @GetInfisicalPkiSu InfisicalCertificateProfile - Default (List parameter set) returns every certificate profile configured on the project via /api/v1/cert-manager/certificate-profiles, with optional -Limit, -Offset, and -IncludeConfigs. When -ProfileId is supplied (ById parameter set) the cmdlet returns one profile by its id. -ProjectId defaults to the session-pinned project in both modes. + Default (List parameter set) returns every certificate profile configured on the project via /api/v1/cert-manager/certificate-profiles, with optional -Limit, -Offset, and -IncludeConfigs. When -ProfileId is supplied (ById parameter set) the cmdlet returns one profile by its id. -ProjectId is required in both modes. Notes @@ -1153,12 +1155,12 @@ $GetInfisicalPkiSubscriberResult = Get-InfisicalPkiSubscriber @GetInfisicalPkiSu EXAMPLE 1 Get-InfisicalCertificateProfile - Lists every certificate profile defined on the session-pinned project. + Lists every certificate profile defined on the supplied project. EXAMPLE 2 Get-InfisicalCertificateProfile -ProfileId '8257641e-c808-454e-ac92-8dc920be865f' - Retrieves a single certificate profile by id from the session-pinned project. + Retrieves a single certificate profile by id from the supplied project. EXAMPLE 3 @@ -1166,7 +1168,7 @@ $GetInfisicalPkiSubscriberResult = Get-InfisicalPkiSubscriber @GetInfisicalPkiSu $GetInfisicalCertificateProfileParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' -ArgumentList ([System.StringComparer]::OrdinalIgnoreCase) $GetInfisicalCertificateProfileParameters.ProfileId = $GetInfisicalCertificateProfileListResult[0].Id -$GetInfisicalCertificateProfileParameters.ProjectId = $ConnectInfisicalParameters.ProjectId +$GetInfisicalCertificateProfileParameters.ProjectId = $ProjectId $GetInfisicalCertificateProfileParameters.Verbose = $True $GetInfisicalCertificateProfileResult = Get-InfisicalCertificateProfile @GetInfisicalCertificateProfileParameters @@ -1183,7 +1185,7 @@ $GetInfisicalCertificateProfileResult = Get-InfisicalCertificateProfile @GetInfi InfisicalCertificatePolicy - Default (List parameter set) returns every certificate policy configured on the project via /api/v1/cert-manager/certificate-policies, with optional -Limit and -Offset. When -PolicyId is supplied (ById parameter set) the cmdlet returns one policy by its id. -ProjectId defaults to the session-pinned project in both modes. + Default (List parameter set) returns every certificate policy configured on the project via /api/v1/cert-manager/certificate-policies, with optional -Limit and -Offset. When -PolicyId is supplied (ById parameter set) the cmdlet returns one policy by its id. -ProjectId is required in both modes. Notes @@ -1195,12 +1197,12 @@ $GetInfisicalCertificateProfileResult = Get-InfisicalCertificateProfile @GetInfi EXAMPLE 1 Get-InfisicalCertificatePolicy - Lists every certificate policy defined on the session-pinned project. + Lists every certificate policy defined on the supplied project. EXAMPLE 2 Get-InfisicalCertificatePolicy -PolicyId '3e69306a-e7c1-4fd2-a140-7fb300e53c43' - Retrieves a single certificate policy by id from the session-pinned project. + Retrieves a single certificate policy by id from the supplied project. EXAMPLE 3 @@ -1208,7 +1210,7 @@ $GetInfisicalCertificateProfileResult = Get-InfisicalCertificateProfile @GetInfi $GetInfisicalCertificatePolicyParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' -ArgumentList ([System.StringComparer]::OrdinalIgnoreCase) $GetInfisicalCertificatePolicyParameters.PolicyId = $GetInfisicalCertificatePolicyListResult[0].Id -$GetInfisicalCertificatePolicyParameters.ProjectId = $ConnectInfisicalParameters.ProjectId +$GetInfisicalCertificatePolicyParameters.ProjectId = $ProjectId $GetInfisicalCertificatePolicyParameters.Verbose = $True $GetInfisicalCertificatePolicyResult = Get-InfisicalCertificatePolicy @GetInfisicalCertificatePolicyParameters @@ -1225,7 +1227,7 @@ $GetInfisicalCertificatePolicyResult = Get-InfisicalCertificatePolicy @GetInfisi InfisicalCertificate - Performs a server-side search across certificates with filters for friendly name, common name, free-text search, status, CA/profile/application/enrollment scope, key/signature algorithm, source, and validity window (-NotBeforeFrom/-NotBeforeTo/-NotAfterFrom/-NotAfterTo). Results are paged automatically unless -NoAutoPage is supplied. -ProjectId defaults to the session-pinned project when omitted. + Performs a server-side search across certificates with filters for friendly name, common name, free-text search, status, CA/profile/application/enrollment scope, key/signature algorithm, source, and validity window (-NotBeforeFrom/-NotBeforeTo/-NotAfterFrom/-NotAfterTo). Results are paged automatically unless -NoAutoPage is supplied. -ProjectId is required. Notes @@ -1244,7 +1246,7 @@ $GetInfisicalCertificatePolicyResult = Get-InfisicalCertificatePolicy @GetInfisi $GetInfisicalCertificateAuthorityListResult = Get-InfisicalCertificateAuthority | Where-Object { $_.FriendlyName -eq 'Issuing CA - Platform' } $SearchInfisicalCertificateParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' -ArgumentList ([System.StringComparer]::OrdinalIgnoreCase) -$SearchInfisicalCertificateParameters.ProjectId = $ConnectInfisicalParameters.ProjectId +$SearchInfisicalCertificateParameters.ProjectId = $ProjectId $SearchInfisicalCertificateParameters.CommonName = $env:COMPUTERNAME $SearchInfisicalCertificateParameters.Status = 'active' $SearchInfisicalCertificateParameters.CaId = @($GetInfisicalCertificateAuthorityListResult.Id) @@ -1287,7 +1289,7 @@ $SearchInfisicalCertificateResult = Search-InfisicalCertificate @SearchInfisical EXAMPLE 2 $RequestInfisicalCertificateParameters = New-Object -TypeName 'System.Collections.Specialized.OrderedDictionary' -ArgumentList ([System.StringComparer]::OrdinalIgnoreCase) $RequestInfisicalCertificateParameters.PkiSubscriberSlug = 'web-tier' -$RequestInfisicalCertificateParameters.ProjectId = $ConnectInfisicalParameters.ProjectId +$RequestInfisicalCertificateParameters.ProjectId = $ProjectId $RequestInfisicalCertificateParameters.CommonName = ([System.Net.Dns]::GetHostEntry($env:COMPUTERNAME)).HostName $RequestInfisicalCertificateParameters.DnsName = @(([System.Net.Dns]::GetHostEntry($env:COMPUTERNAME)).HostName, $env:COMPUTERNAME) $RequestInfisicalCertificateParameters.KeyAlgorithm = 'Rsa' @@ -1480,22 +1482,22 @@ $UninstallInfisicalCertificateResult = Uninstall-InfisicalCertificate @Uninstall Get-InfisicalCertificateApplication - Lists or retrieves an Infisical Certificate Manager Application from the active project. + Lists or retrieves an Infisical Certificate Manager Application from the supplied project. Get InfisicalCertificateApplication - Reads Infisical certificate-manager Applications (the join target used by EST/ACME/SCEP profile attachments) using the active connection's project scope. The List parameter set returns all applications visible to the caller; the ById and ByName sets return a single application. ProjectId falls back to the active connection when omitted. + Reads Infisical certificate-manager Applications (the join target used by EST/ACME/SCEP profile attachments) for the supplied project. The List parameter set returns all applications visible to the caller; the ById and ByName sets return a single application. -ProjectId is required. EXAMPLE 1 - Get-InfisicalCertificateApplication - Lists certificate-manager applications for the active project. + Get-InfisicalCertificateApplication -ProjectId $ProjectId + Lists certificate-manager applications for the supplied project. EXAMPLE 2 - Get-InfisicalCertificateApplication -ApplicationName 'workstation-mdm' + Get-InfisicalCertificateApplication -ApplicationName 'workstation-mdm' -ProjectId $ProjectId Retrieves a single application by name.