class Azure::Network::Mgmt::V2019_09_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/2019-09-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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1330
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1365
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::V2019_09_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::V2019_09_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::V2019_09_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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1348
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1448
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1479
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1464
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1965
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2002
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::V2019_09_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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1984
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1844
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1881
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::V2019_09_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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1863
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2395
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2430
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::V2019_09_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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2413
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2194
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2227
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::V2019_09_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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2211
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2294
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2327
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::V2019_09_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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2311
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2085
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2120
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2103
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_connection_health(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Get VPN client connection health detail per P2S client connection 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 [VpnClientConnectionHealthDetailListResult] operation results.

# File lib/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2962
def begin_get_vpnclient_connection_health(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  response = begin_get_vpnclient_connection_health_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
begin_get_vpnclient_connection_health_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Get VPN client connection health detail per P2S client connection 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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2995
def begin_get_vpnclient_connection_health_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}/getVpnClientConnectionHealth'

  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::V2019_09_01::Models::VpnClientConnectionHealthDetailListResult.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_connection_health_with_http_info(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Get VPN client connection health detail per P2S client connection 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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2979
def begin_get_vpnclient_connection_health_with_http_info(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  begin_get_vpnclient_connection_health_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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2619
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2654
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::V2019_09_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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2637
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1649
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1686
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::V2019_09_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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1752
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1785
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1769
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1668
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2502
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2543
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::V2019_09_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::V2019_09_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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2523
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_start_packet_capture(resource_group_name, virtual_network_gateway_name, parameters:nil, custom_headers:nil) click to toggle source

Starts packet capture on 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 [VpnPacketCaptureStartParameters] Virtual network gateway packet capture parameters supplied to start packet capture on 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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2723
def begin_start_packet_capture(resource_group_name, virtual_network_gateway_name, parameters:nil, custom_headers:nil)
  response = begin_start_packet_capture_async(resource_group_name, virtual_network_gateway_name, parameters:parameters, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
begin_start_packet_capture_async(resource_group_name, virtual_network_gateway_name, parameters:nil, custom_headers:nil) click to toggle source

Starts packet capture on 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 [VpnPacketCaptureStartParameters] Virtual network gateway packet capture parameters supplied to start packet capture on 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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2760
def begin_start_packet_capture_async(resource_group_name, virtual_network_gateway_name, parameters: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?

  # Serialize Request
  request_mapper = Azure::Network::Mgmt::V2019_09_01::Models::VpnPacketCaptureStartParameters.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}/startPacketCapture'

  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 MsRest::HttpOperationError.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_start_packet_capture_with_http_info(resource_group_name, virtual_network_gateway_name, parameters:nil, custom_headers:nil) click to toggle source

Starts packet capture on 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 [VpnPacketCaptureStartParameters] Virtual network gateway packet capture parameters supplied to start packet capture on 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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2742
def begin_start_packet_capture_with_http_info(resource_group_name, virtual_network_gateway_name, parameters:nil, custom_headers:nil)
  begin_start_packet_capture_async(resource_group_name, virtual_network_gateway_name, parameters:parameters, custom_headers:custom_headers).value!
end
begin_stop_packet_capture(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

Stops packet capture on 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 [VpnPacketCaptureStopParameters] Virtual network gateway packet capture parameters supplied to stop packet capture on 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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2843
def begin_stop_packet_capture(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  response = begin_stop_packet_capture_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
begin_stop_packet_capture_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

Stops packet capture on 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 [VpnPacketCaptureStopParameters] Virtual network gateway packet capture parameters supplied to stop packet capture on 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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2880
def begin_stop_packet_capture_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::V2019_09_01::Models::VpnPacketCaptureStopParameters.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}/stopPacketCapture'

  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 MsRest::HttpOperationError.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_stop_packet_capture_with_http_info(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

Stops packet capture on 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 [VpnPacketCaptureStopParameters] Virtual network gateway packet capture parameters supplied to stop packet capture on 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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 2862
def begin_stop_packet_capture_with_http_info(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  begin_stop_packet_capture_async(resource_group_name, virtual_network_gateway_name, parameters, 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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1537
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1572
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::V2019_09_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 == 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::V2019_09_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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1555
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/2019-09-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/2019-09-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::V2019_09_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/2019-09-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/2019-09-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/2019-09-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/2019-09-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/2019-09-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/2019-09-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/2019-09-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/2019-09-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/2019-09-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::V2019_09_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/2019-09-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::V2019_09_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/2019-09-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/2019-09-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::V2019_09_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/2019-09-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/2019-09-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::V2019_09_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/2019-09-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/2019-09-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_connection_health(resource_group_name, virtual_network_gateway_name, custom_headers:nil) click to toggle source

Get VPN client connection health detail per P2S client connection 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 [VpnClientConnectionHealthDetailListResult] operation results.

# File lib/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1284
def get_vpnclient_connection_health(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  response = get_vpnclient_connection_health_async(resource_group_name, virtual_network_gateway_name, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
get_vpnclient_connection_health_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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1299
def get_vpnclient_connection_health_async(resource_group_name, virtual_network_gateway_name, custom_headers:nil)
  # Send request
  promise = begin_get_vpnclient_connection_health_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::V2019_09_01::Models::VpnClientConnectionHealthDetailListResult.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_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/2019-09-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/2019-09-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::V2019_09_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/2019-09-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/2019-09-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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 3240
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/2019-09-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::V2019_09_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/2019-09-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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 3263
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/2019-09-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::V2019_09_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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 3150
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 3179
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::V2019_09_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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 3165
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/2019-09-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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 3060
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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 3089
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::V2019_09_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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 3075
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/2019-09-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/2019-09-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/2019-09-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::V2019_09_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/2019-09-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/2019-09-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/2019-09-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/2019-09-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::V2019_09_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
start_packet_capture(resource_group_name, virtual_network_gateway_name, parameters:nil, custom_headers:nil) click to toggle source

Starts packet capture on 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 [VpnPacketCaptureStartParameters] Virtual network gateway packet capture parameters supplied to start packet capture on 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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1174
def start_packet_capture(resource_group_name, virtual_network_gateway_name, parameters:nil, custom_headers:nil)
  response = start_packet_capture_async(resource_group_name, virtual_network_gateway_name, parameters:parameters, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
start_packet_capture_async(resource_group_name, virtual_network_gateway_name, parameters: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 parameters [VpnPacketCaptureStartParameters] Virtual network gateway packet capture parameters supplied to start packet capture on 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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1191
def start_packet_capture_async(resource_group_name, virtual_network_gateway_name, parameters:nil, custom_headers:nil)
  # Send request
  promise = begin_start_packet_capture_async(resource_group_name, virtual_network_gateway_name, parameters: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
stop_packet_capture(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil) click to toggle source

Stops packet capture on 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 [VpnPacketCaptureStopParameters] Virtual network gateway packet capture parameters supplied to stop packet capture on 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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1230
def stop_packet_capture(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  response = stop_packet_capture_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:custom_headers).value!
  response.body unless response.nil?
end
stop_packet_capture_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 [VpnPacketCaptureStopParameters] Virtual network gateway packet capture parameters supplied to stop packet capture on 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/2019-09-01/generated/azure_mgmt_network/virtual_network_gateways.rb, line 1247
def stop_packet_capture_async(resource_group_name, virtual_network_gateway_name, parameters, custom_headers:nil)
  # Send request
  promise = begin_stop_packet_capture_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
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/2019-09-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/2019-09-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/2019-09-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/2019-09-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/2019-09-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::V2019_09_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/2019-09-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/2019-09-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::V2019_09_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/2019-09-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