far-gem 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.arclint +8 -0
- data/.codeclimate.yml +17 -0
- data/.gitignore +6 -0
- data/.hound.yml +2 -0
- data/.rubocop.yml +38 -0
- data/.travis.yml +47 -0
- data/CHANGELOG.md +356 -0
- data/CONTRIBUTING.md +40 -0
- data/CONTRIBUTORS.md +12 -0
- data/Gemfile +3 -0
- data/LICENSE.md +20 -0
- data/README.md +96 -0
- data/fog-azure-rm.gemspec +37 -0
- data/lib/fog/azurerm.rb +88 -0
- data/lib/fog/azurerm/application_gateway.rb +75 -0
- data/lib/fog/azurerm/async_response.rb +44 -0
- data/lib/fog/azurerm/compute.rb +102 -0
- data/lib/fog/azurerm/config.rb +1 -0
- data/lib/fog/azurerm/constants.rb +71 -0
- data/lib/fog/azurerm/credentials.rb +40 -0
- data/lib/fog/azurerm/dns.rb +70 -0
- data/lib/fog/azurerm/docs/application_gateway.md +245 -0
- data/lib/fog/azurerm/docs/compute.md +499 -0
- data/lib/fog/azurerm/docs/dns.md +149 -0
- data/lib/fog/azurerm/docs/key_vault.md +91 -0
- data/lib/fog/azurerm/docs/network.md +1132 -0
- data/lib/fog/azurerm/docs/resources.md +178 -0
- data/lib/fog/azurerm/docs/sql.md +170 -0
- data/lib/fog/azurerm/docs/storage.md +398 -0
- data/lib/fog/azurerm/docs/structure.md +53 -0
- data/lib/fog/azurerm/docs/traffic_manager.md +161 -0
- data/lib/fog/azurerm/key_vault.rb +51 -0
- data/lib/fog/azurerm/models/application_gateway/backend_address_pool.rb +24 -0
- data/lib/fog/azurerm/models/application_gateway/backend_http_setting.rb +28 -0
- data/lib/fog/azurerm/models/application_gateway/frontend_ip_configuration.rb +26 -0
- data/lib/fog/azurerm/models/application_gateway/frontend_port.rb +20 -0
- data/lib/fog/azurerm/models/application_gateway/gateway.rb +617 -0
- data/lib/fog/azurerm/models/application_gateway/gateways.rb +30 -0
- data/lib/fog/azurerm/models/application_gateway/http_listener.rb +30 -0
- data/lib/fog/azurerm/models/application_gateway/ip_configuration.rb +26 -0
- data/lib/fog/azurerm/models/application_gateway/probe.rb +30 -0
- data/lib/fog/azurerm/models/application_gateway/request_routing_rule.rb +27 -0
- data/lib/fog/azurerm/models/application_gateway/ssl_certificate.rb +24 -0
- data/lib/fog/azurerm/models/application_gateway/url_path_map.rb +30 -0
- data/lib/fog/azurerm/models/compute/availability_set.rb +67 -0
- data/lib/fog/azurerm/models/compute/availability_sets.rb +35 -0
- data/lib/fog/azurerm/models/compute/caching_types.rb +13 -0
- data/lib/fog/azurerm/models/compute/creation_data.rb +23 -0
- data/lib/fog/azurerm/models/compute/data_disk.rb +26 -0
- data/lib/fog/azurerm/models/compute/disk_create_option.rb +16 -0
- data/lib/fog/azurerm/models/compute/disk_create_option_types.rb +13 -0
- data/lib/fog/azurerm/models/compute/encryption_settings.rb +29 -0
- data/lib/fog/azurerm/models/compute/image_disk_reference.rb +15 -0
- data/lib/fog/azurerm/models/compute/managed_disk.rb +77 -0
- data/lib/fog/azurerm/models/compute/managed_disks.rb +43 -0
- data/lib/fog/azurerm/models/compute/operation_status_response.rb +18 -0
- data/lib/fog/azurerm/models/compute/server.rb +268 -0
- data/lib/fog/azurerm/models/compute/servers.rb +47 -0
- data/lib/fog/azurerm/models/compute/virtual_machine_extension.rb +76 -0
- data/lib/fog/azurerm/models/compute/virtual_machine_extensions.rb +31 -0
- data/lib/fog/azurerm/models/dns/a_record.rb +15 -0
- data/lib/fog/azurerm/models/dns/cname_record.rb +15 -0
- data/lib/fog/azurerm/models/dns/record_set.rb +103 -0
- data/lib/fog/azurerm/models/dns/record_sets.rb +34 -0
- data/lib/fog/azurerm/models/dns/zone.rb +58 -0
- data/lib/fog/azurerm/models/dns/zones.rb +29 -0
- data/lib/fog/azurerm/models/key_vault/access_policy_entry.rb +27 -0
- data/lib/fog/azurerm/models/key_vault/vault.rb +78 -0
- data/lib/fog/azurerm/models/key_vault/vaults.rb +27 -0
- data/lib/fog/azurerm/models/network/express_route_circuit.rb +86 -0
- data/lib/fog/azurerm/models/network/express_route_circuit_authorization.rb +50 -0
- data/lib/fog/azurerm/models/network/express_route_circuit_authorizations.rb +28 -0
- data/lib/fog/azurerm/models/network/express_route_circuit_peering.rb +91 -0
- data/lib/fog/azurerm/models/network/express_route_circuit_peerings.rb +27 -0
- data/lib/fog/azurerm/models/network/express_route_circuits.rb +30 -0
- data/lib/fog/azurerm/models/network/express_route_service_provider.rb +29 -0
- data/lib/fog/azurerm/models/network/express_route_service_providers.rb +18 -0
- data/lib/fog/azurerm/models/network/frontend_ip_configuration.rb +27 -0
- data/lib/fog/azurerm/models/network/inbound_nat_pool.rb +26 -0
- data/lib/fog/azurerm/models/network/inbound_nat_rule.rb +26 -0
- data/lib/fog/azurerm/models/network/ipallocation_method.rb +12 -0
- data/lib/fog/azurerm/models/network/load_balancer.rb +249 -0
- data/lib/fog/azurerm/models/network/load_balancers.rb +36 -0
- data/lib/fog/azurerm/models/network/load_balancing_rule.rb +37 -0
- data/lib/fog/azurerm/models/network/local_network_gateway.rb +62 -0
- data/lib/fog/azurerm/models/network/local_network_gateways.rb +27 -0
- data/lib/fog/azurerm/models/network/network_interface.rb +121 -0
- data/lib/fog/azurerm/models/network/network_interfaces.rb +30 -0
- data/lib/fog/azurerm/models/network/network_security_group.rb +114 -0
- data/lib/fog/azurerm/models/network/network_security_groups.rb +30 -0
- data/lib/fog/azurerm/models/network/network_security_rule.rb +66 -0
- data/lib/fog/azurerm/models/network/network_security_rules.rb +31 -0
- data/lib/fog/azurerm/models/network/path_rule.rb +30 -0
- data/lib/fog/azurerm/models/network/probe.rb +28 -0
- data/lib/fog/azurerm/models/network/public_ip.rb +70 -0
- data/lib/fog/azurerm/models/network/public_ips.rb +30 -0
- data/lib/fog/azurerm/models/network/security_rule_access.rb +12 -0
- data/lib/fog/azurerm/models/network/security_rule_direction.rb +12 -0
- data/lib/fog/azurerm/models/network/security_rule_protocol.rb +13 -0
- data/lib/fog/azurerm/models/network/subnet.rb +66 -0
- data/lib/fog/azurerm/models/network/subnets.rb +31 -0
- data/lib/fog/azurerm/models/network/virtual_network.rb +109 -0
- data/lib/fog/azurerm/models/network/virtual_network_gateway.rb +137 -0
- data/lib/fog/azurerm/models/network/virtual_network_gateway_connection.rb +76 -0
- data/lib/fog/azurerm/models/network/virtual_network_gateway_connections.rb +27 -0
- data/lib/fog/azurerm/models/network/virtual_network_gateways.rb +30 -0
- data/lib/fog/azurerm/models/network/virtual_networks.rb +36 -0
- data/lib/fog/azurerm/models/network/vpn_client_configuration.rb +34 -0
- data/lib/fog/azurerm/models/network/vpn_client_revoked_certificates.rb +22 -0
- data/lib/fog/azurerm/models/network/vpn_client_root_certificates.rb +22 -0
- data/lib/fog/azurerm/models/resources/azure_resource.rb +25 -0
- data/lib/fog/azurerm/models/resources/azure_resources.rb +32 -0
- data/lib/fog/azurerm/models/resources/dependency.rb +27 -0
- data/lib/fog/azurerm/models/resources/deployment.rb +65 -0
- data/lib/fog/azurerm/models/resources/deployments.rb +30 -0
- data/lib/fog/azurerm/models/resources/provider.rb +27 -0
- data/lib/fog/azurerm/models/resources/provider_resource_type.rb +22 -0
- data/lib/fog/azurerm/models/resources/resource_group.rb +34 -0
- data/lib/fog/azurerm/models/resources/resource_groups.rb +29 -0
- data/lib/fog/azurerm/models/sql/firewall_rule.rb +48 -0
- data/lib/fog/azurerm/models/sql/firewall_rules.rb +32 -0
- data/lib/fog/azurerm/models/sql/sql_database.rb +67 -0
- data/lib/fog/azurerm/models/sql/sql_databases.rb +32 -0
- data/lib/fog/azurerm/models/sql/sql_server.rb +50 -0
- data/lib/fog/azurerm/models/sql/sql_servers.rb +31 -0
- data/lib/fog/azurerm/models/storage/directories.rb +75 -0
- data/lib/fog/azurerm/models/storage/directory.rb +151 -0
- data/lib/fog/azurerm/models/storage/file.rb +263 -0
- data/lib/fog/azurerm/models/storage/files.rb +183 -0
- data/lib/fog/azurerm/models/storage/kind.rb +12 -0
- data/lib/fog/azurerm/models/storage/sku_name.rb +15 -0
- data/lib/fog/azurerm/models/storage/sku_tier.rb +12 -0
- data/lib/fog/azurerm/models/storage/storage_account.rb +92 -0
- data/lib/fog/azurerm/models/storage/storage_accounts.rb +47 -0
- data/lib/fog/azurerm/models/traffic_manager/traffic_manager_end_point.rb +82 -0
- data/lib/fog/azurerm/models/traffic_manager/traffic_manager_end_points.rb +30 -0
- data/lib/fog/azurerm/models/traffic_manager/traffic_manager_profile.rb +90 -0
- data/lib/fog/azurerm/models/traffic_manager/traffic_manager_profiles.rb +27 -0
- data/lib/fog/azurerm/network.rb +178 -0
- data/lib/fog/azurerm/requests/application_gateway/check_ag_exists.rb +31 -0
- data/lib/fog/azurerm/requests/application_gateway/create_or_update_application_gateway.rb +302 -0
- data/lib/fog/azurerm/requests/application_gateway/delete_application_gateway.rb +26 -0
- data/lib/fog/azurerm/requests/application_gateway/get_application_gateway.rb +159 -0
- data/lib/fog/azurerm/requests/application_gateway/list_application_gateways.rb +29 -0
- data/lib/fog/azurerm/requests/application_gateway/start_application_gateway.rb +27 -0
- data/lib/fog/azurerm/requests/application_gateway/stop_application_gateway.rb +27 -0
- data/lib/fog/azurerm/requests/application_gateway/update_sku_attributes.rb +28 -0
- data/lib/fog/azurerm/requests/application_gateway/update_subnet_id_in_gateway_ip_configuration.rb +29 -0
- data/lib/fog/azurerm/requests/compute/attach_data_disk_to_vm.rb +208 -0
- data/lib/fog/azurerm/requests/compute/check_availability_set_exists.rb +31 -0
- data/lib/fog/azurerm/requests/compute/check_managed_disk_exists.rb +33 -0
- data/lib/fog/azurerm/requests/compute/check_vm_exists.rb +39 -0
- data/lib/fog/azurerm/requests/compute/check_vm_extension_exists.rb +31 -0
- data/lib/fog/azurerm/requests/compute/check_vm_status.rb +38 -0
- data/lib/fog/azurerm/requests/compute/create_availability_set.rb +64 -0
- data/lib/fog/azurerm/requests/compute/create_image.rb +68 -0
- data/lib/fog/azurerm/requests/compute/create_or_update_managed_disk.rb +121 -0
- data/lib/fog/azurerm/requests/compute/create_or_update_vm_extension.rb +63 -0
- data/lib/fog/azurerm/requests/compute/create_virtual_machine.rb +403 -0
- data/lib/fog/azurerm/requests/compute/deallocate_virtual_machine.rb +35 -0
- data/lib/fog/azurerm/requests/compute/delete_availability_set.rb +27 -0
- data/lib/fog/azurerm/requests/compute/delete_image.rb +29 -0
- data/lib/fog/azurerm/requests/compute/delete_managed_disk.rb +29 -0
- data/lib/fog/azurerm/requests/compute/delete_virtual_machine.rb +35 -0
- data/lib/fog/azurerm/requests/compute/delete_vm_extension.rb +28 -0
- data/lib/fog/azurerm/requests/compute/detach_data_disk_from_vm.rb +102 -0
- data/lib/fog/azurerm/requests/compute/generalize_virtual_machine.rb +35 -0
- data/lib/fog/azurerm/requests/compute/get_availability_set.rb +32 -0
- data/lib/fog/azurerm/requests/compute/get_image.rb +45 -0
- data/lib/fog/azurerm/requests/compute/get_managed_disk.rb +64 -0
- data/lib/fog/azurerm/requests/compute/get_virtual_machine.rb +88 -0
- data/lib/fog/azurerm/requests/compute/get_vm_extension.rb +46 -0
- data/lib/fog/azurerm/requests/compute/grant_access_to_managed_disk.rb +30 -0
- data/lib/fog/azurerm/requests/compute/list_availability_sets.rb +40 -0
- data/lib/fog/azurerm/requests/compute/list_available_sizes_for_virtual_machine.rb +64 -0
- data/lib/fog/azurerm/requests/compute/list_managed_disks_by_rg.rb +66 -0
- data/lib/fog/azurerm/requests/compute/list_managed_disks_in_subscription.rb +66 -0
- data/lib/fog/azurerm/requests/compute/list_virtual_machines.rb +69 -0
- data/lib/fog/azurerm/requests/compute/power_off_virtual_machine.rb +35 -0
- data/lib/fog/azurerm/requests/compute/redeploy_virtual_machine.rb +35 -0
- data/lib/fog/azurerm/requests/compute/restart_virtual_machine.rb +35 -0
- data/lib/fog/azurerm/requests/compute/revoke_access_to_managed_disk.rb +33 -0
- data/lib/fog/azurerm/requests/compute/start_virtual_machine.rb +35 -0
- data/lib/fog/azurerm/requests/dns/check_record_set_exists.rb +31 -0
- data/lib/fog/azurerm/requests/dns/check_zone_exists.rb +34 -0
- data/lib/fog/azurerm/requests/dns/create_or_update_record_set.rb +72 -0
- data/lib/fog/azurerm/requests/dns/create_or_update_zone.rb +56 -0
- data/lib/fog/azurerm/requests/dns/delete_record_set.rb +28 -0
- data/lib/fog/azurerm/requests/dns/delete_zone.rb +28 -0
- data/lib/fog/azurerm/requests/dns/get_record_set.rb +47 -0
- data/lib/fog/azurerm/requests/dns/get_records_from_record_set.rb +32 -0
- data/lib/fog/azurerm/requests/dns/get_zone.rb +41 -0
- data/lib/fog/azurerm/requests/dns/list_record_sets.rb +63 -0
- data/lib/fog/azurerm/requests/dns/list_zones.rb +72 -0
- data/lib/fog/azurerm/requests/key_vault/check_vault_exists.rb +31 -0
- data/lib/fog/azurerm/requests/key_vault/create_or_update_vault.rb +106 -0
- data/lib/fog/azurerm/requests/key_vault/delete_vault.rb +28 -0
- data/lib/fog/azurerm/requests/key_vault/get_vault.rb +54 -0
- data/lib/fog/azurerm/requests/key_vault/list_vaults.rb +56 -0
- data/lib/fog/azurerm/requests/network/add_address_prefixes_in_virtual_network.rb +68 -0
- data/lib/fog/azurerm/requests/network/add_dns_servers_in_virtual_network.rb +76 -0
- data/lib/fog/azurerm/requests/network/add_security_rules.rb +154 -0
- data/lib/fog/azurerm/requests/network/add_subnets_in_virtual_network.rb +71 -0
- data/lib/fog/azurerm/requests/network/attach_network_security_group_to_subnet.rb +57 -0
- data/lib/fog/azurerm/requests/network/attach_resource_to_nic.rb +89 -0
- data/lib/fog/azurerm/requests/network/attach_route_table_to_subnet.rb +57 -0
- data/lib/fog/azurerm/requests/network/check_express_route_cir_auth_exists.rb +31 -0
- data/lib/fog/azurerm/requests/network/check_express_route_circuit_exists.rb +31 -0
- data/lib/fog/azurerm/requests/network/check_load_balancer_exists.rb +31 -0
- data/lib/fog/azurerm/requests/network/check_local_net_gateway_exists.rb +31 -0
- data/lib/fog/azurerm/requests/network/check_net_sec_group_exists.rb +31 -0
- data/lib/fog/azurerm/requests/network/check_net_sec_rule_exists.rb +31 -0
- data/lib/fog/azurerm/requests/network/check_network_interface_exists.rb +31 -0
- data/lib/fog/azurerm/requests/network/check_public_ip_exists.rb +33 -0
- data/lib/fog/azurerm/requests/network/check_subnet_exists.rb +32 -0
- data/lib/fog/azurerm/requests/network/check_virtual_network_exists.rb +33 -0
- data/lib/fog/azurerm/requests/network/check_vnet_gateway_connection_exists.rb +32 -0
- data/lib/fog/azurerm/requests/network/check_vnet_gateway_exists.rb +32 -0
- data/lib/fog/azurerm/requests/network/create_load_balancer.rb +189 -0
- data/lib/fog/azurerm/requests/network/create_or_update_express_route_circuit.rb +111 -0
- data/lib/fog/azurerm/requests/network/create_or_update_express_route_circuit_authorization.rb +51 -0
- data/lib/fog/azurerm/requests/network/create_or_update_express_route_circuit_peering.rb +79 -0
- data/lib/fog/azurerm/requests/network/create_or_update_local_network_gateway.rb +79 -0
- data/lib/fog/azurerm/requests/network/create_or_update_network_interface.rb +121 -0
- data/lib/fog/azurerm/requests/network/create_or_update_network_security_group.rb +178 -0
- data/lib/fog/azurerm/requests/network/create_or_update_network_security_rule.rb +59 -0
- data/lib/fog/azurerm/requests/network/create_or_update_public_ip.rb +61 -0
- data/lib/fog/azurerm/requests/network/create_or_update_virtual_network.rb +111 -0
- data/lib/fog/azurerm/requests/network/create_or_update_virtual_network_gateway.rb +159 -0
- data/lib/fog/azurerm/requests/network/create_or_update_virtual_network_gateway_connection.rb +83 -0
- data/lib/fog/azurerm/requests/network/create_subnet.rb +54 -0
- data/lib/fog/azurerm/requests/network/delete_express_route_circuit.rb +28 -0
- data/lib/fog/azurerm/requests/network/delete_express_route_circuit_authorization.rb +29 -0
- data/lib/fog/azurerm/requests/network/delete_express_route_circuit_peering.rb +28 -0
- data/lib/fog/azurerm/requests/network/delete_load_balancer.rb +28 -0
- data/lib/fog/azurerm/requests/network/delete_local_network_gateway.rb +29 -0
- data/lib/fog/azurerm/requests/network/delete_network_interface.rb +28 -0
- data/lib/fog/azurerm/requests/network/delete_network_security_group.rb +30 -0
- data/lib/fog/azurerm/requests/network/delete_network_security_rule.rb +30 -0
- data/lib/fog/azurerm/requests/network/delete_public_ip.rb +27 -0
- data/lib/fog/azurerm/requests/network/delete_subnet.rb +28 -0
- data/lib/fog/azurerm/requests/network/delete_virtual_network.rb +28 -0
- data/lib/fog/azurerm/requests/network/delete_virtual_network_gateway.rb +28 -0
- data/lib/fog/azurerm/requests/network/delete_virtual_network_gateway_connection.rb +29 -0
- data/lib/fog/azurerm/requests/network/detach_network_security_group_from_subnet.rb +51 -0
- data/lib/fog/azurerm/requests/network/detach_resource_from_nic.rb +81 -0
- data/lib/fog/azurerm/requests/network/detach_route_table_from_subnet.rb +51 -0
- data/lib/fog/azurerm/requests/network/get_available_ipaddresses_count.rb +23 -0
- data/lib/fog/azurerm/requests/network/get_connection_shared_key.rb +25 -0
- data/lib/fog/azurerm/requests/network/get_express_route_circuit.rb +51 -0
- data/lib/fog/azurerm/requests/network/get_express_route_circuit_authorization.rb +35 -0
- data/lib/fog/azurerm/requests/network/get_express_route_circuit_peering.rb +48 -0
- data/lib/fog/azurerm/requests/network/get_load_balancer.rb +170 -0
- data/lib/fog/azurerm/requests/network/get_local_network_gateway.rb +47 -0
- data/lib/fog/azurerm/requests/network/get_network_interface.rb +60 -0
- data/lib/fog/azurerm/requests/network/get_network_security_group.rb +165 -0
- data/lib/fog/azurerm/requests/network/get_network_security_rule.rb +47 -0
- data/lib/fog/azurerm/requests/network/get_public_ip.rb +41 -0
- data/lib/fog/azurerm/requests/network/get_subnet.rb +37 -0
- data/lib/fog/azurerm/requests/network/get_virtual_network.rb +62 -0
- data/lib/fog/azurerm/requests/network/get_virtual_network_gateway.rb +45 -0
- data/lib/fog/azurerm/requests/network/get_virtual_network_gateway_connection.rb +47 -0
- data/lib/fog/azurerm/requests/network/list_express_route_circuit_authorizations.rb +37 -0
- data/lib/fog/azurerm/requests/network/list_express_route_circuit_peerings.rb +44 -0
- data/lib/fog/azurerm/requests/network/list_express_route_circuits.rb +53 -0
- data/lib/fog/azurerm/requests/network/list_express_route_service_providers.rb +37 -0
- data/lib/fog/azurerm/requests/network/list_load_balancers.rb +31 -0
- data/lib/fog/azurerm/requests/network/list_load_balancers_in_subscription.rb +31 -0
- data/lib/fog/azurerm/requests/network/list_local_network_gateways.rb +50 -0
- data/lib/fog/azurerm/requests/network/list_network_interfaces.rb +67 -0
- data/lib/fog/azurerm/requests/network/list_network_security_groups.rb +169 -0
- data/lib/fog/azurerm/requests/network/list_network_security_rules.rb +51 -0
- data/lib/fog/azurerm/requests/network/list_public_ips.rb +46 -0
- data/lib/fog/azurerm/requests/network/list_subnets.rb +55 -0
- data/lib/fog/azurerm/requests/network/list_virtual_network_gateway_connections.rb +50 -0
- data/lib/fog/azurerm/requests/network/list_virtual_network_gateways.rb +43 -0
- data/lib/fog/azurerm/requests/network/list_virtual_networks.rb +74 -0
- data/lib/fog/azurerm/requests/network/list_virtual_networks_in_subscription.rb +74 -0
- data/lib/fog/azurerm/requests/network/remove_address_prefixes_from_virtual_network.rb +69 -0
- data/lib/fog/azurerm/requests/network/remove_dns_servers_from_virtual_network.rb +69 -0
- data/lib/fog/azurerm/requests/network/remove_security_rule.rb +157 -0
- data/lib/fog/azurerm/requests/network/remove_subnets_from_virtual_network.rb +59 -0
- data/lib/fog/azurerm/requests/network/reset_connection_shared_key.rb +36 -0
- data/lib/fog/azurerm/requests/network/set_connection_shared_key.rb +36 -0
- data/lib/fog/azurerm/requests/resources/check_azure_resource_exists.rb +40 -0
- data/lib/fog/azurerm/requests/resources/check_deployment_exists.rb +30 -0
- data/lib/fog/azurerm/requests/resources/check_resource_group_exists.rb +30 -0
- data/lib/fog/azurerm/requests/resources/create_deployment.rb +97 -0
- data/lib/fog/azurerm/requests/resources/create_resource_group.rb +40 -0
- data/lib/fog/azurerm/requests/resources/delete_deployment.rb +28 -0
- data/lib/fog/azurerm/requests/resources/delete_resource_group.rb +28 -0
- data/lib/fog/azurerm/requests/resources/delete_resource_tag.rb +44 -0
- data/lib/fog/azurerm/requests/resources/get_deployment.rb +81 -0
- data/lib/fog/azurerm/requests/resources/get_resource_group.rb +47 -0
- data/lib/fog/azurerm/requests/resources/list_deployments.rb +77 -0
- data/lib/fog/azurerm/requests/resources/list_resource_groups.rb +51 -0
- data/lib/fog/azurerm/requests/resources/list_tagged_resources.rb +50 -0
- data/lib/fog/azurerm/requests/resources/tag_resource.rb +43 -0
- data/lib/fog/azurerm/requests/sql/check_database_exists.rb +21 -0
- data/lib/fog/azurerm/requests/sql/check_firewall_rule_exists.rb +21 -0
- data/lib/fog/azurerm/requests/sql/check_sql_server_exists.rb +21 -0
- data/lib/fog/azurerm/requests/sql/create_or_update_database.rb +71 -0
- data/lib/fog/azurerm/requests/sql/create_or_update_firewall_rule.rb +42 -0
- data/lib/fog/azurerm/requests/sql/create_or_update_sql_server.rb +53 -0
- data/lib/fog/azurerm/requests/sql/delete_database.rb +28 -0
- data/lib/fog/azurerm/requests/sql/delete_firewall_rule.rb +29 -0
- data/lib/fog/azurerm/requests/sql/delete_sql_server.rb +29 -0
- data/lib/fog/azurerm/requests/sql/get_database.rb +42 -0
- data/lib/fog/azurerm/requests/sql/get_firewall_rule.rb +37 -0
- data/lib/fog/azurerm/requests/sql/get_sql_server.rb +34 -0
- data/lib/fog/azurerm/requests/sql/list_databases.rb +58 -0
- data/lib/fog/azurerm/requests/sql/list_firewall_rules.rb +49 -0
- data/lib/fog/azurerm/requests/sql/list_sql_servers.rb +44 -0
- data/lib/fog/azurerm/requests/storage/acquire_blob_lease.rb +32 -0
- data/lib/fog/azurerm/requests/storage/acquire_container_lease.rb +32 -0
- data/lib/fog/azurerm/requests/storage/check_container_exists.rb +30 -0
- data/lib/fog/azurerm/requests/storage/check_storage_account_exists.rb +37 -0
- data/lib/fog/azurerm/requests/storage/check_storage_account_name_availability.rb +44 -0
- data/lib/fog/azurerm/requests/storage/commit_blob_blocks.rb +30 -0
- data/lib/fog/azurerm/requests/storage/compare_container_blobs.rb +148 -0
- data/lib/fog/azurerm/requests/storage/copy_blob.rb +30 -0
- data/lib/fog/azurerm/requests/storage/copy_blob_from_uri.rb +30 -0
- data/lib/fog/azurerm/requests/storage/create_block_blob.rb +108 -0
- data/lib/fog/azurerm/requests/storage/create_container.rb +40 -0
- data/lib/fog/azurerm/requests/storage/create_disk.rb +62 -0
- data/lib/fog/azurerm/requests/storage/create_page_blob.rb +31 -0
- data/lib/fog/azurerm/requests/storage/create_storage_account.rb +66 -0
- data/lib/fog/azurerm/requests/storage/delete_blob.rb +32 -0
- data/lib/fog/azurerm/requests/storage/delete_container.rb +31 -0
- data/lib/fog/azurerm/requests/storage/delete_disk.rb +36 -0
- data/lib/fog/azurerm/requests/storage/delete_storage_account.rb +27 -0
- data/lib/fog/azurerm/requests/storage/get_blob.rb +163 -0
- data/lib/fog/azurerm/requests/storage/get_blob_http_url.rb +39 -0
- data/lib/fog/azurerm/requests/storage/get_blob_https_url.rb +39 -0
- data/lib/fog/azurerm/requests/storage/get_blob_properties.rb +55 -0
- data/lib/fog/azurerm/requests/storage/get_blob_url.rb +28 -0
- data/lib/fog/azurerm/requests/storage/get_container_acl.rb +30 -0
- data/lib/fog/azurerm/requests/storage/get_container_properties.rb +41 -0
- data/lib/fog/azurerm/requests/storage/get_container_url.rb +34 -0
- data/lib/fog/azurerm/requests/storage/get_storage_access_keys.rb +32 -0
- data/lib/fog/azurerm/requests/storage/get_storage_account.rb +36 -0
- data/lib/fog/azurerm/requests/storage/list_blobs.rb +168 -0
- data/lib/fog/azurerm/requests/storage/list_containers.rb +73 -0
- data/lib/fog/azurerm/requests/storage/list_storage_account_for_rg.rb +49 -0
- data/lib/fog/azurerm/requests/storage/list_storage_accounts.rb +49 -0
- data/lib/fog/azurerm/requests/storage/multipart_save_block_blob.rb +110 -0
- data/lib/fog/azurerm/requests/storage/put_blob_block.rb +30 -0
- data/lib/fog/azurerm/requests/storage/put_blob_metadata.rb +31 -0
- data/lib/fog/azurerm/requests/storage/put_blob_pages.rb +30 -0
- data/lib/fog/azurerm/requests/storage/put_blob_properties.rb +31 -0
- data/lib/fog/azurerm/requests/storage/put_container_acl.rb +31 -0
- data/lib/fog/azurerm/requests/storage/put_container_metadata.rb +31 -0
- data/lib/fog/azurerm/requests/storage/release_blob_lease.rb +30 -0
- data/lib/fog/azurerm/requests/storage/release_container_lease.rb +30 -0
- data/lib/fog/azurerm/requests/storage/save_page_blob.rb +111 -0
- data/lib/fog/azurerm/requests/storage/update_storage_account.rb +59 -0
- data/lib/fog/azurerm/requests/storage/wait_blob_copy_operation_to_finish.rb +56 -0
- data/lib/fog/azurerm/requests/traffic_manager/check_traffic_manager_endpoint_exists.rb +31 -0
- data/lib/fog/azurerm/requests/traffic_manager/check_traffic_manager_profile_exists.rb +31 -0
- data/lib/fog/azurerm/requests/traffic_manager/create_or_update_traffic_manager_endpoint.rb +54 -0
- data/lib/fog/azurerm/requests/traffic_manager/create_or_update_traffic_manager_profile.rb +130 -0
- data/lib/fog/azurerm/requests/traffic_manager/delete_traffic_manager_endpoint.rb +28 -0
- data/lib/fog/azurerm/requests/traffic_manager/delete_traffic_manager_profile.rb +26 -0
- data/lib/fog/azurerm/requests/traffic_manager/get_traffic_manager_endpoint.rb +39 -0
- data/lib/fog/azurerm/requests/traffic_manager/get_traffic_manager_profile.rb +80 -0
- data/lib/fog/azurerm/requests/traffic_manager/list_traffic_manager_profiles.rb +82 -0
- data/lib/fog/azurerm/resources.rb +71 -0
- data/lib/fog/azurerm/sql.rb +66 -0
- data/lib/fog/azurerm/storage.rb +136 -0
- data/lib/fog/azurerm/traffic_manager.rb +62 -0
- data/lib/fog/azurerm/utilities/general.rb +179 -0
- data/lib/fog/azurerm/utilities/logger_messages.yml +19 -0
- data/lib/fog/azurerm/version.rb +5 -0
- data/rake-script.sh +10 -0
- data/rakefile +29 -0
- data/test/api_stub.rb +145 -0
- data/test/api_stub/models/application_gateway/gateway.rb +165 -0
- data/test/api_stub/models/compute/availability_set.rb +69 -0
- data/test/api_stub/models/compute/managed_disk.rb +59 -0
- data/test/api_stub/models/compute/server.rb +268 -0
- data/test/api_stub/models/compute/virtual_machine_extension.rb +31 -0
- data/test/api_stub/models/dns/record_set.rb +57 -0
- data/test/api_stub/models/dns/zone.rb +29 -0
- data/test/api_stub/models/key_vault/vault.rb +39 -0
- data/test/api_stub/models/network/express_route_circuit.rb +47 -0
- data/test/api_stub/models/network/express_route_circuit_authorization.rb +22 -0
- data/test/api_stub/models/network/express_route_circuit_peering.rb +33 -0
- data/test/api_stub/models/network/express_route_service_provider.rb +29 -0
- data/test/api_stub/models/network/load_balancer.rb +154 -0
- data/test/api_stub/models/network/local_network_gateway.rb +31 -0
- data/test/api_stub/models/network/network_interface.rb +72 -0
- data/test/api_stub/models/network/network_security_group.rb +95 -0
- data/test/api_stub/models/network/network_security_rule.rb +30 -0
- data/test/api_stub/models/network/public_ip.rb +36 -0
- data/test/api_stub/models/network/subnet.rb +36 -0
- data/test/api_stub/models/network/virtual_network.rb +62 -0
- data/test/api_stub/models/network/virtual_network_gateway.rb +26 -0
- data/test/api_stub/models/network/virtual_network_gateway_connection.rb +31 -0
- data/test/api_stub/models/resources/deployment.rb +116 -0
- data/test/api_stub/models/resources/resource.rb +43 -0
- data/test/api_stub/models/resources/resource_group.rb +24 -0
- data/test/api_stub/models/sql/sql_database.rb +30 -0
- data/test/api_stub/models/sql/sql_firewall_rule.rb +24 -0
- data/test/api_stub/models/sql/sql_server.rb +24 -0
- data/test/api_stub/models/storage/directory.rb +178 -0
- data/test/api_stub/models/storage/file.rb +181 -0
- data/test/api_stub/models/storage/storageaccount.rb +22 -0
- data/test/api_stub/models/traffic_manager/traffic_manager_end_point.rb +27 -0
- data/test/api_stub/models/traffic_manager/traffic_manager_profile.rb +75 -0
- data/test/api_stub/requests/application_gateway/gateway.rb +461 -0
- data/test/api_stub/requests/compute/availability_set.rb +114 -0
- data/test/api_stub/requests/compute/image.rb +41 -0
- data/test/api_stub/requests/compute/managed_disk.rb +102 -0
- data/test/api_stub/requests/compute/virtual_machine.rb +1018 -0
- data/test/api_stub/requests/compute/virtual_machine_extension.rb +46 -0
- data/test/api_stub/requests/dns/record_set.rb +75 -0
- data/test/api_stub/requests/dns/zone.rb +52 -0
- data/test/api_stub/requests/key_vault/vault.rb +95 -0
- data/test/api_stub/requests/network/express_route_circuit.rb +100 -0
- data/test/api_stub/requests/network/express_route_circuit_authorization.rb +31 -0
- data/test/api_stub/requests/network/express_route_circuit_peering.rb +62 -0
- data/test/api_stub/requests/network/express_route_service_provider.rb +30 -0
- data/test/api_stub/requests/network/load_balancer.rb +388 -0
- data/test/api_stub/requests/network/local_network_gateway.rb +62 -0
- data/test/api_stub/requests/network/network_interface.rb +264 -0
- data/test/api_stub/requests/network/network_security_group.rb +225 -0
- data/test/api_stub/requests/network/network_security_rule.rb +72 -0
- data/test/api_stub/requests/network/public_ip.rb +71 -0
- data/test/api_stub/requests/network/subnet.rb +71 -0
- data/test/api_stub/requests/network/virtual_network.rb +125 -0
- data/test/api_stub/requests/network/virtual_network_gateway.rb +49 -0
- data/test/api_stub/requests/network/virtual_network_gateway_connection.rb +68 -0
- data/test/api_stub/requests/resources/deployment.rb +68 -0
- data/test/api_stub/requests/resources/resource.rb +45 -0
- data/test/api_stub/requests/resources/resource_group.rb +51 -0
- data/test/api_stub/requests/sql/database.rb +71 -0
- data/test/api_stub/requests/sql/firewall_rule.rb +50 -0
- data/test/api_stub/requests/sql/sql_server.rb +49 -0
- data/test/api_stub/requests/storage/directory.rb +89 -0
- data/test/api_stub/requests/storage/file.rb +243 -0
- data/test/api_stub/requests/storage/storageaccount.rb +126 -0
- data/test/api_stub/requests/traffic_manager/traffic_manager_endpoint.rb +41 -0
- data/test/api_stub/requests/traffic_manager/traffic_manager_profile.rb +166 -0
- data/test/integration/README.md +14 -0
- data/test/integration/application_gateway.rb +260 -0
- data/test/integration/availability_set.rb +184 -0
- data/test/integration/blob.rb +297 -0
- data/test/integration/container.rb +160 -0
- data/test/integration/credentials/azure.yml +5 -0
- data/test/integration/data_disk.rb +90 -0
- data/test/integration/deployment.rb +78 -0
- data/test/integration/express_route_circuit.rb +139 -0
- data/test/integration/external_load_balancer.rb +156 -0
- data/test/integration/internal_load_balancer.rb +145 -0
- data/test/integration/key_vault.rb +99 -0
- data/test/integration/local_network_gateway.rb +91 -0
- data/test/integration/managed_disk.rb +118 -0
- data/test/integration/network_interface.rb +157 -0
- data/test/integration/network_security_group.rb +134 -0
- data/test/integration/network_security_rule.rb +102 -0
- data/test/integration/public_ip.rb +84 -0
- data/test/integration/record_set.rb +126 -0
- data/test/integration/resource_group.rb +62 -0
- data/test/integration/resource_tag.rb +93 -0
- data/test/integration/server.rb +356 -0
- data/test/integration/server_custom_image.rb +227 -0
- data/test/integration/sql_server.rb +183 -0
- data/test/integration/storage_account.rb +135 -0
- data/test/integration/subnet.rb +122 -0
- data/test/integration/traffic_manager.rb +142 -0
- data/test/integration/virtual_machine_extension.rb +165 -0
- data/test/integration/virtual_network.rb +163 -0
- data/test/integration/virtual_network_gateway.rb +119 -0
- data/test/integration/virtual_network_gateway_connection.rb +221 -0
- data/test/integration/virtual_network_gateway_connection_to_express_route.rb +123 -0
- data/test/integration/zone.rb +81 -0
- data/test/models/application_gateway/test_gateway.rb +136 -0
- data/test/models/application_gateway/test_gateways.rb +55 -0
- data/test/models/compute/test_availability_set.rb +57 -0
- data/test/models/compute/test_availability_sets.rb +55 -0
- data/test/models/compute/test_data_disk.rb +23 -0
- data/test/models/compute/test_managed_disk.rb +62 -0
- data/test/models/compute/test_managed_disks.rb +68 -0
- data/test/models/compute/test_server.rb +236 -0
- data/test/models/compute/test_servers.rb +56 -0
- data/test/models/compute/test_virtual_machine_extension.rb +61 -0
- data/test/models/compute/test_virtual_machine_extensions.rb +49 -0
- data/test/models/dns/test_record_set.rb +86 -0
- data/test/models/dns/test_record_sets.rb +66 -0
- data/test/models/dns/test_zone.rb +51 -0
- data/test/models/dns/test_zones.rb +51 -0
- data/test/models/key_vault/test_vault.rb +40 -0
- data/test/models/key_vault/test_vaults.rb +55 -0
- data/test/models/network/test_express_route_circuit.rb +52 -0
- data/test/models/network/test_express_route_circuit_authorization.rb +50 -0
- data/test/models/network/test_express_route_circuit_authorizations.rb +56 -0
- data/test/models/network/test_express_route_circuit_peering.rb +53 -0
- data/test/models/network/test_express_route_circuit_peerings.rb +43 -0
- data/test/models/network/test_express_route_circuits.rb +55 -0
- data/test/models/network/test_express_route_service_providers.rb +30 -0
- data/test/models/network/test_load_balancer.rb +52 -0
- data/test/models/network/test_load_balancers.rb +55 -0
- data/test/models/network/test_local_network_gateway.rb +53 -0
- data/test/models/network/test_local_network_gateways.rb +55 -0
- data/test/models/network/test_network_interface.rb +97 -0
- data/test/models/network/test_network_interfaces.rb +55 -0
- data/test/models/network/test_network_security_group.rb +87 -0
- data/test/models/network/test_network_security_groups.rb +54 -0
- data/test/models/network/test_network_security_rule.rb +44 -0
- data/test/models/network/test_network_security_rules.rb +55 -0
- data/test/models/network/test_public_ip.rb +62 -0
- data/test/models/network/test_public_ips.rb +55 -0
- data/test/models/network/test_subnet.rb +83 -0
- data/test/models/network/test_subnets.rb +56 -0
- data/test/models/network/test_virtual_network.rb +107 -0
- data/test/models/network/test_virtual_network_gateway.rb +62 -0
- data/test/models/network/test_virtual_network_gateway_connection.rb +59 -0
- data/test/models/network/test_virtual_network_gateway_connections.rb +55 -0
- data/test/models/network/test_virtual_network_gateways.rb +55 -0
- data/test/models/network/test_virtual_networks.rb +67 -0
- data/test/models/resources/test_deployment.rb +55 -0
- data/test/models/resources/test_deployments.rb +51 -0
- data/test/models/resources/test_resource.rb +22 -0
- data/test/models/resources/test_resource_group.rb +45 -0
- data/test/models/resources/test_resource_groups.rb +51 -0
- data/test/models/resources/test_resources.rb +52 -0
- data/test/models/sql/test_database.rb +68 -0
- data/test/models/sql/test_databases.rb +42 -0
- data/test/models/sql/test_firewall_rule.rb +55 -0
- data/test/models/sql/test_firewall_rules.rb +42 -0
- data/test/models/sql/test_sql_server.rb +58 -0
- data/test/models/sql/test_sql_servers.rb +41 -0
- data/test/models/storage/test_directories.rb +74 -0
- data/test/models/storage/test_directory.rb +178 -0
- data/test/models/storage/test_file.rb +294 -0
- data/test/models/storage/test_files.rb +234 -0
- data/test/models/storage/test_storage_account.rb +89 -0
- data/test/models/storage/test_storage_accounts.rb +78 -0
- data/test/models/traffic_manager/test_traffic_manager_end_point.rb +54 -0
- data/test/models/traffic_manager/test_traffic_manager_end_points.rb +56 -0
- data/test/models/traffic_manager/test_traffic_manager_profile.rb +63 -0
- data/test/models/traffic_manager/test_traffic_manager_profiles.rb +55 -0
- data/test/requests/application_gateway/test_check_ag_exists.rb +38 -0
- data/test/requests/application_gateway/test_create_or_update_application_gateway.rb +35 -0
- data/test/requests/application_gateway/test_delete_application_gateway.rb +23 -0
- data/test/requests/application_gateway/test_get_application_gateway.rb +24 -0
- data/test/requests/application_gateway/test_list_application_gateways.rb +24 -0
- data/test/requests/application_gateway/test_start_application_gateway.rb +25 -0
- data/test/requests/application_gateway/test_stop_application_gateway.rb +25 -0
- data/test/requests/compute/test_attach_data_disk_to_vm.rb +105 -0
- data/test/requests/compute/test_check_availability_set_exists.rb +38 -0
- data/test/requests/compute/test_check_managed_disk_exists.rb +38 -0
- data/test/requests/compute/test_check_vm_exists.rb +38 -0
- data/test/requests/compute/test_check_vm_extension_exists.rb +38 -0
- data/test/requests/compute/test_create_availability_set.rb +112 -0
- data/test/requests/compute/test_create_image.rb +27 -0
- data/test/requests/compute/test_create_or_update_managed_disk.rb +38 -0
- data/test/requests/compute/test_create_virtual_machine.rb +90 -0
- data/test/requests/compute/test_create_vm_extension.rb +35 -0
- data/test/requests/compute/test_deallocate_virtual_machine.rb +32 -0
- data/test/requests/compute/test_delete_availability_set.rb +23 -0
- data/test/requests/compute/test_delete_image.rb +23 -0
- data/test/requests/compute/test_delete_managed_disk.rb +23 -0
- data/test/requests/compute/test_delete_virtual_machine.rb +32 -0
- data/test/requests/compute/test_detach_data_disk_from_vm.rb +32 -0
- data/test/requests/compute/test_generalize_virtual_machine.rb +32 -0
- data/test/requests/compute/test_get_availability_set.rb +24 -0
- data/test/requests/compute/test_get_image.rb +23 -0
- data/test/requests/compute/test_get_managed_disk.rb +24 -0
- data/test/requests/compute/test_get_virtual_machine.rb +24 -0
- data/test/requests/compute/test_get_vm_extension.rb +26 -0
- data/test/requests/compute/test_get_vm_status.rb +25 -0
- data/test/requests/compute/test_grant_access_to_managed_disk.rb +26 -0
- data/test/requests/compute/test_list_availability_sets.rb +24 -0
- data/test/requests/compute/test_list_available_sizes_for_virtual_machine.rb +33 -0
- data/test/requests/compute/test_list_managed_disks_by_rg.rb +24 -0
- data/test/requests/compute/test_list_managed_disks_in_subscription.rb +24 -0
- data/test/requests/compute/test_list_virtual_machines.rb +24 -0
- data/test/requests/compute/test_power_off_virtual_machine.rb +32 -0
- data/test/requests/compute/test_redeploy_virtual_machine.rb +33 -0
- data/test/requests/compute/test_restart_virtual_machine.rb +32 -0
- data/test/requests/compute/test_revoke_access_to_managed_disk.rb +24 -0
- data/test/requests/compute/test_start_virtual_machine.rb +32 -0
- data/test/requests/compute/test_update_vm_extension.rb +35 -0
- data/test/requests/dns/test_check_record_set_exists.rb +38 -0
- data/test/requests/dns/test_check_zone_exists.rb +49 -0
- data/test/requests/dns/test_create_record_set.rb +46 -0
- data/test/requests/dns/test_create_zone.rb +37 -0
- data/test/requests/dns/test_delete_record_set.rb +24 -0
- data/test/requests/dns/test_delete_zone.rb +24 -0
- data/test/requests/dns/test_get_record_set.rb +24 -0
- data/test/requests/dns/test_get_records_from_record_set.rb +42 -0
- data/test/requests/dns/test_get_zone.rb +35 -0
- data/test/requests/dns/test_list_record_sets.rb +35 -0
- data/test/requests/dns/test_list_zones.rb +26 -0
- data/test/requests/key_vault/test_check_vault_exists.rb +38 -0
- data/test/requests/key_vault/test_create_or_update_vault.rb +25 -0
- data/test/requests/key_vault/test_delete_vault.rb +23 -0
- data/test/requests/key_vault/test_get_vault.rb +24 -0
- data/test/requests/key_vault/test_list_vaults.rb +24 -0
- data/test/requests/network/test_add_address_prefixes_in_virtual_network.rb +29 -0
- data/test/requests/network/test_add_dns_servers_in_virtual_network.rb +29 -0
- data/test/requests/network/test_add_security_rules.rb +43 -0
- data/test/requests/network/test_add_subnets_in_virtual_network.rb +29 -0
- data/test/requests/network/test_attach_network_security_group_to_subnet.rb +26 -0
- data/test/requests/network/test_attach_resource_to_nic.rb +43 -0
- data/test/requests/network/test_attach_route_table_to_subnet.rb +26 -0
- data/test/requests/network/test_check_express_route_cir_auth_exists.rb +38 -0
- data/test/requests/network/test_check_express_route_circuit_exists.rb +38 -0
- data/test/requests/network/test_check_load_balancer_exists.rb +38 -0
- data/test/requests/network/test_check_local_net_gateway_exists.rb +38 -0
- data/test/requests/network/test_check_net_sec_group_exists.rb +38 -0
- data/test/requests/network/test_check_net_sec_rule_exists.rb +38 -0
- data/test/requests/network/test_check_network_interface_exists.rb +38 -0
- data/test/requests/network/test_check_public_ip_exists.rb +37 -0
- data/test/requests/network/test_check_subnet_exists.rb +38 -0
- data/test/requests/network/test_check_virtual_network_exists.rb +40 -0
- data/test/requests/network/test_check_vnet_gateway_connection_exists.rb +38 -0
- data/test/requests/network/test_check_vnet_gateway_exists.rb +38 -0
- data/test/requests/network/test_create_express_route_circuit.rb +39 -0
- data/test/requests/network/test_create_express_route_circuit_authorization.rb +35 -0
- data/test/requests/network/test_create_express_route_circuit_peering.rb +37 -0
- data/test/requests/network/test_create_load_balancer.rb +50 -0
- data/test/requests/network/test_create_local_network_gateway.rb +36 -0
- data/test/requests/network/test_create_network_interface.rb +43 -0
- data/test/requests/network/test_create_or_update_network_security_group.rb +39 -0
- data/test/requests/network/test_create_or_update_network_security_rule.rb +28 -0
- data/test/requests/network/test_create_or_update_virtual_network.rb +57 -0
- data/test/requests/network/test_create_public_ip.rb +36 -0
- data/test/requests/network/test_create_subnet.rb +35 -0
- data/test/requests/network/test_create_virtual_network_gateway.rb +37 -0
- data/test/requests/network/test_create_virtual_network_gateway_connection.rb +36 -0
- data/test/requests/network/test_delete_express_route_circuit.rb +24 -0
- data/test/requests/network/test_delete_express_route_circuit_authorization.rb +23 -0
- data/test/requests/network/test_delete_express_route_circuit_peering.rb +24 -0
- data/test/requests/network/test_delete_load_balancer.rb +24 -0
- data/test/requests/network/test_delete_local_network_gateway.rb +23 -0
- data/test/requests/network/test_delete_network_interface.rb +24 -0
- data/test/requests/network/test_delete_network_security_group.rb +25 -0
- data/test/requests/network/test_delete_network_security_rule.rb +25 -0
- data/test/requests/network/test_delete_public_ip.rb +24 -0
- data/test/requests/network/test_delete_subnet.rb +24 -0
- data/test/requests/network/test_delete_virtual_network.rb +24 -0
- data/test/requests/network/test_delete_virtual_network_gateway.rb +24 -0
- data/test/requests/network/test_delete_virtual_network_gateway_connection.rb +23 -0
- data/test/requests/network/test_detach_network_security_group_from_subnet.rb +26 -0
- data/test/requests/network/test_detach_resource_from_nic.rb +41 -0
- data/test/requests/network/test_detach_route_table_from_subnet.rb +26 -0
- data/test/requests/network/test_get_available_ipaddresses_count.rb +18 -0
- data/test/requests/network/test_get_connection_shared_key.rb +24 -0
- data/test/requests/network/test_get_express_route_circuit.rb +24 -0
- data/test/requests/network/test_get_express_route_circuit_authorization.rb +24 -0
- data/test/requests/network/test_get_express_route_circuit_peering.rb +24 -0
- data/test/requests/network/test_get_load_balancer.rb +24 -0
- data/test/requests/network/test_get_local_network_gateway.rb +24 -0
- data/test/requests/network/test_get_network_interface.rb +24 -0
- data/test/requests/network/test_get_network_security_group.rb +26 -0
- data/test/requests/network/test_get_network_security_rule.rb +26 -0
- data/test/requests/network/test_get_public_ip.rb +26 -0
- data/test/requests/network/test_get_subnet.rb +26 -0
- data/test/requests/network/test_get_virtual_network.rb +26 -0
- data/test/requests/network/test_get_virtual_network_gateway.rb +24 -0
- data/test/requests/network/test_get_virtual_network_gateway_connection.rb +24 -0
- data/test/requests/network/test_list_express_route_circuit_authorizations.rb +24 -0
- data/test/requests/network/test_list_express_route_circuit_peerings.rb +24 -0
- data/test/requests/network/test_list_express_route_circuits.rb +26 -0
- data/test/requests/network/test_list_express_route_service_providers.rb +24 -0
- data/test/requests/network/test_list_load_balancers.rb +24 -0
- data/test/requests/network/test_list_local_network_gateways.rb +24 -0
- data/test/requests/network/test_list_network_interfaces.rb +24 -0
- data/test/requests/network/test_list_network_security_groups.rb +26 -0
- data/test/requests/network/test_list_network_security_rules.rb +26 -0
- data/test/requests/network/test_list_public_ips.rb +24 -0
- data/test/requests/network/test_list_subnets.rb +24 -0
- data/test/requests/network/test_list_virtual_network_gateway_connections.rb +24 -0
- data/test/requests/network/test_list_virtual_network_gateways.rb +24 -0
- data/test/requests/network/test_list_virtual_networks.rb +24 -0
- data/test/requests/network/test_list_virtual_networks_in_subscription.rb +24 -0
- data/test/requests/network/test_remove_address_prefixes_from_virtual_network.rb +29 -0
- data/test/requests/network/test_remove_dns_servers_from_virtual_network.rb +29 -0
- data/test/requests/network/test_remove_security_rule.rb +29 -0
- data/test/requests/network/test_remove_subnets_from_virtual_network.rb +29 -0
- data/test/requests/network/test_reset_connection_shared_key.rb +23 -0
- data/test/requests/network/test_set_connection_shared_key.rb +23 -0
- data/test/requests/network/test_update_public_ip.rb +35 -0
- data/test/requests/resources/test_check_azure_resource_exists.rb +22 -0
- data/test/requests/resources/test_check_deployment_exists.rb +29 -0
- data/test/requests/resources/test_check_resource_group_exists.rb +29 -0
- data/test/requests/resources/test_create_deployment.rb +32 -0
- data/test/requests/resources/test_create_resource_group.rb +25 -0
- data/test/requests/resources/test_delete_deployment.rb +25 -0
- data/test/requests/resources/test_delete_resource_group.rb +24 -0
- data/test/requests/resources/test_delete_resource_tag.rb +35 -0
- data/test/requests/resources/test_get_deployment.rb +24 -0
- data/test/requests/resources/test_get_resource_group.rb +24 -0
- data/test/requests/resources/test_list_deployments.rb +25 -0
- data/test/requests/resources/test_list_resource_groups.rb +24 -0
- data/test/requests/resources/test_list_tagged_resources.rb +24 -0
- data/test/requests/resources/test_tag_resource.rb +35 -0
- data/test/requests/sql/test_create_or_update_database.rb +25 -0
- data/test/requests/sql/test_create_or_update_firewall_rule.rb +25 -0
- data/test/requests/sql/test_create_or_update_sql_server.rb +25 -0
- data/test/requests/sql/test_delete_database.rb +23 -0
- data/test/requests/sql/test_delete_firewall_rule.rb +23 -0
- data/test/requests/sql/test_delete_sql_server.rb +23 -0
- data/test/requests/sql/test_get_database.rb +24 -0
- data/test/requests/sql/test_get_firewall_rule.rb +24 -0
- data/test/requests/sql/test_get_sql_server.rb +24 -0
- data/test/requests/sql/test_list_databases.rb +24 -0
- data/test/requests/sql/test_list_firewall_rules.rb +24 -0
- data/test/requests/sql/test_list_sql_servers.rb +24 -0
- data/test/requests/storage/test_acquire_blob_lease.rb +36 -0
- data/test/requests/storage/test_acquire_container_lease.rb +36 -0
- data/test/requests/storage/test_check_container_exists.rb +18 -0
- data/test/requests/storage/test_check_storage_account_exists.rb +41 -0
- data/test/requests/storage/test_check_storage_account_name_availability.rb +35 -0
- data/test/requests/storage/test_commit_blob_blocks.rb +34 -0
- data/test/requests/storage/test_compare_container_blobs.rb +36 -0
- data/test/requests/storage/test_copy_blob.rb +36 -0
- data/test/requests/storage/test_copy_blob_from_uri.rb +36 -0
- data/test/requests/storage/test_create_block_blob.rb +80 -0
- data/test/requests/storage/test_create_container.rb +36 -0
- data/test/requests/storage/test_create_disk.rb +70 -0
- data/test/requests/storage/test_create_page_blob.rb +34 -0
- data/test/requests/storage/test_create_storage_account.rb +34 -0
- data/test/requests/storage/test_delete_blob.rb +42 -0
- data/test/requests/storage/test_delete_container.rb +42 -0
- data/test/requests/storage/test_delete_disk.rb +30 -0
- data/test/requests/storage/test_delete_storage_account.rb +28 -0
- data/test/requests/storage/test_get_blob.rb +141 -0
- data/test/requests/storage/test_get_blob_http_url.rb +30 -0
- data/test/requests/storage/test_get_blob_https_url.rb +30 -0
- data/test/requests/storage/test_get_blob_properties.rb +45 -0
- data/test/requests/storage/test_get_blob_url.rb +75 -0
- data/test/requests/storage/test_get_container_acl.rb +37 -0
- data/test/requests/storage/test_get_container_properties.rb +45 -0
- data/test/requests/storage/test_get_container_url.rb +33 -0
- data/test/requests/storage/test_get_storage_access_keys.rb +24 -0
- data/test/requests/storage/test_get_storage_account.rb +25 -0
- data/test/requests/storage/test_list_blobs.rb +77 -0
- data/test/requests/storage/test_list_containers.rb +54 -0
- data/test/requests/storage/test_list_storage_accounts.rb +37 -0
- data/test/requests/storage/test_list_storage_accounts_for_rg.rb +37 -0
- data/test/requests/storage/test_multipart_save_block_blob.rb +105 -0
- data/test/requests/storage/test_put_blob_block.rb +34 -0
- data/test/requests/storage/test_put_blob_metadata.rb +36 -0
- data/test/requests/storage/test_put_blob_pages.rb +34 -0
- data/test/requests/storage/test_put_blob_properties.rb +39 -0
- data/test/requests/storage/test_put_container_acl.rb +34 -0
- data/test/requests/storage/test_put_container_metadata.rb +36 -0
- data/test/requests/storage/test_release_blob_lease.rb +34 -0
- data/test/requests/storage/test_release_container_lease.rb +34 -0
- data/test/requests/storage/test_save_page_blob.rb +115 -0
- data/test/requests/storage/test_update_storage_account.rb +34 -0
- data/test/requests/storage/test_wait_blob_copy_operation_to_finish.rb +148 -0
- data/test/requests/traffic_manager/test_check_traffic_manager_endpoint_exists.rb +38 -0
- data/test/requests/traffic_manager/test_check_traffic_manager_profile_exists.rb +38 -0
- data/test/requests/traffic_manager/test_create_traffic_manager_endpoint.rb +25 -0
- data/test/requests/traffic_manager/test_create_traffic_manager_profile.rb +25 -0
- data/test/requests/traffic_manager/test_delete_traffic_manager_endpoint.rb +23 -0
- data/test/requests/traffic_manager/test_delete_traffic_manager_profile.rb +23 -0
- data/test/requests/traffic_manager/test_get_traffic_manager_endpoint.rb +24 -0
- data/test/requests/traffic_manager/test_get_traffic_manager_profile.rb +24 -0
- data/test/requests/traffic_manager/test_list_traffic_manager_profiles.rb +24 -0
- data/test/requests/traffic_manager/test_update_traffic_manager_endpoint.rb +27 -0
- data/test/requests/traffic_manager/test_update_traffic_manager_profile.rb +27 -0
- data/test/smoke_tests/compute/test_resource_group_smoke.rb +37 -0
- data/test/test_credentials.rb +63 -0
- data/test/test_helper.rb +831 -0
- metadata +1050 -0
@@ -0,0 +1,149 @@
|
|
1
|
+
# DNS
|
2
|
+
|
3
|
+
This document explains how to get started using Azure DNS Service with Fog.
|
4
|
+
|
5
|
+
## Usage
|
6
|
+
|
7
|
+
First of all, you need to require the Fog library by executing:
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
require 'fog/azurerm'
|
11
|
+
```
|
12
|
+
|
13
|
+
## Create Connection
|
14
|
+
|
15
|
+
Next, create a connection to the DNS Service:
|
16
|
+
|
17
|
+
```ruby
|
18
|
+
fog_dns_service = Fog::DNS::AzureRM.new(
|
19
|
+
tenant_id: '<Tenant Id>', # Tenant Id of Azure Active Directory Application
|
20
|
+
client_id: '<Client Id>', # Client Id of Azure Active Directory Application
|
21
|
+
client_secret: '<Client Secret>', # Client Secret of Azure Active Directory Application
|
22
|
+
subscription_id: '<Subscription Id>', # Subscription Id of an Azure Account
|
23
|
+
environment: '<AzureCloud/AzureChinaCloud/AzureUSGovernment/AzureGermanCloud>' # Azure cloud environment. Default is AzureCloud.
|
24
|
+
)
|
25
|
+
```
|
26
|
+
|
27
|
+
## Check Zone Existence
|
28
|
+
|
29
|
+
```ruby
|
30
|
+
fog_dns_service.zones.check_zone_exists('<Resource Group Name>', '<Zone Name>')
|
31
|
+
```
|
32
|
+
|
33
|
+
## Create Zone
|
34
|
+
|
35
|
+
Create a new Zone
|
36
|
+
|
37
|
+
```ruby
|
38
|
+
fog_dns_service.zones.create(
|
39
|
+
name: '<Zone Name>',
|
40
|
+
resource_group: '<Resource Group Name>',
|
41
|
+
tags: {
|
42
|
+
key: 'value' # [Optional]
|
43
|
+
}
|
44
|
+
)
|
45
|
+
```
|
46
|
+
## List Zones
|
47
|
+
|
48
|
+
```ruby
|
49
|
+
fog_dns_service.zones.each do |zone|
|
50
|
+
puts "#{zone.name}"
|
51
|
+
puts "#{zone.resource_group}"
|
52
|
+
end
|
53
|
+
```
|
54
|
+
|
55
|
+
## Retrieve a single Zone
|
56
|
+
|
57
|
+
Get a single record of Zone
|
58
|
+
|
59
|
+
```ruby
|
60
|
+
zone = fog_dns_service
|
61
|
+
.zones
|
62
|
+
.get('<Resource Group Name>', '<Zone Name>')
|
63
|
+
puts "#{zone.name}"
|
64
|
+
```
|
65
|
+
|
66
|
+
## Destroy a single Zone
|
67
|
+
|
68
|
+
Get Zone object from the get method(described above) and then destroy that Zone.
|
69
|
+
|
70
|
+
```ruby
|
71
|
+
zone.destroy
|
72
|
+
```
|
73
|
+
|
74
|
+
## Check Record Set Existence
|
75
|
+
|
76
|
+
```ruby
|
77
|
+
fog_dns_service.record_sets.check_record_set_exists('<Resource Group Name>', '<Record Set Name>', '<Zone Name>', '<Record Type(A/CNAME)>')
|
78
|
+
```
|
79
|
+
|
80
|
+
## Create Record Set
|
81
|
+
|
82
|
+
Create a new Record Set
|
83
|
+
|
84
|
+
```ruby
|
85
|
+
fog_dns_service.record_sets.create(
|
86
|
+
name: '<Record Set Name>',
|
87
|
+
resource_group: '<Resource Group Name>',
|
88
|
+
zone_name: '<Zone Name>',
|
89
|
+
records: '<String Array of Records>',
|
90
|
+
type: '<Record Type (A/CNAME)>',
|
91
|
+
ttl: <TTL>
|
92
|
+
)
|
93
|
+
```
|
94
|
+
|
95
|
+
## List Record Sets
|
96
|
+
|
97
|
+
```ruby
|
98
|
+
fog_dns_service.record_sets(
|
99
|
+
resource_group: '<Resource Group Name>',
|
100
|
+
zone_name: '<Zone Name>'
|
101
|
+
).each do |record_set|
|
102
|
+
puts "#{record_set.name}"
|
103
|
+
puts "#{record_set.resource_group}"
|
104
|
+
end
|
105
|
+
```
|
106
|
+
|
107
|
+
## Retrieve a single Record Set
|
108
|
+
|
109
|
+
Get a single record of Record Set
|
110
|
+
|
111
|
+
```ruby
|
112
|
+
record_set = fog_dns_service
|
113
|
+
.record_sets
|
114
|
+
.get('<Resource Group Name>', '<Record Set Name>', '<Zone Name>', '<Record Type>')
|
115
|
+
puts "#{record_set.name}"
|
116
|
+
```
|
117
|
+
|
118
|
+
## Update TTL
|
119
|
+
|
120
|
+
Get an object of record set and then update TTL
|
121
|
+
|
122
|
+
```ruby
|
123
|
+
record_set.update_ttl(ttl: <Time to live (Integer)>)
|
124
|
+
```
|
125
|
+
|
126
|
+
## Add/Remove Record set in Existing Record sets
|
127
|
+
|
128
|
+
Add a record by giving the value of record set in the form of string.
|
129
|
+
|
130
|
+
```ruby
|
131
|
+
record_set.add_a_type_record('<Record>')
|
132
|
+
```
|
133
|
+
|
134
|
+
Remove record from existing records by giving its value in the form of string.
|
135
|
+
|
136
|
+
```ruby
|
137
|
+
record_set.remove_a_type_record('<Record>')
|
138
|
+
```
|
139
|
+
|
140
|
+
## Destroy a single Record Set
|
141
|
+
|
142
|
+
Get Record Set object from the get method(described above) and then destroy that Record Set.
|
143
|
+
|
144
|
+
```ruby
|
145
|
+
record_set.destroy
|
146
|
+
```
|
147
|
+
|
148
|
+
## Support and Feedback
|
149
|
+
Your feedback is appreciated! If you have specific issues with the fog ARM, you should file an issue via Github.
|
@@ -0,0 +1,91 @@
|
|
1
|
+
# Key Vault
|
2
|
+
|
3
|
+
This document explains how to get started using Azure Key Vault Service with Fog to manage Vault. With this gem you can create, list or delete Vault.
|
4
|
+
|
5
|
+
## Usage
|
6
|
+
|
7
|
+
First of all, you need to require the Fog library by executing:
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
require 'fog/azurerm'
|
11
|
+
```
|
12
|
+
## Create Connection
|
13
|
+
|
14
|
+
Next, create a connection to the Key Vault Service:
|
15
|
+
|
16
|
+
```ruby
|
17
|
+
fog_key_vault_service = Fog::KeyVault::AzureRM.new(
|
18
|
+
tenant_id: '<Tenant Id>', # Tenant Id of Azure Active Directory Application
|
19
|
+
client_id: '<Client Id>', # Client Id of Azure Active Directory Application
|
20
|
+
client_secret: '<Client Secret>', # Client Secret of Azure Active Directory Application
|
21
|
+
subscription_id: '<Subscription Id>' # Subscription Id of an Azure Account
|
22
|
+
)
|
23
|
+
```
|
24
|
+
|
25
|
+
## Check Vault Existence
|
26
|
+
|
27
|
+
```ruby
|
28
|
+
fog_key_vault_service.vaults.check_vault_exists('<Resource Group Name>', '<Vault Name>')
|
29
|
+
```
|
30
|
+
|
31
|
+
## Create Vault
|
32
|
+
|
33
|
+
Create a new Vault.
|
34
|
+
|
35
|
+
```ruby
|
36
|
+
vault = fog_key_vault_service.vaults.create(
|
37
|
+
name: '<Vault Name>',
|
38
|
+
location: '<Location>',
|
39
|
+
resource_group: '<Resource Group Name>',
|
40
|
+
tenant_id: '<Tenant Id>',
|
41
|
+
sku_family: '<SKU Family>',
|
42
|
+
sku_name: '<SKU Name>',
|
43
|
+
access_policies: [
|
44
|
+
{
|
45
|
+
tenant_id: '<Tenant Id>',
|
46
|
+
object_id: '<Tenant Id>',
|
47
|
+
permissions: {
|
48
|
+
keys: ['<Key Permissions>'],
|
49
|
+
secrets: ['<Secret Permissions>']
|
50
|
+
}
|
51
|
+
}
|
52
|
+
],
|
53
|
+
tags: {
|
54
|
+
key: 'value' # [Optional]
|
55
|
+
}
|
56
|
+
|
57
|
+
)
|
58
|
+
```
|
59
|
+
|
60
|
+
## List Vaults
|
61
|
+
|
62
|
+
List all vaults in a resource group
|
63
|
+
|
64
|
+
```ruby
|
65
|
+
vaults = fog_key_vault_service.vaults(resource_group: '<Resource Group Name>')
|
66
|
+
vaults.each do |vault|
|
67
|
+
puts "#{vault.name}"
|
68
|
+
end
|
69
|
+
```
|
70
|
+
|
71
|
+
## Retrieve a single Vault
|
72
|
+
|
73
|
+
Get a single record of Vault
|
74
|
+
|
75
|
+
```ruby
|
76
|
+
vault = fog_key_vault_service
|
77
|
+
.vaults
|
78
|
+
.get('<Resource Group Name>', '<Vault Name>')
|
79
|
+
puts "#{vault.name}"
|
80
|
+
```
|
81
|
+
|
82
|
+
## Destroy a single Vault
|
83
|
+
|
84
|
+
Get a vault object from the get method and then destroy that vault.
|
85
|
+
|
86
|
+
```ruby
|
87
|
+
vault.destroy
|
88
|
+
```
|
89
|
+
|
90
|
+
## Support and Feedback
|
91
|
+
Your feedback is highly appreciated! If you have specific issues with the fog ARM, you should file an issue via Github.
|
@@ -0,0 +1,1132 @@
|
|
1
|
+
# Network
|
2
|
+
|
3
|
+
This document explains how to get started using Azure Network Service with Fog. With this gem you can create, update, list or delete virtual networks, subnets, public IPs and network interfaces.
|
4
|
+
|
5
|
+
## Usage
|
6
|
+
|
7
|
+
First of all, you need to require the Fog library by executing:
|
8
|
+
|
9
|
+
```ruby
|
10
|
+
require 'fog/azurerm'
|
11
|
+
```
|
12
|
+
## Create Connection
|
13
|
+
|
14
|
+
Next, create a connection to the Network Service:
|
15
|
+
|
16
|
+
```ruby
|
17
|
+
fog_network_service = Fog::Network::AzureRM.new(
|
18
|
+
tenant_id: '<Tenant Id>', # Tenant Id of Azure Active Directory Application
|
19
|
+
client_id: '<Client Id>', # Client Id of Azure Active Directory Application
|
20
|
+
client_secret: '<Client Secret>', # Client Secret of Azure Active Directory Application
|
21
|
+
subscription_id: '<Subscription Id>', # Subscription Id of an Azure Account
|
22
|
+
environment: '<AzureCloud/AzureChinaCloud/AzureUSGovernment/AzureGermanCloud>' # Azure cloud environment. Default is AzureCloud.
|
23
|
+
)
|
24
|
+
```
|
25
|
+
|
26
|
+
## Check Virtual Network Existence
|
27
|
+
|
28
|
+
```ruby
|
29
|
+
fog_network_service.virtual_networks.check_virtual_network_exists('<Resource Group Name>', '<Virtual Network Name>')
|
30
|
+
```
|
31
|
+
|
32
|
+
## Create Virtual Network
|
33
|
+
|
34
|
+
Create a new virtual network
|
35
|
+
|
36
|
+
**Optional parameters for Virtual Network**: subnets, dns_servers & address_prefixes
|
37
|
+
|
38
|
+
**Optional parameters for Subnet**: network_security_group_id, route_table_id & address_prefix
|
39
|
+
|
40
|
+
```ruby
|
41
|
+
vnet = fog_network_service.virtual_networks.create(
|
42
|
+
name: '<Virtual Network Name>',
|
43
|
+
location: '<Location>',
|
44
|
+
resource_group: '<Resource Group Name>',
|
45
|
+
subnets: [{
|
46
|
+
name: '<Subnet Name>',
|
47
|
+
address_prefix: '<Subnet IP Range>',
|
48
|
+
network_security_group_id: '/subscriptions/<Subscription Id>/resourceGroups/<Resource Group Name>/providers/Microsoft.Network/networkSecurityGroups/<Network Security Group Name>',
|
49
|
+
route_table_id: '/subscriptions/<Subscription Id>/resourceGroups/<Resource Group Name>/providers/Microsoft.Network/routeTables/<Route Table Name>'
|
50
|
+
}],
|
51
|
+
dns_servers: ['<IP Address>','<IP Address>'],
|
52
|
+
address_prefixes: ['<IP Address Range>','<IP Address Range>'],
|
53
|
+
tags: { key: 'value' } # [Optional]
|
54
|
+
)
|
55
|
+
```
|
56
|
+
|
57
|
+
## List Virtual Networks in Resource Group
|
58
|
+
|
59
|
+
List all virtual networks in a resource group
|
60
|
+
|
61
|
+
```ruby
|
62
|
+
vnets = fog_network_service.virtual_networks(resource_group: '<Resource Group Name>')
|
63
|
+
vnets.each do |vnet|
|
64
|
+
puts "#{vnet.name}"
|
65
|
+
puts "#{vnet.location}"
|
66
|
+
end
|
67
|
+
```
|
68
|
+
|
69
|
+
## List Virtual Networks in Subscription
|
70
|
+
|
71
|
+
List all virtual networks in a subscription
|
72
|
+
|
73
|
+
```ruby
|
74
|
+
vnets = fog_network_service.virtual_networks
|
75
|
+
vnets.each do |vnet|
|
76
|
+
puts "#{vnet.name}"
|
77
|
+
puts "#{vnet.location}"
|
78
|
+
end
|
79
|
+
```
|
80
|
+
|
81
|
+
## Retrieve a single Virtual Network
|
82
|
+
|
83
|
+
Get a single record of virtual network
|
84
|
+
|
85
|
+
```ruby
|
86
|
+
vnet = fog_network_service.virtual_networks.get('<Resource Group Name>', '<Virtual Network Name>')
|
87
|
+
puts "#{vnet.name}"
|
88
|
+
```
|
89
|
+
|
90
|
+
## Add/Remove DNS Servers to/from Virtual Network
|
91
|
+
|
92
|
+
Add/Remove DNS Servers to/from Virtual Network
|
93
|
+
|
94
|
+
```ruby
|
95
|
+
vnet.add_dns_servers(['<IP Address>','<IP Address>'])
|
96
|
+
vnet.remove_dns_servers(['10.3.0.0','10.4.0.0'])
|
97
|
+
```
|
98
|
+
|
99
|
+
## Add/Remove Address Prefixes to/from Virtual Network
|
100
|
+
|
101
|
+
Add/Remove Address Prefixes to/from Virtual Network
|
102
|
+
|
103
|
+
```ruby
|
104
|
+
vnet.add_address_prefixes(['<IP Address Range>', '<IP Address Range>'])
|
105
|
+
vnet.remove_address_prefixes(['<IP Address Range>'])
|
106
|
+
```
|
107
|
+
|
108
|
+
## Add/Remove Subnets to/from Virtual Network
|
109
|
+
|
110
|
+
Add/Remove Subnets to/from Virtual Network
|
111
|
+
|
112
|
+
```ruby
|
113
|
+
vnet.add_subnets([{
|
114
|
+
name: '<Subnet Name>',
|
115
|
+
address_prefix: '<Subnet Range>'
|
116
|
+
}])
|
117
|
+
|
118
|
+
vnet.remove_subnets(['<Subnet Name>'])
|
119
|
+
```
|
120
|
+
|
121
|
+
## Update Virtual Network
|
122
|
+
|
123
|
+
Update Virtual Network
|
124
|
+
|
125
|
+
```ruby
|
126
|
+
vnet.update({
|
127
|
+
subnets:[{
|
128
|
+
name: '<Subnet Name>',
|
129
|
+
address_prefix: '<Subnet Range>'
|
130
|
+
}],
|
131
|
+
dns_servers: ['<IP Address>','<IP Address>']
|
132
|
+
})
|
133
|
+
```
|
134
|
+
|
135
|
+
## Destroy a single virtual network
|
136
|
+
|
137
|
+
Get virtual network object from the get method and then destroy that virtual network.
|
138
|
+
|
139
|
+
```ruby
|
140
|
+
vnet.destroy
|
141
|
+
```
|
142
|
+
|
143
|
+
## Check Subnet Existence
|
144
|
+
|
145
|
+
```ruby
|
146
|
+
fog_network_service.subnets.check_subnet_exists('<Resource Group Name>', '<Virtual Network Name>', '<Subnet Name>')
|
147
|
+
```
|
148
|
+
|
149
|
+
## Create Subnet
|
150
|
+
|
151
|
+
Create a new Subnet
|
152
|
+
|
153
|
+
Optional parameters: network_security_group_id, route_table_id & address_prefix
|
154
|
+
|
155
|
+
```ruby
|
156
|
+
subnet = fog_network_service.subnets.create(
|
157
|
+
name: '<Subnet Name>',
|
158
|
+
resource_group: '<Resource Group Name>',
|
159
|
+
virtual_network_name: '<Virtual Network Name>',
|
160
|
+
address_prefix: '<Subnet Range>',
|
161
|
+
network_security_group_id: '/subscriptions/<Subscription Id>/resourceGroups/<Resource Group Name>/providers/Microsoft.Network/networkSecurityGroups/<Network Security Group Name>',
|
162
|
+
route_table_id: '/subscriptions/<Subscription Id>/resourceGroups/<Resource Group Name>/providers/Microsoft.Network/routeTables/<Route Table Name>'
|
163
|
+
)
|
164
|
+
```
|
165
|
+
|
166
|
+
## List Subnets
|
167
|
+
|
168
|
+
List subnets in a resource group and a virtual network
|
169
|
+
|
170
|
+
```ruby
|
171
|
+
subnets = fog_network_service.subnets(resource_group: '<Resource Group Name>', virtual_network_name: '<Virtual Network Name>')
|
172
|
+
subnets.each do |subnet|
|
173
|
+
puts "#{subnet.name}"
|
174
|
+
end
|
175
|
+
```
|
176
|
+
|
177
|
+
## Retrieve a single Subnet
|
178
|
+
|
179
|
+
Get a single record of Subnet
|
180
|
+
|
181
|
+
```ruby
|
182
|
+
subnet = fog_network_service
|
183
|
+
.subnets
|
184
|
+
.get('<Resource Group Name>', '<Virtual Network Name>', '<Subnet Name>')
|
185
|
+
puts "#{subnet.name}"
|
186
|
+
```
|
187
|
+
|
188
|
+
## Attach Network Security Group to Subnet
|
189
|
+
|
190
|
+
Attach Network Security Group to Subnet
|
191
|
+
|
192
|
+
```ruby
|
193
|
+
subnet = fog_network_service.attach_network_security_group('/subscriptions/<Subscription Id>/resourceGroups/<Resource Group Name>/providers/Microsoft.Network/networkSecurityGroups/<Network Security Group Name>')
|
194
|
+
puts "#{subnet.network_security_group_id}"
|
195
|
+
```
|
196
|
+
|
197
|
+
## Detach Network Security Group from Subnet
|
198
|
+
|
199
|
+
Detach Network Security Group from Subnet
|
200
|
+
|
201
|
+
```ruby
|
202
|
+
subnet = fog_network_service.detach_network_security_group
|
203
|
+
puts "#{subnet.network_security_group_id}"
|
204
|
+
```
|
205
|
+
|
206
|
+
## Attach Route Table to Subnet
|
207
|
+
|
208
|
+
Attach Route Table to Subnet
|
209
|
+
|
210
|
+
```ruby
|
211
|
+
subnet = fog_network_service.attach_route_table('/subscriptions/<Subscription Id>/resourceGroups/<Resource Group Name>/providers/Microsoft.Network/routeTables/<Route Table Name>')
|
212
|
+
puts "#{subnet.route_table_id}"
|
213
|
+
```
|
214
|
+
|
215
|
+
## Detach Route Table from Subnet
|
216
|
+
|
217
|
+
Detach Route Table from Subnet
|
218
|
+
|
219
|
+
```ruby
|
220
|
+
subnet = fog_network_service.detach_route_table
|
221
|
+
puts "#{subnet.route_table_id}"
|
222
|
+
```
|
223
|
+
|
224
|
+
## List Number of Available IP Addresses in Subnet
|
225
|
+
|
226
|
+
The parameter is a boolean which checks if the Virtual Network the Subnet belongs to is attached to an Express Route Circuit or not
|
227
|
+
|
228
|
+
```ruby
|
229
|
+
puts "#{subnet.get_available_ipaddresses_count(<True/False>)}"
|
230
|
+
```
|
231
|
+
|
232
|
+
## Destroy a single Subnet
|
233
|
+
|
234
|
+
Get a subnet object from the get method and then destroy that subnet.
|
235
|
+
|
236
|
+
```ruby
|
237
|
+
subnet.destroy
|
238
|
+
```
|
239
|
+
|
240
|
+
## Check Network Interface Card Existence
|
241
|
+
|
242
|
+
```ruby
|
243
|
+
fog_network_service.network_interfaces.check_network_interface_exists('<Resource Group Name>', '<Network Interface Name>')
|
244
|
+
```
|
245
|
+
|
246
|
+
## Create Network Interface Card
|
247
|
+
|
248
|
+
Create a new network interface. Skip public_ip_address_id parameter to create network interface without PublicIP. The parameter, private_ip_allocation_method can be Dynamic or Static.
|
249
|
+
|
250
|
+
```ruby
|
251
|
+
nic = fog_network_service.network_interfaces.create(
|
252
|
+
name: '<Network Interface Name>',
|
253
|
+
resource_group: '<Resource Group Name>',
|
254
|
+
location: '<Location>',
|
255
|
+
subnet_id: '/subscriptions/<Subscription Id>/resourceGroups/<Resource Group Name>/providers/Microsoft.Network/virtualNetworks/<Virtual Network Name>/subnets/<Subnet Name>',
|
256
|
+
public_ip_address_id: '/subscriptions/<Subscription Id>/resourceGroups/<Resource Group Name>/providers/Microsoft.Network/publicIPAddresses/<Public IP Name>',
|
257
|
+
ip_configuration_name: '<IP Configuration Name>',
|
258
|
+
private_ip_allocation_method: '<IP Allocation Method Name>',
|
259
|
+
tags: { key: 'value' } # [Optional]
|
260
|
+
)
|
261
|
+
```
|
262
|
+
|
263
|
+
## List Network Interface Cards
|
264
|
+
|
265
|
+
List network interfaces in a resource group
|
266
|
+
|
267
|
+
```ruby
|
268
|
+
nics = fog_network_service.network_interfaces(resource_group: '<Resource Group Name>')
|
269
|
+
nics.each do |nic|
|
270
|
+
puts "#{nic.name}"
|
271
|
+
end
|
272
|
+
```
|
273
|
+
|
274
|
+
## Retrieve a single Network Interface Card
|
275
|
+
|
276
|
+
Get a single record of Network Interface
|
277
|
+
|
278
|
+
```ruby
|
279
|
+
nic = fog_network_service
|
280
|
+
.network_interfaces
|
281
|
+
.get('<Resource Group Name>', '<Network Interface Name>')
|
282
|
+
puts "#{nic.name}"
|
283
|
+
```
|
284
|
+
|
285
|
+
## Update Network Interface Card
|
286
|
+
|
287
|
+
You can update network interface by passing only updated attributes, in the form of hash.
|
288
|
+
For example,
|
289
|
+
```ruby
|
290
|
+
nic.update(private_ip_allocation_method: '<IP Allocation Method Name>', private_ip_address: '<Private IP Address>')
|
291
|
+
```
|
292
|
+
## Attach/Detach resources to Network Interface Card
|
293
|
+
|
294
|
+
Attach Subnet, Public-IP or Network-Security-Group as following
|
295
|
+
```ruby
|
296
|
+
subnet_id = '<Subnet Id>'
|
297
|
+
nic.attach_subnet(subnet_id)
|
298
|
+
|
299
|
+
public_ip_id = '<Public IP Id>'
|
300
|
+
nic.attach_public_ip(public_ip_id)
|
301
|
+
|
302
|
+
nsg_id = '<NSG Id>'
|
303
|
+
nic.attach_network_security_group(nsg_id)
|
304
|
+
```
|
305
|
+
Detach Public-IP or Network-Security-Group as following
|
306
|
+
|
307
|
+
```ruby
|
308
|
+
nic.detach_public_ip
|
309
|
+
|
310
|
+
nic.detach_network_security_group
|
311
|
+
```
|
312
|
+
`Note: You can't detach subnet from Network Interface.`
|
313
|
+
|
314
|
+
## Destroy a single Network Interface Card
|
315
|
+
|
316
|
+
Get a network interface object from the get method and then destroy that network interface.
|
317
|
+
|
318
|
+
```ruby
|
319
|
+
nic.destroy
|
320
|
+
```
|
321
|
+
|
322
|
+
## Check Public IP Existence
|
323
|
+
|
324
|
+
```ruby
|
325
|
+
fog_network_service.public_ips.check_public_ip_exists('<Resource Group Name>', '<Public IP Name>')
|
326
|
+
```
|
327
|
+
|
328
|
+
## Create Public IP
|
329
|
+
|
330
|
+
Create a new public IP. The parameter, type can be Dynamic or Static.
|
331
|
+
|
332
|
+
```ruby
|
333
|
+
public_ip = fog_network_service.public_ips.create(
|
334
|
+
name: '<Public IP name>',
|
335
|
+
resource_group: '<Resource Group Name>',
|
336
|
+
location: '<Location>',
|
337
|
+
public_ip_allocation_method: '<IP Allocation Method Name>',
|
338
|
+
tags: { key: 'value' } # [Optional]
|
339
|
+
)
|
340
|
+
```
|
341
|
+
|
342
|
+
## Check for Public IP
|
343
|
+
|
344
|
+
Checks if the Public IP already exists or not.
|
345
|
+
|
346
|
+
```ruby
|
347
|
+
fog_network_service.public_ips.check_if_exists('<Public IP Name>', '<Resource Group Name>')
|
348
|
+
```
|
349
|
+
|
350
|
+
## List Public IPs
|
351
|
+
|
352
|
+
List network interfaces in a resource group
|
353
|
+
|
354
|
+
```ruby
|
355
|
+
public_ips = fog_network_service.public_ips(resource_group: '<Resource Group Name>')
|
356
|
+
public_ips.each do |pubip|
|
357
|
+
puts "#{public_ip.name}"
|
358
|
+
end
|
359
|
+
```
|
360
|
+
|
361
|
+
## Retrieve a single Public IP
|
362
|
+
|
363
|
+
Get a single record of Public IP
|
364
|
+
|
365
|
+
```ruby
|
366
|
+
public_ip = fog_network_service
|
367
|
+
.public_ips
|
368
|
+
.get('<Resource Group Name>', '<Public IP Name>')
|
369
|
+
puts "#{public_ip.name}"
|
370
|
+
```
|
371
|
+
|
372
|
+
## Update Public IP
|
373
|
+
|
374
|
+
Get a Public IP object from the get method and then update that public IP. You can update the Public IP by passing the modifiable attributes in the form of a hash.
|
375
|
+
|
376
|
+
```ruby
|
377
|
+
public_ip.update(
|
378
|
+
public_ip_allocation_method: '<IP Allocation Method Name>',
|
379
|
+
idle_timeout_in_minutes: '<Idle Timeout in Minutes>',
|
380
|
+
domain_name_label: '<Domain Name Label>'
|
381
|
+
)
|
382
|
+
```
|
383
|
+
|
384
|
+
## Destroy a single Public IP
|
385
|
+
|
386
|
+
Get a Public IP object from the get method and then destroy that public IP.
|
387
|
+
|
388
|
+
```ruby
|
389
|
+
public_ip.destroy
|
390
|
+
```
|
391
|
+
|
392
|
+
## Check Network Security Group Existence
|
393
|
+
|
394
|
+
```ruby
|
395
|
+
fog_network_service.network_security_groups.check_net_sec_group_exists('<Resource Group Name>', '<Network Security Group Name>')
|
396
|
+
```
|
397
|
+
|
398
|
+
## Create Network Security Group
|
399
|
+
|
400
|
+
Network security group requires a resource group to create.
|
401
|
+
|
402
|
+
```ruby
|
403
|
+
fog_network_service.network_security_groups.create(
|
404
|
+
name: '<Network Security Group Name>',
|
405
|
+
resource_group: '<Resource Group Name>',
|
406
|
+
location: '<Location>',
|
407
|
+
security_rules: [{
|
408
|
+
name: '<Security Rule Name>',
|
409
|
+
protocol: '<Protocol Name>',
|
410
|
+
source_port_range: '<Source Port Range>',
|
411
|
+
destination_port_range: '<Destination Port Range>',
|
412
|
+
source_address_prefix: '<Source IP Address Range>',
|
413
|
+
destination_address_prefix: 'Destination IP Address Range',
|
414
|
+
access: '<Security Rule Access Type>',
|
415
|
+
priority: '<Priority Number>',
|
416
|
+
direction: '<Security Rule Direction>'
|
417
|
+
}],
|
418
|
+
tags: { key: 'value' } # [Optional]
|
419
|
+
)
|
420
|
+
```
|
421
|
+
|
422
|
+
## List Network Security Groups
|
423
|
+
|
424
|
+
List all the network security groups in a resource group
|
425
|
+
|
426
|
+
```ruby
|
427
|
+
network_security_groups = fog_network_service.network_security_groups(resource_group: '<Resource Group Name>')
|
428
|
+
network_security_groups.each do |nsg|
|
429
|
+
puts "#{nsg.name}"
|
430
|
+
end
|
431
|
+
```
|
432
|
+
|
433
|
+
## Retrieve a single Network Security Group
|
434
|
+
|
435
|
+
Get a single record of Network Security Group
|
436
|
+
|
437
|
+
```ruby
|
438
|
+
nsg = fog_network_service
|
439
|
+
.network_security_groups
|
440
|
+
.get('<Resource Group Name>','<Network Security Group Name>')
|
441
|
+
puts "#{nsg.name}"
|
442
|
+
```
|
443
|
+
|
444
|
+
## Update Security Rules
|
445
|
+
|
446
|
+
You can update security rules by passing the modified attributes in the form of hash.
|
447
|
+
|
448
|
+
```ruby
|
449
|
+
nsg.update_security_rules(
|
450
|
+
security_rules:
|
451
|
+
[
|
452
|
+
{
|
453
|
+
name: '<Security Rule Name>',
|
454
|
+
protocol: '<Security Rule Protocol>',
|
455
|
+
source_port_range: '<Port Range>',
|
456
|
+
destination_port_range: '<Port Range>',
|
457
|
+
source_address_prefix: '<Source IP Address Range>',
|
458
|
+
destination_address_prefix: '<Destination IP Address Range>',
|
459
|
+
access: '<Security Rule Access Type>',
|
460
|
+
priority: '<Priority Number>',
|
461
|
+
direction: '<Security Rule Direction>'
|
462
|
+
}
|
463
|
+
]
|
464
|
+
)
|
465
|
+
```
|
466
|
+
`Note: You can't modify Name of a security rule.`
|
467
|
+
|
468
|
+
## Add and Remove Security Rules in a Network Security Group
|
469
|
+
|
470
|
+
Add array of security rules in the form of hash.
|
471
|
+
|
472
|
+
```ruby
|
473
|
+
nsg.add_security_rules(
|
474
|
+
[
|
475
|
+
{
|
476
|
+
name: '<Security Rule Name>',
|
477
|
+
protocol: '<Security Rule Protocol>',
|
478
|
+
source_port_range: '<Port Range>',
|
479
|
+
destination_port_range: '<Port Range>',
|
480
|
+
source_address_prefix: '<Source IP Address Range>',
|
481
|
+
destination_address_prefix: '<Destination IP Address Range>',
|
482
|
+
access: '<Security Rule Access Type>',
|
483
|
+
priority: '<Priority Number>',
|
484
|
+
direction: '<Security Rule Direction>'
|
485
|
+
}
|
486
|
+
]
|
487
|
+
)
|
488
|
+
```
|
489
|
+
|
490
|
+
Delete security rule by providing its name.
|
491
|
+
|
492
|
+
```ruby
|
493
|
+
nsg.remove_security_rule('<Security Rule Name>')
|
494
|
+
```
|
495
|
+
|
496
|
+
## Destroy a Network Security Group
|
497
|
+
|
498
|
+
Get a network security group object from the get method and then destroy that network security group.
|
499
|
+
|
500
|
+
```ruby
|
501
|
+
nsg.destroy
|
502
|
+
```
|
503
|
+
|
504
|
+
## Check Network Security Rule Existence
|
505
|
+
|
506
|
+
```ruby
|
507
|
+
fog_network_service.network_security_rules.check_net_sec_rule_exists('<Resource Group Name>', '<Network Security Group Name>', '<Security Rule Name>')
|
508
|
+
```
|
509
|
+
|
510
|
+
## Create Network Security Rule
|
511
|
+
|
512
|
+
Network security rule requires a resource group and network security group to create.
|
513
|
+
|
514
|
+
```ruby
|
515
|
+
fog_network_service.network_security_rules.create(
|
516
|
+
name: '<Security Rule Name>',
|
517
|
+
resource_group: '<Resource Group Name>',
|
518
|
+
protocol: '<Security Rule Protocol>',
|
519
|
+
network_security_group_name: '<Network Security Group Name>',
|
520
|
+
source_port_range: '<Source Port Range>',
|
521
|
+
destination_port_range: '<Destination Port Range>',
|
522
|
+
source_address_prefix: 'Source IP Address Range',
|
523
|
+
destination_address_prefix: 'Destination IP Address Range',
|
524
|
+
access: '<Security Rule Access Type>',
|
525
|
+
priority: '<Priority Number>',
|
526
|
+
direction: '<Security Rule Direction>'
|
527
|
+
)
|
528
|
+
```
|
529
|
+
|
530
|
+
## List Network Security Rules
|
531
|
+
|
532
|
+
List all the network security rules in a resource group and network security group
|
533
|
+
|
534
|
+
```ruby
|
535
|
+
network_security_rules = fog_network_service.network_security_rules(resource_group: '<Resource Group Name>', network_security_group_name: '<Network Security Group Name>')
|
536
|
+
network_security_rules.each do |network_security_rule|
|
537
|
+
puts network_security_rule.name
|
538
|
+
end
|
539
|
+
```
|
540
|
+
|
541
|
+
## Retrieve a single Network Security Rule
|
542
|
+
|
543
|
+
Get a single record of Network Security Rule
|
544
|
+
|
545
|
+
```ruby
|
546
|
+
network_security_rule = fog_network_service
|
547
|
+
.network_security_rules
|
548
|
+
.get('<Resource Group Name>','<Network Security Group Name>', '<Security Rule Name>')
|
549
|
+
puts "#{network_security_rule.name}"
|
550
|
+
```
|
551
|
+
|
552
|
+
## Destroy a Network Security Rule
|
553
|
+
|
554
|
+
Get a network security rule object from the get method and then destroy that network security rule.
|
555
|
+
|
556
|
+
```ruby
|
557
|
+
network_security_rule.destroy
|
558
|
+
```
|
559
|
+
|
560
|
+
## Check External Load Balancer Existence
|
561
|
+
|
562
|
+
```ruby
|
563
|
+
fog_network_service.load_balancers.check_load_balancer_exists('<Resource Group Name>', '<Load Balancer Name>')
|
564
|
+
```
|
565
|
+
|
566
|
+
## Create External Load Balancer
|
567
|
+
|
568
|
+
Create a new load balancer.
|
569
|
+
|
570
|
+
```ruby
|
571
|
+
lb = fog_network_service.load_balancers.create(
|
572
|
+
name: '<Load Balancer Name>',
|
573
|
+
resource_group: '<Resource Group Name>',
|
574
|
+
location: '<Location>',
|
575
|
+
frontend_ip_configurations:
|
576
|
+
[
|
577
|
+
{
|
578
|
+
name: '<Frontend IP Config Name>',
|
579
|
+
private_ipallocation_method: '<Private IP Allocation Method>',
|
580
|
+
public_ipaddress_id: '/subscriptions/<Subscription Id>/resourceGroups/<Resource Group Name>/providers/Microsoft.Network/publicIPAddresses/<Public IP Name>'
|
581
|
+
}
|
582
|
+
],
|
583
|
+
backend_address_pool_names:
|
584
|
+
[
|
585
|
+
'<Backend Address Pool Name>'
|
586
|
+
],
|
587
|
+
load_balancing_rules:
|
588
|
+
[
|
589
|
+
{
|
590
|
+
name: '<Rule Name>',
|
591
|
+
frontend_ip_configuration_id: '/subscriptions/<Subscription Id>/resourceGroups/<Resource Group Name>/providers/Microsoft.Network/loadBalancers/<Load Balancer Name>/frontendIPConfigurations/<Frontend IP Config Name>',
|
592
|
+
backend_address_pool_id: '/subscriptions/<Subscription Id>/resourceGroups/<Resource Group Name>/providers/Microsoft.Network/loadBalancers/<Load Balancer Name>/backendAddressPools/<Backend Address Pool Name>',
|
593
|
+
protocol: '<Protocol Name>',
|
594
|
+
frontend_port: '<Frontend Port Number>',
|
595
|
+
backend_port: '<Backend Port Number>',
|
596
|
+
enable_floating_ip: <True/False>,
|
597
|
+
idle_timeout_in_minutes: <Timeout in Minutes>,
|
598
|
+
load_distribution: '<Load Distribution Value>'
|
599
|
+
}
|
600
|
+
],
|
601
|
+
inbound_nat_rules:
|
602
|
+
[
|
603
|
+
{
|
604
|
+
name: 'NAT Rule Name',
|
605
|
+
frontend_ip_configuration_id: '/subscriptions/<Subscription Id>/resourceGroups/<Resource Group Name>/providers/Microsoft.Network/loadBalancers/<Load Balancer name>/frontendIPConfigurations/<Frontend IP Config Name>',
|
606
|
+
protocol: '<Protocol Name>',
|
607
|
+
frontend_port: '<Frontend Port Number>',
|
608
|
+
backend_port: '<Backend Port Number>'
|
609
|
+
}
|
610
|
+
],
|
611
|
+
tags: { key: 'value' } # [Optional]
|
612
|
+
)
|
613
|
+
```
|
614
|
+
|
615
|
+
## Create Internal Load Balancer
|
616
|
+
|
617
|
+
```ruby
|
618
|
+
lb = fog_network_service.load_balancers.create(
|
619
|
+
name: '<Load Balancer Name>',
|
620
|
+
resource_group: '<Resource Group Name>',
|
621
|
+
location: '<Location>',
|
622
|
+
frontend_ip_configurations:
|
623
|
+
[
|
624
|
+
{
|
625
|
+
name: '<Frontend IP Config Name>',
|
626
|
+
private_ipallocation_method: '<Private IP Allocation Method>',
|
627
|
+
private_ipaddress: 'IP Address',
|
628
|
+
subnet_id: '<Subnet Id>'
|
629
|
+
}
|
630
|
+
],
|
631
|
+
backend_address_pool_names:
|
632
|
+
[
|
633
|
+
'<Backend Address Pool Name>'
|
634
|
+
],
|
635
|
+
load_balancing_rules:
|
636
|
+
[
|
637
|
+
{
|
638
|
+
name: 'Rule Name',
|
639
|
+
frontend_ip_configuration_id: "/subscriptions/<Subscription Id>/resourceGroups/<Resource Group Name>/providers/Microsoft.Network/loadBalancers/<Load Balancer Name>/frontendIPConfigurations/<Frontend IP Config Name>",
|
640
|
+
backend_address_pool_id: "/subscriptions/<Subscription Id>/resourceGroups/<Resource Group Name>/providers/Microsoft.Network/loadBalancers/<Load Balancer Name>/backendAddressPools/<Backend Address Pool Name>",
|
641
|
+
probe_id: "/subscriptions/<Subscription Id>/resourceGroups/<Resource Group Name>/providers/Microsoft.Network/loadBalancers<Load Balancer Name>lb/probes/<Probe Name>",
|
642
|
+
protocol: '<Protocol Name>',
|
643
|
+
frontend_port: '<Frontend Port Number>',
|
644
|
+
backend_port: '<Backend Port Number>'
|
645
|
+
}
|
646
|
+
],
|
647
|
+
inbound_nat_rules:
|
648
|
+
[
|
649
|
+
{
|
650
|
+
name: '<Rule Name>',
|
651
|
+
frontend_ip_configuration_id: "/subscriptions/<Subscription Id>/resourceGroups/<Resource Group Name>/providers/Microsoft.Network/loadBalancers/<Load Balancer Name>/frontendIPConfigurations/<Frontend IP Config Name>",
|
652
|
+
protocol: '<Protocol Name>',
|
653
|
+
frontend_port: '<Frontend Port Number>',
|
654
|
+
backend_port: '<Backend Port Number>'
|
655
|
+
},
|
656
|
+
|
657
|
+
{
|
658
|
+
name: '<Rule Name>',
|
659
|
+
frontend_ip_configuration_id: "/subscriptions/<Subscription Id>/resourceGroups/<Resource Group Name>/providers/Microsoft.Network/loadBalancers/<Load Balancer Name>/frontendIPConfigurations/<Frontend IP Config Name>",
|
660
|
+
protocol: '<Protocol Name>',
|
661
|
+
frontend_port: '<Frontend Port Number>',
|
662
|
+
backend_port: '<Backend Port Number>'
|
663
|
+
}
|
664
|
+
],
|
665
|
+
probes:
|
666
|
+
[
|
667
|
+
{
|
668
|
+
name: '<Probe Name>',
|
669
|
+
protocol: '<Protocol Name>',
|
670
|
+
request_path: '<Probe Request Path>',
|
671
|
+
port: '<Port Number>',
|
672
|
+
interval_in_seconds: <Interval in Seconds>,
|
673
|
+
number_of_probes: <Number of Probes>
|
674
|
+
}
|
675
|
+
],
|
676
|
+
tags: { key: 'value' } # [Optional]
|
677
|
+
)
|
678
|
+
```
|
679
|
+
|
680
|
+
## List Load Balancers
|
681
|
+
|
682
|
+
List all load balancers in a resource group
|
683
|
+
|
684
|
+
```ruby
|
685
|
+
lbs = fog_network_service.load_balancers(resource_group: '<Resource Group Name>')
|
686
|
+
lbs.each do |lb|
|
687
|
+
puts "#{lb.name}"
|
688
|
+
end
|
689
|
+
```
|
690
|
+
|
691
|
+
## List Load Balancers in subscription
|
692
|
+
|
693
|
+
List all load balancers in a subscription
|
694
|
+
|
695
|
+
```ruby
|
696
|
+
lbs = fog_network_service.load_balancers
|
697
|
+
lbs.each do |lb|
|
698
|
+
puts "#{lb.name}"
|
699
|
+
end
|
700
|
+
```
|
701
|
+
|
702
|
+
## Retrieve a single Load Balancer
|
703
|
+
|
704
|
+
Get a single record of Load Balancer
|
705
|
+
|
706
|
+
```ruby
|
707
|
+
lb = fog_network_service
|
708
|
+
.load_balancers
|
709
|
+
.get('<Resource Group Name>', '<Load Balancer Name>')
|
710
|
+
puts "#{lb.name}"
|
711
|
+
```
|
712
|
+
|
713
|
+
## Destroy a Load Balancer
|
714
|
+
|
715
|
+
Get a load balancer object from the get method and then destroy that load balancer.
|
716
|
+
|
717
|
+
```ruby
|
718
|
+
lb.destroy
|
719
|
+
```
|
720
|
+
|
721
|
+
## Check Virtual Network Gateway Existence
|
722
|
+
|
723
|
+
```ruby
|
724
|
+
fog_network_service.virtual_network_gateways.check_vnet_gateway_exists('<Resource Group Name>', '<Virtual Network Gateway Name>')
|
725
|
+
```
|
726
|
+
|
727
|
+
## Create Virtual Network Gateway
|
728
|
+
|
729
|
+
Create a new Virtual Network Gateway.
|
730
|
+
|
731
|
+
```ruby
|
732
|
+
network_gateway = network.virtual_network_gateways.create(
|
733
|
+
name: '<Virtual Network Gateway Name>',
|
734
|
+
location: '<Location>',
|
735
|
+
ip_configurations: [
|
736
|
+
{
|
737
|
+
name: '<IP Config Name>',
|
738
|
+
private_ipallocation_method:'<Private IP Allocation Method>',
|
739
|
+
public_ipaddress_id: '/subscriptions/<Subscription Id>/resourceGroups/<Resource Group Name>/providers/Microsoft.Network/publicIPAddresses/<Public IP Name>',
|
740
|
+
subnet_id: '/subscriptions/<Subscription Id>/resourceGroups/<Resource Group Name>/providers/Microsoft.Network/virtualNetworks/<Virtual Network Name>/subnets/<Subnet Name>',
|
741
|
+
private_ipaddress: <IP Address Value> # could be 'nil'
|
742
|
+
}
|
743
|
+
],
|
744
|
+
resource_group: '<Resource Group Name>',
|
745
|
+
sku_name: '<SKU Name>',
|
746
|
+
sku_tier: '<SKU Tier>',
|
747
|
+
sku_capacity: <SKU Capacity>,
|
748
|
+
gateway_type: '<Gateway Type>',
|
749
|
+
enable_bgp: <True/False>,
|
750
|
+
gateway_size: <Gateway Size>,
|
751
|
+
asn: <ASN Value>,
|
752
|
+
bgp_peering_address: <Peering Address>,
|
753
|
+
peer_weight: <Peer Weight>,
|
754
|
+
vpn_type: '<VPN Type>',
|
755
|
+
vpn_client_address_pool: [],
|
756
|
+
gateway_default_site: '/subscriptions/<Subscription Id>/resourceGroups/<Resource Group Name>/providers/Microsoft.Network/localNetworkGateways/<Local Network Gateway Name>',
|
757
|
+
default_sites: [],
|
758
|
+
vpn_client_configuration: {
|
759
|
+
address_pool: ['<IP Address>', '<IP Address>'],
|
760
|
+
root_certificates: [
|
761
|
+
{
|
762
|
+
name: '<Certificate Name>',
|
763
|
+
public_cert_data: '<Certificate Data>'
|
764
|
+
}
|
765
|
+
],
|
766
|
+
revoked_certificates: [
|
767
|
+
{
|
768
|
+
name: '<Certificate Name>',
|
769
|
+
thumbprint: '<Thumb Print Detail>'
|
770
|
+
}
|
771
|
+
]
|
772
|
+
},
|
773
|
+
tags: { # [Optional]
|
774
|
+
key1: 'value1',
|
775
|
+
key2: 'value2'
|
776
|
+
}
|
777
|
+
)
|
778
|
+
```
|
779
|
+
|
780
|
+
## List Virtual Network Gateways
|
781
|
+
|
782
|
+
List all virtual network gateways in a resource group
|
783
|
+
|
784
|
+
```ruby
|
785
|
+
network_gateways = network.virtual_network_gateways(resource_group: '<Resource Group Name>')
|
786
|
+
network_gateways.each do |gateway|
|
787
|
+
puts "#{gateway.name}"
|
788
|
+
end
|
789
|
+
```
|
790
|
+
|
791
|
+
## Retrieve single Virtual Network Gateway
|
792
|
+
|
793
|
+
Get single record of Virtual Network Gateway
|
794
|
+
|
795
|
+
```ruby
|
796
|
+
network_gateway = network.virtual_network_gateways.get('<Resource Group Name>', '<Virtual Network Gateway Name>')
|
797
|
+
puts "#{network_gateway.name}"
|
798
|
+
```
|
799
|
+
|
800
|
+
## Destroy single Virtual Network Gateway
|
801
|
+
|
802
|
+
Get a virtual network gateway object from the get method and then destroy that virtual network gateway.
|
803
|
+
|
804
|
+
```ruby
|
805
|
+
network_gateway.destroy
|
806
|
+
```
|
807
|
+
|
808
|
+
## Check Local Network Gateway Existence
|
809
|
+
|
810
|
+
```ruby
|
811
|
+
fog_network_service.local_network_gateways.check_local_net_gateway_exists('<Resource Group Name>', '<Local Network Gateway Name>')
|
812
|
+
```
|
813
|
+
|
814
|
+
## Create Local Network Gateway
|
815
|
+
|
816
|
+
Create a new Local Network Gateway.
|
817
|
+
|
818
|
+
```ruby
|
819
|
+
local_network_gateway = network.local_network_gateways.create(
|
820
|
+
name: "<Local Network Gateway Name>",
|
821
|
+
location: '<Location>',
|
822
|
+
resource_group: "<Resource Group Name>",
|
823
|
+
gateway_ip_address: '<IP Address>',
|
824
|
+
local_network_address_space_prefixes: [],
|
825
|
+
asn: <ASN Value>,
|
826
|
+
bgp_peering_address: '<Peering IP Address>',
|
827
|
+
peer_weight: <Peer Weight>,
|
828
|
+
tags: { # [Optional]
|
829
|
+
key1: 'value1',
|
830
|
+
key2: 'value2'
|
831
|
+
},
|
832
|
+
)
|
833
|
+
```
|
834
|
+
|
835
|
+
## List Local Network Gateways
|
836
|
+
|
837
|
+
List all local network gateways in a resource group
|
838
|
+
|
839
|
+
```ruby
|
840
|
+
local_network_gateways = network.local_network_gateways(resource_group: '<Resource Group Name>')
|
841
|
+
local_network_gateways.each do |gateway|
|
842
|
+
puts "#{gateway.name}"
|
843
|
+
end
|
844
|
+
```
|
845
|
+
|
846
|
+
## Retrieve single Local Network Gateway
|
847
|
+
|
848
|
+
Get single record of Local Network Gateway
|
849
|
+
|
850
|
+
```ruby
|
851
|
+
local_network_gateway = network.local_network_gateways.get('<Resource Group Name>', '<Local Network Gateway Name>')
|
852
|
+
puts "#{local_network_gateway.name}"
|
853
|
+
```
|
854
|
+
|
855
|
+
## Destroy single Local Network Gateway
|
856
|
+
|
857
|
+
Get a local network gateway object from the get method and then destroy that local network gateway.
|
858
|
+
|
859
|
+
```ruby
|
860
|
+
local_network_gateway.destroy
|
861
|
+
```
|
862
|
+
|
863
|
+
# Express Route
|
864
|
+
|
865
|
+
Microsoft Azure ExpressRoute lets you extend your on-premises networks into the Microsoft cloud over a dedicated private connection facilitated by a connectivity provider.
|
866
|
+
For more details about express route [click here](https://azure.microsoft.com/en-us/documentation/articles/expressroute-introduction/).
|
867
|
+
|
868
|
+
# Express Route Circuit
|
869
|
+
|
870
|
+
The Circuit represents the entity created by customer to register with an express route service provider with intent to connect to Microsoft.
|
871
|
+
|
872
|
+
## Check Express Route Circuit Existence
|
873
|
+
|
874
|
+
```ruby
|
875
|
+
fog_network_service.express_route_circuits.check_express_route_circuit_exists('<Resource Group Name>', '<Circuit Name>')
|
876
|
+
```
|
877
|
+
|
878
|
+
## Create an Express Route Circuit
|
879
|
+
|
880
|
+
Create a new Express Route Circuit.
|
881
|
+
|
882
|
+
```ruby
|
883
|
+
circuit = network.express_route_circuits.create(
|
884
|
+
name: '<Circuit Name>',
|
885
|
+
location: '<Location>',
|
886
|
+
resource_group: '<Resource Group Name>',
|
887
|
+
sku_name: '<SKU Name>',
|
888
|
+
sku_tier: '<SKU Tier>',
|
889
|
+
sku_family: '<SKU Family>',
|
890
|
+
service_provider_name: '<Security Provider Name>',
|
891
|
+
peering_location: '<Peering Location Name>',
|
892
|
+
bandwidth_in_mbps: <Bandwidth Value>,
|
893
|
+
peerings: [
|
894
|
+
{
|
895
|
+
name: '<Peering Name>',
|
896
|
+
peering_type: '<Peering Type>',
|
897
|
+
peer_asn: <ASN Value>,
|
898
|
+
primary_peer_address_prefix: '<Primary Peer IP Address Range>',
|
899
|
+
secondary_peer_address_prefix: '<Secondary Peer IP Address Range>',
|
900
|
+
vlan_id: <VLAN Id>
|
901
|
+
}
|
902
|
+
],
|
903
|
+
tags: { # [Optional]
|
904
|
+
key1: 'value1',
|
905
|
+
key2: 'value2'
|
906
|
+
}
|
907
|
+
)
|
908
|
+
```
|
909
|
+
|
910
|
+
## List Express Route Circuits
|
911
|
+
|
912
|
+
List all express route circuits in a resource group
|
913
|
+
|
914
|
+
```ruby
|
915
|
+
circuits = network.express_route_circuits(resource_group: '<Resource Group Name>')
|
916
|
+
circuits.each do |circuit|
|
917
|
+
puts "#{circuit.name}"
|
918
|
+
end
|
919
|
+
```
|
920
|
+
|
921
|
+
## Retrieve a single Express Route Circuit
|
922
|
+
|
923
|
+
Get a single record of Express Route Circuit
|
924
|
+
|
925
|
+
```ruby
|
926
|
+
circuit = network.express_route_circuits.get('<Resource Group Name>', '<Circuit Name>')
|
927
|
+
puts "#{circuit.name}"
|
928
|
+
```
|
929
|
+
|
930
|
+
## Destroy a single Express Route Circuit
|
931
|
+
|
932
|
+
Get an express route circuit object from the get method and then destroy that express route circuit.
|
933
|
+
|
934
|
+
```ruby
|
935
|
+
circuit.destroy
|
936
|
+
```
|
937
|
+
# Express Route Authorization
|
938
|
+
|
939
|
+
Authorization is part of Express Route circuit.
|
940
|
+
|
941
|
+
## Check Express Route Circuit Authorization Existence
|
942
|
+
|
943
|
+
```ruby
|
944
|
+
fog_network_service.express_route_circuit_authorizations.check_express_route_cir_auth_exists('<Resource Group Name>', '<Circuit Name>', '<Authorization Name>')
|
945
|
+
```
|
946
|
+
|
947
|
+
## Create an Express Route Circuit Authorization
|
948
|
+
|
949
|
+
Create a new Express Route Circuit Authorization. Parameter 'authorization_status' can be 'Available' or 'InUse'.
|
950
|
+
|
951
|
+
```ruby
|
952
|
+
authorization = network.express_route_circuit_authorizations.create(
|
953
|
+
resource_group: '<Resourse Group Name>',
|
954
|
+
name: '<Resource Unique Name>',
|
955
|
+
circuit_name: '<Circuit Name>',
|
956
|
+
authorization_status: '<Status Value>',
|
957
|
+
authorization_name: '<Authorization Name>'
|
958
|
+
)
|
959
|
+
```
|
960
|
+
|
961
|
+
## List Express Route Circuit Authorizations
|
962
|
+
|
963
|
+
List all express route circuit authorizations in a resource group.
|
964
|
+
|
965
|
+
```ruby
|
966
|
+
authorizations = network.express_route_circuit_authorizations(resource_group: '<Resource Group Name>', circuit_name: '<Circuit Name>')
|
967
|
+
authorizations.each do |authorization|
|
968
|
+
puts "#{authorization.name}"
|
969
|
+
end
|
970
|
+
```
|
971
|
+
|
972
|
+
## Retrieve single Express Route Circuit Authorization
|
973
|
+
|
974
|
+
Get a single record of Express Route Circuit Authorization.
|
975
|
+
|
976
|
+
```ruby
|
977
|
+
authorization = network.express_route_circuit_authorizations.get('<Resource Group Name>', '<Circuit Name>', '<Authorization Name>')
|
978
|
+
puts "#{authorization.name}"
|
979
|
+
```
|
980
|
+
|
981
|
+
## Destroy single Express Route Circuit Authorization
|
982
|
+
|
983
|
+
Get an express route circuit authorization object from the get method and then destroy that express route circuit authorization.
|
984
|
+
|
985
|
+
```ruby
|
986
|
+
authorization.destroy
|
987
|
+
```
|
988
|
+
|
989
|
+
|
990
|
+
# Express Route Peering
|
991
|
+
|
992
|
+
BGP Peering is part of Express Route circuit and defines the type of connectivity needed with Microsoft.
|
993
|
+
|
994
|
+
## Create an Express Route Circuit Peering
|
995
|
+
|
996
|
+
Create a new Express Route Circuit Peering.
|
997
|
+
|
998
|
+
```ruby
|
999
|
+
peering = network.express_route_circuit_peerings.create(
|
1000
|
+
name: '<Peering Name>',
|
1001
|
+
circuit_name: '<Circuit Name>',
|
1002
|
+
resource_group: '<Resourse Group Name>',
|
1003
|
+
peering_type: '<Peering Type>',
|
1004
|
+
peer_asn: <ASN Value>,
|
1005
|
+
primary_peer_address_prefix: '<Primary Peer IP Address Range>',
|
1006
|
+
secondary_peer_address_prefix:'<Secondary Peer IP Address Range>',
|
1007
|
+
vlan_id: <VLAN Id>
|
1008
|
+
)
|
1009
|
+
```
|
1010
|
+
|
1011
|
+
## List Express Route Circuit Peerings
|
1012
|
+
|
1013
|
+
List all express route circuit peerings in a resource group
|
1014
|
+
|
1015
|
+
```ruby
|
1016
|
+
peerings = network.express_route_circuit_peerings(resource_group: '<Resource Group Name>', circuit_name: '<Circuit Name>')
|
1017
|
+
peerings.each do |peering|
|
1018
|
+
puts "#{peering.name}"
|
1019
|
+
end
|
1020
|
+
```
|
1021
|
+
|
1022
|
+
## Retrieve single Express Route Circuit Peering
|
1023
|
+
|
1024
|
+
Get a single record of Express Route Circuit Peering
|
1025
|
+
|
1026
|
+
```ruby
|
1027
|
+
peering = network.express_route_circuit_peerings.get('<Resource Group Name>', '<Peering Name>', '<Circuit Name>')
|
1028
|
+
puts "#{peering.peering_type}"
|
1029
|
+
```
|
1030
|
+
|
1031
|
+
## Destroy single Express Route Circuit Peering
|
1032
|
+
|
1033
|
+
Get an express route circuit peering object from the get method and then destroy that express route circuit peering.
|
1034
|
+
|
1035
|
+
```ruby
|
1036
|
+
peering.destroy
|
1037
|
+
```
|
1038
|
+
|
1039
|
+
# Express Route Service Provider
|
1040
|
+
|
1041
|
+
Express Route Service Providers are telcos and exchange providers who are approved in the system to provide Express Route connectivity.
|
1042
|
+
|
1043
|
+
## List Express Route Service Providers
|
1044
|
+
|
1045
|
+
List all express route service providers
|
1046
|
+
|
1047
|
+
```ruby
|
1048
|
+
service_providers = network.express_route_service_providers
|
1049
|
+
puts service_providers
|
1050
|
+
```
|
1051
|
+
|
1052
|
+
## Check Virtual Network Gateway Connection Existence
|
1053
|
+
|
1054
|
+
```ruby
|
1055
|
+
fog_network_service.virtual_network_gateway_connections.check_vnet_gateway_connection_exists('<Resource Group Name>', '<Virtual Network Gateway Connection Name>')
|
1056
|
+
```
|
1057
|
+
|
1058
|
+
## Create Virtual Network Gateway Connection
|
1059
|
+
|
1060
|
+
Create a new Virtual Network Gateway Connection.
|
1061
|
+
|
1062
|
+
```ruby
|
1063
|
+
gateway_connection = network.virtual_network_gateway_connections.create(
|
1064
|
+
name: '<Virtual Network Gateway Connection Name>',
|
1065
|
+
location: '<Location>',
|
1066
|
+
resource_group: '<Resource Group Name>',
|
1067
|
+
virtual_network_gateway1: {
|
1068
|
+
name: '<VN Gateway Name>',
|
1069
|
+
resource_group: '<Resource Group Name>'
|
1070
|
+
},
|
1071
|
+
virtual_network_gateway2: {
|
1072
|
+
name: '<VN Gateway Name>',
|
1073
|
+
resource_group: '<Resource Group Name>'
|
1074
|
+
}
|
1075
|
+
connection_type: '<Connection Type>',
|
1076
|
+
tags: { # [Optional]
|
1077
|
+
key1: 'value1',
|
1078
|
+
key2: 'value2'
|
1079
|
+
},
|
1080
|
+
)
|
1081
|
+
```
|
1082
|
+
|
1083
|
+
## List Virtual Network Gateway Connections
|
1084
|
+
|
1085
|
+
List all virtual network gateway connections in a resource group
|
1086
|
+
|
1087
|
+
```ruby
|
1088
|
+
gateway_connections = network.virtual_network_gateway_connections(resource_group: '<Resource Group Name>')
|
1089
|
+
gateway_connections.each do |connection|
|
1090
|
+
puts "#{connection.name}"
|
1091
|
+
end
|
1092
|
+
```
|
1093
|
+
|
1094
|
+
## Retrieve single Virtual Network Gateway Connection
|
1095
|
+
|
1096
|
+
Get single record of Virtual Network Gateway Connection
|
1097
|
+
|
1098
|
+
```ruby
|
1099
|
+
gateway_connection = network.virtual_network_gateway_connections.get('<Resource Group Name>', '<Virtual Network Gateway Connection Name>')
|
1100
|
+
puts "#{gateway_connection.name}"
|
1101
|
+
```
|
1102
|
+
|
1103
|
+
## Destroy single Virtual Network Gateway Connection
|
1104
|
+
|
1105
|
+
Get a virtual network gateway connection object from the get method and then destroy that virtual network gateway connection.
|
1106
|
+
|
1107
|
+
```ruby
|
1108
|
+
gateway_connection.destroy
|
1109
|
+
```
|
1110
|
+
|
1111
|
+
## Get the shared key for a connection
|
1112
|
+
|
1113
|
+
```ruby
|
1114
|
+
shared_key = network.get_connection_shared_key('<Resource Group Name>', '<Virtual Network Gateway Connection Name>')
|
1115
|
+
puts gateway_connection
|
1116
|
+
```
|
1117
|
+
|
1118
|
+
## Set the shared key for a connection
|
1119
|
+
|
1120
|
+
```ruby
|
1121
|
+
network.set_connection_shared_key('<Resource Group Name>', '<Virtual Network Gateway Connection Name>', 'Value')
|
1122
|
+
```
|
1123
|
+
|
1124
|
+
## Reset the shared key for a connection
|
1125
|
+
|
1126
|
+
```ruby
|
1127
|
+
network.reset_connection_shared_key('<Resource Group Name>', '<Virtual Network Gateway Connection Name>', '<Key Length In Integer>')
|
1128
|
+
```
|
1129
|
+
|
1130
|
+
|
1131
|
+
## Support and Feedback
|
1132
|
+
Your feedback is highly appreciated! If you have specific issues with the fog ARM, you should file an issue via Github.
|