Create (POST) a VMNetworkGateway [SPFSDK][VMMREF]

 

Applies To: Windows Azure Pack

Creates a VMNetworkGateway [SPFSDK][VMMREF] entity by using the HTTP POST operation.

Here is a list of examples related to this collection operation.

  • Example: Create a new VM network gateway

Request

For more information about the placeholders used in the URI, see URL placeholders.

Method

Request URI

HTTP Version

POST

https://{server}:{auth-port}/{subscription-id}/services/systemcenter/vmm/VMNetworkGateways

HTTP/1.1

Request URI Parameters

This operation does not have any request URI parameters.

Request Headers

This operation does not use any non-standard request headers.

For more information about the common request headers used by this operation, see Common HTTP request information.

Request Body

The request body should contain a single (depending on the request headers) XML or JSON encoded VMNetworkGateway [SPFSDK][VMMREF] entity that you want to create. Here is the request body of a single entity.

{
   "odata.type":"VMM.VMNetworkGateway",
   "AutonomousSystemNumber":"1",
   "Description":"Example gateway object for a virtual network.",
   "EnableBGP":true,
   "ID":"00000000-0000-0000-0000-000000000000",
   "IPSubnets@odata.type":"Collection(Edm.String)",
   "IPSubnets":[

   ],
   "Name":"Testing Gateway Entry 1",
   "RequiresNAT":true,
   "RequiresVPN":true,
   "StampId":"56ebc6dc-f63c-46e2-8438-2967e0ad83bc",
   "VMNetworkId":"c5e062ff-5172-4997-af1c-7044ac363579"
}

Response

Response Codes

This operation does not return any non-standard OData response codes. If successful, it will return code 201 Created.

Response Headers

This operation does not use any non-standard response headers.

For more information about the common response headers used by this operation, see Common HTTP response information.

Response Body

The response body will contain a single (depending on the request headers) XML or JSON encoded VMNetworkGateway [SPFSDK][VMMREF] entity as it exists on the server.

{
   "odata.metadata":"https://waplabvm4.cdm.lab:30005/86e93b7f-25e3-4c44-8ca1-3ebdbd2dfc06/services/systemcenter/vmm/$metadata#VMNetworkGateways/@Element",
   "StampId":"56ebc6dc-f63c-46e2-8438-2967e0ad83bc",
   "ID":"6c5af99d-140b-4a6b-9329-059ef118bbbb",
   "VMNetworkId":null,
   "Name":"Testing Gateway Entry 1",
   "Description":"Example gateway object for a virtual network.",
   "IPSubnets":[
      "10.254.254.0/29"
   ],
   "RequiresVPN":null,
   "RequiresNAT":null,
   "EnableBGP":true,
   "AutonomousSystemNumber":"1"
}

Example: Create a new VM network gateway

This example demonstrates setting up a VM network gateway object. The backing-fabric has to have a gateway service already configured and setup for virtual network for this to work.

For more information about how to get started with using the code examples provided in this programming guide, see Program in Visual Studio with the Windows Azure Pack IaaS Resource Provider [SPFSDK].

Guid virtualNetworkId = new Guid("c5e062ff-5172-4997-af1c-7044ac363579");
Guid stampId = new Guid("56ebc6dc-f63c-46e2-8438-2967e0ad83bc");

SpfVMM.VMNetworkGateway gateway = new SpfVMM.VMNetworkGateway();
gateway.Name = "Testing Gateway Entry 1";
gateway.VMNetworkId = virtualNetworkId;
gateway.StampId = stampId;
gateway.Description = "Example gateway object for a virtual network.";
gateway.RequiresVPN = true;
gateway.RequiresNAT = true;
gateway.EnableBGP = true;
gateway.AutonomousSystemNumber = 1;

vmmService.AddToVMNetworkGateways(gateway);
vmmService.SaveChanges();

HTTP Request

POST https://contoso.com:30005/86e93b7f-25e3-4c44-8ca1-3ebdbd2dfc06/services/systemcenter/vmm/VMNetworkGateways HTTP/1.1
DataServiceVersion: 3.0;NetFx
MaxDataServiceVersion: 3.0;NetFx
Content-Type: application/json;odata=minimalmetadata
Accept: application/json;odata=minimalmetadata
Accept-Charset: UTF-8
DataServiceUrlConventions: KeyAsSegment
User-Agent: Microsoft ADO.NET Data Services
Authorization: Bearer {ENCODED AUTHENTICATION TOKEN}
x-ms-principal-id: tenant@fabrikam.com
Host: contoso.com:30005
Content-Length: 425
Expect: 100-continue

{"odata.type":"VMM.VMNetworkGateway","AutonomousSystemNumber":"1","Description":"Example gateway object for a virtual network.","EnableBGP":true,"ID":"00000000-0000-0000-0000-000000000000","IPSubnets@odata.type":"Collection(Edm.String)","IPSubnets":[],"Name":"Testing Gateway Entry 1","RequiresNAT":true,"RequiresVPN":true,"StampId":"56ebc6dc-f63c-46e2-8438-2967e0ad83bc","VMNetworkId":"c5e062ff-5172-4997-af1c-7044ac363579"}

HTTP Response

HTTP/1.1 201 Created
Cache-Control: no-cache
Content-Length: 475
Content-Type: application/json; odata=minimalmetadata; streaming=true; charset=utf-8
Location: https://waplabvm4.cdm.lab:30005/86e93b7f-25e3-4c44-8ca1-3ebdbd2dfc06/services/systemcenter/vmm/VMNetworkGateways(ID=guid'6c5af99d-140b-4a6b-9329-059ef118bbbb',StampId=guid'56ebc6dc-f63c-46e2-8438-2967e0ad83bc')
Server: Microsoft-IIS/8.5
x-ms-request-id: 4a2526b2-bbbf-4031-8767-600b72b063c7
X-Content-Type-Options: nosniff
request-id: 5fbd8ef2-63e6-0000-7a7f-bf5fe663cf01
DataServiceVersion: 3.0;
Server: Microsoft-IIS/8.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
X-Powered-By: ASP.NET
Date: Thu, 15 May 2014 01:31:53 GMT

{"odata.metadata":"https://waplabvm4.cdm.lab:30005/86e93b7f-25e3-4c44-8ca1-3ebdbd2dfc06/services/systemcenter/vmm/$metadata#VMNetworkGateways/@Element","StampId":"56ebc6dc-f63c-46e2-8438-2967e0ad83bc","ID":"6c5af99d-140b-4a6b-9329-059ef118bbbb","VMNetworkId":null,"Name":"Testing Gateway Entry 1","Description":"Example gateway object for a virtual network.","IPSubnets":["10.254.254.0/29"],"RequiresVPN":null,"RequiresNAT":null,"EnableBGP":true,"AutonomousSystemNumber":"1"}

See Also

VMNetworkGateways Collection [SPFSDK][VMMREF]
VMNetworkGateway [SPFSDK][VMMREF]
Read (GET) a VMNetworkGateway [SPFSDK][VMMREF]
Update (PUT) a VMNetworkGateway [SPFSDK][VMMREF]
Delete (DELETE) a VMNetworkGateway [SPFSDK][VMMREF]