aClass.psm1
class aClass { static [PSCustomObject] MakeEC2IObj ([psobject] $obj ) { $lo = [pscustomobject]@{ Name = ($obj.Tags | Where-Object {$_.Key -match "Name"}).Value ID = $obj.InstanceId PrivateIP = $obj.PrivateIpAddress PublicIP = $obj.PublicIpAddress PublicDNS = $obj.PublicDnsName Type = $obj.InstanceType.Value SecurityGroupName = $obj.SecurityGroups.GroupName SecurityGroupID = $obj.SecurityGroups.GroupId Tags = $obj.Tags State = $obj.State.Name SubnetID = $obj.SubnetId VpcID = $obj.VpcId Object = $obj } $lo.PSObject.TypeNames.Insert(0,'SupSkiFun.AWS.EC2Instance.Info') return $lo } static [PSCustomObject] MakeVPCObj ([psobject] $obj , [hashtable] $exh ) { $lo = [pscustomobject]@{ Name = ($obj.Tags | Where-Object {$_.Key -match "Name"}).Value CidrBlock = $obj.CidrBlock VpcID = $obj.VpcId DhcpOptionsId = $obj.DhcpOptionsId IsDefault = $obj.IsDefault State = $obj.State.Value Tags = $obj.Tags DnsHostNames = $exh.'DnsHostNames' DnsResolution = $exh.'DnsResolution' OwnerId = $obj.OwnerId Object = $obj } $lo.PSObject.TypeNames.Insert(0,'SupSkiFun.AWS.VPC.Info') return $lo } } |