fog-azure-rm 0.1.2 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +11 -0
- data/Gemfile +1 -1
- data/README.md +0 -1
- data/fog-azure-rm.gemspec +4 -1
- data/lib/fog/azurerm.rb +7 -0
- data/lib/fog/azurerm/application_gateway.rb +10 -2
- data/lib/fog/azurerm/compute.rb +14 -4
- data/lib/fog/azurerm/config.rb +0 -51
- data/lib/fog/azurerm/constants.rb +51 -0
- data/lib/fog/azurerm/dns.rb +12 -4
- data/lib/fog/azurerm/docs/application_gateway.md +38 -4
- data/lib/fog/azurerm/docs/compute.md +23 -4
- data/lib/fog/azurerm/docs/dns.md +18 -4
- data/lib/fog/azurerm/docs/key_vault.md +88 -0
- data/lib/fog/azurerm/docs/network.md +98 -9
- data/lib/fog/azurerm/docs/resources.md +24 -4
- data/lib/fog/azurerm/docs/sql.md +5 -6
- data/lib/fog/azurerm/docs/storage.md +12 -0
- data/lib/fog/azurerm/docs/traffic_manager.md +22 -4
- data/lib/fog/azurerm/key_vault.rb +51 -0
- data/lib/fog/azurerm/models/application_gateway/backend_address_pool.rb +2 -0
- data/lib/fog/azurerm/models/application_gateway/backend_http_setting.rb +2 -0
- data/lib/fog/azurerm/models/application_gateway/frontend_ip_configuration.rb +4 -0
- data/lib/fog/azurerm/models/application_gateway/frontend_port.rb +2 -0
- data/lib/fog/azurerm/models/application_gateway/gateway.rb +2 -6
- data/lib/fog/azurerm/models/application_gateway/gateways.rb +4 -0
- data/lib/fog/azurerm/models/application_gateway/http_listener.rb +2 -0
- data/lib/fog/azurerm/models/application_gateway/ip_configuration.rb +3 -0
- data/lib/fog/azurerm/models/application_gateway/probe.rb +2 -0
- data/lib/fog/azurerm/models/application_gateway/request_routing_rule.rb +2 -0
- data/lib/fog/azurerm/models/application_gateway/ssl_certificate.rb +2 -0
- data/lib/fog/azurerm/models/application_gateway/url_path_map.rb +2 -0
- data/lib/fog/azurerm/models/compute/availability_sets.rb +4 -0
- data/lib/fog/azurerm/models/compute/servers.rb +4 -0
- data/lib/fog/azurerm/models/compute/virtual_machine_extensions.rb +4 -0
- data/lib/fog/azurerm/models/dns/record_sets.rb +4 -0
- data/lib/fog/azurerm/models/dns/zones.rb +2 -2
- data/lib/fog/azurerm/models/key_vault/access_policy_entry.rb +31 -0
- data/lib/fog/azurerm/models/key_vault/vault.rb +76 -0
- data/lib/fog/azurerm/models/key_vault/vaults.rb +27 -0
- data/lib/fog/azurerm/models/network/express_route_circuit_authorizations.rb +4 -0
- data/lib/fog/azurerm/models/network/express_route_circuits.rb +4 -0
- data/lib/fog/azurerm/models/network/load_balancers.rb +12 -2
- data/lib/fog/azurerm/models/network/local_network_gateways.rb +4 -0
- data/lib/fog/azurerm/models/network/network_interfaces.rb +4 -0
- data/lib/fog/azurerm/models/network/network_security_groups.rb +4 -0
- data/lib/fog/azurerm/models/network/network_security_rules.rb +4 -0
- data/lib/fog/azurerm/models/network/public_ips.rb +2 -9
- data/lib/fog/azurerm/models/network/subnets.rb +4 -0
- data/lib/fog/azurerm/models/network/virtual_network_gateway_connections.rb +4 -0
- data/lib/fog/azurerm/models/network/virtual_network_gateways.rb +4 -0
- data/lib/fog/azurerm/models/network/virtual_networks.rb +9 -11
- data/lib/fog/azurerm/models/resources/azure_resources.rb +4 -0
- data/lib/fog/azurerm/models/resources/deployments.rb +4 -0
- data/lib/fog/azurerm/models/resources/resource_groups.rb +4 -0
- data/lib/fog/azurerm/models/sql/firewall_rule.rb +5 -17
- data/lib/fog/azurerm/models/sql/firewall_rules.rb +4 -0
- data/lib/fog/azurerm/models/sql/sql_database.rb +4 -21
- data/lib/fog/azurerm/models/sql/sql_databases.rb +4 -0
- data/lib/fog/azurerm/models/sql/sql_server.rb +5 -18
- data/lib/fog/azurerm/models/sql/sql_servers.rb +4 -0
- data/lib/fog/azurerm/models/storage/directories.rb +4 -0
- data/lib/fog/azurerm/models/storage/storage_accounts.rb +4 -0
- data/lib/fog/azurerm/models/traffic_manager/traffic_manager_end_points.rb +4 -0
- data/lib/fog/azurerm/models/traffic_manager/traffic_manager_profiles.rb +4 -0
- data/lib/fog/azurerm/network.rb +22 -4
- 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 +6 -0
- data/lib/fog/azurerm/requests/compute/check_availability_set_exists.rb +31 -0
- data/lib/fog/azurerm/requests/compute/check_vm_exists.rb +31 -0
- data/lib/fog/azurerm/requests/compute/check_vm_extension_exists.rb +31 -0
- data/lib/fog/azurerm/requests/dns/check_record_set_exists.rb +31 -0
- data/lib/fog/azurerm/requests/dns/{check_for_zone.rb → check_zone_exists.rb} +4 -2
- data/lib/fog/azurerm/requests/dns/list_record_sets.rb +1 -1
- data/lib/fog/azurerm/requests/dns/list_zones.rb +2 -2
- 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 +105 -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/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_for_public_ip.rb → check_public_ip_exists.rb} +12 -5
- data/lib/fog/azurerm/requests/network/check_subnet_exists.rb +32 -0
- data/lib/fog/azurerm/requests/network/{check_for_virtual_network.rb → check_virtual_network_exists.rb} +11 -6
- 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/list_load_balancers_in_subscription.rb +31 -0
- data/lib/fog/azurerm/requests/network/list_virtual_networks_in_subscription.rb +74 -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/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 +26 -32
- data/lib/fog/azurerm/requests/sql/create_or_update_firewall_rule.rb +8 -22
- data/lib/fog/azurerm/requests/sql/create_or_update_sql_server.rb +14 -24
- data/lib/fog/azurerm/requests/sql/delete_database.rb +2 -9
- data/lib/fog/azurerm/requests/sql/delete_firewall_rule.rb +2 -9
- data/lib/fog/azurerm/requests/sql/delete_sql_server.rb +3 -9
- data/lib/fog/azurerm/requests/sql/get_database.rb +4 -10
- data/lib/fog/azurerm/requests/sql/get_firewall_rule.rb +4 -10
- data/lib/fog/azurerm/requests/sql/get_sql_server.rb +3 -10
- data/lib/fog/azurerm/requests/sql/list_databases.rb +3 -10
- data/lib/fog/azurerm/requests/sql/list_firewall_rules.rb +4 -10
- data/lib/fog/azurerm/requests/sql/list_sql_servers.rb +3 -10
- data/lib/fog/azurerm/requests/storage/check_container_exists.rb +30 -0
- data/lib/fog/azurerm/requests/storage/check_storage_account_exists.rb +31 -0
- data/lib/fog/azurerm/requests/storage/create_or_update_recovery_vault.rb +1 -1
- data/lib/fog/azurerm/requests/storage/delete_recovery_vault.rb +1 -1
- data/lib/fog/azurerm/requests/storage/disable_backup_protection.rb +1 -1
- data/lib/fog/azurerm/requests/storage/enable_backup_protection.rb +1 -1
- data/lib/fog/azurerm/requests/storage/get_all_backup_jobs.rb +1 -1
- data/lib/fog/azurerm/requests/storage/get_backup_container.rb +1 -1
- data/lib/fog/azurerm/requests/storage/get_backup_item.rb +1 -1
- data/lib/fog/azurerm/requests/storage/get_backup_protection_policy.rb +1 -1
- data/lib/fog/azurerm/requests/storage/get_recovery_vault.rb +1 -1
- data/lib/fog/azurerm/requests/storage/list_recovery_vaults.rb +1 -1
- data/lib/fog/azurerm/requests/storage/set_recovery_vault_context.rb +1 -1
- data/lib/fog/azurerm/requests/storage/start_backup.rb +1 -1
- 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/resources.rb +10 -2
- data/lib/fog/azurerm/sql.rb +18 -10
- data/lib/fog/azurerm/storage.rb +4 -0
- data/lib/fog/azurerm/traffic_manager.rb +9 -2
- data/lib/fog/azurerm/version.rb +1 -1
- data/rake-script.sh +3 -10
- data/test/api_stub.rb +8 -0
- data/test/api_stub/models/key_vault/vault.rb +39 -0
- data/test/api_stub/models/sql/sql_database.rb +18 -16
- data/test/api_stub/models/sql/sql_firewall_rule.rb +12 -10
- data/test/api_stub/models/sql/sql_server.rb +12 -10
- data/test/api_stub/requests/key_vault/vault.rb +95 -0
- data/test/api_stub/requests/sql/database.rb +8 -6
- data/test/api_stub/requests/sql/firewall_rule.rb +8 -4
- data/test/api_stub/requests/sql/sql_server.rb +8 -4
- data/test/integration/Virtual_network_gateway_connection.rb +7 -0
- data/test/integration/application_gateway.rb +8 -0
- data/test/integration/availability_set.rb +13 -2
- data/test/integration/blob.rb +0 -6
- data/test/integration/container.rb +7 -0
- data/test/integration/deployment.rb +7 -0
- data/test/integration/express_route_circuit.rb +16 -0
- data/test/integration/external_load_balancer.rb +18 -0
- data/test/integration/key_vault.rb +98 -0
- data/test/integration/local_network_gateway.rb +8 -0
- data/test/integration/network_interface.rb +8 -0
- data/test/integration/network_security_group.rb +8 -0
- data/test/integration/network_security_rule.rb +8 -0
- data/test/integration/public_ip.rb +3 -2
- data/test/integration/record_set.rb +8 -0
- data/test/integration/resource_group.rb +12 -4
- data/test/integration/resource_tag.rb +7 -0
- data/test/integration/server.rb +8 -0
- data/test/integration/sql_server.rb +23 -3
- data/test/integration/storage_account.rb +8 -1
- data/test/integration/subnet.rb +7 -0
- data/test/integration/traffic_manager.rb +14 -0
- data/test/integration/virtual_machine_extension.rb +8 -0
- data/test/integration/virtual_network.rb +13 -4
- data/test/integration/virtual_network_gateway.rb +7 -0
- data/test/integration/zone.rb +8 -0
- data/test/models/application_gateway/test_gateway.rb +1 -0
- data/test/models/application_gateway/test_gateways.rb +14 -1
- data/test/models/compute/test_availability_sets.rb +14 -1
- data/test/models/compute/test_servers.rb +14 -1
- data/test/models/compute/test_virtual_machine_extensions.rb +14 -1
- data/test/models/dns/test_record_sets.rb +14 -1
- data/test/models/dns/test_zones.rb +7 -7
- data/test/models/key_vault/test_vault.rb +39 -0
- data/test/models/key_vault/test_vaults.rb +55 -0
- data/test/models/network/test_express_route_circuit_authorizations.rb +14 -1
- data/test/models/network/test_express_route_circuits.rb +14 -1
- data/test/models/network/test_load_balancers.rb +14 -1
- data/test/models/network/test_local_network_gateways.rb +14 -1
- data/test/models/network/test_network_interfaces.rb +14 -1
- data/test/models/network/test_network_security_groups.rb +14 -1
- data/test/models/network/test_network_security_rules.rb +14 -1
- data/test/models/network/test_public_ips.rb +6 -6
- data/test/models/network/test_subnets.rb +14 -1
- data/test/models/network/test_virtual_network_gateway_connections.rb +14 -1
- data/test/models/network/test_virtual_network_gateways.rb +14 -1
- data/test/models/network/test_virtual_networks.rb +20 -8
- data/test/models/resources/test_deployments.rb +14 -1
- data/test/models/resources/test_resource_groups.rb +14 -1
- data/test/models/resources/test_resources.rb +16 -3
- data/test/models/sql/test_database.rb +3 -4
- data/test/models/sql/test_databases.rb +5 -5
- data/test/models/sql/test_firewall_rule.rb +2 -1
- data/test/models/sql/test_firewall_rules.rb +3 -2
- data/test/models/sql/test_sql_server.rb +2 -1
- data/test/models/sql/test_sql_servers.rb +5 -5
- data/test/models/storage/test_directories.rb +14 -1
- data/test/models/storage/test_storage_accounts.rb +14 -1
- data/test/models/traffic_manager/test_traffic_manager_end_points.rb +14 -1
- data/test/models/traffic_manager/test_traffic_manager_profiles.rb +14 -1
- data/test/requests/application_gateway/test_check_ag_exists.rb +31 -0
- data/test/requests/compute/test_check_availability_set_exists.rb +31 -0
- data/test/requests/compute/test_check_vm_exists.rb +31 -0
- data/test/requests/compute/test_check_vm_extension_exists.rb +31 -0
- data/test/requests/dns/test_check_record_set_exists.rb +31 -0
- data/test/requests/dns/test_check_zone_exists.rb +35 -0
- data/test/requests/dns/test_list_record_sets.rb +35 -0
- data/test/requests/dns/{test_check_for_zone.rb → test_list_zones.rb} +10 -8
- data/test/requests/key_vault/test_check_vault_exists.rb +31 -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_check_express_route_cir_auth_exists.rb +31 -0
- data/test/requests/network/test_check_express_route_circuit_exists.rb +31 -0
- data/test/requests/network/test_check_load_balancer_exists.rb +31 -0
- data/test/requests/network/test_check_local_net_gateway_exists.rb +31 -0
- data/test/requests/network/test_check_net_sec_group_exists.rb +31 -0
- data/test/requests/network/test_check_net_sec_rule_exists.rb +31 -0
- data/test/requests/network/test_check_network_interface_exists.rb +31 -0
- data/test/requests/network/{test_check_for_public_ip.rb → test_check_public_ip_exists.rb} +8 -8
- data/test/requests/network/test_check_subnet_exists.rb +31 -0
- data/test/requests/network/{test_check_for_virtual_network.rb → test_check_virtual_network_exists.rb} +8 -8
- data/test/requests/network/test_check_vnet_gateway_connection_exists.rb +31 -0
- data/test/requests/network/test_check_vnet_gateway_exists.rb +31 -0
- data/test/requests/network/test_list_virtual_networks_in_subscription.rb +24 -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/sql/test_create_or_update_database.rb +9 -12
- data/test/requests/sql/test_create_or_update_firewall_rule.rb +9 -11
- data/test/requests/sql/test_create_or_update_sql_server.rb +9 -12
- data/test/requests/sql/test_delete_database.rb +6 -17
- data/test/requests/sql/test_delete_firewall_rule.rb +6 -17
- data/test/requests/sql/test_delete_sql_server.rb +6 -17
- data/test/requests/sql/test_get_database.rb +7 -18
- data/test/requests/sql/test_get_firewall_rule.rb +7 -18
- data/test/requests/sql/test_get_sql_server.rb +7 -18
- data/test/requests/sql/test_list_databases.rb +7 -18
- data/test/requests/sql/test_list_firewall_rules.rb +7 -18
- data/test/requests/sql/test_list_sql_servers.rb +7 -18
- data/test/requests/storage/test_check_container_exists.rb +18 -0
- data/test/requests/storage/test_check_storage_account_exists.rb +32 -0
- data/test/requests/traffic_manager/test_check_traffic_manager_endpoint_exists.rb +31 -0
- data/test/requests/traffic_manager/test_check_traffic_manager_profile_exists.rb +31 -0
- data/test/test_helper.rb +39 -4
- metadata +125 -10
@@ -6,16 +6,9 @@ module Fog
|
|
6
6
|
def delete_database(resource_group, server_name, name)
|
7
7
|
msg = "Deleting SQL Database: #{name}."
|
8
8
|
Fog::Logger.debug msg
|
9
|
-
resource_url = "#{resource_manager_endpoint_url}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers/#{server_name}/databases/#{name}?api-version=2014-04-01-preview"
|
10
9
|
begin
|
11
|
-
|
12
|
-
|
13
|
-
resource_url,
|
14
|
-
accept: :json,
|
15
|
-
content_type: :json,
|
16
|
-
authorization: token
|
17
|
-
)
|
18
|
-
rescue RestClient::Exception => e
|
10
|
+
@sql_mgmt_client.databases.delete(resource_group, server_name, name)
|
11
|
+
rescue MsRestAzure::AzureOperationError => e
|
19
12
|
raise_azure_exception(e, msg)
|
20
13
|
end
|
21
14
|
Fog::Logger.debug "SQL Database: #{name} deleted successfully."
|
@@ -7,16 +7,9 @@ module Fog
|
|
7
7
|
msg = "Deleting SQL Firewall Rule: #{rule_name}."
|
8
8
|
Fog::Logger.debug msg
|
9
9
|
|
10
|
-
resource_url = "#{resource_manager_endpoint_url}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers/#{server_name}/firewallRules/#{rule_name}?api-version=2014-04-01-preview"
|
11
10
|
begin
|
12
|
-
|
13
|
-
|
14
|
-
resource_url,
|
15
|
-
accept: :json,
|
16
|
-
content_type: :json,
|
17
|
-
authorization: token
|
18
|
-
)
|
19
|
-
rescue RestClient::Exception => e
|
11
|
+
@sql_mgmt_client.servers.delete_firewall_rule(resource_group, server_name, rule_name)
|
12
|
+
rescue MsRestAzure::AzureOperationError => e
|
20
13
|
raise_azure_exception(e, msg)
|
21
14
|
end
|
22
15
|
Fog::Logger.debug "SQL Firewall Rule: #{rule_name} deleted successfully."
|
@@ -6,16 +6,10 @@ module Fog
|
|
6
6
|
def delete_sql_server(resource_group, name)
|
7
7
|
msg = "Deleting SQL Server: #{name}."
|
8
8
|
Fog::Logger.debug msg
|
9
|
-
|
9
|
+
|
10
10
|
begin
|
11
|
-
|
12
|
-
|
13
|
-
resource_url,
|
14
|
-
accept: :json,
|
15
|
-
content_type: :json,
|
16
|
-
authorization: token
|
17
|
-
)
|
18
|
-
rescue RestClient::Exception => e
|
11
|
+
@sql_mgmt_client.servers.delete(resource_group, name)
|
12
|
+
rescue MsRestAzure::AzureOperationError => e
|
19
13
|
raise_azure_exception(e, msg)
|
20
14
|
end
|
21
15
|
Fog::Logger.debug "SQL Server: #{name} deleted successfully."
|
@@ -6,20 +6,14 @@ module Fog
|
|
6
6
|
def get_database(resource_group, server_name, name)
|
7
7
|
msg = "Getting Sql Database: #{name} in Resource Group: #{resource_group}."
|
8
8
|
Fog::Logger.debug msg
|
9
|
-
|
9
|
+
|
10
10
|
begin
|
11
|
-
|
12
|
-
|
13
|
-
resource_url,
|
14
|
-
accept: :json,
|
15
|
-
content_type: :json,
|
16
|
-
authorization: token
|
17
|
-
)
|
18
|
-
rescue RestClient::Exception => e
|
11
|
+
database = @sql_mgmt_client.databases.get(resource_group, server_name, name)
|
12
|
+
rescue MsRestAzure::AzureOperationError => e
|
19
13
|
raise_azure_exception(e, msg)
|
20
14
|
end
|
21
15
|
Fog::Logger.debug "Sql Database fetched successfully in Resource Group: #{resource_group}"
|
22
|
-
|
16
|
+
database
|
23
17
|
end
|
24
18
|
end
|
25
19
|
|
@@ -6,20 +6,14 @@ module Fog
|
|
6
6
|
def get_firewall_rule(resource_group, server_name, rule_name)
|
7
7
|
msg = "Getting Sql Server Firewall Rule: #{rule_name} from SQL Server: #{server_name} in Resource Group: #{resource_group}..."
|
8
8
|
Fog::Logger.debug msg
|
9
|
-
|
9
|
+
|
10
10
|
begin
|
11
|
-
|
12
|
-
|
13
|
-
resource_url,
|
14
|
-
accept: :json,
|
15
|
-
content_type: :json,
|
16
|
-
authorization: token
|
17
|
-
)
|
18
|
-
rescue RestClient::Exception => e
|
11
|
+
firewall_rule = @sql_mgmt_client.servers.get_firewall_rule(resource_group, server_name, rule_name)
|
12
|
+
rescue MsRestAzure::AzureOperationError => e
|
19
13
|
raise_azure_exception(e, msg)
|
20
14
|
end
|
21
15
|
Fog::Logger.debug "Sql Server Firewall Rule fetched successfully from Server: #{server_name}, Resource Group: #{resource_group}"
|
22
|
-
|
16
|
+
firewall_rule
|
23
17
|
end
|
24
18
|
end
|
25
19
|
|
@@ -6,20 +6,13 @@ module Fog
|
|
6
6
|
def get_sql_server(resource_group, server_name)
|
7
7
|
msg = "Getting Sql Server: #{server_name} in Resource Group: #{resource_group}..."
|
8
8
|
Fog::Logger.debug msg
|
9
|
-
resource_url = "#{resource_manager_endpoint_url}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers/#{server_name}?api-version=2014-04-01-preview"
|
10
9
|
begin
|
11
|
-
|
12
|
-
|
13
|
-
resource_url,
|
14
|
-
accept: :json,
|
15
|
-
content_type: :json,
|
16
|
-
authorization: token
|
17
|
-
)
|
18
|
-
rescue RestClient::Exception => e
|
10
|
+
sql_server = @sql_mgmt_client.servers.get_by_resource_group(resource_group, server_name)
|
11
|
+
rescue MsRestAzure::AzureOperationError => e
|
19
12
|
raise_azure_exception(e, msg)
|
20
13
|
end
|
21
14
|
Fog::Logger.debug "Sql Server fetched successfully in Resource Group: #{resource_group}"
|
22
|
-
|
15
|
+
sql_server
|
23
16
|
end
|
24
17
|
end
|
25
18
|
|
@@ -6,20 +6,13 @@ module Fog
|
|
6
6
|
def list_databases(resource_group, server_name)
|
7
7
|
msg = "Listing Sql Databases in Resource Group: #{resource_group}."
|
8
8
|
Fog::Logger.debug msg
|
9
|
-
resource_url = "#{resource_manager_endpoint_url}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers/#{server_name}/databases?api-version=2014-04-01-preview"
|
10
9
|
begin
|
11
|
-
|
12
|
-
|
13
|
-
resource_url,
|
14
|
-
accept: :json,
|
15
|
-
content_type: :json,
|
16
|
-
authorization: token
|
17
|
-
)
|
18
|
-
rescue RestClient::Exception => e
|
10
|
+
databases = @sql_mgmt_client.databases.list_by_server(resource_group, server_name)
|
11
|
+
rescue MsRestAzure::AzureOperationError => e
|
19
12
|
raise_azure_exception(e, msg)
|
20
13
|
end
|
21
14
|
Fog::Logger.debug "Sql Databases listed successfully in Resource Group: #{resource_group}"
|
22
|
-
|
15
|
+
databases
|
23
16
|
end
|
24
17
|
end
|
25
18
|
|
@@ -6,20 +6,14 @@ module Fog
|
|
6
6
|
def list_firewall_rules(resource_group, server_name)
|
7
7
|
msg = "Listing Sql Server Firewall rules on server: #{server_name} in Resource Group: #{resource_group}."
|
8
8
|
Fog::Logger.debug msg
|
9
|
-
|
9
|
+
|
10
10
|
begin
|
11
|
-
|
12
|
-
|
13
|
-
resource_url,
|
14
|
-
accept: :json,
|
15
|
-
content_type: :json,
|
16
|
-
authorization: token
|
17
|
-
)
|
18
|
-
rescue RestClient::Exception => e
|
11
|
+
firewall_rules = @sql_mgmt_client.servers.list_firewall_rules(resource_group, server_name)
|
12
|
+
rescue MsRestAzure::AzureOperationError => e
|
19
13
|
raise_azure_exception(e, msg)
|
20
14
|
end
|
21
15
|
Fog::Logger.debug "Sql Server Firewall Rules listed successfully on server: #{server_name} in Resource Group: #{resource_group}"
|
22
|
-
|
16
|
+
firewall_rules
|
23
17
|
end
|
24
18
|
end
|
25
19
|
|
@@ -6,20 +6,13 @@ module Fog
|
|
6
6
|
def list_sql_servers(resource_group)
|
7
7
|
msg = "Listing Sql Servers in Resource Group: #{resource_group}."
|
8
8
|
Fog::Logger.debug msg
|
9
|
-
resource_url = "#{resource_manager_endpoint_url}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.Sql/servers?api-version=2014-04-01-preview"
|
10
9
|
begin
|
11
|
-
|
12
|
-
|
13
|
-
resource_url,
|
14
|
-
accept: :json,
|
15
|
-
content_type: :json,
|
16
|
-
authorization: token
|
17
|
-
)
|
18
|
-
rescue RestClient::Exception => e
|
10
|
+
servers = @sql_mgmt_client.servers.list_by_resource_group(resource_group)
|
11
|
+
rescue MsRestAzure::AzureOperationError => e
|
19
12
|
raise_azure_exception(e, msg)
|
20
13
|
end
|
21
14
|
Fog::Logger.debug "Sql Servers listed successfully in Resource Group: #{resource_group}"
|
22
|
-
|
15
|
+
servers
|
23
16
|
end
|
24
17
|
end
|
25
18
|
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Fog
|
2
|
+
module Storage
|
3
|
+
class AzureRM
|
4
|
+
# This class provides the actual implementation for service calls.
|
5
|
+
class Real
|
6
|
+
def check_container_exists(name)
|
7
|
+
msg = "Checking container #{name}."
|
8
|
+
Fog::Logger.debug msg
|
9
|
+
begin
|
10
|
+
get_container_properties(name)
|
11
|
+
Fog::Logger.debug "Container #{name} exists."
|
12
|
+
true
|
13
|
+
rescue Exception => e
|
14
|
+
if e.message.include? 'NotFound'
|
15
|
+
Fog::Logger.debug "The specified container #{name} does not exist."
|
16
|
+
false
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
# This class provides the mock implementation for unit tests.
|
23
|
+
class Mock
|
24
|
+
def check_container_exists(*)
|
25
|
+
true
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Fog
|
2
|
+
module Storage
|
3
|
+
class AzureRM
|
4
|
+
# This class provides the actual implementation for service calls.
|
5
|
+
class Real
|
6
|
+
def check_storage_account_exists(resource_group_name, storage_account_name)
|
7
|
+
msg = "Checking Storage Account: #{storage_account_name}."
|
8
|
+
Fog::Logger.debug msg
|
9
|
+
begin
|
10
|
+
@storage_mgmt_client.storage_accounts.get_properties(resource_group_name, storage_account_name)
|
11
|
+
Fog::Logger.debug "Storage Account #{storage_account_name} exists."
|
12
|
+
true
|
13
|
+
rescue MsRestAzure::AzureOperationError => e
|
14
|
+
if e.body['error']['code'] == 'ResourceNotFound'
|
15
|
+
Fog::Logger.debug "Storage Account #{storage_account_name} doesn't exist."
|
16
|
+
false
|
17
|
+
else
|
18
|
+
raise_azure_exception(e, msg)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
# This class provides the mock implementation.
|
24
|
+
class Mock
|
25
|
+
def check_storage_account_exists(*)
|
26
|
+
true
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -7,7 +7,7 @@ module Fog
|
|
7
7
|
msg = "Creating/Updating Recovery Vault #{name} in Resource Group #{resource_group}"
|
8
8
|
Fog::Logger.debug msg
|
9
9
|
|
10
|
-
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults/#{name}?api-version
|
10
|
+
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults/#{name}?api-version=#{REST_CLIENT_API_VERSION[1]}"
|
11
11
|
body = {
|
12
12
|
location: location,
|
13
13
|
tags: {},
|
@@ -6,7 +6,7 @@ module Fog
|
|
6
6
|
def delete_recovery_vault(resource_group, name)
|
7
7
|
msg = "Deleting Recovery Vault #{name} from Resource Group #{resource_group}"
|
8
8
|
Fog::Logger.debug msg
|
9
|
-
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults/#{name}?api-version
|
9
|
+
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults/#{name}?api-version=#{REST_CLIENT_API_VERSION[1]}"
|
10
10
|
begin
|
11
11
|
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
|
12
12
|
RestClient.delete(
|
@@ -12,7 +12,7 @@ module Fog
|
|
12
12
|
set_recovery_vault_context(rv_resource_group, rv_name)
|
13
13
|
vm_id = get_virtual_machine_id(vm_resource_group, vm_name)
|
14
14
|
|
15
|
-
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{rv_resource_group}/providers/Microsoft.RecoveryServices/vaults/#{rv_name}/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;#{vm_resource_group.downcase};#{vm_name.downcase}/protectedItems/vm;iaasvmcontainerv2;#{vm_resource_group.downcase};#{vm_name.downcase}?api-version
|
15
|
+
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{rv_resource_group}/providers/Microsoft.RecoveryServices/vaults/#{rv_name}/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;#{vm_resource_group.downcase};#{vm_name.downcase}/protectedItems/vm;iaasvmcontainerv2;#{vm_resource_group.downcase};#{vm_name.downcase}?api-version=#{REST_CLIENT_API_VERSION[1]}"
|
16
16
|
body = {
|
17
17
|
properties: {
|
18
18
|
protectedItemType: 'Microsoft.Compute/virtualMachines',
|
@@ -14,7 +14,7 @@ module Fog
|
|
14
14
|
policy = backup_protection_policy.select { |item| item['name'].eql? 'DefaultPolicy' }[0]
|
15
15
|
vm_id = get_virtual_machine_id(vm_resource_group, vm_name)
|
16
16
|
|
17
|
-
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{rv_resource_group}/providers/Microsoft.RecoveryServices/vaults/#{rv_name}/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;#{vm_resource_group.downcase};#{vm_name.downcase}/protectedItems/vm;iaasvmcontainerv2;#{vm_resource_group.downcase};#{vm_name.downcase}?api-version
|
17
|
+
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{rv_resource_group}/providers/Microsoft.RecoveryServices/vaults/#{rv_name}/backupFabrics/Azure/protectionContainers/iaasvmcontainer;iaasvmcontainerv2;#{vm_resource_group.downcase};#{vm_name.downcase}/protectedItems/vm;iaasvmcontainerv2;#{vm_resource_group.downcase};#{vm_name.downcase}?api-version=#{REST_CLIENT_API_VERSION[1]}"
|
18
18
|
body = {
|
19
19
|
properties: {
|
20
20
|
protectedItemType: 'Microsoft.Compute/virtualMachines',
|
@@ -7,7 +7,7 @@ module Fog
|
|
7
7
|
msg = "Getting all backup jobs for Recovery Vault #{rv_name}"
|
8
8
|
Fog::Logger.debug msg
|
9
9
|
|
10
|
-
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{rv_resource_group}/providers/Microsoft.RecoveryServices/vaults/#{rv_name}/backupJobs?api-version
|
10
|
+
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{rv_resource_group}/providers/Microsoft.RecoveryServices/vaults/#{rv_name}/backupJobs?api-version=#{REST_CLIENT_API_VERSION[1]}&$filter=status eq 'InProgress'"
|
11
11
|
begin
|
12
12
|
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
|
13
13
|
response = RestClient.get(
|
@@ -7,7 +7,7 @@ module Fog
|
|
7
7
|
msg = "Getting backup container from Recovery Vault #{rv_name}"
|
8
8
|
Fog::Logger.debug msg
|
9
9
|
|
10
|
-
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults/#{rv_name}/backupProtectionContainers?api-version
|
10
|
+
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults/#{rv_name}/backupProtectionContainers?api-version=#{REST_CLIENT_API_VERSION[1]}&$filter=backupManagementType eq 'AzureIaasVM' and status eq 'Registered' and friendlyName eq '#{vm_name}'"
|
11
11
|
begin
|
12
12
|
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
|
13
13
|
response = RestClient.get(
|
@@ -7,7 +7,7 @@ module Fog
|
|
7
7
|
msg = "Getting backup item from Recovery Vault #{rv_name}"
|
8
8
|
Fog::Logger.debug msg
|
9
9
|
|
10
|
-
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults/#{rv_name}/backupProtectedItems?api-version
|
10
|
+
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults/#{rv_name}/backupProtectedItems?api-version=#{REST_CLIENT_API_VERSION[1]}&$filter=backupManagementType eq 'AzureIaasVM' and itemType eq 'VM'"
|
11
11
|
begin
|
12
12
|
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
|
13
13
|
response = RestClient.get(
|
@@ -7,7 +7,7 @@ module Fog
|
|
7
7
|
msg = "Get backup protection policy from Resource Group #{resource_group}"
|
8
8
|
Fog::Logger.debug msg
|
9
9
|
|
10
|
-
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults/#{name}/backupPolicies?api-version
|
10
|
+
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults/#{name}/backupPolicies?api-version=#{REST_CLIENT_API_VERSION[1]}&$filter=backupManagementType eq 'AzureIaasVM'"
|
11
11
|
begin
|
12
12
|
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
|
13
13
|
response = RestClient.get(
|
@@ -6,7 +6,7 @@ module Fog
|
|
6
6
|
def get_recovery_vault(resource_group, name)
|
7
7
|
msg = "Retrieving Recovery Vault #{name} from Resource Group #{resource_group}"
|
8
8
|
Fog::Logger.debug msg
|
9
|
-
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults?api-version
|
9
|
+
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults?api-version=#{REST_CLIENT_API_VERSION[1]}"
|
10
10
|
begin
|
11
11
|
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
|
12
12
|
recovery_vault_response = RestClient.get(
|
@@ -6,7 +6,7 @@ module Fog
|
|
6
6
|
def list_recovery_vaults(resource_group)
|
7
7
|
msg = "Listing Recovery Vaults in Resource Group #{resource_group}"
|
8
8
|
Fog::Logger.debug msg
|
9
|
-
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults?api-version
|
9
|
+
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults?api-version=#{REST_CLIENT_API_VERSION[1]}"
|
10
10
|
begin
|
11
11
|
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
|
12
12
|
recovery_vaults_response = RestClient.get(
|
@@ -7,7 +7,7 @@ module Fog
|
|
7
7
|
msg = "Set context for Recovery Vault #{name}"
|
8
8
|
Fog::Logger.debug msg
|
9
9
|
|
10
|
-
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults/#{name}?api-version
|
10
|
+
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults/#{name}?api-version=#{REST_CLIENT_API_VERSION[1]}"
|
11
11
|
begin
|
12
12
|
token = Fog::Credentials::AzureRM.get_token(@tenant_id, @client_id, @client_secret)
|
13
13
|
RestClient.get(
|
@@ -19,7 +19,7 @@ module Fog
|
|
19
19
|
backup_items = get_backup_item(resource_group, name)
|
20
20
|
backup_item = backup_items.select { |item| (item['properties']['friendlyName'].eql? vm_name.downcase) && (vm_resource_group.eql? get_resource_group_from_id(item['properties']['virtualMachineId'])) }[0]
|
21
21
|
|
22
|
-
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults/#{name}/backupFabrics/Azure/protectionContainers/iaasvmcontainer;#{backup_item['name']}/protectedItems/vm;#{backup_item['name']}/backup?api-version
|
22
|
+
resource_url = "#{AZURE_RESOURCE}/subscriptions/#{@subscription_id}/resourceGroups/#{resource_group}/providers/Microsoft.RecoveryServices/vaults/#{name}/backupFabrics/Azure/protectionContainers/iaasvmcontainer;#{backup_item['name']}/protectedItems/vm;#{backup_item['name']}/backup?api-version=#{REST_CLIENT_API_VERSION[1]}"
|
23
23
|
body = {
|
24
24
|
properties: {
|
25
25
|
objectType: IAAS_VM_BACKUP_REQUEST
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Fog
|
2
|
+
module TrafficManager
|
3
|
+
class AzureRM
|
4
|
+
# This class provides the actual implementation for service calls.
|
5
|
+
class Real
|
6
|
+
def check_traffic_manager_endpoint_exists(resource_group, traffic_manager_profile_name, traffic_manager_end_point, type)
|
7
|
+
msg = "Checking Traffic Manager Endpoint #{traffic_manager_end_point}"
|
8
|
+
Fog::Logger.debug msg
|
9
|
+
begin
|
10
|
+
@traffic_mgmt_client.endpoints.get(resource_group, traffic_manager_profile_name, type, traffic_manager_end_point)
|
11
|
+
Fog::Logger.debug "Traffic Manager Endpoint #{traffic_manager_end_point} exists."
|
12
|
+
true
|
13
|
+
rescue MsRestAzure::AzureOperationError => e
|
14
|
+
if e.body['code'] == 'NotFound'
|
15
|
+
Fog::Logger.debug "Traffic Manager Endpoint #{traffic_manager_end_point} doesn't exist."
|
16
|
+
false
|
17
|
+
else
|
18
|
+
raise_azure_exception(e, msg)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
# This class provides the mock implementation for unit tests.
|
24
|
+
class Mock
|
25
|
+
def check_traffic_manager_endpoint_exists(*)
|
26
|
+
true
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Fog
|
2
|
+
module TrafficManager
|
3
|
+
class AzureRM
|
4
|
+
# This class provides the actual implementation for service calls.
|
5
|
+
class Real
|
6
|
+
def check_traffic_manager_profile_exists(resource_group, traffic_manager_profile_name)
|
7
|
+
msg = "Checking Traffic Manager Profile #{traffic_manager_profile_name}"
|
8
|
+
Fog::Logger.debug msg
|
9
|
+
begin
|
10
|
+
@traffic_mgmt_client.profiles.get(resource_group, traffic_manager_profile_name)
|
11
|
+
Fog::Logger.debug "Traffic Manager Profile #{traffic_manager_profile_name} exists."
|
12
|
+
true
|
13
|
+
rescue MsRestAzure::AzureOperationError => e
|
14
|
+
if e.body['error']['code'] == 'ResourceNotFound'
|
15
|
+
Fog::Logger.debug "Traffic Manager Profile #{traffic_manager_profile_name} doesn't exist."
|
16
|
+
false
|
17
|
+
else
|
18
|
+
raise_azure_exception(e, msg)
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
# This class provides the mock implementation for unit tests.
|
24
|
+
class Mock
|
25
|
+
def check_traffic_manager_profile_exists(*)
|
26
|
+
true
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|