Class DeploymentNode
Represents a deployment node, which is something like:
- Physical infrastructure (e.g. a physical server or device)
- Virtualised infrastructure (e.g. IaaS, PaaS, a virtual machine)
- Containerised infrastructure (e.g. a Docker container)
- Database server
- Java EE web/application server
- Microsoft IIS
- etc
[DataContract]
public sealed class DeploymentNode : DeploymentElement
- Inheritance
-
DeploymentNode
- Inherited Members
Properties
CanonicalName
Gets the canonical name for this deployment node.
public override string CanonicalName { get; }
Property Value
Children
The set of child deployment nodes.
[DataMember(Name = "children", EmitDefaultValue = false)]
public ISet<DeploymentNode> Children { get; }
Property Value
ContainerInstances
The set of container instances associated with this deployment node.
[DataMember(Name = "containerInstances", EmitDefaultValue = false)]
public ISet<ContainerInstance> ContainerInstances { get; }
Property Value
InfrastructureNodes
The set of infrastructure nodes associated with this deployment node.
[DataMember(Name = "infrastructureNodes", EmitDefaultValue = false)]
public ISet<InfrastructureNode> InfrastructureNodes { get; }
Property Value
Instances
The number of identical instances represented by this deployment node.
[DataMember(Name = "instances", EmitDefaultValue = false)]
public int Instances { get; set; }
Property Value
Parent
The parent DeploymentNode, or null if there is no parent.
public override Element Parent { get; set; }
Property Value
SoftwareSystemInstances
The set of software system instances associated with this deployment node.
[DataMember(Name = "softwareSystemInstances", EmitDefaultValue = false)]
public ISet<SoftwareSystemInstance> SoftwareSystemInstances { get; }
Property Value
Technology
The technology or product represented by this deployment node.
[DataMember(Name = "technology", EmitDefaultValue = false)]
public string Technology { get; set; }
Property Value
Methods
Add(Container)
Adds a container instance to this deployment node, replicating relationships.
public ContainerInstance Add(Container container)
Parameters
containerContainerthe Container to add an instance of
Returns
- ContainerInstance
a ContainerInstance object
Exceptions
- ArgumentException
Thrown when
containeris null.
Add(Container, string)
Adds a container instance to this deployment node.
public ContainerInstance Add(Container container, string deploymentGroup)
Parameters
Returns
- ContainerInstance
a ContainerInstance object
Exceptions
- ArgumentException
Thrown when
containeris null.
Add(SoftwareSystem)
Adds a software system instance to this deployment node, replicating relationships.
public SoftwareSystemInstance Add(SoftwareSystem softwareSystem)
Parameters
softwareSystemSoftwareSystemthe SoftwareSystem to add an instance of
Returns
- SoftwareSystemInstance
a SoftwareSystemInstance object
Exceptions
- ArgumentException
Thrown when
softwareSystemis null.
Add(SoftwareSystem, string)
Adds a software system instance to this deployment node, optionally replicating relationships.
public SoftwareSystemInstance Add(SoftwareSystem softwareSystem, string deploymentGroup)
Parameters
softwareSystemSoftwareSystemthe SoftwareSystem to add an instance of
deploymentGroupstringthe deployment group
Returns
- SoftwareSystemInstance
a SoftwareSystemInstance object
Exceptions
- ArgumentException
Thrown when
softwareSystemis null.
AddDeploymentNode(string)
Adds a child deployment node.
public DeploymentNode AddDeploymentNode(string name)
Parameters
namestringthe name of the deployment node
Returns
- DeploymentNode
The created child deployment node.
AddDeploymentNode(string, string, string)
Adds a child deployment node.
public DeploymentNode AddDeploymentNode(string name, string description, string technology)
Parameters
namestringthe name of the deployment node
descriptionstringa short description
technologystringthe technology
Returns
- DeploymentNode
The created child deployment node.
AddDeploymentNode(string, string, string, int)
Adds a child deployment node.
public DeploymentNode AddDeploymentNode(string name, string description, string technology, int instances)
Parameters
namestringthe name of the deployment node
descriptionstringa short description
technologystringthe technology
instancesintthe number of instances
Returns
- DeploymentNode
The created child deployment node.
AddDeploymentNode(string, string, string, int, Dictionary<string, string>)
Adds a child deployment node.
public DeploymentNode AddDeploymentNode(string name, string description, string technology, int instances, Dictionary<string, string> properties)
Parameters
namestringthe name of the deployment node
descriptionstringa short description
technologystringthe technology
instancesintthe number of instances
propertiesDictionary<string, string>a Dictionary (string,string) describing name=value properties
Returns
- DeploymentNode
The created child deployment node.
Exceptions
- ArgumentException
Thrown when
nameis blank or when a deployment or infrastructure node with the same name already exists.
AddInfrastructureNode(string)
Adds a child infrastructure node.
public InfrastructureNode AddInfrastructureNode(string name)
Parameters
namestringthe name of the infrastructure node
Returns
- InfrastructureNode
an InfrastructureNode object
AddInfrastructureNode(string, string, string)
Adds a child infrastructure node.
public InfrastructureNode AddInfrastructureNode(string name, string description, string technology)
Parameters
namestringthe name of the infrastructure node
descriptionstringa short description
technologystringthe technology
Returns
- InfrastructureNode
an InfrastructureNode object
AddInfrastructureNode(string, string, string, Dictionary<string, string>)
Adds a child infrastructure node.
public InfrastructureNode AddInfrastructureNode(string name, string description, string technology, Dictionary<string, string> properties)
Parameters
namestringthe name of the infrastructure node
descriptionstringa short description
technologystringthe technology
propertiesDictionary<string, string>a Dictionary (string,string) describing name=value properties
Returns
- InfrastructureNode
an InfrastructureNode object
Exceptions
- ArgumentException
Thrown when
nameis blank or when a deployment or infrastructure node with the same name already exists.
GetDeploymentNodeWithName(string)
Gets the DeploymentNode with the specified name.
public DeploymentNode GetDeploymentNodeWithName(string name)
Parameters
namestringthe name of the deployment node
Returns
- DeploymentNode
the DeploymentNode instance with the specified name (or null if it doesn't exist)
Exceptions
- ArgumentException
Thrown when
nameis null or empty.
GetInfrastructureNodeWithName(string)
Gets the InfrastructureNode with the specified name.
public InfrastructureNode GetInfrastructureNodeWithName(string name)
Parameters
namestringthe name of the infrastructure node
Returns
- InfrastructureNode
the InfrastructureNode instance with the specified name (or null if it doesn't exist)
Exceptions
- ArgumentException
Thrown when
nameis null or empty.
GetRequiredTags()
Returns the tags that are always applied to deployment nodes.
public override List<string> GetRequiredTags()
Returns
Uses(DeploymentNode, string, string)
Adds a relationship between this and another deployment node.
public Relationship Uses(DeploymentNode destination, string description, string technology)
Parameters
destinationDeploymentNodethe destination DeploymentNode
descriptionstringa short description of the relationship
technologystringthe technology
Returns
- Relationship
a Relationship object
Remarks
Deployment node relationships are created directly and do not use implied-relationship strategies.