Exemple #1
0
 /// <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));
 }