// Copyright 2016-2019, Pulumi Corporation namespace Pulumi { /// /// Alias is a description of prior named used for a resource. It can be processed in the /// context of a resource creation to determine what the full aliased URN would be. /// /// Use in the case where a prior URN is known and can just be specified in /// full. Otherwise, provide some subset of the other properties in this type to generate an /// appropriate urn from the pre-existing values of the with certain /// parts overridden. /// /// The presence of a property indicates if its value should be used. If absent (i.e. /// ), then the value is not used. /// /// Note: because of the above, there needs to be special handling to indicate that the previous /// of a was . Specifically, /// pass in: /// /// Aliases = { new Alias { NoParent = true } } /// public sealed class Alias { /// /// The previous urn to alias to. If this is provided, no other properties in this type /// should be provided. /// public string? Urn { get; set; } /// /// The previous name of the resource. If , the current name of the /// resource is used. /// public Input? Name { get; set; } /// /// The previous type of the resource. If , the current type of the /// resource is used. /// public Input? Type { get; set; } /// /// The previous stack of the resource. If , defaults to the value of /// . /// public Input? Stack { get; set; } /// /// The previous project of the resource. If , defaults to the value /// of . /// public Input? Project { get; set; } /// /// The previous parent of the resource. If , the current parent of /// the resource is used. /// /// To specify no original parent, use new Alias { NoParent = true }. /// /// Only specify one of or or . /// public Resource? Parent { get; set; } /// /// The previous parent of the resource. If , the current parent of /// the resource is used. /// /// To specify no original parent, use new Alias { NoParent = true }. /// /// Only specify one of or or . /// public Input? ParentUrn { get; set; } /// /// Used to indicate the resource previously had no parent. If this /// property is ignored. /// /// To specify no original parent, use new Alias { NoParent = true }. /// /// Only specify one of or or . /// public bool NoParent { get; set; } } }