Skip to content

Commit

Permalink
Merge pull request #457 from vivsriaus/release-0.9.3
Browse files Browse the repository at this point in the history
Fix for new azure resource of Microsoft.Storage
  • Loading branch information
markcowl committed Jun 3, 2015
2 parents 2405634 + d4e46c9 commit 825f5c1
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ public class Resource<TProperties>
/// <summary>
/// Gets or sets the id for the resource.
/// </summary>
[JsonProperty(Required = Required.Always)]
[JsonProperty(Required = Required.Default)]
public string Id { get; set; }

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,21 +35,26 @@ internal static class ResourceExtensions
/// <param name="objectFormat">The <see cref="ResourceObjectFormat"/></param>
internal static PSObject ToPsObject(this Resource<JToken> resource, ResourceObjectFormat objectFormat)
{
var resourceType = ResourceIdUtility.GetResourceType(resource.Id);
var extensionResourceType = ResourceIdUtility.GetExtensionResourceType(resource.Id);
var resourceType = string.IsNullOrEmpty(resource.Id)
? null
: ResourceIdUtility.GetResourceType(resource.Id);

var extensionResourceType = string.IsNullOrEmpty(resource.Id)
? null
: ResourceIdUtility.GetExtensionResourceType(resource.Id);

var objectDefinition = new Dictionary<string, object>
{
{ "Name", resource.Name },
{ "ResourceId", resource.Id },
{ "ResourceName", ResourceIdUtility.GetResourceName(resource.Id) },
{ "ResourceId", string.IsNullOrEmpty(resource.Id) ? null : resource.Id },
{ "ResourceName", string.IsNullOrEmpty(resource.Id) ? null : ResourceIdUtility.GetResourceName(resource.Id) },
{ "ResourceType", resourceType },
{ "ExtensionResourceName", ResourceIdUtility.GetExtensionResourceName(resource.Id) },
{ "ExtensionResourceName", string.IsNullOrEmpty(resource.Id) ? null : ResourceIdUtility.GetExtensionResourceName(resource.Id) },
{ "ExtensionResourceType", extensionResourceType },
{ "Kind", resource.Kind },
{ "ResourceGroupName", ResourceIdUtility.GetResourceGroupName(resource.Id) },
{ "ResourceGroupName", string.IsNullOrEmpty(resource.Id) ? null : ResourceIdUtility.GetResourceGroupName(resource.Id) },
{ "Location", resource.Location },
{ "SubscriptionId", ResourceIdUtility.GetSubscriptionId(resource.Id) },
{ "SubscriptionId", string.IsNullOrEmpty(resource.Id) ? null : ResourceIdUtility.GetSubscriptionId(resource.Id) },
{ "Tags", TagsHelper.GetTagsHashtables(resource.Tags) },
{ "Plan", resource.Plan.ToJToken().ToPsObject(objectFormat) },
{ "Properties", ResourceExtensions.GetProperties(resource, objectFormat) },
Expand All @@ -58,8 +63,13 @@ internal static PSObject ToPsObject(this Resource<JToken> resource, ResourceObje
{ "ETag", resource.ETag },
};

var psObject = PowerShellUtilities.ConstructPSObject(
(resourceType + extensionResourceType).Replace('/', '.'),
var resourceTypeName = resourceType == null && extensionResourceType == null
? null
: (resourceType + extensionResourceType).Replace('/', '.');

var psObject =
PowerShellUtilities.ConstructPSObject(
resourceTypeName,
objectDefinition.Where(kvp => kvp.Value != null).SelectManyArray(kvp => new[] { kvp.Key, kvp.Value }));

psObject.TypeNames.Add(Constants.MicrosoftAzureResource);
Expand Down

0 comments on commit 825f5c1

Please sign in to comment.