Skip to content

Commit 21dcc72

Browse files
committed
Addressed review comments
1 parent 2633eda commit 21dcc72

File tree

5 files changed

+87
-47
lines changed

5 files changed

+87
-47
lines changed

src/DataFactory/DataFactoryV2/Constants.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -227,5 +227,7 @@ internal static class Constants
227227
public const string Id = "Id";
228228

229229
public const string DataFactoryId = "DataFactoryId";
230+
231+
public const string HelpPassThru = "If specified, cmdlet will return return true on successful delete.";
230232
}
231233
}

src/DataFactory/DataFactoryV2/DataFactoryContextActionBaseCmdlet.cs

Lines changed: 1 addition & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -20,50 +20,9 @@
2020

2121
namespace Microsoft.Azure.Commands.DataFactoryV2
2222
{
23-
public abstract class DataFactoryContextActionBaseCmdlet : DataFactoryBaseCmdlet
23+
public abstract class DataFactoryContextActionBaseCmdlet : DataFactoryContextSubResourceBaseCmdlet
2424
{
25-
[Parameter(ParameterSetName = ParameterSetNames.ByFactoryName, Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true,
26-
HelpMessage = Constants.HelpResourceGroup)]
27-
[ResourceGroupCompleter()]
28-
[ValidateNotNullOrEmpty]
29-
public string ResourceGroupName { get; set; }
30-
31-
[Parameter(ParameterSetName = ParameterSetNames.ByFactoryName, Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true,
32-
HelpMessage = Constants.HelpFactoryName)]
33-
[ValidateNotNullOrEmpty]
34-
public string DataFactoryName { get; set; }
35-
36-
[Parameter(ParameterSetName = ParameterSetNames.ByResourceId, Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true,
37-
HelpMessage = Constants.HelpResourceId)]
38-
[ValidateNotNullOrEmpty]
39-
public string ResourceId { get; set; }
40-
41-
[ValidateNotNullOrEmpty]
42-
public abstract string Name { get; set; }
43-
4425
[Parameter(Mandatory = false, HelpMessage = Constants.HelpDontAskConfirmation)]
4526
public SwitchParameter Force { get; set; }
46-
47-
protected void ByResourceId()
48-
{
49-
if (ParameterSetName.Equals(ParameterSetNames.ByResourceId, StringComparison.OrdinalIgnoreCase))
50-
{
51-
var parsedResourceId = new ResourceIdentifier(ResourceId);
52-
ResourceGroupName = parsedResourceId.ResourceGroupName;
53-
Name = parsedResourceId.ResourceName;
54-
var parentResource = parsedResourceId.ParentResource.Split(new[] { '/' });
55-
DataFactoryName = parentResource[parentResource.Length - 1];
56-
}
57-
}
58-
59-
protected void ByInputObject(AdfSubResource subResource)
60-
{
61-
if (ParameterSetName.Equals(ParameterSetNames.ByInputObject, StringComparison.OrdinalIgnoreCase))
62-
{
63-
DataFactoryName = subResource.DataFactoryName;
64-
ResourceGroupName = subResource.ResourceGroupName;
65-
Name = subResource.Name;
66-
}
67-
}
6827
}
6928
}
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
// ----------------------------------------------------------------------------------
2+
//
3+
// Copyright Microsoft Corporation
4+
// Licensed under the Apache License, Version 2.0 (the "License");
5+
// you may not use this file except in compliance with the License.
6+
// You may obtain a copy of the License at
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
// Unless required by applicable law or agreed to in writing, software
9+
// distributed under the License is distributed on an "AS IS" BASIS,
10+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11+
// See the License for the specific language governing permissions and
12+
// limitations under the License.
13+
// ----------------------------------------------------------------------------------
14+
15+
using System;
16+
using System.Management.Automation;
17+
using Microsoft.Azure.Management.Internal.Resources.Utilities.Models;
18+
using Microsoft.Azure.Commands.DataFactoryV2.Models;
19+
using Microsoft.Azure.Commands.ResourceManager.Common.ArgumentCompleters;
20+
21+
namespace Microsoft.Azure.Commands.DataFactoryV2
22+
{
23+
public abstract class DataFactoryContextSubResourceBaseCmdlet : DataFactoryBaseCmdlet
24+
{
25+
[Parameter(ParameterSetName = ParameterSetNames.ByFactoryName, Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true,
26+
HelpMessage = Constants.HelpResourceGroup)]
27+
[ResourceGroupCompleter()]
28+
[ValidateNotNullOrEmpty]
29+
public string ResourceGroupName { get; set; }
30+
31+
[Parameter(ParameterSetName = ParameterSetNames.ByFactoryName, Position = 1, Mandatory = true, ValueFromPipelineByPropertyName = true,
32+
HelpMessage = Constants.HelpFactoryName)]
33+
[ValidateNotNullOrEmpty]
34+
public string DataFactoryName { get; set; }
35+
36+
[Parameter(ParameterSetName = ParameterSetNames.ByResourceId, Position = 0, Mandatory = true, ValueFromPipelineByPropertyName = true,
37+
HelpMessage = Constants.HelpResourceId)]
38+
[ValidateNotNullOrEmpty]
39+
public string ResourceId { get; set; }
40+
41+
[ValidateNotNullOrEmpty]
42+
public abstract string Name { get; set; }
43+
44+
protected void ByResourceId()
45+
{
46+
if (ParameterSetName.Equals(ParameterSetNames.ByResourceId, StringComparison.OrdinalIgnoreCase))
47+
{
48+
var parsedResourceId = new ResourceIdentifier(ResourceId);
49+
ResourceGroupName = parsedResourceId.ResourceGroupName;
50+
Name = parsedResourceId.ResourceName;
51+
var parentResource = parsedResourceId.ParentResource.Split(new[] { '/' });
52+
DataFactoryName = parentResource[parentResource.Length - 1];
53+
}
54+
}
55+
56+
protected void ByInputObject(AdfSubResource subResource)
57+
{
58+
if (ParameterSetName.Equals(ParameterSetNames.ByInputObject, StringComparison.OrdinalIgnoreCase))
59+
{
60+
DataFactoryName = subResource.DataFactoryName;
61+
ResourceGroupName = subResource.ResourceGroupName;
62+
Name = subResource.Name;
63+
}
64+
}
65+
}
66+
}

src/DataFactory/DataFactoryV2/Triggers/AddAzureDataFactoryTriggerSubscriptionCommand.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ namespace Microsoft.Azure.Commands.DataFactoryV2
1919
{
2020
[Cmdlet("Add", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "DataFactoryV2TriggerSubscription",
2121
DefaultParameterSetName = ParameterSetNames.ByFactoryName, SupportsShouldProcess = true), OutputType(typeof(PSTriggerSubscriptionStatus))]
22-
public class AddAzureDataFactoryTriggerSubscriptionCommand : DataFactoryContextActionBaseCmdlet
22+
public class AddAzureDataFactoryTriggerSubscriptionCommand : DataFactoryContextSubResourceBaseCmdlet
2323
{
2424
[Parameter(ParameterSetName = ParameterSetNames.ByFactoryName, Position = 2, Mandatory = true, ValueFromPipelineByPropertyName = true,
2525
HelpMessage = Constants.HelpTriggerName)]
@@ -37,7 +37,10 @@ public override void ExecuteCmdlet()
3737
ByResourceId();
3838
ByInputObject(InputObject);
3939

40-
WriteObject(DataFactoryClient.SubscribeToTriggerEvents(ResourceGroupName, DataFactoryName, Name));
40+
if (ShouldProcess(Name))
41+
{
42+
WriteObject(DataFactoryClient.SubscribeToTriggerEvents(ResourceGroupName, DataFactoryName, Name));
43+
}
4144
}
4245
}
4346
}

src/DataFactory/DataFactoryV2/Triggers/RemoveAzureDataFactoryTriggerSubscriptionCommand.cs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
namespace Microsoft.Azure.Commands.DataFactoryV2
1919
{
2020
[Cmdlet("Remove", ResourceManager.Common.AzureRMConstants.AzureRMPrefix + "DataFactoryV2TriggerSubscription",
21-
DefaultParameterSetName = ParameterSetNames.ByFactoryName, SupportsShouldProcess = true), OutputType(typeof(PSTriggerSubscriptionStatus))]
22-
public class RemoveAzureDataFactoryTriggerSubscriptionCommand : DataFactoryContextActionBaseCmdlet
21+
DefaultParameterSetName = ParameterSetNames.ByFactoryName, SupportsShouldProcess = true), OutputType(typeof(void))]
22+
public class RemoveAzureDataFactoryTriggerSubscriptionCommand : DataFactoryContextSubResourceBaseCmdlet
2323
{
2424
[Parameter(ParameterSetName = ParameterSetNames.ByFactoryName, Position = 2, Mandatory = true, ValueFromPipelineByPropertyName = true,
2525
HelpMessage = Constants.HelpTriggerName)]
@@ -32,12 +32,22 @@ public class RemoveAzureDataFactoryTriggerSubscriptionCommand : DataFactoryConte
3232
[ValidateNotNull]
3333
public PSTrigger InputObject { get; set; }
3434

35+
[Parameter(Mandatory = false, HelpMessage = Constants.HelpPassThru)]
36+
public SwitchParameter PassThru { get; set; }
37+
3538
public override void ExecuteCmdlet()
3639
{
3740
ByResourceId();
3841
ByInputObject(InputObject);
3942

40-
WriteObject(DataFactoryClient.UnsubscribeFromTriggerEvents(ResourceGroupName, DataFactoryName, Name));
43+
if (ShouldProcess(Name))
44+
{
45+
DataFactoryClient.UnsubscribeFromTriggerEvents(ResourceGroupName, DataFactoryName, Name);
46+
}
47+
if (PassThru.IsPresent && PassThru.ToBool())
48+
{
49+
WriteObject(true);
50+
}
4151
}
4252
}
4353
}

0 commit comments

Comments
 (0)