class Azure::Network::Mgmt::V2018_10_01::VirtualNetworkGateways

VirtualNetworkGateways

Attributes

client[R]

@return [NetworkManagementClient] reference to the NetworkManagementClient

Public Class Methods

new(client) click to toggle source

Creates and initializes a new instance of the VirtualNetworkGateways class. @param client service class for accessing basic functionality.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 17
def initialize(client)
  @client = client
end

Public Instance Methods

begin_create_or_update(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

Creates or updates a virtual network gateway in the specified resource group.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param parameters [VirtualNetworkGateway] Parameters supplied to create or update virtual network gateway operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [VirtualNetworkGateway] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1173
def begin_create_or_update(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  response = begin_create_or_update_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
begin_create_or_update_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

Creates or updates a virtual network gateway in the specified resource group.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param parameters [VirtualNetworkGateway] Parameters supplied to create or update virtual network gateway operation. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] Promise object which holds the HTTP response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1208
def begin_create_or_update_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'virtual_network_gateway_name is nil' if virtual_network_gateway_name.nil?
  fail ArgumentError, 'parameters is nil' if parameters.nil?
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?


  request_headers = {}
  request_headers['Content-Type'] = 'application/json; charset=utf-8'

  # Set Headers
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?

  # Serialize Request
  request_mapper = Azure::Network::Mgmt::V2018_10_01::Models::VirtualNetworkGateway.mapper()
  request_content = @client.serialize(request_mapper,  parameters)
  request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil

  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'virtualNetworkGatewayName' => virtual_network_gateway_name,'subscriptionId' => @client.subscription_id},
      query_params: {'api-version' => @client.api_version},
      body: request_content,
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.make_request_async(:put, path_template, options)

  promise = promise.then do |result|
    http_response = result.response
    status_code = http_response.status
    response_content = http_response.body
    unless status_code == 200 || status_code == 201
      error_model = JSON.load(response_content)
      fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
    end

    result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
    result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
    result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::Network::Mgmt::V2018_10_01::Models::VirtualNetworkGateway.mapper()
        result.body = @client.deserialize(result_mapper, parsed_response)
      rescue Exception => e
        fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
      end
    end
    # Deserialize Response
    if status_code == 201
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::Network::Mgmt::V2018_10_01::Models::VirtualNetworkGateway.mapper()
        result.body = @client.deserialize(result_mapper, parsed_response)
      rescue Exception => e
        fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
      end
    end

    result
  end

  promise.execute
end
begin_create_or_update_with_http_info(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

Creates or updates a virtual network gateway in the specified resource group.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param parameters [VirtualNetworkGateway] Parameters supplied to create or update virtual network gateway operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [MsRestAzure::AzureOperationResponse] HTTP response information.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1191
def begin_create_or_update_with_http_info(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  begin_create_or_update_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:custom_headers).value!
end
begin_delete(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Deletes the specified virtual network gateway.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1291
def begin_delete(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  response = begin_delete_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
  nil
end
begin_delete_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Deletes the specified virtual network gateway.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] Promise object which holds the HTTP response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1322
def begin_delete_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'virtual_network_gateway_name is nil' if virtual_network_gateway_name.nil?
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?


  request_headers = {}
  request_headers['Content-Type'] = 'application/json; charset=utf-8'

  # Set Headers
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'virtualNetworkGatewayName' => virtual_network_gateway_name,'subscriptionId' => @client.subscription_id},
      query_params: {'api-version' => @client.api_version},
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.make_request_async(:delete, path_template, options)

  promise = promise.then do |result|
    http_response = result.response
    status_code = http_response.status
    response_content = http_response.body
    unless status_code == 204 || status_code == 202 || status_code == 200
      error_model = JSON.load(response_content)
      fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
    end

    result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
    result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
    result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?

    result
  end

  promise.execute
end
begin_delete_with_http_info(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Deletes the specified virtual network gateway.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [MsRestAzure::AzureOperationResponse] HTTP response information.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1307
def begin_delete_with_http_info(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  begin_delete_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
end
begin_generate_vpn_profile(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

Generates VPN profile for P2S client of the virtual network gateway in the specified resource group. Used for IKEV2 and radius based authentication.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param parameters [VpnClientParameters] Parameters supplied to the generate virtual network gateway VPN client package operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [String] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1808
def begin_generate_vpn_profile(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  response = begin_generate_vpn_profile_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
begin_generate_vpn_profile_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

Generates VPN profile for P2S client of the virtual network gateway in the specified resource group. Used for IKEV2 and radius based authentication.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param parameters [VpnClientParameters] Parameters supplied to the generate virtual network gateway VPN client package operation. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] Promise object which holds the HTTP response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1845
def begin_generate_vpn_profile_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'virtual_network_gateway_name is nil' if virtual_network_gateway_name.nil?
  fail ArgumentError, 'parameters is nil' if parameters.nil?
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?


  request_headers = {}
  request_headers['Content-Type'] = 'application/json; charset=utf-8'

  # Set Headers
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?

  # Serialize Request
  request_mapper = Azure::Network::Mgmt::V2018_10_01::Models::VpnClientParameters.mapper()
  request_content = @client.serialize(request_mapper,  parameters)
  request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil

  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnprofile'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'virtualNetworkGatewayName' => virtual_network_gateway_name,'subscriptionId' => @client.subscription_id},
      query_params: {'api-version' => @client.api_version},
      body: request_content,
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.make_request_async(:post, path_template, options)

  promise = promise.then do |result|
    http_response = result.response
    status_code = http_response.status
    response_content = http_response.body
    unless status_code == 200 || status_code == 202
      error_model = JSON.load(response_content)
      fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
    end

    result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
    result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
    result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = {
          client_side_validation: true,
          required: false,
          serialized_name: 'parsed_response',
          type: {
            name: 'String'
          }
        }
        result.body = @client.deserialize(result_mapper, parsed_response)
      rescue Exception => e
        fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
      end
    end

    result
  end

  promise.execute
end
begin_generate_vpn_profile_with_http_info(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

Generates VPN profile for P2S client of the virtual network gateway in the specified resource group. Used for IKEV2 and radius based authentication.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param parameters [VpnClientParameters] Parameters supplied to the generate virtual network gateway VPN client package operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [MsRestAzure::AzureOperationResponse] HTTP response information.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1827
def begin_generate_vpn_profile_with_http_info(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  begin_generate_vpn_profile_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:custom_headers).value!
end
begin_generatevpnclientpackage(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

Generates VPN client package for P2S client of the virtual network gateway in the specified resource group.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param parameters [VpnClientParameters] Parameters supplied to the generate virtual network gateway VPN client package operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [String] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1687
def begin_generatevpnclientpackage(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  response = begin_generatevpnclientpackage_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
begin_generatevpnclientpackage_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

Generates VPN client package for P2S client of the virtual network gateway in the specified resource group.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param parameters [VpnClientParameters] Parameters supplied to the generate virtual network gateway VPN client package operation. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] Promise object which holds the HTTP response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1724
def begin_generatevpnclientpackage_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'virtual_network_gateway_name is nil' if virtual_network_gateway_name.nil?
  fail ArgumentError, 'parameters is nil' if parameters.nil?
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?


  request_headers = {}
  request_headers['Content-Type'] = 'application/json; charset=utf-8'

  # Set Headers
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?

  # Serialize Request
  request_mapper = Azure::Network::Mgmt::V2018_10_01::Models::VpnClientParameters.mapper()
  request_content = @client.serialize(request_mapper,  parameters)
  request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil

  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/generatevpnclientpackage'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'virtualNetworkGatewayName' => virtual_network_gateway_name,'subscriptionId' => @client.subscription_id},
      query_params: {'api-version' => @client.api_version},
      body: request_content,
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.make_request_async(:post, path_template, options)

  promise = promise.then do |result|
    http_response = result.response
    status_code = http_response.status
    response_content = http_response.body
    unless status_code == 200 || status_code == 202
      error_model = JSON.load(response_content)
      fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
    end

    result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
    result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
    result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = {
          client_side_validation: true,
          required: false,
          serialized_name: 'parsed_response',
          type: {
            name: 'String'
          }
        }
        result.body = @client.deserialize(result_mapper, parsed_response)
      rescue Exception => e
        fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
      end
    end

    result
  end

  promise.execute
end
begin_generatevpnclientpackage_with_http_info(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

Generates VPN client package for P2S client of the virtual network gateway in the specified resource group.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param parameters [VpnClientParameters] Parameters supplied to the generate virtual network gateway VPN client package operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [MsRestAzure::AzureOperationResponse] HTTP response information.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1706
def begin_generatevpnclientpackage_with_http_info(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  begin_generatevpnclientpackage_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:custom_headers).value!
end
begin_get_advertised_routes(resource_group_name, virtual_network_gateway_name, peer, custom_headers:nil) click to toggle source

This operation retrieves a list of routes the virtual network gateway is advertising to the specified peer.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param peer [String] The IP address of the peer @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [GatewayRouteListResult] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2238
def begin_get_advertised_routes(resource_group_name, virtual_network_gateway_name, peer, custom_headers:nil)
  response = begin_get_advertised_routes_async(resource_group_name, virtual_network_gateway_name, peer, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
begin_get_advertised_routes_async(resource_group_name, virtual_network_gateway_name, peer, custom_headers:nil) click to toggle source

This operation retrieves a list of routes the virtual network gateway is advertising to the specified peer.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param peer [String] The IP address of the peer @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] Promise object which holds the HTTP response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2273
def begin_get_advertised_routes_async(resource_group_name, virtual_network_gateway_name, peer, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'virtual_network_gateway_name is nil' if virtual_network_gateway_name.nil?
  fail ArgumentError, 'peer is nil' if peer.nil?
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?


  request_headers = {}
  request_headers['Content-Type'] = 'application/json; charset=utf-8'

  # Set Headers
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getAdvertisedRoutes'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'virtualNetworkGatewayName' => virtual_network_gateway_name,'subscriptionId' => @client.subscription_id},
      query_params: {'peer' => peer,'api-version' => @client.api_version},
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.make_request_async(:post, path_template, options)

  promise = promise.then do |result|
    http_response = result.response
    status_code = http_response.status
    response_content = http_response.body
    unless status_code == 200 || status_code == 202
      error_model = JSON.load(response_content)
      fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
    end

    result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
    result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
    result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::Network::Mgmt::V2018_10_01::Models::GatewayRouteListResult.mapper()
        result.body = @client.deserialize(result_mapper, parsed_response)
      rescue Exception => e
        fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
      end
    end

    result
  end

  promise.execute
end
begin_get_advertised_routes_with_http_info(resource_group_name, virtual_network_gateway_name, peer, custom_headers:nil) click to toggle source

This operation retrieves a list of routes the virtual network gateway is advertising to the specified peer.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param peer [String] The IP address of the peer @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [MsRestAzure::AzureOperationResponse] HTTP response information.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2256
def begin_get_advertised_routes_with_http_info(resource_group_name, virtual_network_gateway_name, peer, custom_headers:nil)
  begin_get_advertised_routes_async(resource_group_name, virtual_network_gateway_name, peer, custom_headers:custom_headers).value!
end
begin_get_bgp_peer_status(resource_group_name, virtual_network_gateway_name, peer:nil, custom_headers:nil) click to toggle source

The GetBgpPeerStatus operation retrieves the status of all BGP peers.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param peer [String] The IP address of the peer to retrieve the status of. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [BgpPeerStatusListResult] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2037
def begin_get_bgp_peer_status(resource_group_name, virtual_network_gateway_name, peer:nil, custom_headers:nil)
  response = begin_get_bgp_peer_status_async(resource_group_name, virtual_network_gateway_name, peer:peer, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
begin_get_bgp_peer_status_async(resource_group_name, virtual_network_gateway_name, peer:nil, custom_headers:nil) click to toggle source

The GetBgpPeerStatus operation retrieves the status of all BGP peers.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param peer [String] The IP address of the peer to retrieve the status of. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] Promise object which holds the HTTP response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2070
def begin_get_bgp_peer_status_async(resource_group_name, virtual_network_gateway_name, peer:nil, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'virtual_network_gateway_name is nil' if virtual_network_gateway_name.nil?
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?


  request_headers = {}
  request_headers['Content-Type'] = 'application/json; charset=utf-8'

  # Set Headers
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getBgpPeerStatus'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'virtualNetworkGatewayName' => virtual_network_gateway_name,'subscriptionId' => @client.subscription_id},
      query_params: {'peer' => peer,'api-version' => @client.api_version},
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.make_request_async(:post, path_template, options)

  promise = promise.then do |result|
    http_response = result.response
    status_code = http_response.status
    response_content = http_response.body
    unless status_code == 200 || status_code == 202
      error_model = JSON.load(response_content)
      fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
    end

    result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
    result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
    result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::Network::Mgmt::V2018_10_01::Models::BgpPeerStatusListResult.mapper()
        result.body = @client.deserialize(result_mapper, parsed_response)
      rescue Exception => e
        fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
      end
    end

    result
  end

  promise.execute
end
begin_get_bgp_peer_status_with_http_info(resource_group_name, virtual_network_gateway_name, peer:nil, custom_headers:nil) click to toggle source

The GetBgpPeerStatus operation retrieves the status of all BGP peers.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param peer [String] The IP address of the peer to retrieve the status of. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [MsRestAzure::AzureOperationResponse] HTTP response information.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2054
def begin_get_bgp_peer_status_with_http_info(resource_group_name, virtual_network_gateway_name, peer:nil, custom_headers:nil)
  begin_get_bgp_peer_status_async(resource_group_name, virtual_network_gateway_name, peer:peer, custom_headers:custom_headers).value!
end
begin_get_learned_routes(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

This operation retrieves a list of routes the virtual network gateway has learned, including routes learned from BGP peers.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [GatewayRouteListResult] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2137
def begin_get_learned_routes(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  response = begin_get_learned_routes_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
begin_get_learned_routes_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

This operation retrieves a list of routes the virtual network gateway has learned, including routes learned from BGP peers.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] Promise object which holds the HTTP response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2170
def begin_get_learned_routes_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'virtual_network_gateway_name is nil' if virtual_network_gateway_name.nil?
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?


  request_headers = {}
  request_headers['Content-Type'] = 'application/json; charset=utf-8'

  # Set Headers
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getLearnedRoutes'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'virtualNetworkGatewayName' => virtual_network_gateway_name,'subscriptionId' => @client.subscription_id},
      query_params: {'api-version' => @client.api_version},
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.make_request_async(:post, path_template, options)

  promise = promise.then do |result|
    http_response = result.response
    status_code = http_response.status
    response_content = http_response.body
    unless status_code == 200 || status_code == 202
      error_model = JSON.load(response_content)
      fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
    end

    result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
    result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
    result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::Network::Mgmt::V2018_10_01::Models::GatewayRouteListResult.mapper()
        result.body = @client.deserialize(result_mapper, parsed_response)
      rescue Exception => e
        fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
      end
    end

    result
  end

  promise.execute
end
begin_get_learned_routes_with_http_info(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

This operation retrieves a list of routes the virtual network gateway has learned, including routes learned from BGP peers.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [MsRestAzure::AzureOperationResponse] HTTP response information.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2154
def begin_get_learned_routes_with_http_info(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  begin_get_learned_routes_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
end
begin_get_vpn_profile_package_url(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [String] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1928
def begin_get_vpn_profile_package_url(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  response = begin_get_vpn_profile_package_url_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
begin_get_vpn_profile_package_url_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] Promise object which holds the HTTP response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1963
def begin_get_vpn_profile_package_url_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'virtual_network_gateway_name is nil' if virtual_network_gateway_name.nil?
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?


  request_headers = {}
  request_headers['Content-Type'] = 'application/json; charset=utf-8'

  # Set Headers
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnprofilepackageurl'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'virtualNetworkGatewayName' => virtual_network_gateway_name,'subscriptionId' => @client.subscription_id},
      query_params: {'api-version' => @client.api_version},
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.make_request_async(:post, path_template, options)

  promise = promise.then do |result|
    http_response = result.response
    status_code = http_response.status
    response_content = http_response.body
    unless status_code == 200 || status_code == 202
      error_model = JSON.load(response_content)
      fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
    end

    result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
    result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
    result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = {
          client_side_validation: true,
          required: false,
          serialized_name: 'parsed_response',
          type: {
            name: 'String'
          }
        }
        result.body = @client.deserialize(result_mapper, parsed_response)
      rescue Exception => e
        fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
      end
    end

    result
  end

  promise.execute
end
begin_get_vpn_profile_package_url_with_http_info(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [MsRestAzure::AzureOperationResponse] HTTP response information.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1946
def begin_get_vpn_profile_package_url_with_http_info(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  begin_get_vpn_profile_package_url_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
end
begin_get_vpnclient_ipsec_parameters(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

The Get VpnclientIpsecParameters operation retrieves information about the vpnclient ipsec policy for P2S client of virtual network gateway in the specified resource group through Network resource provider.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The virtual network gateway name. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [VpnClientIPsecParameters] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2462
def begin_get_vpnclient_ipsec_parameters(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  response = begin_get_vpnclient_ipsec_parameters_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
begin_get_vpnclient_ipsec_parameters_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

The Get VpnclientIpsecParameters operation retrieves information about the vpnclient ipsec policy for P2S client of virtual network gateway in the specified resource group through Network resource provider.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The virtual network gateway name. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] Promise object which holds the HTTP response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2497
def begin_get_vpnclient_ipsec_parameters_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'virtual_network_gateway_name is nil' if virtual_network_gateway_name.nil?
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?


  request_headers = {}
  request_headers['Content-Type'] = 'application/json; charset=utf-8'

  # Set Headers
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/getvpnclientipsecparameters'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'virtualNetworkGatewayName' => virtual_network_gateway_name,'subscriptionId' => @client.subscription_id},
      query_params: {'api-version' => @client.api_version},
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.make_request_async(:post, path_template, options)

  promise = promise.then do |result|
    http_response = result.response
    status_code = http_response.status
    response_content = http_response.body
    unless status_code == 200
      error_model = JSON.load(response_content)
      fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
    end

    result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
    result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
    result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::Network::Mgmt::V2018_10_01::Models::VpnClientIPsecParameters.mapper()
        result.body = @client.deserialize(result_mapper, parsed_response)
      rescue Exception => e
        fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
      end
    end

    result
  end

  promise.execute
end
begin_get_vpnclient_ipsec_parameters_with_http_info(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

The Get VpnclientIpsecParameters operation retrieves information about the vpnclient ipsec policy for P2S client of virtual network gateway in the specified resource group through Network resource provider.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The virtual network gateway name. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [MsRestAzure::AzureOperationResponse] HTTP response information.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2480
def begin_get_vpnclient_ipsec_parameters_with_http_info(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  begin_get_vpnclient_ipsec_parameters_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
end
begin_reset(resource_group_name, virtual_network_gateway_name, gateway_vip:nil, custom_headers:nil) click to toggle source

Resets the primary of the virtual network gateway in the specified resource group.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param gateway_vip [String] Virtual network gateway vip address supplied to the begin reset of the active-active feature enabled gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [VirtualNetworkGateway] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1492
def begin_reset(resource_group_name, virtual_network_gateway_name, gateway_vip:nil, custom_headers:nil)
  response = begin_reset_async(resource_group_name, virtual_network_gateway_name, gateway_vip:gateway_vip, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
begin_reset_async(resource_group_name, virtual_network_gateway_name, gateway_vip:nil, custom_headers:nil) click to toggle source

Resets the primary of the virtual network gateway in the specified resource group.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param gateway_vip [String] Virtual network gateway vip address supplied to the begin reset of the active-active feature enabled gateway. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] Promise object which holds the HTTP response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1529
def begin_reset_async(resource_group_name, virtual_network_gateway_name, gateway_vip:nil, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'virtual_network_gateway_name is nil' if virtual_network_gateway_name.nil?
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?


  request_headers = {}
  request_headers['Content-Type'] = 'application/json; charset=utf-8'

  # Set Headers
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/reset'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'virtualNetworkGatewayName' => virtual_network_gateway_name,'subscriptionId' => @client.subscription_id},
      query_params: {'gatewayVip' => gateway_vip,'api-version' => @client.api_version},
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.make_request_async(:post, path_template, options)

  promise = promise.then do |result|
    http_response = result.response
    status_code = http_response.status
    response_content = http_response.body
    unless status_code == 202 || status_code == 200
      error_model = JSON.load(response_content)
      fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
    end

    result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
    result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
    result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::Network::Mgmt::V2018_10_01::Models::VirtualNetworkGateway.mapper()
        result.body = @client.deserialize(result_mapper, parsed_response)
      rescue Exception => e
        fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
      end
    end

    result
  end

  promise.execute
end
begin_reset_vpn_client_shared_key(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Resets the VPN client shared key of the virtual network gateway in the specified resource group.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1595
def begin_reset_vpn_client_shared_key(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  response = begin_reset_vpn_client_shared_key_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
  nil
end
begin_reset_vpn_client_shared_key_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Resets the VPN client shared key of the virtual network gateway in the specified resource group.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] Promise object which holds the HTTP response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1628
def begin_reset_vpn_client_shared_key_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'virtual_network_gateway_name is nil' if virtual_network_gateway_name.nil?
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?


  request_headers = {}
  request_headers['Content-Type'] = 'application/json; charset=utf-8'

  # Set Headers
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/resetvpnclientsharedkey'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'virtualNetworkGatewayName' => virtual_network_gateway_name,'subscriptionId' => @client.subscription_id},
      query_params: {'api-version' => @client.api_version},
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.make_request_async(:post, path_template, options)

  promise = promise.then do |result|
    http_response = result.response
    status_code = http_response.status
    response_content = http_response.body
    unless status_code == 200 || status_code == 202
      error_model = JSON.load(response_content)
      fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
    end

    result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
    result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
    result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?

    result
  end

  promise.execute
end
begin_reset_vpn_client_shared_key_with_http_info(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Resets the VPN client shared key of the virtual network gateway in the specified resource group.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [MsRestAzure::AzureOperationResponse] HTTP response information.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1612
def begin_reset_vpn_client_shared_key_with_http_info(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  begin_reset_vpn_client_shared_key_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
end
begin_reset_with_http_info(resource_group_name, virtual_network_gateway_name, gateway_vip:nil, custom_headers:nil) click to toggle source

Resets the primary of the virtual network gateway in the specified resource group.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param gateway_vip [String] Virtual network gateway vip address supplied to the begin reset of the active-active feature enabled gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [MsRestAzure::AzureOperationResponse] HTTP response information.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1511
def begin_reset_with_http_info(resource_group_name, virtual_network_gateway_name, gateway_vip:nil, custom_headers:nil)
  begin_reset_async(resource_group_name, virtual_network_gateway_name, gateway_vip:gateway_vip, custom_headers:custom_headers).value!
end
begin_set_vpnclient_ipsec_parameters(resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers:nil) click to toggle source

The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy for P2S client of virtual network gateway in the specified resource group through Network resource provider.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param vpnclient_ipsec_params [VpnClientIPsecParameters] Parameters supplied to the Begin Set vpnclient ipsec parameters of Virtual Network Gateway P2S client operation through Network resource provider. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [VpnClientIPsecParameters] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2345
def begin_set_vpnclient_ipsec_parameters(resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers:nil)
  response = begin_set_vpnclient_ipsec_parameters_async(resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
begin_set_vpnclient_ipsec_parameters_async(resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers:nil) click to toggle source

The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy for P2S client of virtual network gateway in the specified resource group through Network resource provider.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param vpnclient_ipsec_params [VpnClientIPsecParameters] Parameters supplied to the Begin Set vpnclient ipsec parameters of Virtual Network Gateway P2S client operation through Network resource provider. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] Promise object which holds the HTTP response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2386
def begin_set_vpnclient_ipsec_parameters_async(resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'virtual_network_gateway_name is nil' if virtual_network_gateway_name.nil?
  fail ArgumentError, 'vpnclient_ipsec_params is nil' if vpnclient_ipsec_params.nil?
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?


  request_headers = {}
  request_headers['Content-Type'] = 'application/json; charset=utf-8'

  # Set Headers
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?

  # Serialize Request
  request_mapper = Azure::Network::Mgmt::V2018_10_01::Models::VpnClientIPsecParameters.mapper()
  request_content = @client.serialize(request_mapper,  vpnclient_ipsec_params)
  request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil

  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/setvpnclientipsecparameters'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'virtualNetworkGatewayName' => virtual_network_gateway_name,'subscriptionId' => @client.subscription_id},
      query_params: {'api-version' => @client.api_version},
      body: request_content,
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.make_request_async(:post, path_template, options)

  promise = promise.then do |result|
    http_response = result.response
    status_code = http_response.status
    response_content = http_response.body
    unless status_code == 202 || status_code == 200
      error_model = JSON.load(response_content)
      fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
    end

    result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
    result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
    result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::Network::Mgmt::V2018_10_01::Models::VpnClientIPsecParameters.mapper()
        result.body = @client.deserialize(result_mapper, parsed_response)
      rescue Exception => e
        fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
      end
    end

    result
  end

  promise.execute
end
begin_set_vpnclient_ipsec_parameters_with_http_info(resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers:nil) click to toggle source

The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy for P2S client of virtual network gateway in the specified resource group through Network resource provider.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param vpnclient_ipsec_params [VpnClientIPsecParameters] Parameters supplied to the Begin Set vpnclient ipsec parameters of Virtual Network Gateway P2S client operation through Network resource provider. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [MsRestAzure::AzureOperationResponse] HTTP response information.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2366
def begin_set_vpnclient_ipsec_parameters_with_http_info(resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers:nil)
  begin_set_vpnclient_ipsec_parameters_async(resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers:custom_headers).value!
end
begin_update_tags(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

Updates a virtual network gateway tags.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param parameters [TagsObject] Parameters supplied to update virtual network gateway tags. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [VirtualNetworkGateway] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1380
def begin_update_tags(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  response = begin_update_tags_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
begin_update_tags_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

Updates a virtual network gateway tags.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param parameters [TagsObject] Parameters supplied to update virtual network gateway tags. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] Promise object which holds the HTTP response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1415
def begin_update_tags_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'virtual_network_gateway_name is nil' if virtual_network_gateway_name.nil?
  fail ArgumentError, 'parameters is nil' if parameters.nil?
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?


  request_headers = {}
  request_headers['Content-Type'] = 'application/json; charset=utf-8'

  # Set Headers
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?

  # Serialize Request
  request_mapper = Azure::Network::Mgmt::V2018_10_01::Models::TagsObject.mapper()
  request_content = @client.serialize(request_mapper,  parameters)
  request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil

  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'virtualNetworkGatewayName' => virtual_network_gateway_name,'subscriptionId' => @client.subscription_id},
      query_params: {'api-version' => @client.api_version},
      body: request_content,
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.make_request_async(:patch, path_template, options)

  promise = promise.then do |result|
    http_response = result.response
    status_code = http_response.status
    response_content = http_response.body
    unless status_code == 200
      error_model = JSON.load(response_content)
      fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
    end

    result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
    result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
    result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::Network::Mgmt::V2018_10_01::Models::VirtualNetworkGateway.mapper()
        result.body = @client.deserialize(result_mapper, parsed_response)
      rescue Exception => e
        fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
      end
    end

    result
  end

  promise.execute
end
begin_update_tags_with_http_info(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

Updates a virtual network gateway tags.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param parameters [TagsObject] Parameters supplied to update virtual network gateway tags. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [MsRestAzure::AzureOperationResponse] HTTP response information.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1398
def begin_update_tags_with_http_info(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  begin_update_tags_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:custom_headers).value!
end
create_or_update(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

Creates or updates a virtual network gateway in the specified resource group.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param parameters [VirtualNetworkGateway] Parameters supplied to create or update virtual network gateway operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [VirtualNetworkGateway] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 37
def create_or_update(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  response = create_or_update_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
create_or_update_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param parameters [VirtualNetworkGateway] Parameters supplied to create or update virtual network gateway operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] promise which provides async access to http response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 54
def create_or_update_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  # Send request
  promise = begin_create_or_update_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:custom_headers)

  promise = promise.then do |response|
    # Defining deserialization method.
    deserialize_method = lambda do |parsed_response|
      result_mapper = Azure::Network::Mgmt::V2018_10_01::Models::VirtualNetworkGateway.mapper()
      parsed_response = @client.deserialize(result_mapper, parsed_response)
    end

    # Waiting for response.
    @client.get_long_running_operation_result(response, deserialize_method)
  end

  promise
end
delete(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Deletes the specified virtual network gateway.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 178
def delete(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  response = delete_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
  nil
end
delete_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] promise which provides async access to http response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 193
def delete_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  # Send request
  promise = begin_delete_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers)

  promise = promise.then do |response|
    # Defining deserialization method.
    deserialize_method = lambda do |parsed_response|
    end

    # Waiting for response.
    @client.get_long_running_operation_result(response, deserialize_method)
  end

  promise
end
generate_vpn_profile(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

Generates VPN profile for P2S client of the virtual network gateway in the specified resource group. Used for IKEV2 and radius based authentication.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param parameters [VpnClientParameters] Parameters supplied to the generate virtual network gateway VPN client package operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [String] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 604
def generate_vpn_profile(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  response = generate_vpn_profile_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
generate_vpn_profile_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param parameters [VpnClientParameters] Parameters supplied to the generate virtual network gateway VPN client package operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] promise which provides async access to http response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 621
def generate_vpn_profile_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  # Send request
  promise = begin_generate_vpn_profile_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:custom_headers)

  promise = promise.then do |response|
    # Defining deserialization method.
    deserialize_method = lambda do |parsed_response|
      result_mapper = {
        client_side_validation: true,
        required: false,
        serialized_name: 'parsed_response',
        type: {
          name: 'String'
        }
      }
      parsed_response = @client.deserialize(result_mapper, parsed_response)
    end

    # Waiting for response.
    @client.get_long_running_operation_result(response, deserialize_method, FinalStateVia::LOCATION)
  end

  promise
end
generatevpnclientpackage(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

Generates VPN client package for P2S client of the virtual network gateway in the specified resource group.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param parameters [VpnClientParameters] Parameters supplied to the generate virtual network gateway VPN client package operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [String] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 548
def generatevpnclientpackage(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  response = generatevpnclientpackage_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
generatevpnclientpackage_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param parameters [VpnClientParameters] Parameters supplied to the generate virtual network gateway VPN client package operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] promise which provides async access to http response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 565
def generatevpnclientpackage_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  # Send request
  promise = begin_generatevpnclientpackage_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:custom_headers)

  promise = promise.then do |response|
    # Defining deserialization method.
    deserialize_method = lambda do |parsed_response|
      result_mapper = {
        client_side_validation: true,
        required: false,
        serialized_name: 'parsed_response',
        type: {
          name: 'String'
        }
      }
      parsed_response = @client.deserialize(result_mapper, parsed_response)
    end

    # Waiting for response.
    @client.get_long_running_operation_result(response, deserialize_method, FinalStateVia::LOCATION)
  end

  promise
end
get(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Gets the specified virtual network gateway by resource group.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [VirtualNetworkGateway] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 83
def get(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  response = get_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
get_advertised_routes(resource_group_name, virtual_network_gateway_name, peer, custom_headers:nil) click to toggle source

This operation retrieves a list of routes the virtual network gateway is advertising to the specified peer.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param peer [String] The IP address of the peer @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [GatewayRouteListResult] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 907
def get_advertised_routes(resource_group_name, virtual_network_gateway_name, peer, custom_headers:nil)
  response = get_advertised_routes_async(resource_group_name, virtual_network_gateway_name, peer, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
get_advertised_routes_async(resource_group_name, virtual_network_gateway_name, peer, custom_headers:nil) click to toggle source

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param peer [String] The IP address of the peer @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] promise which provides async access to http response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 923
def get_advertised_routes_async(resource_group_name, virtual_network_gateway_name, peer, custom_headers:nil)
  # Send request
  promise = begin_get_advertised_routes_async(resource_group_name, virtual_network_gateway_name, peer, custom_headers:custom_headers)

  promise = promise.then do |response|
    # Defining deserialization method.
    deserialize_method = lambda do |parsed_response|
      result_mapper = Azure::Network::Mgmt::V2018_10_01::Models::GatewayRouteListResult.mapper()
      parsed_response = @client.deserialize(result_mapper, parsed_response)
    end

    # Waiting for response.
    @client.get_long_running_operation_result(response, deserialize_method, FinalStateVia::LOCATION)
  end

  promise
end
get_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Gets the specified virtual network gateway by resource group.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] Promise object which holds the HTTP response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 114
def get_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'virtual_network_gateway_name is nil' if virtual_network_gateway_name.nil?
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?


  request_headers = {}
  request_headers['Content-Type'] = 'application/json; charset=utf-8'

  # Set Headers
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'virtualNetworkGatewayName' => virtual_network_gateway_name,'subscriptionId' => @client.subscription_id},
      query_params: {'api-version' => @client.api_version},
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.make_request_async(:get, path_template, options)

  promise = promise.then do |result|
    http_response = result.response
    status_code = http_response.status
    response_content = http_response.body
    unless status_code == 200
      error_model = JSON.load(response_content)
      fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
    end

    result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
    result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
    result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::Network::Mgmt::V2018_10_01::Models::VirtualNetworkGateway.mapper()
        result.body = @client.deserialize(result_mapper, parsed_response)
      rescue Exception => e
        fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
      end
    end

    result
  end

  promise.execute
end
get_bgp_peer_status(resource_group_name, virtual_network_gateway_name, peer:nil, custom_headers:nil) click to toggle source

The GetBgpPeerStatus operation retrieves the status of all BGP peers.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param peer [String] The IP address of the peer to retrieve the status of. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [BgpPeerStatusListResult] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 711
def get_bgp_peer_status(resource_group_name, virtual_network_gateway_name, peer:nil, custom_headers:nil)
  response = get_bgp_peer_status_async(resource_group_name, virtual_network_gateway_name, peer:peer, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
get_bgp_peer_status_async(resource_group_name, virtual_network_gateway_name, peer:nil, custom_headers:nil) click to toggle source

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param peer [String] The IP address of the peer to retrieve the status of. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] promise which provides async access to http response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 727
def get_bgp_peer_status_async(resource_group_name, virtual_network_gateway_name, peer:nil, custom_headers:nil)
  # Send request
  promise = begin_get_bgp_peer_status_async(resource_group_name, virtual_network_gateway_name, peer:peer, custom_headers:custom_headers)

  promise = promise.then do |response|
    # Defining deserialization method.
    deserialize_method = lambda do |parsed_response|
      result_mapper = Azure::Network::Mgmt::V2018_10_01::Models::BgpPeerStatusListResult.mapper()
      parsed_response = @client.deserialize(result_mapper, parsed_response)
    end

    # Waiting for response.
    @client.get_long_running_operation_result(response, deserialize_method, FinalStateVia::LOCATION)
  end

  promise
end
get_learned_routes(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

This operation retrieves a list of routes the virtual network gateway has learned, including routes learned from BGP peers.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [GatewayRouteListResult] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 861
def get_learned_routes(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  response = get_learned_routes_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
get_learned_routes_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] promise which provides async access to http response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 876
def get_learned_routes_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  # Send request
  promise = begin_get_learned_routes_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers)

  promise = promise.then do |response|
    # Defining deserialization method.
    deserialize_method = lambda do |parsed_response|
      result_mapper = Azure::Network::Mgmt::V2018_10_01::Models::GatewayRouteListResult.mapper()
      parsed_response = @client.deserialize(result_mapper, parsed_response)
    end

    # Waiting for response.
    @client.get_long_running_operation_result(response, deserialize_method, FinalStateVia::LOCATION)
  end

  promise
end
get_vpn_profile_package_url(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Gets pre-generated VPN profile for P2S client of the virtual network gateway in the specified resource group. The profile needs to be generated first using generateVpnProfile.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [String] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 659
def get_vpn_profile_package_url(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  response = get_vpn_profile_package_url_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
get_vpn_profile_package_url_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] promise which provides async access to http response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 674
def get_vpn_profile_package_url_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  # Send request
  promise = begin_get_vpn_profile_package_url_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers)

  promise = promise.then do |response|
    # Defining deserialization method.
    deserialize_method = lambda do |parsed_response|
      result_mapper = {
        client_side_validation: true,
        required: false,
        serialized_name: 'parsed_response',
        type: {
          name: 'String'
        }
      }
      parsed_response = @client.deserialize(result_mapper, parsed_response)
    end

    # Waiting for response.
    @client.get_long_running_operation_result(response, deserialize_method, FinalStateVia::LOCATION)
  end

  promise
end
get_vpnclient_ipsec_parameters(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

The Get VpnclientIpsecParameters operation retrieves information about the vpnclient ipsec policy for P2S client of virtual network gateway in the specified resource group through Network resource provider.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The virtual network gateway name. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [VpnClientIPsecParameters] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1006
def get_vpnclient_ipsec_parameters(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  response = get_vpnclient_ipsec_parameters_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
get_vpnclient_ipsec_parameters_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The virtual network gateway name. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] promise which provides async access to http response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1021
def get_vpnclient_ipsec_parameters_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  # Send request
  promise = begin_get_vpnclient_ipsec_parameters_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers)

  promise = promise.then do |response|
    # Defining deserialization method.
    deserialize_method = lambda do |parsed_response|
      result_mapper = Azure::Network::Mgmt::V2018_10_01::Models::VpnClientIPsecParameters.mapper()
      parsed_response = @client.deserialize(result_mapper, parsed_response)
    end

    # Waiting for response.
    @client.get_long_running_operation_result(response, deserialize_method, FinalStateVia::LOCATION)
  end

  promise
end
get_with_http_info(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Gets the specified virtual network gateway by resource group.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [MsRestAzure::AzureOperationResponse] HTTP response information.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 99
def get_with_http_info(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  get_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
end
list(resource_group_name, custom_headers:nil) click to toggle source

Gets all virtual network gateways by resource group.

@param resource_group_name [String] The name of the resource group. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Array<VirtualNetworkGateway>] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 266
def list(resource_group_name, custom_headers:nil)
  first_page = list_as_lazy(resource_group_name, custom_headers:custom_headers)
  first_page.get_all_items
end
list_as_lazy(resource_group_name, custom_headers:nil) click to toggle source

Gets all virtual network gateways by resource group.

@param resource_group_name [String] The name of the resource group. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [VirtualNetworkGatewayListResult] which provide lazy access to pages of the response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2742
def list_as_lazy(resource_group_name, custom_headers:nil)
  response = list_async(resource_group_name, custom_headers:custom_headers).value!
  unless response.nil?
    page = response.body
    page.next_method = Proc.new do |next_page_link|
      list_next_async(next_page_link, custom_headers:custom_headers)
    end
    page
  end
end
list_async(resource_group_name, custom_headers:nil) click to toggle source

Gets all virtual network gateways by resource group.

@param resource_group_name [String] The name of the resource group. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] Promise object which holds the HTTP response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 293
def list_async(resource_group_name, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?


  request_headers = {}
  request_headers['Content-Type'] = 'application/json; charset=utf-8'

  # Set Headers
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'subscriptionId' => @client.subscription_id},
      query_params: {'api-version' => @client.api_version},
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.make_request_async(:get, path_template, options)

  promise = promise.then do |result|
    http_response = result.response
    status_code = http_response.status
    response_content = http_response.body
    unless status_code == 200
      error_model = JSON.load(response_content)
      fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
    end

    result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
    result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
    result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::Network::Mgmt::V2018_10_01::Models::VirtualNetworkGatewayListResult.mapper()
        result.body = @client.deserialize(result_mapper, parsed_response)
      rescue Exception => e
        fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
      end
    end

    result
  end

  promise.execute
end
list_connections(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Gets all the connections in a virtual network gateway.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Array<VirtualNetworkGatewayConnectionListEntity>] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 358
def list_connections(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  first_page = list_connections_as_lazy(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers)
  first_page.get_all_items
end
list_connections_as_lazy(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Gets all the connections in a virtual network gateway.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [VirtualNetworkGatewayListConnectionsResult] which provide lazy access to pages of the response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2765
def list_connections_as_lazy(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  response = list_connections_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
  unless response.nil?
    page = response.body
    page.next_method = Proc.new do |next_page_link|
      list_connections_next_async(next_page_link, custom_headers:custom_headers)
    end
    page
  end
end
list_connections_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Gets all the connections in a virtual network gateway.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] Promise object which holds the HTTP response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 389
def list_connections_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'virtual_network_gateway_name is nil' if virtual_network_gateway_name.nil?
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?


  request_headers = {}
  request_headers['Content-Type'] = 'application/json; charset=utf-8'

  # Set Headers
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/connections'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'virtualNetworkGatewayName' => virtual_network_gateway_name,'subscriptionId' => @client.subscription_id},
      query_params: {'api-version' => @client.api_version},
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.make_request_async(:get, path_template, options)

  promise = promise.then do |result|
    http_response = result.response
    status_code = http_response.status
    response_content = http_response.body
    unless status_code == 200
      error_model = JSON.load(response_content)
      fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
    end

    result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
    result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
    result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::Network::Mgmt::V2018_10_01::Models::VirtualNetworkGatewayListConnectionsResult.mapper()
        result.body = @client.deserialize(result_mapper, parsed_response)
      rescue Exception => e
        fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
      end
    end

    result
  end

  promise.execute
end
list_connections_next(next_page_link, custom_headers:nil) click to toggle source

Gets all the connections in a virtual network gateway.

@param next_page_link [String] The NextLink from the previous successful call to List operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [VirtualNetworkGatewayListConnectionsResult] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2652
def list_connections_next(next_page_link, custom_headers:nil)
  response = list_connections_next_async(next_page_link, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
list_connections_next_async(next_page_link, custom_headers:nil) click to toggle source

Gets all the connections in a virtual network gateway.

@param next_page_link [String] The NextLink from the previous successful call to List operation. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] Promise object which holds the HTTP response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2681
def list_connections_next_async(next_page_link, custom_headers:nil)
  fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?


  request_headers = {}
  request_headers['Content-Type'] = 'application/json; charset=utf-8'

  # Set Headers
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
  path_template = '{nextLink}'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      skip_encoding_path_params: {'nextLink' => next_page_link},
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.make_request_async(:get, path_template, options)

  promise = promise.then do |result|
    http_response = result.response
    status_code = http_response.status
    response_content = http_response.body
    unless status_code == 200
      error_model = JSON.load(response_content)
      fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
    end

    result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
    result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
    result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::Network::Mgmt::V2018_10_01::Models::VirtualNetworkGatewayListConnectionsResult.mapper()
        result.body = @client.deserialize(result_mapper, parsed_response)
      rescue Exception => e
        fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
      end
    end

    result
  end

  promise.execute
end
list_connections_next_with_http_info(next_page_link, custom_headers:nil) click to toggle source

Gets all the connections in a virtual network gateway.

@param next_page_link [String] The NextLink from the previous successful call to List operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [MsRestAzure::AzureOperationResponse] HTTP response information.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2667
def list_connections_next_with_http_info(next_page_link, custom_headers:nil)
  list_connections_next_async(next_page_link, custom_headers:custom_headers).value!
end
list_connections_with_http_info(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Gets all the connections in a virtual network gateway.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [MsRestAzure::AzureOperationResponse] HTTP response information.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 374
def list_connections_with_http_info(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  list_connections_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
end
list_next(next_page_link, custom_headers:nil) click to toggle source

Gets all virtual network gateways by resource group.

@param next_page_link [String] The NextLink from the previous successful call to List operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [VirtualNetworkGatewayListResult] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2562
def list_next(next_page_link, custom_headers:nil)
  response = list_next_async(next_page_link, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
list_next_async(next_page_link, custom_headers:nil) click to toggle source

Gets all virtual network gateways by resource group.

@param next_page_link [String] The NextLink from the previous successful call to List operation. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] Promise object which holds the HTTP response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2591
def list_next_async(next_page_link, custom_headers:nil)
  fail ArgumentError, 'next_page_link is nil' if next_page_link.nil?


  request_headers = {}
  request_headers['Content-Type'] = 'application/json; charset=utf-8'

  # Set Headers
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
  path_template = '{nextLink}'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      skip_encoding_path_params: {'nextLink' => next_page_link},
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.make_request_async(:get, path_template, options)

  promise = promise.then do |result|
    http_response = result.response
    status_code = http_response.status
    response_content = http_response.body
    unless status_code == 200
      error_model = JSON.load(response_content)
      fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
    end

    result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
    result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
    result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = Azure::Network::Mgmt::V2018_10_01::Models::VirtualNetworkGatewayListResult.mapper()
        result.body = @client.deserialize(result_mapper, parsed_response)
      rescue Exception => e
        fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
      end
    end

    result
  end

  promise.execute
end
list_next_with_http_info(next_page_link, custom_headers:nil) click to toggle source

Gets all virtual network gateways by resource group.

@param next_page_link [String] The NextLink from the previous successful call to List operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [MsRestAzure::AzureOperationResponse] HTTP response information.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2577
def list_next_with_http_info(next_page_link, custom_headers:nil)
  list_next_async(next_page_link, custom_headers:custom_headers).value!
end
list_with_http_info(resource_group_name, custom_headers:nil) click to toggle source

Gets all virtual network gateways by resource group.

@param resource_group_name [String] The name of the resource group. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [MsRestAzure::AzureOperationResponse] HTTP response information.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 280
def list_with_http_info(resource_group_name, custom_headers:nil)
  list_async(resource_group_name, custom_headers:custom_headers).value!
end
reset(resource_group_name, virtual_network_gateway_name, gateway_vip:nil, custom_headers:nil) click to toggle source

Resets the primary of the virtual network gateway in the specified resource group.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param gateway_vip [String] Virtual network gateway vip address supplied to the begin reset of the active-active feature enabled gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [VirtualNetworkGateway] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 458
def reset(resource_group_name, virtual_network_gateway_name, gateway_vip:nil, custom_headers:nil)
  response = reset_async(resource_group_name, virtual_network_gateway_name, gateway_vip:gateway_vip, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
reset_async(resource_group_name, virtual_network_gateway_name, gateway_vip:nil, custom_headers:nil) click to toggle source

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param gateway_vip [String] Virtual network gateway vip address supplied to the begin reset of the active-active feature enabled gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] promise which provides async access to http response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 475
def reset_async(resource_group_name, virtual_network_gateway_name, gateway_vip:nil, custom_headers:nil)
  # Send request
  promise = begin_reset_async(resource_group_name, virtual_network_gateway_name, gateway_vip:gateway_vip, custom_headers:custom_headers)

  promise = promise.then do |response|
    # Defining deserialization method.
    deserialize_method = lambda do |parsed_response|
      result_mapper = Azure::Network::Mgmt::V2018_10_01::Models::VirtualNetworkGateway.mapper()
      parsed_response = @client.deserialize(result_mapper, parsed_response)
    end

    # Waiting for response.
    @client.get_long_running_operation_result(response, deserialize_method, FinalStateVia::LOCATION)
  end

  promise
end
reset_vpn_client_shared_key(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Resets the VPN client shared key of the virtual network gateway in the specified resource group.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 503
def reset_vpn_client_shared_key(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  response = reset_vpn_client_shared_key_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
  nil
end
reset_vpn_client_shared_key_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] promise which provides async access to http response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 518
def reset_vpn_client_shared_key_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  # Send request
  promise = begin_reset_vpn_client_shared_key_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers)

  promise = promise.then do |response|
    # Defining deserialization method.
    deserialize_method = lambda do |parsed_response|
    end

    # Waiting for response.
    @client.get_long_running_operation_result(response, deserialize_method, FinalStateVia::LOCATION)
  end

  promise
end
set_vpnclient_ipsec_parameters(resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers:nil) click to toggle source

The Set VpnclientIpsecParameters operation sets the vpnclient ipsec policy for P2S client of virtual network gateway in the specified resource group through Network resource provider.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param vpnclient_ipsec_params [VpnClientIPsecParameters] Parameters supplied to the Begin Set vpnclient ipsec parameters of Virtual Network Gateway P2S client operation through Network resource provider. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [VpnClientIPsecParameters] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 957
def set_vpnclient_ipsec_parameters(resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers:nil)
  response = set_vpnclient_ipsec_parameters_async(resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
set_vpnclient_ipsec_parameters_async(resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers:nil) click to toggle source

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param vpnclient_ipsec_params [VpnClientIPsecParameters] Parameters supplied to the Begin Set vpnclient ipsec parameters of Virtual Network Gateway P2S client operation through Network resource provider. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] promise which provides async access to http response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 975
def set_vpnclient_ipsec_parameters_async(resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers:nil)
  # Send request
  promise = begin_set_vpnclient_ipsec_parameters_async(resource_group_name, virtual_network_gateway_name, vpnclient_ipsec_params, custom_headers:custom_headers)

  promise = promise.then do |response|
    # Defining deserialization method.
    deserialize_method = lambda do |parsed_response|
      result_mapper = Azure::Network::Mgmt::V2018_10_01::Models::VpnClientIPsecParameters.mapper()
      parsed_response = @client.deserialize(result_mapper, parsed_response)
    end

    # Waiting for response.
    @client.get_long_running_operation_result(response, deserialize_method, FinalStateVia::LOCATION)
  end

  promise
end
supported_vpn_devices(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Gets a xml format representation for supported vpn devices.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [String] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 756
def supported_vpn_devices(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  response = supported_vpn_devices_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
supported_vpn_devices_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Gets a xml format representation for supported vpn devices.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] Promise object which holds the HTTP response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 787
def supported_vpn_devices_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'virtual_network_gateway_name is nil' if virtual_network_gateway_name.nil?
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?


  request_headers = {}
  request_headers['Content-Type'] = 'application/json; charset=utf-8'

  # Set Headers
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?
  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworkGateways/{virtualNetworkGatewayName}/supportedvpndevices'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'virtualNetworkGatewayName' => virtual_network_gateway_name,'subscriptionId' => @client.subscription_id},
      query_params: {'api-version' => @client.api_version},
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.make_request_async(:post, path_template, options)

  promise = promise.then do |result|
    http_response = result.response
    status_code = http_response.status
    response_content = http_response.body
    unless status_code == 200
      error_model = JSON.load(response_content)
      fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
    end

    result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
    result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
    result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = {
          client_side_validation: true,
          required: false,
          serialized_name: 'parsed_response',
          type: {
            name: 'String'
          }
        }
        result.body = @client.deserialize(result_mapper, parsed_response)
      rescue Exception => e
        fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
      end
    end

    result
  end

  promise.execute
end
supported_vpn_devices_with_http_info(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Gets a xml format representation for supported vpn devices.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [MsRestAzure::AzureOperationResponse] HTTP response information.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 772
def supported_vpn_devices_with_http_info(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  supported_vpn_devices_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
end
update_tags(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

Updates a virtual network gateway tags.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param parameters [TagsObject] Parameters supplied to update virtual network gateway tags. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [VirtualNetworkGateway] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 222
def update_tags(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  response = update_tags_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
update_tags_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_name [String] The name of the virtual network gateway. @param parameters [TagsObject] Parameters supplied to update virtual network gateway tags. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] promise which provides async access to http response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 239
def update_tags_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  # Send request
  promise = begin_update_tags_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:custom_headers)

  promise = promise.then do |response|
    # Defining deserialization method.
    deserialize_method = lambda do |parsed_response|
      result_mapper = Azure::Network::Mgmt::V2018_10_01::Models::VirtualNetworkGateway.mapper()
      parsed_response = @client.deserialize(result_mapper, parsed_response)
    end

    # Waiting for response.
    @client.get_long_running_operation_result(response, deserialize_method)
  end

  promise
end
vpn_device_configuration_script(resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers:nil) click to toggle source

Gets a xml format representation for vpn device configuration script.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_connection_name [String] The name of the virtual network gateway connection for which the configuration script is generated. @param parameters [VpnDeviceScriptParameters] Parameters supplied to the generate vpn device script operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [String] operation results.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1053
def vpn_device_configuration_script(resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers:nil)
  response = vpn_device_configuration_script_async(resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
vpn_device_configuration_script_async(resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers:nil) click to toggle source

Gets a xml format representation for vpn device configuration script.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_connection_name [String] The name of the virtual network gateway connection for which the configuration script is generated. @param parameters [VpnDeviceScriptParameters] Parameters supplied to the generate vpn device script operation. @param [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [Concurrent::Promise] Promise object which holds the HTTP response.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1090
def vpn_device_configuration_script_async(resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers:nil)
  fail ArgumentError, 'resource_group_name is nil' if resource_group_name.nil?
  fail ArgumentError, 'virtual_network_gateway_connection_name is nil' if virtual_network_gateway_connection_name.nil?
  fail ArgumentError, 'parameters is nil' if parameters.nil?
  fail ArgumentError, '@client.api_version is nil' if @client.api_version.nil?
  fail ArgumentError, '@client.subscription_id is nil' if @client.subscription_id.nil?


  request_headers = {}
  request_headers['Content-Type'] = 'application/json; charset=utf-8'

  # Set Headers
  request_headers['x-ms-client-request-id'] = SecureRandom.uuid
  request_headers['accept-language'] = @client.accept_language unless @client.accept_language.nil?

  # Serialize Request
  request_mapper = Azure::Network::Mgmt::V2018_10_01::Models::VpnDeviceScriptParameters.mapper()
  request_content = @client.serialize(request_mapper,  parameters)
  request_content = request_content != nil ? JSON.generate(request_content, quirks_mode: true) : nil

  path_template = 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/connections/{virtualNetworkGatewayConnectionName}/vpndeviceconfigurationscript'

  request_url = @base_url || @client.base_url

  options = {
      middlewares: [[MsRest::RetryPolicyMiddleware, times: 3, retry: 0.02], [:cookie_jar]],
      path_params: {'resourceGroupName' => resource_group_name,'virtualNetworkGatewayConnectionName' => virtual_network_gateway_connection_name,'subscriptionId' => @client.subscription_id},
      query_params: {'api-version' => @client.api_version},
      body: request_content,
      headers: request_headers.merge(custom_headers || {}),
      base_url: request_url
  }
  promise = @client.make_request_async(:post, path_template, options)

  promise = promise.then do |result|
    http_response = result.response
    status_code = http_response.status
    response_content = http_response.body
    unless status_code == 200
      error_model = JSON.load(response_content)
      fail MsRestAzure::AzureOperationError.new(result.request, http_response, error_model)
    end

    result.request_id = http_response['x-ms-request-id'] unless http_response['x-ms-request-id'].nil?
    result.correlation_request_id = http_response['x-ms-correlation-request-id'] unless http_response['x-ms-correlation-request-id'].nil?
    result.client_request_id = http_response['x-ms-client-request-id'] unless http_response['x-ms-client-request-id'].nil?
    # Deserialize Response
    if status_code == 200
      begin
        parsed_response = response_content.to_s.empty? ? nil : JSON.load(response_content)
        result_mapper = {
          client_side_validation: true,
          required: false,
          serialized_name: 'parsed_response',
          type: {
            name: 'String'
          }
        }
        result.body = @client.deserialize(result_mapper, parsed_response)
      rescue Exception => e
        fail MsRest::DeserializationError.new('Error occurred in deserializing the response', e.message, e.backtrace, result)
      end
    end

    result
  end

  promise.execute
end
vpn_device_configuration_script_with_http_info(resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers:nil) click to toggle source

Gets a xml format representation for vpn device configuration script.

@param resource_group_name [String] The name of the resource group. @param virtual_network_gateway_connection_name [String] The name of the virtual network gateway connection for which the configuration script is generated. @param parameters [VpnDeviceScriptParameters] Parameters supplied to the generate vpn device script operation. @param custom_headers [Hash{String => String}] A hash of custom headers that will be added to the HTTP request.

@return [MsRestAzure::AzureOperationResponse] HTTP response information.

# File lib/2018-10-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1072
def vpn_device_configuration_script_with_http_info(resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers:nil)
  vpn_device_configuration_script_async(resource_group_name, virtual_network_gateway_connection_name, parameters, custom_headers:custom_headers).value!
end