forked from RamblingCookieMonster/RabbitMQTools
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGet-RabbitMQConnection.ps1
More file actions
89 lines (65 loc) · 2.64 KB
/
Get-RabbitMQConnection.ps1
File metadata and controls
89 lines (65 loc) · 2.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<#
.Synopsis
Gets Connections to the server.
.DESCRIPTION
The Get-RabbitMQConnection cmdlet gets connections to the RabbitMQ server.
The cmdlet allows you to show all Connections or filter them by name using wildcards.
The result may be zero, one or many RabbitMQ.Connection objects.
To get Connections from remote server you need to provide -HostName parameter.
The cmdlet is using REST Api provided by RabbitMQ Management Plugin. For more information go to: https://www.rabbitmq.com/management.html
.EXAMPLE
Get-RabbitMQConnection
This command gets a list of all connections to local RabbitMQ server.
.EXAMPLE
Get-RabbitMQConnection -HostName myrabbitmq.servers.com
This command gets a list of all connections myrabbitmq.servers.com server.
.EXAMPLE
Get-RabbitMQConnection con1*
This command gets a list of all Connections with name starting with "con1".
.EXAMPLE
Get-RabbitMQConnection private*, public*
This command gets a list of all Connections with name starting with either "private" or "public".
.EXAMPLE
@("private*", "*public") | Get-RabbitMQConnection
This command pipes name filters to Get-RabbitMQConnection cmdlet.
.INPUTS
You can pipe Name to filter the results.
.OUTPUTS
By default, the cmdlet returns list of RabbitMQ.Connection objects which describe connections.
.LINK
https://www.rabbitmq.com/management.html - information about RabbitMQ management plugin.
#>
function Get-RabbitMQConnection
{
[CmdletBinding(SupportsShouldProcess=$true, ConfirmImpact='None')]
Param
(
# Name of RabbitMQ Connection.
[parameter(ValueFromPipeline=$true, ValueFromPipelineByPropertyName=$true)]
[Alias("Connection", "ConnectionName")]
[string[]]$Name = "",
# Name of the computer hosting RabbitMQ server. Defalut value is localhost.
[parameter(ValueFromPipelineByPropertyName=$true)]
[Alias("HostName", "hn", "cn")]
[string]$BaseUri = $defaultComputerName,
# Credentials to use when logging to RabbitMQ server.
[Parameter(Mandatory=$false)]
[PSCredential]$Credentials = $defaultCredentials
)
Begin
{
}
Process
{
if ($pscmdlet.ShouldProcess("server $BaseUri", "Get connection(s): $(NamesToString $Name '(all)')"))
{
$result = GetItemsFromRabbitMQApi -BaseUri $BaseUri $Credentials "connections"
$result = ApplyFilter $result 'name' $Name
$result | Add-Member -NotePropertyName "HostName" -NotePropertyValue $BaseUri
SendItemsToOutput $result "RabbitMQ.Connection"
}
}
End
{
}
}