/// <summary> /// Initializes a new instance of the <see cref="ASRNetworkMapping" /> class with required /// parameters. /// </summary> /// <param name="networkMapping">Network mapping object</param> public ASRNetworkMapping(NetworkMapping networkMapping) { this.PrimaryServerId = networkMapping.PrimaryServerId; this.PrimaryNetworkId = networkMapping.PrimaryNetworkId; this.PrimaryNetworkName = networkMapping.PrimaryNetworkName; this.RecoveryServerId = networkMapping.RecoveryServerId; this.RecoveryNetworkId = networkMapping.RecoveryNetworkId; this.RecoveryNetworkName = networkMapping.RecoveryNetworkName; this.PairingStatus = networkMapping.PairingStatus; }
/// <summary> /// Initializes a new instance of the <see cref="ASRNetworkMapping" /> class with required /// parameters. /// </summary> /// <param name="networkMapping">Network mapping object</param> public ASRNetworkMapping(NetworkMapping networkMapping) { this.ID = networkMapping.Id; this.Name = networkMapping.Name; this.FriendlyName = networkMapping.Name; this.PrimaryNetworkId = networkMapping.Id.Substring(0, networkMapping.Id.IndexOf("/replicationNetworkMappings")); this.PrimaryNetworkFriendlyName = networkMapping.Properties.PrimaryNetworkFriendlyName; this.RecoveryNetworkId = networkMapping.Properties.RecoveryNetworkId; this.RecoveryNetworkFriendlyName = networkMapping.Properties.RecoveryNetworkFriendlyName; this.PairingStatus = networkMapping.Properties.PairingStatus; }
/// <summary> /// Loads e2e specific details for network mapping. /// </summary> /// <param name="networkMapping">Network mapping response from API.</param> /// <returns></returns> public static ASRFabricSpecificNetworkMappingDetails LoadFabricDetails( NetworkMapping networkMapping) { var e2ESpecificDetails = networkMapping.Properties.FabricSpecificSettings as VmmToVmmNetworkMappingSettings; if (e2ESpecificDetails == null) { throw new InvalidOperationException(Resources.InvalidNetworkMappingDetails); } return(new ASRVmmToVmmNetworkMappingDetails()); }
/// <summary> /// Initializes a new instance of the <see cref="ASRNetworkMapping" /> class with required /// parameters. /// </summary> /// <param name="networkMapping">Network mapping object</param> public ASRNetworkMapping( NetworkMapping networkMapping) { this.ID = networkMapping.Id; this.Name = networkMapping.Name; this.FriendlyName = networkMapping.Name; this.PrimaryNetworkId = networkMapping.Properties.PrimaryNetworkId; this.PrimaryNetworkFriendlyName = networkMapping.Properties.PrimaryNetworkFriendlyName; this.PrimaryFabricFriendlyName = networkMapping.Properties.PrimaryFabricFriendlyName; this.RecoveryNetworkId = networkMapping.Properties.RecoveryNetworkId; this.RecoveryNetworkFriendlyName = networkMapping.Properties .RecoveryNetworkFriendlyName; this.RecoveryFabricFriendlyName = networkMapping.Properties.RecoveryFabricFriendlyName; this.PairingStatus = networkMapping.Properties.State; this.FabricSpecificNetworkMappingDetails = ASRFabricSpecificNetworkMappingDetails.Load(networkMapping); }
/// <summary> /// Loads a2a specific details for network mapping. /// </summary> /// <param name="networkMapping">Network mapping response from API.</param> /// <returns></returns> public static ASRFabricSpecificNetworkMappingDetails LoadFabricDetails( NetworkMapping networkMapping) { var a2ASpecificDetails = networkMapping.Properties.FabricSpecificSettings as AzureToAzureNetworkMappingSettings; if (a2ASpecificDetails == null) { throw new InvalidOperationException(Resources.InvalidNetworkMappingDetails); } return(new ASRAzureToAzureNetworkMappingDetails { PrimaryNetworkLocation = a2ASpecificDetails.PrimaryFabricLocation, RecoveryNetworkLocation = a2ASpecificDetails.RecoveryFabricLocation }); }
/// <summary> /// Loads fabric specific details for network mapping. /// </summary> /// <param name="networkMapping">Network mapping response from API.</param> /// <returns></returns> public static ASRFabricSpecificNetworkMappingDetails Load( NetworkMapping networkMapping) { if (networkMapping.Properties.FabricSpecificSettings is AzureToAzureNetworkMappingSettings) { return(ASRAzureToAzureNetworkMappingDetails.LoadFabricDetails(networkMapping)); } if (networkMapping.Properties.FabricSpecificSettings is VmmToAzureNetworkMappingSettings ) { return(ASRVmmToAzureNetworkMappingDetails.LoadFabricDetails(networkMapping)); } if (networkMapping.Properties.FabricSpecificSettings is VmmToVmmNetworkMappingSettings) { return(ASRVmmToVmmNetworkMappingDetails.LoadFabricDetails(networkMapping)); } throw new InvalidOperationException(Resources.NetworkMappingNotFound); }
/// <summary> /// Write Network mapping. /// </summary> /// <param name="networkMapping">Network mapping</param> private void WriteNetworkMapping(NetworkMapping networkMapping) { this.WriteObject(new ASRNetworkMapping(networkMapping)); }