Skip to content

Commit

Permalink
Parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
sergey-shandar committed Oct 26, 2017
1 parent 849627e commit d6db1f6
Show file tree
Hide file tree
Showing 8 changed files with 21 additions and 45 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@

namespace Microsoft.Azure.Experiments.Network
{
public sealed class NetworkInterfaceParameters : ResourceParameters<NetworkInterface>
public sealed class NetworkInterfaceParameters
: ResourceParameters<NetworkInterface>
{
public SubnetParameters Subnet { get; }

Expand All @@ -17,14 +18,11 @@ public NetworkInterfaceParameters(
SubnetParameters subnet,
NetworkSecurityGroupParameters nsg,
PublicIpAddressParameters pia)
: base(name, resourceGroup)
: base(name, resourceGroup, new Parameters[] { subnet, nsg, pia })
{
Subnet = subnet;
Nsg = nsg;
Pia = pia;
}

public override IEnumerable<Parameters> ResourceDependencies
=> new Parameters[] { Subnet, Nsg, Pia };
}
}
Original file line number Diff line number Diff line change
@@ -1,17 +1,13 @@
using System.Collections.Generic;
using Microsoft.Azure.Management.Network.Models;
using Microsoft.Azure.Management.Network.Models;

namespace Microsoft.Azure.Experiments.Network
{
public sealed class NetworkSecurityGroupParameters
: ResourceParameters<NetworkSecurityGroup>
{
public override IEnumerable<Parameters> ResourceDependencies
=> NoDependencies;

public NetworkSecurityGroupParameters(
string name, ResourceGroupParameters resourceGroup)
: base(name, resourceGroup)
: base(name, resourceGroup, NoDependencies)
{
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,9 @@ namespace Microsoft.Azure.Experiments.Network
public sealed class PublicIpAddressParameters
: ResourceParameters<PublicIPAddress>
{
public override IEnumerable<Parameters> ResourceDependencies
=> NoDependencies;

public PublicIpAddressParameters(
string name, ResourceGroupParameters resourceGroup)
: base(name, resourceGroup)
: base(name, resourceGroup, NoDependencies)
{
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,14 @@
using Microsoft.Azure.Management.Network.Models;
using System.Collections.Generic;

namespace Microsoft.Azure.Experiments.Network
{
public sealed class SubnetParameters : Parameters<Subnet>
{
public VirtualNetworkParameters VirtualNetwork { get; }

public override IEnumerable<Parameters> Dependencies
=> new[] { VirtualNetwork };

public SubnetParameters(
string name, VirtualNetworkParameters virtualNetwork)
: base(name)
: base(name, new[] { virtualNetwork })
{
VirtualNetwork = virtualNetwork;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,13 @@
using Microsoft.Azure.Management.Network.Models;
using System.Collections.Generic;

namespace Microsoft.Azure.Experiments.Network
{
public sealed class VirtualNetworkParameters
: ResourceParameters<VirtualNetwork>
{
public override IEnumerable<Parameters> ResourceDependencies
=> NoDependencies;

public VirtualNetworkParameters(
string name, ResourceGroupParameters resourceGroup)
: base(name, resourceGroup)
: base(name, resourceGroup, NoDependencies)
{
}
}
Expand Down
13 changes: 7 additions & 6 deletions experiments/Azure.Experiments/Azure.Experiments/Parameters.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,24 @@ namespace Microsoft.Azure.Experiments
{
public abstract class Parameters
{
public string Name { get; }

public static IEnumerable<Parameters> NoDependencies
=> Enumerable.Empty<Parameters>();

public abstract IEnumerable<Parameters> Dependencies { get; }
public string Name { get; }

public Parameters(string name)
public IEnumerable<Parameters> Dependencies { get; }

protected Parameters(string name, IEnumerable<Parameters> dependencies)
{
Name = name;
Dependencies = dependencies;
}
}

public abstract class Parameters<T> : Parameters
{

public Parameters(string name) : base(name)
protected Parameters(string name, IEnumerable<Parameters> parameters)
: base(name, parameters)
{
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,8 @@
using System.Collections.Generic;

namespace Microsoft.Azure.Experiments
namespace Microsoft.Azure.Experiments
{
public sealed class ResourceGroupParameters : Parameters
{
public override IEnumerable<Parameters> Dependencies
=> NoDependencies;

public ResourceGroupParameters(string name) : base(name)
public ResourceGroupParameters(string name) : base(name, NoDependencies)
{
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,11 @@ public abstract class ResourceParameters<T> : Parameters<T>
{
public ResourceGroupParameters ResourceGroup { get; }

public sealed override IEnumerable<Parameters> Dependencies =>
ResourceDependencies.Concat(new[] { ResourceGroup });

public abstract IEnumerable<Parameters> ResourceDependencies { get; }

public ResourceParameters(
string name, ResourceGroupParameters resourceGroup)
: base(name)
string name,
ResourceGroupParameters resourceGroup,
IEnumerable<Parameters> dependencies)
: base(name, dependencies.Concat(new[] { resourceGroup }))
{
ResourceGroup = resourceGroup;
}
Expand Down

0 comments on commit d6db1f6

Please sign in to comment.