test/api_stub/requests/application_gateway/gateway.rb in fog-azure-rm-0.1.1 vs test/api_stub/requests/application_gateway/gateway.rb in fog-azure-rm-0.1.2

- old
+ new

@@ -1,461 +1,461 @@ -module ApiStub - module Requests - module ApplicationGateway - # Mock class for Application Gateway Requests - class Gateway - def self.create_application_gateway_response(gateway_client) - response = '{ - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway", - "name": "gateway", - "type": "Microsoft.Network/applicationGateways", - "location": "eastus", - "properties": { - "sku": { - "name": "Standard_Medium", - "tier": "Standard", - "capacity": 2 - }, - "gatewayIPConfigurations": [ - { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/gatewayIPConfigurations/ag-GatewayIP", - "properties": { - "subnet": { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/vnet/subnets/GatewaySubnet" - }, - "provisioningState": "Succeeded" - }, - "name": "ag-GatewayIP" - } - ], - "sslCertificates": [ - { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/sslCertificates/ssl_certificate", - "properties": { - "publicCertData": "MIIDiDCCAnACCQCwYkR0Mxy+QTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCUEsxDzANBgNVBAgTBlB1bmphYjEPMA0GA1UEBxMGTGFob3JlMQ8wDQYDVQQKEwZDb25maXoxDDAKBgNVBAsTA0RldjEPMA0GA1UEAxMGaGFpZGVyMSQwIgYJKoZIhvcNAQkBFhVoYWlkZXIuYWxpQGNvbmZpei5jb20wHhcNMTYwMzAyMTE0NTM2WhcNMTcwMzAyMTE0NTM2WjCBhTELMAkGA1UEBhMCUEsxDzANBgNVBAgTBlB1bmphYjEPMA0GA1UEBxMGTGFob3JlMQ8wDQYDVQQKEwZDb25maXoxDDAKBgNVBAsTA0RldjEPMA0GA1UEAxMGaGFpZGVyMSQwIgYJKoZIhvcNAQkBFhVoYWlkZXIuYWxpQGNvbmZpei5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCuJrPbvOG+4oXQRamkOALlpdK98m+atJue9zOcCCagY8IJI4quYL13d8VItmrZf7erA+siqpYlWEuk1+lmmUY7T4AWAL8mXeR2vc7hWF601WDUjeVPK19+IcC8emMLOlBpvjXC9nbvADLQuR0PGitfjCqFoG66EOqJmLDNBsyHWmy+qhb8J4WXitruNAJDPe/20h6L23vD6z4tvwBjh4zkrfskGlKCNcAuvG1NI0FAS8261Jvs3lf+8oFyI+oSXGtknrkeQv3PbXyeEe3KO5a/M61Uebo04Uwd4yCvdu6H0sF+YYA4bfFdanuFmrZvf9cZSwknQid+vOdzyGkTHTPFAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAKtPhYpfvn5OxP+BcChsWaQA4KZQj0THGdiAjHsvfjsgteFvhkzqZBkhKYtsAWV5tB5/GDl+o4c6PQJ2/TXhOJn3pSNaUzrCJIGtKS5DknbqTQxCwVlxyBtPHLAYWqKcPMlH282rw3VY0OYTL96XOgZ/WZjcN6A7ku+uWsNCql443FoWL+N3Gpaab45OyIluFUOH+yc0ToHNlP3iOpI3rVpi2xwmGrSyUKsGUma3nrBq7TWjkDE1E+oJoybaMNZzgXGIPSJC1HYIF1U8GSoFkZpAFxXecD0FinXWDRwUP6K54iti3i6a/Ox73WhwfI4mVCqsOy1WYWtKYhMVe6Kj4Nw=", - "provisioningState": "Succeeded" - }, - "name": "ssl_certificate" - } - ], - "frontendIPConfigurations": [ - { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendIPConfigurations/frontend_ip_config", - "properties": { - "privateIPAllocationMethod": "Dynamic", - "publicIPAddress": { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/ag_publicip-672835" - }, - "provisioningState": "Succeeded" - }, - "name": "frontend_ip_config" - } - ], - "frontendPorts": [ - { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendPorts/gateway_front_port", - "properties": { - "port": 443, - "provisioningState": "Succeeded" - }, - "name": "gateway_front_port" - } - ], - "probes": [], - "backendAddressPools": [ - { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool", - "properties": { - "backendAddresses": [ - { - "ipAddress": "10.0.0.4" - }, - { - "ipAddress": "10.0.0.5" - } - ], - "provisioningState": "Succeeded" - }, - "name": "AG-BackEndAddressPool" - } - ], - "backendHttpSettingsCollection": [ - { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings", - "properties": { - "port": 80, - "protocol": "Http", - "cookieBasedAffinity": "Enabled", - "requestTimeout": 30, - "provisioningState": "Succeeded" - }, - "name": "gateway_settings" - } - ], - "httpListeners": [ - { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/httpListeners/gateway_listener", - "properties": { - "frontendIPConfiguration": { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendIPConfigurations/frontend_ip_config" - }, - "frontendPort": { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendPorts/gateway_front_port" - }, - "protocol": "Https", - "sslCertificate": { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/sslCertificates/ssl_certificate" - }, - "requireServerNameIndication": false, - "provisioningState": "Succeeded" - }, - "name": "gateway_listener" - } - ], - "urlPathMaps": [], - "requestRoutingRules": [ - { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/requestRoutingRules/gateway_request_route_rule", - "properties": { - "ruleType": "Basic", - "backendAddressPool": { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool" - }, - "backendHttpSettings": { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings" - }, - "httpListener": { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/httpListeners/gateway_listener" - }, - "provisioningState": "Succeeded" - }, - "name": "gateway_request_route_rule" - } - ], - "resourceGuid": "b3db5ebf-10f8-4666-9596-d1459530f64b", - "provisioningState": "Succeeded" - } - }' - gateway_mapper = Azure::ARM::Network::Models::ApplicationGateway.mapper - gateway_client.deserialize(gateway_mapper, Fog::JSON.decode(response), 'result.body') - end - - def self.gateway_params - gateway_ip_configurations = ApiStub::Requests::ApplicationGateway::Gateway.gateway_ip_configurations - frontend_ip_configurations = ApiStub::Requests::ApplicationGateway::Gateway.frontend_ip_configurations - frontend_ports = ApiStub::Requests::ApplicationGateway::Gateway.frontend_ports - backend_address_pools = ApiStub::Requests::ApplicationGateway::Gateway.backend_address_pools - backend_http_settings_list = ApiStub::Requests::ApplicationGateway::Gateway.backend_http_settings_list - http_listeners = ApiStub::Requests::ApplicationGateway::Gateway.http_listeners - request_routing_rules = ApiStub::Requests::ApplicationGateway::Gateway.request_routing_rules - params = { - name: 'gateway', - location: 'East US', - resource_group: 'fogRM-rg', - sku_name: 'Standard_Medium', - sku_tier: 'Standard', - sku_capacity: 2, - gateway_ip_configurations: gateway_ip_configurations, - ssl_certificates: ssl_certificates, - frontend_ip_configurations: frontend_ip_configurations, - frontend_ports: frontend_ports, - probes: probes, - backend_address_pools: backend_address_pools, - backend_http_settings_list: backend_http_settings_list, - http_listeners: http_listeners, - url_path_maps: url_path_maps, - request_routing_rules: request_routing_rules - } - params - end - - def self.list_application_gateway_response(gateway_client) - response = '{ - "value": [{ - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway", - "name": "gateway", - "type": "Microsoft.Network/applicationGateways", - "location": "eastus", - "properties": { - "sku": { - "name": "Standard_Medium", - "tier": "Standard", - "capacity": 2 - }, - "gatewayIPConfigurations": [ - { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/gatewayIPConfigurations/ag-GatewayIP", - "properties": { - "subnet": { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/vnet/subnets/GatewaySubnet" - }, - "provisioningState": "Succeeded" - }, - "name": "ag-GatewayIP" - } - ], - "sslCertificates": [ - { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/sslCertificates/ssl_certificate", - "properties": { - "publicCertData": "MIIDiDCCAnACCQCwYkR0Mxy+QTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCUEsxDzANBgNVBAgTBlB1bmphYjEPMA0GA1UEBxMGTGFob3JlMQ8wDQYDVQQKEwZDb25maXoxDDAKBgNVBAsTA0RldjEPMA0GA1UEAxMGaGFpZGVyMSQwIgYJKoZIhvcNAQkBFhVoYWlkZXIuYWxpQGNvbmZpei5jb20wHhcNMTYwMzAyMTE0NTM2WhcNMTcwMzAyMTE0NTM2WjCBhTELMAkGA1UEBhMCUEsxDzANBgNVBAgTBlB1bmphYjEPMA0GA1UEBxMGTGFob3JlMQ8wDQYDVQQKEwZDb25maXoxDDAKBgNVBAsTA0RldjEPMA0GA1UEAxMGaGFpZGVyMSQwIgYJKoZIhvcNAQkBFhVoYWlkZXIuYWxpQGNvbmZpei5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCuJrPbvOG+4oXQRamkOALlpdK98m+atJue9zOcCCagY8IJI4quYL13d8VItmrZf7erA+siqpYlWEuk1+lmmUY7T4AWAL8mXeR2vc7hWF601WDUjeVPK19+IcC8emMLOlBpvjXC9nbvADLQuR0PGitfjCqFoG66EOqJmLDNBsyHWmy+qhb8J4WXitruNAJDPe/20h6L23vD6z4tvwBjh4zkrfskGlKCNcAuvG1NI0FAS8261Jvs3lf+8oFyI+oSXGtknrkeQv3PbXyeEe3KO5a/M61Uebo04Uwd4yCvdu6H0sF+YYA4bfFdanuFmrZvf9cZSwknQid+vOdzyGkTHTPFAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAKtPhYpfvn5OxP+BcChsWaQA4KZQj0THGdiAjHsvfjsgteFvhkzqZBkhKYtsAWV5tB5/GDl+o4c6PQJ2/TXhOJn3pSNaUzrCJIGtKS5DknbqTQxCwVlxyBtPHLAYWqKcPMlH282rw3VY0OYTL96XOgZ/WZjcN6A7ku+uWsNCql443FoWL+N3Gpaab45OyIluFUOH+yc0ToHNlP3iOpI3rVpi2xwmGrSyUKsGUma3nrBq7TWjkDE1E+oJoybaMNZzgXGIPSJC1HYIF1U8GSoFkZpAFxXecD0FinXWDRwUP6K54iti3i6a/Ox73WhwfI4mVCqsOy1WYWtKYhMVe6Kj4Nw=", - "provisioningState": "Succeeded" - }, - "name": "ssl_certificate" - } - ], - "frontendIPConfigurations": [ - { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendIPConfigurations/frontend_ip_config", - "properties": { - "privateIPAllocationMethod": "Dynamic", - "publicIPAddress": { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/ag_publicip-672835" - }, - "provisioningState": "Succeeded" - }, - "name": "frontend_ip_config" - } - ], - "frontendPorts": [ - { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendPorts/gateway_front_port", - "properties": { - "port": 443, - "provisioningState": "Succeeded" - }, - "name": "gateway_front_port" - } - ], - "probes": [], - "backendAddressPools": [ - { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool", - "properties": { - "backendAddresses": [ - { - "ipAddress": "10.0.0.4" - }, - { - "ipAddress": "10.0.0.5" - } - ], - "provisioningState": "Succeeded" - }, - "name": "AG-BackEndAddressPool" - } - ], - "backendHttpSettingsCollection": [ - { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings", - "properties": { - "port": 80, - "protocol": "Http", - "cookieBasedAffinity": "Enabled", - "requestTimeout": 30, - "provisioningState": "Succeeded" - }, - "name": "gateway_settings" - } - ], - "httpListeners": [ - { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/httpListeners/gateway_listener", - "properties": { - "frontendIPConfiguration": { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendIPConfigurations/frontend_ip_config" - }, - "frontendPort": { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendPorts/gateway_front_port" - }, - "protocol": "Https", - "sslCertificate": { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/sslCertificates/ssl_certificate" - }, - "requireServerNameIndication": false, - "provisioningState": "Succeeded" - }, - "name": "gateway_listener" - } - ], - "urlPathMaps": [], - "requestRoutingRules": [ - { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/requestRoutingRules/gateway_request_route_rule", - "properties": { - "ruleType": "Basic", - "backendAddressPool": { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool" - }, - "backendHttpSettings": { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings" - }, - "httpListener": { - "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/httpListeners/gateway_listener" - }, - "provisioningState": "Succeeded" - }, - "name": "gateway_request_route_rule" - } - ], - "resourceGuid": "b3db5ebf-10f8-4666-9596-d1459530f64b", - "provisioningState": "Succeeded" - } - }] - }' - gateway_list_mapper = Azure::ARM::Network::Models::ApplicationGatewayListResult.mapper - gateway_client.deserialize(gateway_list_mapper, Fog::JSON.decode(response), 'result.body') - end - - def self.delete_application_gateway_response - MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new) - end - - def self.gateway_ip_configurations - gateway_ip_config = - [ - { - name: 'gatewayIpConfigName', - subnet_id: '/subscriptions/{guid}/resourcegroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/vnet/subnets/subnetName' - } - ] - gateway_ip_config - end - - def self.ssl_certificates - certificates = - [ - { - name: 'certificate', - data: 'data', - password: '123', - public_cert_data: 'MIIDiDCCAnACCQCwYkR0Mxy+QTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCUEsxDzANBgNVBAgTBlB1bmphYjEPMA0GA1UEBxMGTGFob3JlMQ8wDQYDVQQKEwZDb25maXoxDDAKBgNVBAsTA0RldjEPMA0GA1UEAxMGaGFpZGVyMSQwIgYJKoZIhvcNAQkBFhVoYWlkZXIuYWxpQGNvbmZpei5jb20wHhcNMTYwMzAyMTE0NTM2WhcNMTcwMzAyMTE0NTM2WjCBhTELMAkGA1UEBhMCUEsxDzANBgNVBAgTBlB1bmphYjEPMA0GA1UEBxMGTGFob3JlMQ8wDQYDVQQKEwZDb25maXoxDDAKBgNVBAsTA0RldjEPMA0GA1UEAxMGaGFpZGVyMSQwIgYJKoZIhvcNAQkBFhVoYWlkZXIuYWxpQGNvbmZpei5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCuJrPbvOG+4oXQRamkOALlpdK98m+atJue9zOcCCagY8IJI4quYL13d8VItmrZf7erA+siqpYlWEuk1+lmmUY7T4AWAL8mXeR2vc7hWF601WDUjeVPK19+IcC8emMLOlBpvjXC9nbvADLQuR0PGitfjCqFoG66EOqJmLDNBsyHWmy+qhb8J4WXitruNAJDPe/20h6L23vD6z4tvwBjh4zkrfskGlKCNcAuvG1NI0FAS8261Jvs3lf+8oFyI+oSXGtknrkeQv3PbXyeEe3KO5a/M61Uebo04Uwd4yCvdu6H0sF+YYA4bfFdanuFmrZvf9cZSwknQid+vOdzyGkTHTPFAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAKtPhYpfvn5OxP+BcChsWaQA4KZQj0THGdiAjHsvfjsgteFvhkzqZBkhKYtsAWV5tB5/GDl+o4c6PQJ2/TXhOJn3pSNaUzrCJIGtKS5DknbqTQxCwVlxyBtPHLAYWqKcPMlH282rw3VY0OYTL96XOgZ/WZjcN6A7ku+uWsNCql443FoWL+N3Gpaab45OyIluFUOH+yc0ToHNlP3iOpI3rVpi2xwmGrSyUKsGUma3nrBq7TWjkDE1E+oJoybaMNZzgXGIPSJC1HYIF1U8GSoFkZpAFxXecD0FinXWDRwUP6K54iti3i6a/Ox73WhwfI4mVCqsOy1WYWtKYhMVe6Kj4Nw=' - } - ] - certificates - end - - def self.frontend_ip_configurations - frontend_ip_config = - [ - { - name: 'frontendIpConfig', - private_ip_allocation_method: 'Dynamic', - public_ip_address_id: '/subscriptions/{guid}/resourcegroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/publicIp', - private_ip_address: '10.0.1.5' - } - ] - frontend_ip_config - end - - def self.frontend_ports - ports = - [ - { - name: 'frontendPort', - port: 443 - } - ] - ports - end - - def self.probes - probes = - [ - { - name: 'probe1', - protocol: 'tcp', - host: 'localhost', - path: '/usr/', - interval: 30, - timeout: 20, - unhealthy_threshold: 20 - } - ] - probes - end - - def self.backend_address_pools - address_pool = - [ - { - name: 'backendAddressPool', - ip_addresses: [ - { - ipAddress: '10.0.1.6' - } - ] - } - ] - address_pool - end - - def self.backend_http_settings_list - http_setting = - [ - { - name: 'gateway_settings', - port: 80, - protocol: 'Http', - cookie_based_affinity: 'Enabled', - request_timeout: '30', - probe: '' - } - ] - http_setting - end - - def self.http_listeners - listener = - [ - { - name: 'gateway_listener', - frontend_ip_config_id: '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendIPConfigurations/frontend_ip_config', - frontend_port_id: '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendPorts/gateway_front_port', - protocol: 'Https', - host_name: '', - ssl_certificate_id: '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/sslCertificates/ssl_certificate', - require_server_name_indication: 'false' - } - ] - listener - end - - def self.url_path_maps - path_map = - [ - { - name: 'map1', - default_backend_address_pool_id: '/subscriptions/########-####-####-####-############/resourceGroups/fogRM-rg/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool', - default_backend_http_settings_id: '/subscriptions/########-####-####-####-############/resourceGroups/fogRM-rg/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings', - path_rules: [ - { - backend_address_pool_id: '/subscriptions/########-####-####-####-############/resourceGroups/fogRM-rg/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool', - backend_http_settings_id: '/subscriptions/########-####-####-####-############/resourceGroups/fogRM-rg/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings', - paths: [ - %w(/usr /etc) - ] - } - ] - } - ] - path_map - end - - def self.request_routing_rules - routing_rule = - [ - { - name: 'gateway_request_route_rule', - type: 'Basic', - http_listener_id: '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/httpListeners/gateway_listener', - backend_address_pool_id: '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool', - backend_http_settings_id: '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings', - url_path_map: '' - } - ] - routing_rule - end - end - end - end -end +module ApiStub + module Requests + module ApplicationGateway + # Mock class for Application Gateway Requests + class Gateway + def self.create_application_gateway_response(gateway_client) + response = '{ + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway", + "name": "gateway", + "type": "Microsoft.Network/applicationGateways", + "location": "eastus", + "properties": { + "sku": { + "name": "Standard_Medium", + "tier": "Standard", + "capacity": 2 + }, + "gatewayIPConfigurations": [ + { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/gatewayIPConfigurations/ag-GatewayIP", + "properties": { + "subnet": { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/vnet/subnets/GatewaySubnet" + }, + "provisioningState": "Succeeded" + }, + "name": "ag-GatewayIP" + } + ], + "sslCertificates": [ + { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/sslCertificates/ssl_certificate", + "properties": { + "publicCertData": "MIIDiDCCAnACCQCwYkR0Mxy+QTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCUEsxDzANBgNVBAgTBlB1bmphYjEPMA0GA1UEBxMGTGFob3JlMQ8wDQYDVQQKEwZDb25maXoxDDAKBgNVBAsTA0RldjEPMA0GA1UEAxMGaGFpZGVyMSQwIgYJKoZIhvcNAQkBFhVoYWlkZXIuYWxpQGNvbmZpei5jb20wHhcNMTYwMzAyMTE0NTM2WhcNMTcwMzAyMTE0NTM2WjCBhTELMAkGA1UEBhMCUEsxDzANBgNVBAgTBlB1bmphYjEPMA0GA1UEBxMGTGFob3JlMQ8wDQYDVQQKEwZDb25maXoxDDAKBgNVBAsTA0RldjEPMA0GA1UEAxMGaGFpZGVyMSQwIgYJKoZIhvcNAQkBFhVoYWlkZXIuYWxpQGNvbmZpei5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCuJrPbvOG+4oXQRamkOALlpdK98m+atJue9zOcCCagY8IJI4quYL13d8VItmrZf7erA+siqpYlWEuk1+lmmUY7T4AWAL8mXeR2vc7hWF601WDUjeVPK19+IcC8emMLOlBpvjXC9nbvADLQuR0PGitfjCqFoG66EOqJmLDNBsyHWmy+qhb8J4WXitruNAJDPe/20h6L23vD6z4tvwBjh4zkrfskGlKCNcAuvG1NI0FAS8261Jvs3lf+8oFyI+oSXGtknrkeQv3PbXyeEe3KO5a/M61Uebo04Uwd4yCvdu6H0sF+YYA4bfFdanuFmrZvf9cZSwknQid+vOdzyGkTHTPFAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAKtPhYpfvn5OxP+BcChsWaQA4KZQj0THGdiAjHsvfjsgteFvhkzqZBkhKYtsAWV5tB5/GDl+o4c6PQJ2/TXhOJn3pSNaUzrCJIGtKS5DknbqTQxCwVlxyBtPHLAYWqKcPMlH282rw3VY0OYTL96XOgZ/WZjcN6A7ku+uWsNCql443FoWL+N3Gpaab45OyIluFUOH+yc0ToHNlP3iOpI3rVpi2xwmGrSyUKsGUma3nrBq7TWjkDE1E+oJoybaMNZzgXGIPSJC1HYIF1U8GSoFkZpAFxXecD0FinXWDRwUP6K54iti3i6a/Ox73WhwfI4mVCqsOy1WYWtKYhMVe6Kj4Nw=", + "provisioningState": "Succeeded" + }, + "name": "ssl_certificate" + } + ], + "frontendIPConfigurations": [ + { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendIPConfigurations/frontend_ip_config", + "properties": { + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/ag_publicip-672835" + }, + "provisioningState": "Succeeded" + }, + "name": "frontend_ip_config" + } + ], + "frontendPorts": [ + { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendPorts/gateway_front_port", + "properties": { + "port": 443, + "provisioningState": "Succeeded" + }, + "name": "gateway_front_port" + } + ], + "probes": [], + "backendAddressPools": [ + { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool", + "properties": { + "backendAddresses": [ + { + "ipAddress": "10.0.0.4" + }, + { + "ipAddress": "10.0.0.5" + } + ], + "provisioningState": "Succeeded" + }, + "name": "AG-BackEndAddressPool" + } + ], + "backendHttpSettingsCollection": [ + { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings", + "properties": { + "port": 80, + "protocol": "Http", + "cookieBasedAffinity": "Enabled", + "requestTimeout": 30, + "provisioningState": "Succeeded" + }, + "name": "gateway_settings" + } + ], + "httpListeners": [ + { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/httpListeners/gateway_listener", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendIPConfigurations/frontend_ip_config" + }, + "frontendPort": { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendPorts/gateway_front_port" + }, + "protocol": "Https", + "sslCertificate": { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/sslCertificates/ssl_certificate" + }, + "requireServerNameIndication": false, + "provisioningState": "Succeeded" + }, + "name": "gateway_listener" + } + ], + "urlPathMaps": [], + "requestRoutingRules": [ + { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/requestRoutingRules/gateway_request_route_rule", + "properties": { + "ruleType": "Basic", + "backendAddressPool": { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool" + }, + "backendHttpSettings": { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings" + }, + "httpListener": { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/httpListeners/gateway_listener" + }, + "provisioningState": "Succeeded" + }, + "name": "gateway_request_route_rule" + } + ], + "resourceGuid": "b3db5ebf-10f8-4666-9596-d1459530f64b", + "provisioningState": "Succeeded" + } + }' + gateway_mapper = Azure::ARM::Network::Models::ApplicationGateway.mapper + gateway_client.deserialize(gateway_mapper, Fog::JSON.decode(response), 'result.body') + end + + def self.gateway_params + gateway_ip_configurations = ApiStub::Requests::ApplicationGateway::Gateway.gateway_ip_configurations + frontend_ip_configurations = ApiStub::Requests::ApplicationGateway::Gateway.frontend_ip_configurations + frontend_ports = ApiStub::Requests::ApplicationGateway::Gateway.frontend_ports + backend_address_pools = ApiStub::Requests::ApplicationGateway::Gateway.backend_address_pools + backend_http_settings_list = ApiStub::Requests::ApplicationGateway::Gateway.backend_http_settings_list + http_listeners = ApiStub::Requests::ApplicationGateway::Gateway.http_listeners + request_routing_rules = ApiStub::Requests::ApplicationGateway::Gateway.request_routing_rules + params = { + name: 'gateway', + location: 'East US', + resource_group: 'fogRM-rg', + sku_name: 'Standard_Medium', + sku_tier: 'Standard', + sku_capacity: 2, + gateway_ip_configurations: gateway_ip_configurations, + ssl_certificates: ssl_certificates, + frontend_ip_configurations: frontend_ip_configurations, + frontend_ports: frontend_ports, + probes: probes, + backend_address_pools: backend_address_pools, + backend_http_settings_list: backend_http_settings_list, + http_listeners: http_listeners, + url_path_maps: url_path_maps, + request_routing_rules: request_routing_rules + } + params + end + + def self.list_application_gateway_response(gateway_client) + response = '{ + "value": [{ + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway", + "name": "gateway", + "type": "Microsoft.Network/applicationGateways", + "location": "eastus", + "properties": { + "sku": { + "name": "Standard_Medium", + "tier": "Standard", + "capacity": 2 + }, + "gatewayIPConfigurations": [ + { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/gatewayIPConfigurations/ag-GatewayIP", + "properties": { + "subnet": { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/vnet/subnets/GatewaySubnet" + }, + "provisioningState": "Succeeded" + }, + "name": "ag-GatewayIP" + } + ], + "sslCertificates": [ + { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/sslCertificates/ssl_certificate", + "properties": { + "publicCertData": "MIIDiDCCAnACCQCwYkR0Mxy+QTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCUEsxDzANBgNVBAgTBlB1bmphYjEPMA0GA1UEBxMGTGFob3JlMQ8wDQYDVQQKEwZDb25maXoxDDAKBgNVBAsTA0RldjEPMA0GA1UEAxMGaGFpZGVyMSQwIgYJKoZIhvcNAQkBFhVoYWlkZXIuYWxpQGNvbmZpei5jb20wHhcNMTYwMzAyMTE0NTM2WhcNMTcwMzAyMTE0NTM2WjCBhTELMAkGA1UEBhMCUEsxDzANBgNVBAgTBlB1bmphYjEPMA0GA1UEBxMGTGFob3JlMQ8wDQYDVQQKEwZDb25maXoxDDAKBgNVBAsTA0RldjEPMA0GA1UEAxMGaGFpZGVyMSQwIgYJKoZIhvcNAQkBFhVoYWlkZXIuYWxpQGNvbmZpei5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCuJrPbvOG+4oXQRamkOALlpdK98m+atJue9zOcCCagY8IJI4quYL13d8VItmrZf7erA+siqpYlWEuk1+lmmUY7T4AWAL8mXeR2vc7hWF601WDUjeVPK19+IcC8emMLOlBpvjXC9nbvADLQuR0PGitfjCqFoG66EOqJmLDNBsyHWmy+qhb8J4WXitruNAJDPe/20h6L23vD6z4tvwBjh4zkrfskGlKCNcAuvG1NI0FAS8261Jvs3lf+8oFyI+oSXGtknrkeQv3PbXyeEe3KO5a/M61Uebo04Uwd4yCvdu6H0sF+YYA4bfFdanuFmrZvf9cZSwknQid+vOdzyGkTHTPFAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAKtPhYpfvn5OxP+BcChsWaQA4KZQj0THGdiAjHsvfjsgteFvhkzqZBkhKYtsAWV5tB5/GDl+o4c6PQJ2/TXhOJn3pSNaUzrCJIGtKS5DknbqTQxCwVlxyBtPHLAYWqKcPMlH282rw3VY0OYTL96XOgZ/WZjcN6A7ku+uWsNCql443FoWL+N3Gpaab45OyIluFUOH+yc0ToHNlP3iOpI3rVpi2xwmGrSyUKsGUma3nrBq7TWjkDE1E+oJoybaMNZzgXGIPSJC1HYIF1U8GSoFkZpAFxXecD0FinXWDRwUP6K54iti3i6a/Ox73WhwfI4mVCqsOy1WYWtKYhMVe6Kj4Nw=", + "provisioningState": "Succeeded" + }, + "name": "ssl_certificate" + } + ], + "frontendIPConfigurations": [ + { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendIPConfigurations/frontend_ip_config", + "properties": { + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/ag_publicip-672835" + }, + "provisioningState": "Succeeded" + }, + "name": "frontend_ip_config" + } + ], + "frontendPorts": [ + { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendPorts/gateway_front_port", + "properties": { + "port": 443, + "provisioningState": "Succeeded" + }, + "name": "gateway_front_port" + } + ], + "probes": [], + "backendAddressPools": [ + { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool", + "properties": { + "backendAddresses": [ + { + "ipAddress": "10.0.0.4" + }, + { + "ipAddress": "10.0.0.5" + } + ], + "provisioningState": "Succeeded" + }, + "name": "AG-BackEndAddressPool" + } + ], + "backendHttpSettingsCollection": [ + { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings", + "properties": { + "port": 80, + "protocol": "Http", + "cookieBasedAffinity": "Enabled", + "requestTimeout": 30, + "provisioningState": "Succeeded" + }, + "name": "gateway_settings" + } + ], + "httpListeners": [ + { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/httpListeners/gateway_listener", + "properties": { + "frontendIPConfiguration": { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendIPConfigurations/frontend_ip_config" + }, + "frontendPort": { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendPorts/gateway_front_port" + }, + "protocol": "Https", + "sslCertificate": { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/sslCertificates/ssl_certificate" + }, + "requireServerNameIndication": false, + "provisioningState": "Succeeded" + }, + "name": "gateway_listener" + } + ], + "urlPathMaps": [], + "requestRoutingRules": [ + { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/requestRoutingRules/gateway_request_route_rule", + "properties": { + "ruleType": "Basic", + "backendAddressPool": { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool" + }, + "backendHttpSettings": { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings" + }, + "httpListener": { + "id": "/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/httpListeners/gateway_listener" + }, + "provisioningState": "Succeeded" + }, + "name": "gateway_request_route_rule" + } + ], + "resourceGuid": "b3db5ebf-10f8-4666-9596-d1459530f64b", + "provisioningState": "Succeeded" + } + }] + }' + gateway_list_mapper = Azure::ARM::Network::Models::ApplicationGatewayListResult.mapper + gateway_client.deserialize(gateway_list_mapper, Fog::JSON.decode(response), 'result.body') + end + + def self.delete_application_gateway_response + MsRestAzure::AzureOperationResponse.new(MsRest::HttpOperationRequest.new('', '', ''), Faraday::Response.new) + end + + def self.gateway_ip_configurations + gateway_ip_config = + [ + { + name: 'gatewayIpConfigName', + subnet_id: '/subscriptions/{guid}/resourcegroups/{resourceGroupName}/providers/Microsoft.Network/virtualNetworks/vnet/subnets/subnetName' + } + ] + gateway_ip_config + end + + def self.ssl_certificates + certificates = + [ + { + name: 'certificate', + data: 'data', + password: '123', + public_cert_data: 'MIIDiDCCAnACCQCwYkR0Mxy+QTANBgkqhkiG9w0BAQUFADCBhTELMAkGA1UEBhMCUEsxDzANBgNVBAgTBlB1bmphYjEPMA0GA1UEBxMGTGFob3JlMQ8wDQYDVQQKEwZDb25maXoxDDAKBgNVBAsTA0RldjEPMA0GA1UEAxMGaGFpZGVyMSQwIgYJKoZIhvcNAQkBFhVoYWlkZXIuYWxpQGNvbmZpei5jb20wHhcNMTYwMzAyMTE0NTM2WhcNMTcwMzAyMTE0NTM2WjCBhTELMAkGA1UEBhMCUEsxDzANBgNVBAgTBlB1bmphYjEPMA0GA1UEBxMGTGFob3JlMQ8wDQYDVQQKEwZDb25maXoxDDAKBgNVBAsTA0RldjEPMA0GA1UEAxMGaGFpZGVyMSQwIgYJKoZIhvcNAQkBFhVoYWlkZXIuYWxpQGNvbmZpei5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCuJrPbvOG+4oXQRamkOALlpdK98m+atJue9zOcCCagY8IJI4quYL13d8VItmrZf7erA+siqpYlWEuk1+lmmUY7T4AWAL8mXeR2vc7hWF601WDUjeVPK19+IcC8emMLOlBpvjXC9nbvADLQuR0PGitfjCqFoG66EOqJmLDNBsyHWmy+qhb8J4WXitruNAJDPe/20h6L23vD6z4tvwBjh4zkrfskGlKCNcAuvG1NI0FAS8261Jvs3lf+8oFyI+oSXGtknrkeQv3PbXyeEe3KO5a/M61Uebo04Uwd4yCvdu6H0sF+YYA4bfFdanuFmrZvf9cZSwknQid+vOdzyGkTHTPFAgMBAAEwDQYJKoZIhvcNAQEFBQADggEBAKtPhYpfvn5OxP+BcChsWaQA4KZQj0THGdiAjHsvfjsgteFvhkzqZBkhKYtsAWV5tB5/GDl+o4c6PQJ2/TXhOJn3pSNaUzrCJIGtKS5DknbqTQxCwVlxyBtPHLAYWqKcPMlH282rw3VY0OYTL96XOgZ/WZjcN6A7ku+uWsNCql443FoWL+N3Gpaab45OyIluFUOH+yc0ToHNlP3iOpI3rVpi2xwmGrSyUKsGUma3nrBq7TWjkDE1E+oJoybaMNZzgXGIPSJC1HYIF1U8GSoFkZpAFxXecD0FinXWDRwUP6K54iti3i6a/Ox73WhwfI4mVCqsOy1WYWtKYhMVe6Kj4Nw=' + } + ] + certificates + end + + def self.frontend_ip_configurations + frontend_ip_config = + [ + { + name: 'frontendIpConfig', + private_ip_allocation_method: 'Dynamic', + public_ip_address_id: '/subscriptions/{guid}/resourcegroups/{resourceGroupName}/providers/Microsoft.Network/publicIPAddresses/publicIp', + private_ip_address: '10.0.1.5' + } + ] + frontend_ip_config + end + + def self.frontend_ports + ports = + [ + { + name: 'frontendPort', + port: 443 + } + ] + ports + end + + def self.probes + probes = + [ + { + name: 'probe1', + protocol: 'tcp', + host: 'localhost', + path: '/usr/', + interval: 30, + timeout: 20, + unhealthy_threshold: 20 + } + ] + probes + end + + def self.backend_address_pools + address_pool = + [ + { + name: 'backendAddressPool', + ip_addresses: [ + { + ipAddress: '10.0.1.6' + } + ] + } + ] + address_pool + end + + def self.backend_http_settings_list + http_setting = + [ + { + name: 'gateway_settings', + port: 80, + protocol: 'Http', + cookie_based_affinity: 'Enabled', + request_timeout: '30', + probe: '' + } + ] + http_setting + end + + def self.http_listeners + listener = + [ + { + name: 'gateway_listener', + frontend_ip_config_id: '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendIPConfigurations/frontend_ip_config', + frontend_port_id: '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/frontendPorts/gateway_front_port', + protocol: 'Https', + host_name: '', + ssl_certificate_id: '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/sslCertificates/ssl_certificate', + require_server_name_indication: 'false' + } + ] + listener + end + + def self.url_path_maps + path_map = + [ + { + name: 'map1', + default_backend_address_pool_id: '/subscriptions/########-####-####-####-############/resourceGroups/fogRM-rg/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool', + default_backend_http_settings_id: '/subscriptions/########-####-####-####-############/resourceGroups/fogRM-rg/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings', + path_rules: [ + { + backend_address_pool_id: '/subscriptions/########-####-####-####-############/resourceGroups/fogRM-rg/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool', + backend_http_settings_id: '/subscriptions/########-####-####-####-############/resourceGroups/fogRM-rg/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings', + paths: [ + %w(/usr /etc) + ] + } + ] + } + ] + path_map + end + + def self.request_routing_rules + routing_rule = + [ + { + name: 'gateway_request_route_rule', + type: 'Basic', + http_listener_id: '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/httpListeners/gateway_listener', + backend_address_pool_id: '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendAddressPools/AG-BackEndAddressPool', + backend_http_settings_id: '/subscriptions/{guid}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/applicationGateways/gateway/backendHttpSettingsCollection/gateway_settings', + url_path_map: '' + } + ] + routing_rule + end + end + end + end +end