/// <summary>
        ///     Enterprise to enterprise network mapping.
        /// </summary>
        private void UpdateEnterpriseToEnterpriseNetworkMapping()
        {
            var input = new UpdateNetworkMappingInput
            {
                Properties = new UpdateNetworkMappingInputProperties
                {
                    RecoveryFabricName = Utilities.GetValueFromArmId(
                        this.RecoveryNetwork.ID,
                        ARMResourceTypeConstants.ReplicationFabrics),
                    RecoveryNetworkId     = this.RecoveryNetwork.ID,
                    FabricSpecificDetails = new VmmToVmmUpdateNetworkMappingInput()
                }
            };
            var response = this.RecoveryServicesClient.UpdateAzureSiteRecoveryNetworkMapping(
                Utilities.GetValueFromArmId(
                    this.InputObject.PrimaryNetworkId,
                    ARMResourceTypeConstants.ReplicationFabrics),
                Utilities.GetValueFromArmId(
                    this.InputObject.PrimaryNetworkId,
                    ARMResourceTypeConstants.ReplicationNetworks),
                this.InputObject.Name,
                input);

            var jobResponse = this.RecoveryServicesClient.GetAzureSiteRecoveryJobDetails(
                PSRecoveryServicesClient.GetJobIdFromReponseLocation(response.Location));

            this.WriteObject(new ASRJob(jobResponse));
        }
        /// <summary>
        ///     Enterprise to Azure network mapping.
        /// </summary>
        private void UpdateEnterpriseToAzureNetworkMapping()
        {
            // Add following checks if needed:
            // Verify whether the subscription is associated with the account or not.
            // Check if the Azure VM Network is associated with the Subscription or not.

            var input = new UpdateNetworkMappingInput
            {
                Properties = new UpdateNetworkMappingInputProperties
                {
                    RecoveryFabricName    = "Microsoft Azure",
                    RecoveryNetworkId     = this.RecoveryAzureNetworkId,
                    FabricSpecificDetails = new VmmToAzureUpdateNetworkMappingInput()
                }
            };
            var response = this.RecoveryServicesClient.UpdateAzureSiteRecoveryNetworkMapping(
                Utilities.GetValueFromArmId(
                    this.InputObject.PrimaryNetworkId,
                    ARMResourceTypeConstants.ReplicationFabrics),
                Utilities.GetValueFromArmId(
                    this.InputObject.PrimaryNetworkId,
                    ARMResourceTypeConstants.ReplicationNetworks),
                this.InputObject.Name,
                input);

            var jobResponse = this.RecoveryServicesClient.GetAzureSiteRecoveryJobDetails(
                PSRecoveryServicesClient.GetJobIdFromReponseLocation(response.Location));

            this.WriteObject(new ASRJob(jobResponse));
        }
示例#3
0
        /// <summary>
        ///     Update Azure to Azure network mapping.
        /// </summary>
        private void UpdateAzureToAzureNetworkMapping()
        {
            // Add following checks if needed:
            // Verify whether the subscription is associated with the account or not.
            // Check if the Azure VM Network is associated with the Subscription or not.

            var input = new UpdateNetworkMappingInput
            {
                Properties = new UpdateNetworkMappingInputProperties
                {
                    RecoveryFabricName    = this.GetFabricNameByFriendlyName(this.InputObject.RecoveryFabricFriendlyName),
                    RecoveryNetworkId     = this.RecoveryAzureNetworkId,
                    FabricSpecificDetails = new AzureToAzureUpdateNetworkMappingInput
                    {
                        PrimaryNetworkId = this.InputObject.PrimaryNetworkId
                    }
                }
            };
            var response = this.RecoveryServicesClient.UpdateAzureSiteRecoveryNetworkMapping(
                this.InputObject.PrimaryFabricFriendlyName,
                ARMResourceTypeConstants.AzureNetwork,
                this.InputObject.Name,
                input);

            var jobResponse = this.RecoveryServicesClient.GetAzureSiteRecoveryJobDetails(
                PSRecoveryServicesClient.GetJobIdFromReponseLocation(response.Location));

            this.WriteObject(new ASRJob(jobResponse));
        }
        /// <summary>
        ///     Updates an existing Azure Site Recovery Network mapping.
        /// </summary>
        /// <param name="primaryFabricName">Primary fabric name.</param>
        /// <param name="primaryNetworkName">Primary network name.</param>
        /// <param name="mappingName">Mapping name.</param>
        /// <param name="input">Input data to be passed as request body.</param>
        /// <returns>Long running operation response.</returns>
        public PSSiteRecoveryLongRunningOperation UpdateAzureSiteRecoveryNetworkMapping(
            string primaryFabricName,
            string primaryNetworkName,
            string mappingName,
            UpdateNetworkMappingInput input)
        {
            var op = this.GetSiteRecoveryClient()
                     .ReplicationNetworkMappings.BeginUpdateWithHttpMessagesAsync(
                primaryFabricName,
                primaryNetworkName,
                mappingName,
                input,
                this.GetRequestHeaders(true))
                     .GetAwaiter()
                     .GetResult();
            var result = Mapper.Map <PSSiteRecoveryLongRunningOperation>(op);

            return(result);
        }
 /// <summary>
 /// Updates network mapping.
 /// </summary>
 /// <remarks>
 /// The operation to update an ASR network mapping.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='fabricName'>
 /// Primary fabric name.
 /// </param>
 /// <param name='networkName'>
 /// Primary network name.
 /// </param>
 /// <param name='networkMappingName'>
 /// Network mapping name.
 /// </param>
 /// <param name='input'>
 /// Update network mapping input.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <NetworkMapping> BeginUpdateAsync(this IReplicationNetworkMappingsOperations operations, string fabricName, string networkName, string networkMappingName, UpdateNetworkMappingInput input, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.BeginUpdateWithHttpMessagesAsync(fabricName, networkName, networkMappingName, input, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Updates network mapping.
 /// </summary>
 /// <remarks>
 /// The operation to update an ASR network mapping.
 /// </remarks>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='fabricName'>
 /// Primary fabric name.
 /// </param>
 /// <param name='networkName'>
 /// Primary network name.
 /// </param>
 /// <param name='networkMappingName'>
 /// Network mapping name.
 /// </param>
 /// <param name='input'>
 /// Update network mapping input.
 /// </param>
 public static NetworkMapping BeginUpdate(this IReplicationNetworkMappingsOperations operations, string fabricName, string networkName, string networkMappingName, UpdateNetworkMappingInput input)
 {
     return(operations.BeginUpdateAsync(fabricName, networkName, networkMappingName, input).GetAwaiter().GetResult());
 }