diff --git a/sdk/resourcemanager/azure-resourcemanager-compute/src/main/java/com/azure/resourcemanager/compute/models/CreationSource.java b/sdk/resourcemanager/azure-resourcemanager-compute/src/main/java/com/azure/resourcemanager/compute/models/CreationSource.java index 3a0350947adc..bb4930164055 100644 --- a/sdk/resourcemanager/azure-resourcemanager-compute/src/main/java/com/azure/resourcemanager/compute/models/CreationSource.java +++ b/sdk/resourcemanager/azure-resourcemanager-compute/src/main/java/com/azure/resourcemanager/compute/models/CreationSource.java @@ -33,22 +33,15 @@ public CreationSourceType type() { } if (createOption == DiskCreateOption.COPY) { String sourceResourceId = this.creationData.sourceResourceId(); - if (sourceResourceId != null) { - String resourceType = ResourceUtils.resourceTypeFromResourceId(sourceResourceId); - if (resourceType.equalsIgnoreCase("disks")) { - return CreationSourceType.COPIED_FROM_DISK; - } - if (resourceType.equalsIgnoreCase("snapshots")) { - return CreationSourceType.COPIED_FROM_SNAPSHOT; - } - } - if (this.creationData.sourceUri() != null) { + if (sourceResourceId == null && this.creationData.sourceUri() != null) { sourceResourceId = this.creationData.sourceUri(); + } + if (sourceResourceId != null) { String resourceType = ResourceUtils.resourceTypeFromResourceId(sourceResourceId); - if (resourceType.equalsIgnoreCase("disks")) { + if ("disks".equalsIgnoreCase(resourceType)) { return CreationSourceType.COPIED_FROM_DISK; } - if (resourceType.equalsIgnoreCase("snapshots")) { + if ("snapshots".equalsIgnoreCase(resourceType)) { return CreationSourceType.COPIED_FROM_SNAPSHOT; } }