@@ -18,8 +18,8 @@ Get Subscription ID
18
18
#>
19
19
function Get-SubscriptionID
20
20
{
21
- $context = Get-AzContext
22
- return $context.Subscription.SubscriptionId
21
+ $context = Get-AzContext
22
+ return $context.Subscription.SubscriptionId
23
23
}
24
24
25
25
<#
@@ -28,7 +28,27 @@ Get ResourceGroup name
28
28
#>
29
29
function Get-ResourceGroupName
30
30
{
31
- return " RGName-" + (getAssetName)
31
+ return " RGName-" + (getAssetName)
32
+ }
33
+
34
+ <#
35
+ . SYNOPSIS
36
+ Create new ResourceGroup
37
+ #>
38
+ function New-ResourceGroup ($ResourceGroupName , $Location )
39
+ {
40
+ Write-Debug " Creating resource group name $ResourceGroupName in location $Location "
41
+ New-AzResourceGroup - Name $ResourceGroupName - Location $Location - Force
42
+ }
43
+
44
+ <#
45
+ . SYNOPSIS
46
+ Remove ResourceGroup
47
+ #>
48
+ function Remove-ResourceGroup ($ResourceGroupName )
49
+ {
50
+ Write-Debug " Deleting resource group name $ResourceGroupName "
51
+ Remove-AzResourceGroup - Name $ResourceGroupName - Force
32
52
}
33
53
34
54
<#
@@ -46,43 +66,248 @@ Get EventSubscription Webhook Endpoint
46
66
#>
47
67
function Get-EventSubscriptionWebhookEndpoint
48
68
{
49
- return " https://eventgridrunnerfunction.azurewebsites.net/api/HttpTriggerCSharp1?code=<HIDDEN>"
69
+ return " https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid?functionName=EventGridTrigger1&code=<HIDDEN>"
70
+ }
71
+
72
+ <#
73
+ . SYNOPSIS
74
+ Get EventSubscription Webhook Endpoint
75
+ #>
76
+ function Get-EventSubscriptionWebhookBaseEndpoint
77
+ {
78
+ return " https://devexpfuncappdestination.azurewebsites.net/runtime/webhooks/EventGrid"
79
+ }
80
+
81
+ <#
82
+ . SYNOPSIS
83
+ Get location
84
+ #>
85
+ function Get-LocationForEventGrid
86
+ {
87
+ return " westcentralus"
88
+ }
89
+
90
+ <#
91
+ . SYNOPSIS
92
+ Get EventHub namespace name
93
+ #>
94
+ function Get-EventHubNamespaceName
95
+ {
96
+ return " PSTestEH-" + (getAssetName)
97
+ }
98
+
99
+ <#
100
+ . SYNOPSIS
101
+ Get HybridConnection NameSpace Name
102
+ #>
103
+ function Get-HybridConnNameSpaceName
104
+ {
105
+ return " hcnamespace-" + (getAssetName)
106
+ }
107
+
108
+ <#
109
+ . SYNOPSIS
110
+ Get HybridConnection Name
111
+ #>
112
+ function Get-HybridConnName
113
+ {
114
+ return " hcname-" + (getAssetName)
50
115
}
51
116
52
117
<#
53
118
. SYNOPSIS
54
119
Get Hybrid Connection ResourceId
55
120
#>
56
- function Get-HybridConnectionResourceId
121
+ function Get-HybridConnectionResourceId ( $ResourceGroupName , $NamespaceName , $HybridConnectionName )
57
122
{
58
- return " /subscriptions/$subscriptionId /resourceGroups/<ResourceGroupName>/providers/Microsoft.Relay/namespaces/<NameSpace>/hybridConnections/<HybridConnectionName>"
123
+ $subId = Get-SubscriptionID
124
+ return " /subscriptions/$subId /resourceGroups/$ResourceGroupName /providers/Microsoft.Relay/namespaces/$NamespaceName /hybridConnections/$HybridConnectionName "
59
125
}
60
126
61
127
<#
62
128
. SYNOPSIS
63
- Get Storage Destination ResourceId
129
+ Create new HybridConnection
64
130
#>
65
- function Get-StorageDestinationResourceId
131
+ function New-HybridConnection ( $ResourceGroupName , $NamespaceName , $HybridConnectionName , $Location )
66
132
{
67
- return " /subscriptions/$subscriptionId /resourceGroups/<ResourceGroupName>/providers/Microsoft.Storage/storageAccounts/<StorageAccountName>/queueServices/default/queues/<QueueName>"
133
+ Write-Debug " Creating namespace $NamespaceName in resource group $ResourceGroupName and location $Location "
134
+ New-AzRelayNamespace - ResourceGroupName $ResourceGroupName - Name $NamespaceName - Location $Location
135
+ Write-Debug " Creating hybridconnection $HybridConnectionName in Namespace $NamespaceName in resource group $ResourceGroupName and location $Location "
136
+ New-AzRelayHybridConnection - ResourceGroupName $ResourceGroupName - Namespace $NamespaceName - Name $HybridConnectionName - RequiresClientAuthorization $True
68
137
}
69
138
70
139
<#
71
140
. SYNOPSIS
72
- Get EventSubscription Webhook Endpoint
141
+ Remove HybridConnection
73
142
#>
74
- function Get-EventSubscriptionWebhookBaseEndpoint
143
+ function Remove-HybridConnectionResources ( $ResourceGroupName , $NamespaceName , $HybridConnectionName )
75
144
{
76
- return " https://eventgridrunnerfunction.azurewebsites.net/api/HttpTriggerCSharp1"
145
+ Write-Debug " Deleting hybridconnection $HybridConnectionName in Namespace $NamespaceName in resource group $ResourceGroupName and location $Location "
146
+ Remove-AzRelayHybridConnection - ResourceGroupName $ResourceGroupName - Namespace $NamespaceName - Name $HybridConnectionName
147
+ Write-Debug " Deleting namespace $NamespaceName in resource group $ResourceGroupName and location $Location "
148
+ Remove-AzRelayNamespace - ResourceGroupName $ResourceGroupName - Name $NamespaceName
77
149
}
78
150
79
151
<#
80
152
. SYNOPSIS
81
- Get Deadletter ResourceId
153
+ Get ServiceBus NameSpace Name
82
154
#>
83
- function Get-DeadletterResourceId
155
+ function Get-ServiceBusNameSpaceName
84
156
{
85
- return " /subscriptions/$subscriptionId /resourceGroups/<ResourceGroupName>/providers/microsoft.Storage/storageAccounts/<StorageAccountName>/blobServices/default/containers/<ContainerName>"
157
+ return " sbnamespace-" + (getAssetName)
158
+ }
159
+
160
+ <#
161
+ . SYNOPSIS
162
+ Get ServiceBus Name
163
+ #>
164
+ function Get-ServiceBusName
165
+ {
166
+ return " sbname-" + (getAssetName)
167
+ }
168
+
169
+ <#
170
+ . SYNOPSIS
171
+ Get ServiceBus Queue ResourceId
172
+ #>
173
+ function Get-ServiceBusQueueResourceId ($ResourceGroupName , $NamespaceName , $QueueName )
174
+ {
175
+ $subId = Get-SubscriptionID
176
+ return " /subscriptions/$subId /resourceGroups/$ResourceGroupName /providers/Microsoft.ServiceBus/namespaces/$NamespaceName /queues/$QueueName "
177
+ }
178
+
179
+ <#
180
+ . SYNOPSIS
181
+ Create new ServiceBus Queue
182
+ #>
183
+ function New-ServiceBusQueue ($ResourceGroupName , $NamespaceName , $QueueName , $Location )
184
+ {
185
+ Write-Debug " Creating ServiceBus namespace $NamespaceName in resource group $ResourceGroupName and location $Location "
186
+ New-AzServiceBusNamespace - ResourceGroupName $ResourceGroupName - Name $NamespaceName - Location $Location
187
+ $DefaultMessageTimeToLiveTimeSpan = New-TimeSpan - Minute 1
188
+ Write-Debug " Creating ServiceBus queue $QueueName in Namespace $NamespaceName in resource group $ResourceGroupName and location $Location "
189
+ New-AzServiceBusQueue - ResourceGroupName $ResourceGroupName - Namespace $NamespaceName - Name $QueueName - RequiresSession $False - EnablePartitioning $True - DefaultMessageTimeToLive $DefaultMessageTimeToLiveTimeSpan
190
+ }
191
+
192
+ <#
193
+ . SYNOPSIS
194
+ Remove ServiceBus Queue
195
+ #>
196
+ function Remove-ServiceBusResources ($ResourceGroupName , $NamespaceName , $QueueName )
197
+ {
198
+ Write-Debug " Deleting ServiceBus queue $QueueName in Namespace $NamespaceName in resource group $ResourceGroupName "
199
+ Remove-AzServiceBusQueue - ResourceGroupName $ResourceGroupName - Namespace $NamespaceName - Name $QueueName
200
+ Write-Debug " Deleting ServiceBus namespace $NamespaceName in resource group $ResourceGroupName "
201
+ Remove-AzServiceBusNamespace - ResourceGroupName $ResourceGroupName - Name $NamespaceName
202
+ }
203
+
204
+ <#
205
+ . SYNOPSIS
206
+ Get Storage Account Name
207
+ #>
208
+ function Get-StorageAccountName
209
+ {
210
+ # Storage account name must be between 3 and 24 characters in length and use numbers and lower-case letters only.
211
+ return " storagename" + (getAssetName)
212
+ }
213
+
214
+ <#
215
+ . SYNOPSIS
216
+ Get StorageQueue Name
217
+ #>
218
+ function Get-StorageQueueName
219
+ {
220
+ return " storagequeuename" + (getAssetName)
221
+ }
222
+
223
+ <#
224
+ . SYNOPSIS
225
+ Get Storage Queue Destination ResourceId
226
+ #>
227
+ function Get-StorageDestinationResourceId ($ResourceGroupName , $StorageAccountName , $QueueName )
228
+ {
229
+ $subId = Get-SubscriptionID
230
+ return " /subscriptions/$subId /resourceGroups/$ResourceGroupName /providers/Microsoft.Storage/storageAccounts/$StorageAccountName /queueServices/default/queues/$QueueName "
231
+ }
232
+
233
+ <#
234
+ . SYNOPSIS
235
+ Create new Storage Queue
236
+ #>
237
+ function New-StorageQueue ($ResourceGroupName , $StorageAccountName , $QueueName , $Location )
238
+ {
239
+ Write-Debug " Creating Storage Account $StorageAccountName in resource group $ResourceGroupName and location $Location "
240
+ $StorageAccount = New-AzStorageAccount - Name $StorageAccountName - ResourceGroupName $ResourceGroupName - SkuName Standard_LRS - Location $Location - Kind StorageV2 - AccessTier Hot
241
+ $storageAccountKeyValue = $ (Get-AzStorageAccountKey - ResourceGroupName $ResourceGroupName - Name $StorageAccountName )[0 ].Value
242
+ $cxt = New-AzStorageContext - StorageAccountName $StorageAccountName - StorageAccountKey $storageAccountKeyValue
243
+
244
+ # Uncomment when live recording
245
+ # New-AzStorageQueue -Name $StorageQueueName -Context $cxt
246
+ }
247
+
248
+ <#
249
+ . SYNOPSIS
250
+ Remove Storage Resources (Queue and Account)
251
+ #>
252
+ function Remove-StorageResources ($ResourceGroupName , $StorageAccountName , $QueueName )
253
+ {
254
+ Write-Debug " Deleting Storage queue $QueueName in Storage Account $StorageAccountName "
255
+ $StorageAccount = Get-AzStorageAccount - ResourceGroupName $ResourceGroupName - AccountName $StorageAccountName
256
+ $storageAccountKeyValue = $ (Get-AzStorageAccountKey - ResourceGroupName $ResourceGroupName - Name $StorageAccountName )[0 ].Value
257
+ $cxt = New-AzStorageContext - StorageAccountName $StorageAccountName - StorageAccountKey $storageAccountKeyValue
258
+ # Uncomment when live recording
259
+ # Remove-AzStorageQueue -Name $QueueName -Context $cxt -Force
260
+ Write-Debug " Deleting storage account $StorageAccount in resource group $ResourceGroupName "
261
+ Remove-AzStorageAccount - ResourceGroupName $ResourceGroupName - Name $StorageAccountName - Force
262
+ }
263
+
264
+ <#
265
+ . SYNOPSIS
266
+ Get StorageBlob Name
267
+ #>
268
+ function Get-StorageBlobName
269
+ {
270
+ return " storageblobname" + (getAssetName)
271
+ }
272
+
273
+ <#
274
+ . SYNOPSIS
275
+ Get Storage Blob Container Deadletter ResourceId
276
+ #>
277
+ function Get-DeadletterResourceId ($ResourceGroupName , $StorageAccountName , $ContainerName )
278
+ {
279
+ $subId = Get-SubscriptionID
280
+ return " /subscriptions/$subId /resourceGroups/$ResourceGroupName /providers/Microsoft.Storage/storageAccounts/$StorageAccountName /blobServices/default/containers/$ContainerName "
281
+ }
282
+
283
+ <#
284
+ . SYNOPSIS
285
+ Create new Storage Blob
286
+ #>
287
+ function New-StorageBlob ($ResourceGroupName , $StorageAccountName , $ContainerName , $Location )
288
+ {
289
+ Write-Debug " Creating Storage Account $StorageAccountName in resource group $ResourceGroupName and location $Location "
290
+ $storageAccount = New-AzStorageAccount - Name $StorageAccountName - ResourceGroupName $ResourceGroupName - SkuName Standard_LRS - Location $Location
291
+ $storageAccountKeyValue = $ (Get-AzStorageAccountKey - ResourceGroupName $ResourceGroupName - Name $StorageAccountName )[0 ].Value
292
+ $cxt = New-AzStorageContext - StorageAccountName $storageAccountName - StorageAccountKey $storageAccountKeyValue
293
+ # Uncomment when live recording
294
+ # New-AzStoragecontainer -Name $ContainerName -Context $cxt
295
+ }
296
+
297
+ <#
298
+ . SYNOPSIS
299
+ Remove Storage Resources (Queue and Account)
300
+ #>
301
+ function Remove-StorageContainerResources ($ResourceGroupName , $StorageAccountName , $ContainerName )
302
+ {
303
+ Write-Debug " Deleting Storage blob $ContainerName in Storage Account $StorageAccountName "
304
+ $StorageAccount = Get-AzStorageAccount - ResourceGroupName $ResourceGroupName - AccountName $StorageAccountName
305
+ $storageAccountKeyValue = $ (Get-AzStorageAccountKey - ResourceGroupName $ResourceGroupName - Name $StorageAccountName )[0 ].Value
306
+ $cxt = New-AzStorageContext - StorageAccountName $StorageAccountName - StorageAccountKey $storageAccountKeyValue
307
+ # Uncomment when live recording
308
+ # Remove-AzStorageContainer -Name $ContainerName -Context $cxt
309
+ Write-Debug " Deleting storage account $StorageAccount in resource group $ResourceGroupName "
310
+ Remove-AzStorageAccount - ResourceGroupName $ResourceGroupName - Name $StorageAccountName - Force
86
311
}
87
312
88
313
<#
@@ -96,18 +321,18 @@ function Get-TopicName
96
321
97
322
<#
98
323
. SYNOPSIS
99
- Get location
324
+ Get domain name
100
325
#>
101
- function Get-LocationForEventGrid
326
+ function Get-DomainName
102
327
{
103
- return " westus2 "
328
+ return " PSTestDomain- " + (getAssetName)
104
329
}
105
330
106
331
<#
107
332
. SYNOPSIS
108
- Get EventHub namespace name
333
+ Get domain topic name
109
334
#>
110
- function Get-EventHubNamespaceName
335
+ function Get-DomainTopicName
111
336
{
112
- return " PSTestEH -" + (getAssetName)
113
- }
337
+ return " PSTestDomainTopic -" + (getAssetName)
338
+ }
0 commit comments