public override void ExecuteCmdlet()
{
base.ExecuteCmdlet();
ExecuteClientAction(() =>
{
if (string.IsNullOrEmpty(this.Name))
{
var virtualMachine = ComputeClient.ComputeManagementClient.VirtualMachines.Get(this.ResourceGroupName, this.VMName);
var diagnosticsExtension = virtualMachine.Resources != null
? virtualMachine.Resources.FirstOrDefault(extension =>
extension.Publisher.Equals(DiagnosticsExtensionConstants.ExtensionPublisher, StringComparison.InvariantCultureIgnoreCase) &&
extension.VirtualMachineExtensionType.Equals(DiagnosticsExtensionConstants.ExtensionType, StringComparison.InvariantCultureIgnoreCase))
: null;
if (diagnosticsExtension == null)
{
WriteObject(null);
return;
}
else {
this.Name = diagnosticsExtension.Name;
}
}
AzureOperationResponse<VirtualMachineExtension> virtualMachineExtensionGetResponse = null;
if (Status.IsPresent)
{
virtualMachineExtensionGetResponse =
this.VirtualMachineExtensionClient.GetWithInstanceView(this.ResourceGroupName,
this.VMName, this.Name);
}
else
{
virtualMachineExtensionGetResponse = this.VirtualMachineExtensionClient.GetWithHttpMessagesAsync(
this.ResourceGroupName,
this.VMName,
this.Name).GetAwaiter().GetResult();
}
var returnedExtension = virtualMachineExtensionGetResponse.ToPSVirtualMachineExtension(
this.ResourceGroupName, this.VMName);
WriteObject(returnedExtension);
});
}
}