Implement PSInfisicalAPI module per design spec with env-var auto-discovery

This commit is contained in:
GraceSolutions
2026-06-02 12:46:34 -04:00
parent 3c47d6ff30
commit 430e3a00c9
80 changed files with 6361 additions and 0 deletions
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<Configuration>
<ViewDefinitions>
<View>
<Name>PSInfisicalAPI.Models.InfisicalSecret</Name>
<ViewSelectedBy>
<TypeName>PSInfisicalAPI.Models.InfisicalSecret</TypeName>
</ViewSelectedBy>
<TableControl>
<TableHeaders>
<TableColumnHeader><Label>SecretName</Label><Width>32</Width></TableColumnHeader>
<TableColumnHeader><Label>SecretPath</Label><Width>28</Width></TableColumnHeader>
<TableColumnHeader><Label>Environment</Label><Width>14</Width></TableColumnHeader>
<TableColumnHeader><Label>Type</Label><Width>10</Width></TableColumnHeader>
<TableColumnHeader><Label>Version</Label><Width>8</Width></TableColumnHeader>
<TableColumnHeader><Label>UpdatedAtUtc</Label><Width>22</Width></TableColumnHeader>
<TableColumnHeader><Label>Hidden</Label><Width>6</Width></TableColumnHeader>
</TableHeaders>
<TableRowEntries>
<TableRowEntry>
<TableColumnItems>
<TableColumnItem><PropertyName>SecretName</PropertyName></TableColumnItem>
<TableColumnItem><PropertyName>SecretPath</PropertyName></TableColumnItem>
<TableColumnItem><PropertyName>Environment</PropertyName></TableColumnItem>
<TableColumnItem><PropertyName>Type</PropertyName></TableColumnItem>
<TableColumnItem><PropertyName>Version</PropertyName></TableColumnItem>
<TableColumnItem><PropertyName>UpdatedAtUtc</PropertyName></TableColumnItem>
<TableColumnItem><PropertyName>SecretValueHidden</PropertyName></TableColumnItem>
</TableColumnItems>
</TableRowEntry>
</TableRowEntries>
</TableControl>
</View>
</ViewDefinitions>
</Configuration>
@@ -0,0 +1,49 @@
<?xml version="1.0" encoding="utf-8"?>
<Types>
<Type>
<Name>PSInfisicalAPI.Models.InfisicalSecret</Name>
<Members>
<MemberSet>
<Name>PSStandardMembers</Name>
<Members>
<PropertySet>
<Name>DefaultDisplayPropertySet</Name>
<ReferencedProperties>
<Name>SecretName</Name>
<Name>SecretPath</Name>
<Name>Environment</Name>
<Name>Type</Name>
<Name>Version</Name>
<Name>UpdatedAtUtc</Name>
<Name>SecretValueHidden</Name>
</ReferencedProperties>
</PropertySet>
</Members>
</MemberSet>
</Members>
</Type>
<Type>
<Name>PSInfisicalAPI.Connections.InfisicalConnection</Name>
<Members>
<MemberSet>
<Name>PSStandardMembers</Name>
<Members>
<PropertySet>
<Name>DefaultDisplayPropertySet</Name>
<ReferencedProperties>
<Name>BaseUri</Name>
<Name>ApiVersion</Name>
<Name>AuthType</Name>
<Name>ProjectId</Name>
<Name>Environment</Name>
<Name>DefaultSecretPath</Name>
<Name>ConnectedAtUtc</Name>
<Name>ExpiresAtUtc</Name>
<Name>IsConnected</Name>
</ReferencedProperties>
</PropertySet>
</Members>
</MemberSet>
</Members>
</Type>
</Types>
+32
View File
@@ -0,0 +1,32 @@
@{
RootModule = 'PSInfisicalAPI.psm1'
ModuleVersion = '2026.06.02.1638'
GUID = 'b8a2f3d4-7c51-4d2f-9e6a-1f0c8b3d4e51'
Author = 'Alphaeus Mote'
CompanyName = ''
Copyright = '(c) Alphaeus Mote. All rights reserved.'
Description = 'PSInfisicalAPI is a C# binary PowerShell module for the Infisical REST API.'
PowerShellVersion = '5.1'
CompatiblePSEditions = @('Desktop','Core')
FunctionsToExport = @()
CmdletsToExport = @(
'Connect-Infisical',
'Disconnect-Infisical',
'Get-InfisicalSecrets',
'Get-InfisicalSecret',
'ConvertTo-InfisicalSecretDictionary',
'Export-InfisicalSecrets'
)
AliasesToExport = @()
VariablesToExport = @()
FormatsToProcess = @('PSInfisicalAPI.Format.ps1xml')
TypesToProcess = @('PSInfisicalAPI.Types.ps1xml')
PrivateData = @{
PSData = @{
Tags = @('Infisical','Secrets','API','SecureString')
ProjectUri = ''
ReleaseNotes = ''
CommitHash = '3c47d6ff30ec'
}
}
}
+14
View File
@@ -0,0 +1,14 @@
$BinaryPath = [System.IO.FileInfo][System.IO.Path]::Combine($PSScriptRoot, 'bin', 'PSInfisicalAPI.dll')
Import-Module -Name $BinaryPath.FullName
$TypesPath = [System.IO.FileInfo][System.IO.Path]::Combine($PSScriptRoot, 'PSInfisicalAPI.Types.ps1xml')
$FormatPath = [System.IO.FileInfo][System.IO.Path]::Combine($PSScriptRoot, 'PSInfisicalAPI.Format.ps1xml')
if ([System.IO.File]::Exists($TypesPath.FullName)) {
Update-TypeData -PrependPath $TypesPath.FullName -ErrorAction SilentlyContinue
}
if ([System.IO.File]::Exists($FormatPath.FullName)) {
Update-FormatData -PrependPath $FormatPath.FullName -ErrorAction SilentlyContinue
}