public async ValueTask <Response <VirtualRouter> > GetAsync(string resourceGroupName, string virtualRouterName, string expand = null, CancellationToken cancellationToken = default)
        {
            if (resourceGroupName == null)
            {
                throw new ArgumentNullException(nameof(resourceGroupName));
            }
            if (virtualRouterName == null)
            {
                throw new ArgumentNullException(nameof(virtualRouterName));
            }

            using var message = CreateGetRequest(resourceGroupName, virtualRouterName, expand);
            await _pipeline.SendAsync(message, cancellationToken).ConfigureAwait(false);

            switch (message.Response.Status)
            {
            case 200:
            {
                VirtualRouter value = default;
                using var document = await JsonDocument.ParseAsync(message.Response.ContentStream, default, cancellationToken).ConfigureAwait(false);

                if (document.RootElement.ValueKind == JsonValueKind.Null)
                {
                    value = null;
                }
                else
                {
                    value = VirtualRouter.DeserializeVirtualRouter(document.RootElement);
                }
                return(Response.FromValue(value, message.Response));
            }
        protected override void validateFields()
        {
            base.validateFields();
            VirtualRouter virtualRouter = (VirtualRouter)EditedModel;

            if (virtualRouter == null)
            {
                return;
            }
        }
        protected override void loadData()
        {
            base.loadData();
            VirtualRouter virtualRouter = (VirtualRouter)EditedModel;

            if (virtualRouter == null)
            {
                return;
            }
        }
示例#4
0
        protected override void validateFields()
        {
            base.validateFields();
            VirtualRouter virtualRouter = router as VirtualRouter;

            if (virtualRouter == null)
            {
                return;
            }
            // TODO: Validation
        }
示例#5
0
        protected override void writeFields()
        {
            base.writeFields();
            VirtualRouter virtualRouter = router as VirtualRouter;

            if (virtualRouter == null)
            {
                return;
            }
            // ...
        }
示例#6
0
        protected override void loadData()
        {
            base.loadData();
            VirtualRouter virtualRouter = router as VirtualRouter;

            if (virtualRouter == null)
            {
                return;
            }
            // ...
        }
示例#7
0
        public void AddPeeringsToPSVirtualRouter(VirtualRouter vVirtualRouter,
                                                 CNM.PSVirtualRouter vVirtualRouterModel,
                                                 string resourceGroupName,
                                                 string routerName)
        {
            if (vVirtualRouter.Peerings != null && vVirtualRouter.Peerings.Count > 0)
            {
                var vVirtualRouterPeering     = this.NetworkClient.NetworkManagementClient.VirtualRouterPeerings.List(resourceGroupName, routerName);
                var vVirtualRouterPeeringList = ListNextLink <VirtualRouterPeering> .GetAllResourcesByPollingNextLink(vVirtualRouterPeering, this.NetworkClient.NetworkManagementClient.VirtualRouterPeerings.ListNext);

                foreach (var peering in vVirtualRouterPeeringList)
                {
                    vVirtualRouterModel.Peerings.Add(NetworkResourceManagerProfile.Mapper.Map <CNM.PSVirtualRouterPeer>(peering));
                }
            }
        }
示例#8
0
        public virtual VirtualRoutersCreateOrUpdateOperation StartCreateOrUpdate(string resourceGroupName, string virtualRouterName, VirtualRouter parameters, CancellationToken cancellationToken = default)
        {
            if (resourceGroupName == null)
            {
                throw new ArgumentNullException(nameof(resourceGroupName));
            }
            if (virtualRouterName == null)
            {
                throw new ArgumentNullException(nameof(virtualRouterName));
            }
            if (parameters == null)
            {
                throw new ArgumentNullException(nameof(parameters));
            }

            using var scope = _clientDiagnostics.CreateScope("VirtualRoutersOperations.StartCreateOrUpdate");
            scope.Start();
            try
            {
                var originalResponse = RestClient.CreateOrUpdate(resourceGroupName, virtualRouterName, parameters, cancellationToken);
                return(new VirtualRoutersCreateOrUpdateOperation(_clientDiagnostics, _pipeline, RestClient.CreateCreateOrUpdateRequest(resourceGroupName, virtualRouterName, parameters).Request, originalResponse));
            }
            catch (Exception e)
            {
                scope.Failed(e);
                throw;
            }
        }
 /// <summary>
 /// Creates or updates the specified Virtual Router.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='virtualRouterName'>
 /// The name of the Virtual Router.
 /// </param>
 /// <param name='parameters'>
 /// Parameters supplied to the create or update Virtual Router.
 /// </param>
 /// <param name='cancellationToken'>
 /// The cancellation token.
 /// </param>
 public static async Task <VirtualRouter> BeginCreateOrUpdateAsync(this IVirtualRoutersOperations operations, string resourceGroupName, string virtualRouterName, VirtualRouter parameters, CancellationToken cancellationToken = default(CancellationToken))
 {
     using (var _result = await operations.BeginCreateOrUpdateWithHttpMessagesAsync(resourceGroupName, virtualRouterName, parameters, null, cancellationToken).ConfigureAwait(false))
     {
         return(_result.Body);
     }
 }
 /// <summary>
 /// Creates or updates the specified Virtual Router.
 /// </summary>
 /// <param name='operations'>
 /// The operations group for this extension method.
 /// </param>
 /// <param name='resourceGroupName'>
 /// The name of the resource group.
 /// </param>
 /// <param name='virtualRouterName'>
 /// The name of the Virtual Router.
 /// </param>
 /// <param name='parameters'>
 /// Parameters supplied to the create or update Virtual Router.
 /// </param>
 public static VirtualRouter BeginCreateOrUpdate(this IVirtualRoutersOperations operations, string resourceGroupName, string virtualRouterName, VirtualRouter parameters)
 {
     return(operations.BeginCreateOrUpdateAsync(resourceGroupName, virtualRouterName, parameters).GetAwaiter().GetResult());
 }
示例#11
0
 private VirtualService AddVirtualService(string id, string virtualServiceName, Mesh mesh, VirtualRouter router, PrivateDnsNamespace cloudmapNamespace)
 {
     return(mesh.AddVirtualService($"{id}-{virtualServiceName}-service", new VirtualServiceProps()
     {
         Mesh = mesh,
         VirtualRouter = router,
         VirtualServiceName = $"{virtualServiceName}-service.{cloudmapNamespace.NamespaceName}"
     }));
 }
示例#12
0
 private Amazon.CDK.AWS.AppMesh.CfnRoute CreateRouterRoute(string id, string serviceName, string branch, VirtualRouter virtualRouter, VirtualNode virtualNode, Mesh mesh, int priority)
 {
     return(new Amazon.CDK.AWS.AppMesh.CfnRoute(this, $"{serviceName}-{branch}-route", new Amazon.CDK.AWS.AppMesh.CfnRouteProps
     {
         MeshName = mesh.MeshName,
         VirtualRouterName = virtualRouter.VirtualRouterName,
         RouteName = $"{serviceName}-{branch}-route",
         Spec = new RouteSpecProperty
         {
             Priority = priority,
             HttpRoute = new HttpRouteProperty
             {
                 Match = new HttpRouteMatchProperty
                 {
                     Headers = new HttpRouteHeaderProperty[]
                     {
                         new HttpRouteHeaderProperty {
                             Name = "x-branch-header",
                             Invert = false,
                             Match = new HeaderMatchMethodProperty {
                                 Exact = $"{branch}"
                             }
                         }
                     },
                     Prefix = "/"
                 },
                 Action = new HttpRouteActionProperty
                 {
                     WeightedTargets = new WeightedTargetProperty[]
                     {
                         new WeightedTargetProperty()
                         {
                             VirtualNode = virtualNode.VirtualNodeName,
                             Weight = 1
                         }
                     }
                 }
             },
         }
     }));
 }