public override void ExecuteCmdlet() { base.ExecuteCmdlet(); ExecuteClientAction(() => { Snapshot existingResource; try { existingResource = SnapshotsClient.Get(this.ResourceGroupName, this.SnapshotName); } catch { existingResource = null; } if (existingResource != null) { throw new Exception(string.Format("A Snapshot with name '{0}' in resource group '{1}' already exists. Please use Update-AzSnapshot to update an existing Snapshot.", this.SnapshotName, this.ResourceGroupName)); } if (ShouldProcess(this.SnapshotName, VerbsCommon.New)) { string resourceGroupName = this.ResourceGroupName; string snapshotName = this.SnapshotName; Snapshot snapshot = new Snapshot(); ComputeAutomationAutoMapperProfile.Mapper.Map <PSSnapshot, Snapshot>(this.Snapshot, snapshot); var result = SnapshotsClient.CreateOrUpdate(resourceGroupName, snapshotName, snapshot); var psObject = new PSSnapshot(); ComputeAutomationAutoMapperProfile.Mapper.Map <Snapshot, PSSnapshot>(result, psObject); WriteObject(psObject); } }); }
protected override void ProcessRecord() { ComputeAutomationAutoMapperProfile.Initialize(); ExecuteClientAction(() => { if (ShouldProcess(this.ResourceGroupName, VerbsData.Update)) { string resourceGroupName = this.ResourceGroupName; string snapshotName = this.SnapshotName; Snapshot snapshotObj = new Snapshot(); Mapper.Map <PSSnapshot, Snapshot>(this.Snapshot, snapshotObj); SnapshotUpdate snapshotUpdateObj = new SnapshotUpdate(); Mapper.Map <PSSnapshotUpdate, SnapshotUpdate>(this.SnapshotUpdate, snapshotUpdateObj); var result = (this.SnapshotUpdate == null) ? SnapshotsClient.CreateOrUpdate(resourceGroupName, snapshotName, snapshotObj) : SnapshotsClient.Update(resourceGroupName, snapshotName, snapshotUpdateObj); var psObject = new PSSnapshot(); Mapper.Map <Snapshot, PSSnapshot>(result, psObject); WriteObject(psObject); } }); }
public override void ExecuteCmdlet() { ExecuteClientAction(() => { WriteWarning("Update-AzureRmSnapshot: A property of the output of this cmdlet will change in an upcoming breaking change release. " + "The Name property for a Sku will return Standard_LRS and Premium_LRS"); if (ShouldProcess(this.SnapshotName, VerbsData.Update)) { string resourceGroupName = this.ResourceGroupName; string snapshotName = this.SnapshotName; SnapshotUpdate snapshotupdate = new SnapshotUpdate(); ComputeAutomationAutoMapperProfile.Mapper.Map <PSSnapshotUpdate, SnapshotUpdate>(this.SnapshotUpdate, snapshotupdate); Snapshot snapshot = new Snapshot(); ComputeAutomationAutoMapperProfile.Mapper.Map <PSSnapshot, Snapshot>(this.Snapshot, snapshot); var result = (this.SnapshotUpdate == null) ? SnapshotsClient.CreateOrUpdate(resourceGroupName, snapshotName, snapshot) : SnapshotsClient.Update(resourceGroupName, snapshotName, snapshotupdate); var psObject = new PSSnapshot(); ComputeAutomationAutoMapperProfile.Mapper.Map <Snapshot, PSSnapshot>(result, psObject); WriteObject(psObject); } }); }
public override void ExecuteCmdlet() { base.ExecuteCmdlet(); ExecuteClientAction(() => { string resourceGroupName = this.ResourceGroupName; string snapshotName = this.SnapshotName; if (!string.IsNullOrEmpty(resourceGroupName) && !string.IsNullOrEmpty(snapshotName)) { var result = SnapshotsClient.Get(resourceGroupName, snapshotName); var psObject = new PSSnapshot(); ComputeAutomationAutoMapperProfile.Mapper.Map <Snapshot, PSSnapshot>(result, psObject); WriteObject(psObject); } else if (!string.IsNullOrEmpty(resourceGroupName)) { var result = SnapshotsClient.ListByResourceGroup(resourceGroupName); var resultList = result.ToList(); var nextPageLink = result.NextPageLink; while (!string.IsNullOrEmpty(nextPageLink)) { var pageResult = SnapshotsClient.ListByResourceGroupNext(nextPageLink); foreach (var pageItem in pageResult) { resultList.Add(pageItem); } nextPageLink = pageResult.NextPageLink; } var psObject = new List <PSSnapshotList>(); foreach (var r in resultList) { psObject.Add(ComputeAutomationAutoMapperProfile.Mapper.Map <Snapshot, PSSnapshotList>(r)); } WriteObject(psObject, true); } else { var result = SnapshotsClient.List(); var resultList = result.ToList(); var nextPageLink = result.NextPageLink; while (!string.IsNullOrEmpty(nextPageLink)) { var pageResult = SnapshotsClient.ListNext(nextPageLink); foreach (var pageItem in pageResult) { resultList.Add(pageItem); } nextPageLink = pageResult.NextPageLink; } var psObject = new List <PSSnapshotList>(); foreach (var r in resultList) { psObject.Add(ComputeAutomationAutoMapperProfile.Mapper.Map <Snapshot, PSSnapshotList>(r)); } WriteObject(psObject, true); } }); }
protected void ExecuteSnapshotCreateOrUpdateMethod(object[] invokeMethodInputParameters) { string resourceGroupName = (string)ParseParameter(invokeMethodInputParameters[0]); string snapshotName = (string)ParseParameter(invokeMethodInputParameters[1]); PSSnapshot snapshot = (PSSnapshot)ParseParameter(invokeMethodInputParameters[2]); var result = SnapshotsClient.CreateOrUpdate(resourceGroupName, snapshotName, snapshot); WriteObject(result); }
protected PSArgument[] CreateSnapshotCreateOrUpdateParameters() { string resourceGroupName = string.Empty; string snapshotName = string.Empty; PSSnapshot snapshot = new PSSnapshot(); return(ConvertFromObjectsToArguments( new string[] { "ResourceGroupName", "SnapshotName", "Snapshot" }, new object[] { resourceGroupName, snapshotName, snapshot })); }
protected void ExecuteSnapshotGetMethod(object[] invokeMethodInputParameters) { string resourceGroupName = (string)ParseParameter(invokeMethodInputParameters[0]); string snapshotName = (string)ParseParameter(invokeMethodInputParameters[1]); if (!string.IsNullOrEmpty(resourceGroupName) && !string.IsNullOrEmpty(snapshotName)) { var result = SnapshotsClient.Get(resourceGroupName, snapshotName); var psObject = new PSSnapshot(); Mapper.Map <Snapshot, PSSnapshot>(result, psObject); WriteObject(psObject); } else if (!string.IsNullOrEmpty(resourceGroupName)) { var result = SnapshotsClient.ListByResourceGroup(resourceGroupName); var resultList = result.ToList(); var nextPageLink = result.NextPageLink; while (!string.IsNullOrEmpty(nextPageLink)) { var pageResult = SnapshotsClient.ListByResourceGroupNext(nextPageLink); foreach (var pageItem in pageResult) { resultList.Add(pageItem); } nextPageLink = pageResult.NextPageLink; } var psObject = new List <PSSnapshotList>(); foreach (var r in resultList) { psObject.Add(Mapper.Map <Snapshot, PSSnapshotList>(r)); } WriteObject(psObject, true); } else { var result = SnapshotsClient.List(); var resultList = result.ToList(); var nextPageLink = result.NextPageLink; while (!string.IsNullOrEmpty(nextPageLink)) { var pageResult = SnapshotsClient.ListNext(nextPageLink); foreach (var pageItem in pageResult) { resultList.Add(pageItem); } nextPageLink = pageResult.NextPageLink; } var psObject = new List <PSSnapshotList>(); foreach (var r in resultList) { psObject.Add(Mapper.Map <Snapshot, PSSnapshotList>(r)); } WriteObject(psObject, true); } }
protected override void ProcessRecord() { ExecuteClientAction(() => { if (ShouldProcess(this.ResourceGroupName, VerbsCommon.New)) { string resourceGroupName = this.ResourceGroupName; string snapshotName = this.SnapshotName; PSSnapshot snapshot = this.Snapshot; var result = SnapshotsClient.CreateOrUpdate(resourceGroupName, snapshotName, snapshot); WriteObject(result); } }); }
public override void ExecuteCmdlet() { ExecuteClientAction(() => { if (ShouldProcess(this.SnapshotName, VerbsCommon.New)) { string resourceGroupName = this.ResourceGroupName; string snapshotName = this.SnapshotName; Snapshot snapshot = new Snapshot(); ComputeAutomationAutoMapperProfile.Mapper.Map <PSSnapshot, Snapshot>(this.Snapshot, snapshot); var result = SnapshotsClient.CreateOrUpdate(resourceGroupName, snapshotName, snapshot); var psObject = new PSSnapshot(); ComputeAutomationAutoMapperProfile.Mapper.Map <Snapshot, PSSnapshot>(result, psObject); WriteObject(psObject); } }); }
protected override void ProcessRecord() { ComputeAutomationAutoMapperProfile.Initialize(); ExecuteClientAction(() => { if (ShouldProcess(this.ResourceGroupName, VerbsCommon.New)) { string resourceGroupName = this.ResourceGroupName; string snapshotName = this.SnapshotName; Snapshot snapshot = new Snapshot(); Mapper.Map <PSSnapshot, Snapshot>(this.Snapshot, snapshot); var result = SnapshotsClient.CreateOrUpdate(resourceGroupName, snapshotName, snapshot); PSSnapshot psResult = new PSSnapshot(); Mapper.Map <Snapshot, PSSnapshot>(result, psResult); WriteObject(psResult); } }); }
protected override void ProcessRecord() { ExecuteClientAction(() => { if (ShouldProcess(this.ResourceGroupName, VerbsData.Update)) { string resourceGroupName = this.ResourceGroupName; string snapshotName = this.SnapshotName; PSSnapshotUpdate snapshot = this.SnapshotUpdate; PSSnapshot snapshotOrg = this.Snapshot; var result = (snapshot == null) ? SnapshotsClient.CreateOrUpdate(resourceGroupName, snapshotName, snapshotOrg) : SnapshotsClient.Update(resourceGroupName, snapshotName, snapshot); var psObject = new PSSnapshot(); Mapper.Map <Snapshot, PSSnapshot>(result, psObject); WriteObject(psObject); } }); }
public override void ExecuteCmdlet() { base.ExecuteCmdlet(); ExecuteClientAction(() => { if (ShouldProcess(this.SnapshotName, VerbsData.Update)) { string resourceGroupName = this.ResourceGroupName; string snapshotName = this.SnapshotName; SnapshotUpdate snapshotupdate = new SnapshotUpdate(); ComputeAutomationAutoMapperProfile.Mapper.Map <PSSnapshotUpdate, SnapshotUpdate>(this.SnapshotUpdate, snapshotupdate); Snapshot snapshot = new Snapshot(); ComputeAutomationAutoMapperProfile.Mapper.Map <PSSnapshot, Snapshot>(this.Snapshot, snapshot); var result = (this.SnapshotUpdate == null) ? SnapshotsClient.CreateOrUpdate(resourceGroupName, snapshotName, snapshot) : SnapshotsClient.Update(resourceGroupName, snapshotName, snapshotupdate); var psObject = new PSSnapshot(); ComputeAutomationAutoMapperProfile.Mapper.Map <Snapshot, PSSnapshot>(result, psObject); WriteObject(psObject); } }); }
private void Run() { // Sku SnapshotSku vSku = null; // CreationData CreationData vCreationData = null; // EncryptionSettingsCollection EncryptionSettingsCollection vEncryptionSettingsCollection = null; if (this.IsParameterBound(c => c.SkuName)) { if (vSku == null) { vSku = new SnapshotSku(); } vSku.Name = this.SkuName; } if (this.IsParameterBound(c => c.CreateOption)) { if (vCreationData == null) { vCreationData = new CreationData(); } vCreationData.CreateOption = this.CreateOption; } if (this.IsParameterBound(c => c.StorageAccountId)) { if (vCreationData == null) { vCreationData = new CreationData(); } vCreationData.StorageAccountId = this.StorageAccountId; } if (this.IsParameterBound(c => c.ImageReference)) { if (vCreationData == null) { vCreationData = new CreationData(); } vCreationData.ImageReference = this.ImageReference; } if (this.IsParameterBound(c => c.SourceUri)) { if (vCreationData == null) { vCreationData = new CreationData(); } vCreationData.SourceUri = this.SourceUri; } if (this.IsParameterBound(c => c.SourceResourceId)) { if (vCreationData == null) { vCreationData = new CreationData(); } vCreationData.SourceResourceId = this.SourceResourceId; } if (this.IsParameterBound(c => c.EncryptionSettingsEnabled)) { if (vEncryptionSettingsCollection == null) { vEncryptionSettingsCollection = new EncryptionSettingsCollection(); } vEncryptionSettingsCollection.Enabled = (bool)this.EncryptionSettingsEnabled; } if (this.IsParameterBound(c => c.DiskEncryptionKey)) { if (vEncryptionSettingsCollection == null) { vEncryptionSettingsCollection = new EncryptionSettingsCollection(); } if (vEncryptionSettingsCollection.EncryptionSettings == null) { vEncryptionSettingsCollection.EncryptionSettings = new List <EncryptionSettingsElement>(); } if (vEncryptionSettingsCollection.EncryptionSettings.Count == 0) { vEncryptionSettingsCollection.EncryptionSettings.Add(new EncryptionSettingsElement()); } vEncryptionSettingsCollection.EncryptionSettings[0].DiskEncryptionKey = this.DiskEncryptionKey; } if (this.IsParameterBound(c => c.KeyEncryptionKey)) { if (vEncryptionSettingsCollection == null) { vEncryptionSettingsCollection = new EncryptionSettingsCollection(); } if (vEncryptionSettingsCollection.EncryptionSettings == null) { vEncryptionSettingsCollection.EncryptionSettings = new List <EncryptionSettingsElement>(); } if (vEncryptionSettingsCollection.EncryptionSettings.Count == 0) { vEncryptionSettingsCollection.EncryptionSettings.Add(new EncryptionSettingsElement()); } vEncryptionSettingsCollection.EncryptionSettings[0].KeyEncryptionKey = this.KeyEncryptionKey; } var vSnapshot = new PSSnapshot { OsType = this.IsParameterBound(c => c.OsType) ? this.OsType : (OperatingSystemTypes?)null, HyperVGeneration = this.IsParameterBound(c => c.HyperVGeneration) ? this.HyperVGeneration : null, DiskSizeGB = this.IsParameterBound(c => c.DiskSizeGB) ? this.DiskSizeGB : (int?)null, Location = this.IsParameterBound(c => c.Location) ? this.Location : null, Tags = this.IsParameterBound(c => c.Tag) ? this.Tag.Cast <DictionaryEntry>().ToDictionary(ht => (string)ht.Key, ht => (string)ht.Value) : null, Sku = vSku, CreationData = vCreationData, EncryptionSettingsCollection = vEncryptionSettingsCollection, }; WriteObject(vSnapshot); }
private void Run() { // Sku Microsoft.Azure.Management.Compute.Models.DiskSku vSku = null; // CreationData Microsoft.Azure.Management.Compute.Models.CreationData vCreationData = null; // EncryptionSettings Microsoft.Azure.Management.Compute.Models.EncryptionSettings vEncryptionSettings = null; if (this.SkuName != null) { if (vSku == null) { vSku = new Microsoft.Azure.Management.Compute.Models.DiskSku(); } vSku.Name = this.SkuName; } if (this.CreateOption.HasValue) { if (vCreationData == null) { vCreationData = new Microsoft.Azure.Management.Compute.Models.CreationData(); } vCreationData.CreateOption = this.CreateOption.Value; } if (this.StorageAccountId != null) { if (vCreationData == null) { vCreationData = new Microsoft.Azure.Management.Compute.Models.CreationData(); } vCreationData.StorageAccountId = this.StorageAccountId; } if (this.ImageReference != null) { if (vCreationData == null) { vCreationData = new Microsoft.Azure.Management.Compute.Models.CreationData(); } vCreationData.ImageReference = this.ImageReference; } if (this.SourceUri != null) { if (vCreationData == null) { vCreationData = new Microsoft.Azure.Management.Compute.Models.CreationData(); } vCreationData.SourceUri = this.SourceUri; } if (this.SourceResourceId != null) { if (vCreationData == null) { vCreationData = new Microsoft.Azure.Management.Compute.Models.CreationData(); } vCreationData.SourceResourceId = this.SourceResourceId; } if (this.EncryptionSettingsEnabled != null) { if (vEncryptionSettings == null) { vEncryptionSettings = new Microsoft.Azure.Management.Compute.Models.EncryptionSettings(); } vEncryptionSettings.Enabled = this.EncryptionSettingsEnabled; } if (this.DiskEncryptionKey != null) { if (vEncryptionSettings == null) { vEncryptionSettings = new Microsoft.Azure.Management.Compute.Models.EncryptionSettings(); } vEncryptionSettings.DiskEncryptionKey = this.DiskEncryptionKey; } if (this.KeyEncryptionKey != null) { if (vEncryptionSettings == null) { vEncryptionSettings = new Microsoft.Azure.Management.Compute.Models.EncryptionSettings(); } vEncryptionSettings.KeyEncryptionKey = this.KeyEncryptionKey; } var vSnapshot = new PSSnapshot { OsType = this.OsType, DiskSizeGB = this.DiskSizeGB, Location = this.Location, Tags = (this.Tag == null) ? null : this.Tag.Cast <DictionaryEntry>().ToDictionary(ht => (string)ht.Key, ht => (string)ht.Value), Sku = vSku, CreationData = vCreationData, EncryptionSettings = vEncryptionSettings, }; WriteObject(vSnapshot); }
private void Run() { WriteWarning("New-AzureRmSnapshotConfig: A property of the output of this cmdlet will change in an upcoming breaking change release. " + "The Name property for a Sku will return Standard_LRS and Premium_LRS"); // Sku Microsoft.Azure.Management.Compute.Models.SnapshotSku vSku = null; // CreationData Microsoft.Azure.Management.Compute.Models.CreationData vCreationData = null; // EncryptionSettings Microsoft.Azure.Management.Compute.Models.EncryptionSettings vEncryptionSettings = null; if (this.MyInvocation.BoundParameters.ContainsKey("SkuName")) { WriteWarning("New-AzureRmSnapshotConfig: The accepted values for parameter SkuName will change in an upcoming breaking change release " + "from StandardLRS and PremiumLRS to Standard_LRS and Premium_LRS, respectively."); if (vSku == null) { vSku = new Microsoft.Azure.Management.Compute.Models.SnapshotSku(); } vSku.Name = this.SkuName; } if (this.MyInvocation.BoundParameters.ContainsKey("CreateOption")) { if (vCreationData == null) { vCreationData = new Microsoft.Azure.Management.Compute.Models.CreationData(); } vCreationData.CreateOption = this.CreateOption; } if (this.MyInvocation.BoundParameters.ContainsKey("StorageAccountId")) { if (vCreationData == null) { vCreationData = new Microsoft.Azure.Management.Compute.Models.CreationData(); } vCreationData.StorageAccountId = this.StorageAccountId; } if (this.MyInvocation.BoundParameters.ContainsKey("ImageReference")) { if (vCreationData == null) { vCreationData = new Microsoft.Azure.Management.Compute.Models.CreationData(); } vCreationData.ImageReference = this.ImageReference; } if (this.MyInvocation.BoundParameters.ContainsKey("SourceUri")) { if (vCreationData == null) { vCreationData = new Microsoft.Azure.Management.Compute.Models.CreationData(); } vCreationData.SourceUri = this.SourceUri; } if (this.MyInvocation.BoundParameters.ContainsKey("SourceResourceId")) { if (vCreationData == null) { vCreationData = new Microsoft.Azure.Management.Compute.Models.CreationData(); } vCreationData.SourceResourceId = this.SourceResourceId; } if (this.MyInvocation.BoundParameters.ContainsKey("EncryptionSettingsEnabled")) { if (vEncryptionSettings == null) { vEncryptionSettings = new Microsoft.Azure.Management.Compute.Models.EncryptionSettings(); } vEncryptionSettings.Enabled = this.EncryptionSettingsEnabled; } if (this.MyInvocation.BoundParameters.ContainsKey("DiskEncryptionKey")) { if (vEncryptionSettings == null) { vEncryptionSettings = new Microsoft.Azure.Management.Compute.Models.EncryptionSettings(); } vEncryptionSettings.DiskEncryptionKey = this.DiskEncryptionKey; } if (this.MyInvocation.BoundParameters.ContainsKey("KeyEncryptionKey")) { if (vEncryptionSettings == null) { vEncryptionSettings = new Microsoft.Azure.Management.Compute.Models.EncryptionSettings(); } vEncryptionSettings.KeyEncryptionKey = this.KeyEncryptionKey; } var vSnapshot = new PSSnapshot { OsType = this.MyInvocation.BoundParameters.ContainsKey("OsType") ? this.OsType : (OperatingSystemTypes?)null, DiskSizeGB = this.MyInvocation.BoundParameters.ContainsKey("DiskSizeGB") ? this.DiskSizeGB : (int?)null, Location = this.MyInvocation.BoundParameters.ContainsKey("Location") ? this.Location : null, Tags = this.MyInvocation.BoundParameters.ContainsKey("Tag") ? this.Tag.Cast <DictionaryEntry>().ToDictionary(ht => (string)ht.Key, ht => (string)ht.Value) : null, Sku = vSku, CreationData = vCreationData, EncryptionSettings = vEncryptionSettings, }; WriteObject(vSnapshot); }
private void Run() { // Sku Microsoft.Azure.Management.Compute.Models.SnapshotSku vSku = null; // CreationData Microsoft.Azure.Management.Compute.Models.CreationData vCreationData = null; // EncryptionSettings Microsoft.Azure.Management.Compute.Models.EncryptionSettings vEncryptionSettings = null; if (this.MyInvocation.BoundParameters.ContainsKey("SkuName")) { if (vSku == null) { vSku = new Microsoft.Azure.Management.Compute.Models.SnapshotSku(); } vSku.Name = this.SkuName; } if (this.MyInvocation.BoundParameters.ContainsKey("CreateOption")) { if (vCreationData == null) { vCreationData = new Microsoft.Azure.Management.Compute.Models.CreationData(); } vCreationData.CreateOption = this.CreateOption; } if (this.MyInvocation.BoundParameters.ContainsKey("StorageAccountId")) { if (vCreationData == null) { vCreationData = new Microsoft.Azure.Management.Compute.Models.CreationData(); } vCreationData.StorageAccountId = this.StorageAccountId; } if (this.MyInvocation.BoundParameters.ContainsKey("ImageReference")) { if (vCreationData == null) { vCreationData = new Microsoft.Azure.Management.Compute.Models.CreationData(); } vCreationData.ImageReference = this.ImageReference; } if (this.MyInvocation.BoundParameters.ContainsKey("SourceUri")) { if (vCreationData == null) { vCreationData = new Microsoft.Azure.Management.Compute.Models.CreationData(); } vCreationData.SourceUri = this.SourceUri; } if (this.MyInvocation.BoundParameters.ContainsKey("SourceResourceId")) { if (vCreationData == null) { vCreationData = new Microsoft.Azure.Management.Compute.Models.CreationData(); } vCreationData.SourceResourceId = this.SourceResourceId; } if (this.MyInvocation.BoundParameters.ContainsKey("EncryptionSettingsEnabled")) { if (vEncryptionSettings == null) { vEncryptionSettings = new Microsoft.Azure.Management.Compute.Models.EncryptionSettings(); } vEncryptionSettings.Enabled = this.EncryptionSettingsEnabled; } if (this.MyInvocation.BoundParameters.ContainsKey("DiskEncryptionKey")) { if (vEncryptionSettings == null) { vEncryptionSettings = new Microsoft.Azure.Management.Compute.Models.EncryptionSettings(); } vEncryptionSettings.DiskEncryptionKey = this.DiskEncryptionKey; } if (this.MyInvocation.BoundParameters.ContainsKey("KeyEncryptionKey")) { if (vEncryptionSettings == null) { vEncryptionSettings = new Microsoft.Azure.Management.Compute.Models.EncryptionSettings(); } vEncryptionSettings.KeyEncryptionKey = this.KeyEncryptionKey; } var vSnapshot = new PSSnapshot { OsType = this.MyInvocation.BoundParameters.ContainsKey("OsType") ? this.OsType : (OperatingSystemTypes?)null, DiskSizeGB = this.MyInvocation.BoundParameters.ContainsKey("DiskSizeGB") ? this.DiskSizeGB : (int?)null, Location = this.MyInvocation.BoundParameters.ContainsKey("Location") ? this.Location : null, Tags = this.MyInvocation.BoundParameters.ContainsKey("Tag") ? this.Tag.Cast <DictionaryEntry>().ToDictionary(ht => (string)ht.Key, ht => (string)ht.Value) : null, Sku = vSku, CreationData = vCreationData, EncryptionSettings = vEncryptionSettings, }; WriteObject(vSnapshot); }
private void Run() { // Sku SnapshotSku vSku = null; // CreationData CreationData vCreationData = null; // EncryptionSettingsCollection EncryptionSettingsCollection vEncryptionSettingsCollection = null; // Encryption Encryption vEncryption = null; // ExtendedLocation ExtendedLocation vExtendedLocation = null; // SupportedCapabilities SupportedCapabilities vSupportedCapabilities = null; if (this.IsParameterBound(c => c.SkuName)) { if (vSku == null) { vSku = new SnapshotSku(); } vSku.Name = this.SkuName; } if (this.IsParameterBound(c => c.CreateOption)) { if (vCreationData == null) { vCreationData = new CreationData(); } vCreationData.CreateOption = this.CreateOption; } if (this.IsParameterBound(c => c.StorageAccountId)) { if (vCreationData == null) { vCreationData = new CreationData(); } vCreationData.StorageAccountId = this.StorageAccountId; } if (this.IsParameterBound(c => c.ImageReference)) { if (vCreationData == null) { vCreationData = new CreationData(); } vCreationData.ImageReference = this.ImageReference; } if (this.IsParameterBound(c => c.SourceUri)) { if (vCreationData == null) { vCreationData = new CreationData(); } vCreationData.SourceUri = this.SourceUri; } if (this.IsParameterBound(c => c.SourceResourceId)) { if (vCreationData == null) { vCreationData = new CreationData(); } vCreationData.SourceResourceId = this.SourceResourceId; } if (this.IsParameterBound(c => c.EncryptionSettingsEnabled)) { if (vEncryptionSettingsCollection == null) { vEncryptionSettingsCollection = new EncryptionSettingsCollection(); } vEncryptionSettingsCollection.Enabled = (bool)this.EncryptionSettingsEnabled; } if (this.IsParameterBound(c => c.DiskEncryptionKey)) { if (vEncryptionSettingsCollection == null) { vEncryptionSettingsCollection = new EncryptionSettingsCollection(); } if (vEncryptionSettingsCollection.EncryptionSettings == null) { vEncryptionSettingsCollection.EncryptionSettings = new List <EncryptionSettingsElement>(); } if (vEncryptionSettingsCollection.EncryptionSettings.Count == 0) { vEncryptionSettingsCollection.EncryptionSettings.Add(new EncryptionSettingsElement()); } vEncryptionSettingsCollection.EncryptionSettings[0].DiskEncryptionKey = this.DiskEncryptionKey; } if (this.IsParameterBound(c => c.KeyEncryptionKey)) { if (vEncryptionSettingsCollection == null) { vEncryptionSettingsCollection = new EncryptionSettingsCollection(); } if (vEncryptionSettingsCollection.EncryptionSettings == null) { vEncryptionSettingsCollection.EncryptionSettings = new List <EncryptionSettingsElement>(); } if (vEncryptionSettingsCollection.EncryptionSettings.Count == 0) { vEncryptionSettingsCollection.EncryptionSettings.Add(new EncryptionSettingsElement()); } vEncryptionSettingsCollection.EncryptionSettings[0].KeyEncryptionKey = this.KeyEncryptionKey; } if (this.IsParameterBound(c => c.DiskEncryptionSetId)) { if (vEncryption == null) { vEncryption = new Encryption(); } vEncryption.DiskEncryptionSetId = this.DiskEncryptionSetId; } if (this.IsParameterBound(c => c.EncryptionType)) { if (vEncryption == null) { vEncryption = new Encryption(); } vEncryption.Type = this.EncryptionType; } if (this.IsParameterBound(c => c.EdgeZone)) { vExtendedLocation = new ExtendedLocation { Name = this.EdgeZone, Type = ExtendedLocationTypes.EdgeZone }; } if (this.IsParameterBound(c => c.AcceleratedNetwork)) { if (vSupportedCapabilities == null) { vSupportedCapabilities = new SupportedCapabilities(); } vSupportedCapabilities.AcceleratedNetwork = AcceleratedNetwork; } var vSnapshot = new PSSnapshot { OsType = this.IsParameterBound(c => c.OsType) ? this.OsType : (OperatingSystemTypes?)null, HyperVGeneration = this.IsParameterBound(c => c.HyperVGeneration) ? this.HyperVGeneration : null, DiskSizeGB = this.IsParameterBound(c => c.DiskSizeGB) ? this.DiskSizeGB : (int?)null, Incremental = this.Incremental.IsPresent, Location = this.IsParameterBound(c => c.Location) ? this.Location : null, ExtendedLocation = vExtendedLocation, Tags = this.IsParameterBound(c => c.Tag) ? this.Tag.Cast <DictionaryEntry>().ToDictionary(ht => (string)ht.Key, ht => (string)ht.Value) : null, Sku = vSku, CreationData = vCreationData, EncryptionSettingsCollection = vEncryptionSettingsCollection, Encryption = vEncryption, NetworkAccessPolicy = this.IsParameterBound(c => c.NetworkAccessPolicy) ? this.NetworkAccessPolicy : null, DiskAccessId = this.IsParameterBound(c => c.DiskAccessId) ? this.DiskAccessId : null, PurchasePlan = this.IsParameterBound(c => c.PurchasePlan) ? this.PurchasePlan : null, SupportsHibernation = this.IsParameterBound(c => c.SupportsHibernation) ? SupportsHibernation : null, SupportedCapabilities = vSupportedCapabilities, PublicNetworkAccess = this.IsParameterBound(c => c.PublicNetworkAccess) ? PublicNetworkAccess : null }; WriteObject(vSnapshot); }
public override void ExecuteCmdlet() { ExecuteClientAction(() => { WriteWarning("Get-AzureRmSnapshot: A property of the output of this cmdlet will change in an upcoming breaking change release. " + "The Name property for a Sku will return Standard_LRS and Premium_LRS"); string resourceGroupName = this.ResourceGroupName; string snapshotName = this.SnapshotName; if (!string.IsNullOrEmpty(resourceGroupName) && !string.IsNullOrEmpty(snapshotName)) { var result = SnapshotsClient.Get(resourceGroupName, snapshotName); var psObject = new PSSnapshot(); ComputeAutomationAutoMapperProfile.Mapper.Map <Snapshot, PSSnapshot>(result, psObject); WriteObject(psObject); } else if (!string.IsNullOrEmpty(resourceGroupName)) { var result = SnapshotsClient.ListByResourceGroup(resourceGroupName); var resultList = result.ToList(); var nextPageLink = result.NextPageLink; while (!string.IsNullOrEmpty(nextPageLink)) { var pageResult = SnapshotsClient.ListByResourceGroupNext(nextPageLink); foreach (var pageItem in pageResult) { resultList.Add(pageItem); } nextPageLink = pageResult.NextPageLink; } var psObject = new List <PSSnapshotList>(); foreach (var r in resultList) { psObject.Add(ComputeAutomationAutoMapperProfile.Mapper.Map <Snapshot, PSSnapshotList>(r)); } WriteObject(psObject, true); } else { var result = SnapshotsClient.List(); var resultList = result.ToList(); var nextPageLink = result.NextPageLink; while (!string.IsNullOrEmpty(nextPageLink)) { var pageResult = SnapshotsClient.ListNext(nextPageLink); foreach (var pageItem in pageResult) { resultList.Add(pageItem); } nextPageLink = pageResult.NextPageLink; } var psObject = new List <PSSnapshotList>(); foreach (var r in resultList) { psObject.Add(ComputeAutomationAutoMapperProfile.Mapper.Map <Snapshot, PSSnapshotList>(r)); } WriteObject(psObject, true); } }); }