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
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 37e9a15cf8f593c6eca92fddd5099c18d219f0be
|
4
|
+
data.tar.gz: 49fae3451340031eea99a48be0ab7eaef088ac04
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c7163130df668fe82cc2c517a51b826085f931328afd5c8b72da34aa5baacbfc8ba45a38062e51985df74e20991663f633d69cf16a3b071e8a62af06936d0089
|
7
|
+
data.tar.gz: 4b1203a28c2ca1f24b2f269fdb9b0b9256d26fcf90ef2cf6fa47b12e7d74d6c9d923fcff8ffd4938c81e341a821985c7409c2e6d4db3607cf34f324ebfe5f215
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,14 @@
|
|
1
|
+
## 0.2.0
|
2
|
+
|
3
|
+
**Added:**
|
4
|
+
- Added support for multiple environments
|
5
|
+
- Added support to check for resource existence
|
6
|
+
|
7
|
+
**Changed:**
|
8
|
+
- Azure SQL Service - Updated Azure SQL Support to use azure_mgmt_sql gem.
|
9
|
+
- Azure Network Service - Added list all request in Load Balancer and Virtual Network
|
10
|
+
|
11
|
+
|
1
12
|
## 0.1.2
|
2
13
|
|
3
14
|
**Added:**
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -33,7 +33,6 @@ Or install it yourself as:
|
|
33
33
|
## Usage
|
34
34
|
|
35
35
|
You can use this gem against the Microsoft Azure Resource Manager Services in the cloud. Of course, to use the Microsoft Azure Resource Manager Services in the cloud, you need to first [create a Microsoft Azure account](http://www.azure.com/en-us/pricing/free-trial/).
|
36
|
-
* Set 'CLOUD' constant from 'Azure', 'AzureChina', 'AzureGermanCloud' or 'AzureUSGovernment' in [config.rb] (https://github.com/fog/fog-azure-rm/blob/master/lib/fog/azurerm/config.rb) file. By default it will be 'Azure' (Azure Global).
|
37
36
|
* Set 'LOCATION' constant based on the Azure cloud you are using in [config.rb] (https://github.com/fog/fog-azure-rm/blob/master/lib/fog/azurerm/config.rb) file. By default it will be 'eastus'.
|
38
37
|
|
39
38
|
### Authentication
|
data/fog-azure-rm.gemspec
CHANGED
@@ -31,6 +31,9 @@ Gem::Specification.new do |spec|
|
|
31
31
|
spec.add_dependency 'azure_mgmt_network', '~> 0.8.0'
|
32
32
|
spec.add_dependency 'azure_mgmt_dns', '~> 0.8.0'
|
33
33
|
spec.add_dependency 'azure_mgmt_traffic_manager', '~> 0.8.0'
|
34
|
-
spec.add_dependency '
|
34
|
+
spec.add_dependency 'azure_mgmt_sql', '~> 0.8.0'
|
35
|
+
spec.add_dependency 'azure_mgmt_key_vault', '~> 0.8.0'
|
36
|
+
spec.add_dependency 'azure-storage', '~> 0.11.5.preview'
|
35
37
|
spec.add_dependency 'vhd', '0.0.4'
|
38
|
+
spec.add_dependency 'nokogiri', '~> 1.6.0'
|
36
39
|
end
|
data/lib/fog/azurerm.rb
CHANGED
@@ -2,6 +2,7 @@ require 'ms_rest_azure'
|
|
2
2
|
require 'rest_client'
|
3
3
|
require 'erb'
|
4
4
|
require 'fog/azurerm/config'
|
5
|
+
require 'fog/azurerm/constants'
|
5
6
|
require 'fog/azurerm/utilities/general'
|
6
7
|
require 'fog/azurerm/version'
|
7
8
|
require 'fog/core'
|
@@ -53,6 +54,11 @@ module Fog
|
|
53
54
|
autoload :AzureRM, File.expand_path('azurerm/sql', __dir__)
|
54
55
|
end
|
55
56
|
|
57
|
+
# Autoload Module for KeyVault
|
58
|
+
module KeyVault
|
59
|
+
autoload :AzureRM, File.expand_path('azurerm/key_vault', __dir__)
|
60
|
+
end
|
61
|
+
|
56
62
|
# Main AzureRM fog Provider Module
|
57
63
|
module AzureRM
|
58
64
|
extend Fog::Provider
|
@@ -64,5 +70,6 @@ module Fog
|
|
64
70
|
service(:application_gateway, 'ApplicationGateway')
|
65
71
|
service(:traffic_manager, 'TrafficManager')
|
66
72
|
service(:sql, 'Sql')
|
73
|
+
service(:key_vault, 'KeyVault')
|
67
74
|
end
|
68
75
|
end
|
@@ -6,12 +6,14 @@ module Fog
|
|
6
6
|
requires :client_id
|
7
7
|
requires :client_secret
|
8
8
|
requires :subscription_id
|
9
|
+
recognizes :environment
|
9
10
|
|
10
11
|
request_path 'fog/azurerm/requests/application_gateway'
|
11
12
|
request :create_or_update_application_gateway
|
12
13
|
request :delete_application_gateway
|
13
14
|
request :list_application_gateways
|
14
15
|
request :get_application_gateway
|
16
|
+
request :check_ag_exists
|
15
17
|
request :update_subnet_id_in_gateway_ip_configuration
|
16
18
|
request :update_sku_attributes
|
17
19
|
request :start_application_gateway
|
@@ -52,14 +54,20 @@ module Fog
|
|
52
54
|
retry if require('rubygems')
|
53
55
|
raise e.message
|
54
56
|
end
|
57
|
+
|
58
|
+
telemetry = "fog-azure-rm/#{Fog::AzureRM::VERSION}"
|
55
59
|
|
56
|
-
|
57
|
-
|
60
|
+
options[:environment] = 'AzureCloud' if options[:environment].nil?
|
61
|
+
|
62
|
+
credentials = Fog::Credentials::AzureRM.get_credentials(options[:tenant_id], options[:client_id], options[:client_secret], options[:environment])
|
63
|
+
@network_client = ::Azure::ARM::Network::NetworkManagementClient.new(credentials, resource_manager_endpoint_url(options[:environment]))
|
58
64
|
@network_client.subscription_id = options[:subscription_id]
|
65
|
+
@network_client.add_user_agent_information(telemetry)
|
59
66
|
@tenant_id = options[:tenant_id]
|
60
67
|
@client_id = options[:client_id]
|
61
68
|
@client_secret = options[:client_secret]
|
62
69
|
@subscription_id = options[:subscription_id]
|
70
|
+
@environment = options[:environment]
|
63
71
|
end
|
64
72
|
end
|
65
73
|
end
|
data/lib/fog/azurerm/compute.rb
CHANGED
@@ -6,12 +6,14 @@ module Fog
|
|
6
6
|
requires :client_id
|
7
7
|
requires :client_secret
|
8
8
|
requires :subscription_id
|
9
|
+
recognizes :environment
|
9
10
|
|
10
11
|
request_path 'fog/azurerm/requests/compute'
|
11
12
|
request :create_availability_set
|
12
13
|
request :delete_availability_set
|
13
14
|
request :list_availability_sets
|
14
15
|
request :get_availability_set
|
16
|
+
request :check_availability_set_exists
|
15
17
|
request :create_virtual_machine
|
16
18
|
request :delete_virtual_machine
|
17
19
|
request :get_virtual_machine
|
@@ -24,11 +26,13 @@ module Fog
|
|
24
26
|
request :restart_virtual_machine
|
25
27
|
request :start_virtual_machine
|
26
28
|
request :check_vm_status
|
29
|
+
request :check_vm_exists
|
27
30
|
request :attach_data_disk_to_vm
|
28
31
|
request :detach_data_disk_from_vm
|
29
32
|
request :create_or_update_vm_extension
|
30
33
|
request :delete_vm_extension
|
31
34
|
request :get_vm_extension
|
35
|
+
request :check_vm_extension_exists
|
32
36
|
|
33
37
|
model_path 'fog/azurerm/models/compute'
|
34
38
|
model :availability_set
|
@@ -61,12 +65,18 @@ module Fog
|
|
61
65
|
raise e.message
|
62
66
|
end
|
63
67
|
|
64
|
-
|
65
|
-
|
68
|
+
|
69
|
+
options[:environment] = 'AzureCloud' if options[:environment].nil?
|
70
|
+
|
71
|
+
telemetry = "fog-azure-rm/#{Fog::AzureRM::VERSION}"
|
72
|
+
credentials = Fog::Credentials::AzureRM.get_credentials(options[:tenant_id], options[:client_id], options[:client_secret], options[:environment])
|
73
|
+
@compute_mgmt_client = ::Azure::ARM::Compute::ComputeManagementClient.new(credentials, resource_manager_endpoint_url(options[:environment]))
|
66
74
|
@compute_mgmt_client.subscription_id = options[:subscription_id]
|
67
|
-
@
|
75
|
+
@compute_mgmt_client.add_user_agent_information(telemetry)
|
76
|
+
@storage_mgmt_client = ::Azure::ARM::Storage::StorageManagementClient.new(credentials, resource_manager_endpoint_url(options[:environment]))
|
68
77
|
@storage_mgmt_client.subscription_id = options[:subscription_id]
|
69
|
-
@
|
78
|
+
@storage_mgmt_client.add_user_agent_information(telemetry)
|
79
|
+
@storage_service = Fog::Storage::AzureRM.new(tenant_id: options[:tenant_id], client_id: options[:client_id], client_secret: options[:client_secret], subscription_id: options[:subscription_id], environment: options[:environment])
|
70
80
|
end
|
71
81
|
end
|
72
82
|
end
|
data/lib/fog/azurerm/config.rb
CHANGED
@@ -1,52 +1 @@
|
|
1
|
-
AZURE_RESOURCE = 'https://management.azure.com'.freeze
|
2
|
-
DEFAULT_ADDRESS_PREFIXES = ['10.2.0.0/16'].freeze
|
3
|
-
SUBNET = 'Subnet'.freeze
|
4
|
-
PUBLIC_IP = 'Public-IP-Address'.freeze
|
5
|
-
NETWORK_SECURITY_GROUP = 'Network-Security-Group'.freeze
|
6
|
-
STANDARD_STORAGE = 'Standard'.freeze
|
7
|
-
PREMIUM_STORAGE = 'Premium'.freeze
|
8
|
-
ALLOWED_STANDARD_REPLICATION = %w(LRS ZRS GRS RAGRS).freeze
|
9
|
-
API_VERSION = '2016-06-01'.freeze
|
10
|
-
FAULT_DOMAIN_COUNT = 3.freeze
|
11
|
-
UPDATE_DOMAIN_COUNT = 5.freeze
|
12
|
-
WINDOWS = 'windows'.freeze
|
13
|
-
VPN = 'Vpn'.freeze
|
14
|
-
MICROSOFT_PEERING = 'MicrosoftPeering'.freeze
|
15
|
-
RESOURCE_GROUP_NAME = 4
|
16
|
-
RESOURCE_PROVIDER_NAMESPACE = 6
|
17
|
-
RESOURCE_TYPE = 7
|
18
|
-
RESOURCE_NAME = 8
|
19
|
-
AZURE_ENDPOINTS = 'azureEndpoints'.freeze
|
20
|
-
EXTERNAL_ENDPOINTS = 'externalEndpoints'.freeze
|
21
|
-
NESTED_ENDPOINTS = 'nestedEndpoints'.freeze
|
22
|
-
GLOBAL = 'global'.freeze
|
23
|
-
UPLOAD_BLOB_WORKER_THREAD_COUNT = 8
|
24
|
-
VM_NAME_POSITION = 8
|
25
|
-
|
26
|
-
ENVIRONMENT_AZURE_CLOUD = 'AzureCloud'.freeze
|
27
|
-
ENVIRONMENT_AZURE_CHINA_CLOUD = 'AzureChinaCloud'.freeze
|
28
|
-
ENVIRONMENT_AZURE_US_GOVERNMENT = 'AzureUSGovernment'.freeze
|
29
|
-
ENVIRONMENT_AZURE_GERMAN_CLOUD = 'AzureGermanCloud'.freeze
|
30
|
-
|
31
1
|
LOCATION = 'eastus'.freeze
|
32
|
-
|
33
|
-
# State of the copy operation
|
34
|
-
COPY_STATUS = {
|
35
|
-
# The copy completed successfully.
|
36
|
-
SUCCESS: 'success',
|
37
|
-
# The copy is in progress
|
38
|
-
PENDING: 'pending'
|
39
|
-
}.freeze
|
40
|
-
|
41
|
-
# https://msdn.microsoft.com/en-us/library/azure/dd179451.aspx
|
42
|
-
# The maximum size for a block blob created via Put Blob is 64 MB. But for better performance, this size should be 32 MB.
|
43
|
-
# If your blob is larger than 32 MB, you must upload it as a set of blocks.
|
44
|
-
SINGLE_BLOB_PUT_THRESHOLD = 32 * 1024 * 1024
|
45
|
-
|
46
|
-
# Block blob: https://msdn.microsoft.com/en-us/library/azure/dd135726.aspx
|
47
|
-
# Page blob: https://msdn.microsoft.com/en-us/library/azure/ee691975.aspx
|
48
|
-
# Each block/page can be a different size, up to a maximum of 4 MB
|
49
|
-
MAXIMUM_CHUNK_SIZE = 4 * 1024 * 1024
|
50
|
-
|
51
|
-
# The hash value of 4MB empty content
|
52
|
-
HASH_OF_4MB_EMPTY_CONTENT = 'b5cfa9d6c8febd618f91ac2843d50a1c'.freeze
|
@@ -0,0 +1,51 @@
|
|
1
|
+
AZURE_RESOURCE = 'https://management.azure.com'.freeze
|
2
|
+
DEFAULT_ADDRESS_PREFIXES = ['10.2.0.0/16'].freeze
|
3
|
+
SUBNET = 'Subnet'.freeze
|
4
|
+
PUBLIC_IP = 'Public-IP-Address'.freeze
|
5
|
+
NETWORK_SECURITY_GROUP = 'Network-Security-Group'.freeze
|
6
|
+
STANDARD_STORAGE = 'Standard'.freeze
|
7
|
+
PREMIUM_STORAGE = 'Premium'.freeze
|
8
|
+
ALLOWED_STANDARD_REPLICATION = %w(LRS ZRS GRS RAGRS).freeze
|
9
|
+
API_VERSION = '2016-06-01'.freeze
|
10
|
+
FAULT_DOMAIN_COUNT = 3.freeze
|
11
|
+
UPDATE_DOMAIN_COUNT = 5.freeze
|
12
|
+
WINDOWS = 'windows'.freeze
|
13
|
+
VPN = 'Vpn'.freeze
|
14
|
+
MICROSOFT_PEERING = 'MicrosoftPeering'.freeze
|
15
|
+
RESOURCE_GROUP_NAME = 4
|
16
|
+
RESOURCE_PROVIDER_NAMESPACE = 6
|
17
|
+
RESOURCE_TYPE = 7
|
18
|
+
RESOURCE_NAME = 8
|
19
|
+
AZURE_ENDPOINTS = 'azureEndpoints'.freeze
|
20
|
+
EXTERNAL_ENDPOINTS = 'externalEndpoints'.freeze
|
21
|
+
NESTED_ENDPOINTS = 'nestedEndpoints'.freeze
|
22
|
+
GLOBAL = 'global'.freeze
|
23
|
+
UPLOAD_BLOB_WORKER_THREAD_COUNT = 8
|
24
|
+
VM_NAME_POSITION = 8
|
25
|
+
|
26
|
+
ENVIRONMENT_AZURE_CLOUD = 'AzureCloud'.freeze
|
27
|
+
ENVIRONMENT_AZURE_CHINA_CLOUD = 'AzureChinaCloud'.freeze
|
28
|
+
ENVIRONMENT_AZURE_US_GOVERNMENT = 'AzureUSGovernment'.freeze
|
29
|
+
ENVIRONMENT_AZURE_GERMAN_CLOUD = 'AzureGermanCloud'.freeze
|
30
|
+
|
31
|
+
# State of the copy operation
|
32
|
+
COPY_STATUS = {
|
33
|
+
# The copy completed successfully.
|
34
|
+
SUCCESS: 'success',
|
35
|
+
# The copy is in progress
|
36
|
+
PENDING: 'pending'
|
37
|
+
}.freeze
|
38
|
+
|
39
|
+
# https://msdn.microsoft.com/en-us/library/azure/dd179451.aspx
|
40
|
+
# The maximum size for a block blob created via Put Blob is 64 MB. But for better performance, this size should be 32 MB.
|
41
|
+
# If your blob is larger than 32 MB, you must upload it as a set of blocks.
|
42
|
+
SINGLE_BLOB_PUT_THRESHOLD = 32 * 1024 * 1024
|
43
|
+
|
44
|
+
# Block blob: https://msdn.microsoft.com/en-us/library/azure/dd135726.aspx
|
45
|
+
# Page blob: https://msdn.microsoft.com/en-us/library/azure/ee691975.aspx
|
46
|
+
# Each block/page can be a different size, up to a maximum of 4 MB
|
47
|
+
MAXIMUM_CHUNK_SIZE = 4 * 1024 * 1024
|
48
|
+
|
49
|
+
# The hash value of 4MB empty content
|
50
|
+
HASH_OF_4MB_EMPTY_CONTENT = 'b5cfa9d6c8febd618f91ac2843d50a1c'.freeze
|
51
|
+
REST_CLIENT_API_VERSION = %w(2014-04-01-preview 2016-05-01).freeze
|
data/lib/fog/azurerm/dns.rb
CHANGED
@@ -6,11 +6,12 @@ module Fog
|
|
6
6
|
requires :client_id
|
7
7
|
requires :client_secret
|
8
8
|
requires :subscription_id
|
9
|
+
recognizes :environment
|
9
10
|
|
10
11
|
request_path 'fog/azurerm/requests/dns'
|
11
12
|
request :create_or_update_zone
|
12
13
|
request :delete_zone
|
13
|
-
request :
|
14
|
+
request :check_zone_exists
|
14
15
|
request :list_zones
|
15
16
|
request :get_zone
|
16
17
|
request :create_or_update_record_set
|
@@ -18,6 +19,7 @@ module Fog
|
|
18
19
|
request :list_record_sets
|
19
20
|
request :get_records_from_record_set
|
20
21
|
request :get_record_set
|
22
|
+
request :check_record_set_exists
|
21
23
|
|
22
24
|
model_path 'fog/azurerm/models/dns'
|
23
25
|
model :zone
|
@@ -41,17 +43,23 @@ module Fog
|
|
41
43
|
raise e.message
|
42
44
|
end
|
43
45
|
|
44
|
-
|
45
|
-
|
46
|
+
options[:environment] = 'AzureCloud' if options[:environment].nil?
|
47
|
+
|
48
|
+
credentials = Fog::Credentials::AzureRM.get_credentials(options[:tenant_id], options[:client_id], options[:client_secret], options[:environment])
|
49
|
+
telemetry = "fog-azure-rm/#{Fog::AzureRM::VERSION}"
|
50
|
+
@dns_client = ::Azure::ARM::Dns::DnsManagementClient.new(credentials, resource_manager_endpoint_url(options[:environment]))
|
46
51
|
@dns_client.subscription_id = options[:subscription_id]
|
52
|
+
@dns_client.add_user_agent_information(telemetry)
|
47
53
|
@tenant_id = options[:tenant_id]
|
48
54
|
@client_id = options[:client_id]
|
49
55
|
@client_secret = options[:client_secret]
|
56
|
+
@environment = options[:environment]
|
50
57
|
@resources = Fog::Resources::AzureRM.new(
|
51
58
|
tenant_id: options[:tenant_id],
|
52
59
|
client_id: options[:client_id],
|
53
60
|
client_secret: options[:client_secret],
|
54
|
-
subscription_id: options[:subscription_id]
|
61
|
+
subscription_id: options[:subscription_id],
|
62
|
+
environment: options[:environment]
|
55
63
|
)
|
56
64
|
end
|
57
65
|
end
|
@@ -15,13 +15,20 @@ Next, create a connection to the Application Gateway Service:
|
|
15
15
|
|
16
16
|
```ruby
|
17
17
|
azure_application_gateway_service = Fog::ApplicationGateway::AzureRM.new(
|
18
|
-
|
19
|
-
client_id: '<Clientid>',
|
20
|
-
client_secret: '<ClientSecret>',
|
21
|
-
subscription_id: '<Subscriptionid>'
|
18
|
+
tenant_id: '<Tenantid>', # Tenant id of Azure Active Directory Application
|
19
|
+
client_id: '<Clientid>', # Client id of Azure Active Directory Application
|
20
|
+
client_secret: '<ClientSecret>', # Client Secret of Azure Active Directory Application
|
21
|
+
subscription_id: '<Subscriptionid>', # Subscription id of an Azure Account
|
22
|
+
:environment => '<AzureCloud/AzureChinaCloud/AzureUSGovernment/AzureGermanCloud>' # Azure cloud environment. Default is AzureCloud.
|
22
23
|
)
|
23
24
|
```
|
24
25
|
|
26
|
+
## Check Application Gateway Existence
|
27
|
+
|
28
|
+
```ruby
|
29
|
+
azure_application_gateway_service.gateways.check_application_gateway_exists(<Resource Group name>, <Gateway Name>)
|
30
|
+
```
|
31
|
+
|
25
32
|
## Create Application Gateway
|
26
33
|
|
27
34
|
Create a new Application Gateway.
|
@@ -105,6 +112,33 @@ Create a new Application Gateway.
|
|
105
112
|
)
|
106
113
|
```
|
107
114
|
|
115
|
+
There can be two ways of giving `frontend_ip_configurations` while creating application gateway
|
116
|
+
|
117
|
+
1. When giving public ip, then we need to provide `public_ip_address_id` as follows
|
118
|
+
|
119
|
+
`frontend_ip_configurations:
|
120
|
+
[
|
121
|
+
{
|
122
|
+
name: 'frontendIpConfig',
|
123
|
+
private_ip_allocation_method: 'Dynamic',
|
124
|
+
public_ip_address_id: '/subscriptions/<Subscription_id>/resourcegroups/<Resource Group name>/providers/Microsoft.Network/publicIPAddresses/<Public IP Address Name>',
|
125
|
+
private_ip_address: '10.0.1.5'
|
126
|
+
}
|
127
|
+
]`
|
128
|
+
|
129
|
+
2. When giving subnet id, then we need to provide `subnet_id` as follows
|
130
|
+
|
131
|
+
`frontend_ip_configurations:
|
132
|
+
[
|
133
|
+
{
|
134
|
+
name: 'frontendIpConfig',
|
135
|
+
private_ip_allocation_method: 'Dynamic',
|
136
|
+
subnet_id: '<Subnet ID',
|
137
|
+
private_ip_address: '10.0.1.5'
|
138
|
+
}
|
139
|
+
]`
|
140
|
+
|
141
|
+
|
108
142
|
## List Application Gateways
|
109
143
|
|
110
144
|
List all application gateways in a resource group
|
@@ -17,13 +17,20 @@ Next, create a connection to the Compute Service:
|
|
17
17
|
```ruby
|
18
18
|
azure_compute_service = Fog::Compute.new(
|
19
19
|
provider: 'AzureRM',
|
20
|
-
tenant_id: '<Tenantid>',
|
21
|
-
client_id: '<Clientid>',
|
22
|
-
client_secret: '<ClientSecret>',
|
23
|
-
subscription_id: '<Subscriptionid>'
|
20
|
+
tenant_id: '<Tenantid>', # Tenant id of Azure Active Directory Application
|
21
|
+
client_id: '<Clientid>', # Client id of Azure Active Directory Application
|
22
|
+
client_secret: '<ClientSecret>', # Client Secret of Azure Active Directory Application
|
23
|
+
subscription_id: '<Subscriptionid>', # Subscription id of an Azure Account
|
24
|
+
:environment => '<AzureCloud/AzureChinaCloud/AzureUSGovernment/AzureGermanCloud>' # Azure cloud environment. Default is AzureCloud.
|
24
25
|
)
|
25
26
|
```
|
26
27
|
|
28
|
+
## Check Server Existence
|
29
|
+
|
30
|
+
```ruby
|
31
|
+
azure_compute_service.servers.check_vm_exists(<Resource Group name>, <VM Name>)
|
32
|
+
```
|
33
|
+
|
27
34
|
## Create Server
|
28
35
|
|
29
36
|
Create a new linux server
|
@@ -133,6 +140,12 @@ Get a server object from the get method(described above) and then destroy that s
|
|
133
140
|
server.destroy
|
134
141
|
```
|
135
142
|
|
143
|
+
## Check Availability Set Existence
|
144
|
+
|
145
|
+
```ruby
|
146
|
+
azure_compute_service.availability_sets.check_availability_set_exists(<Resource Group name>, <Availability Set name>)
|
147
|
+
```
|
148
|
+
|
136
149
|
## Create Availability Set
|
137
150
|
|
138
151
|
Create a new availability set
|
@@ -175,6 +188,12 @@ Get an availability set object from the get method and then destroy that availab
|
|
175
188
|
availability_set.destroy
|
176
189
|
```
|
177
190
|
|
191
|
+
## Check Virtual Machine Extension Existence
|
192
|
+
|
193
|
+
```ruby
|
194
|
+
azure_compute_service.virtual_machine_extensions.check_vm_extension_exists(<Resource Group name>, <Virtual Machine Name>, <Extension Name>)
|
195
|
+
```
|
196
|
+
|
178
197
|
## Create Virtual Machine Extension
|
179
198
|
|
180
199
|
Installs an extension to the specified virtual machine.
|
data/lib/fog/azurerm/docs/dns.md
CHANGED
@@ -16,12 +16,20 @@ Next, create a connection to the DNS Service:
|
|
16
16
|
|
17
17
|
```ruby
|
18
18
|
azure_dns_service = Fog::DNS::AzureRM.new(
|
19
|
-
tenant_id: '<Tenantid>',
|
20
|
-
client_id: '<Clientid>',
|
21
|
-
client_secret: '<ClientSecret>',
|
22
|
-
subscription_id: '<Subscriptionid>'
|
19
|
+
tenant_id: '<Tenantid>', # Tenant id of Azure Active Directory Application
|
20
|
+
client_id: '<Clientid>', # Client id of Azure Active Directory Application
|
21
|
+
client_secret: '<ClientSecret>', # Client Secret of Azure Active Directory Application
|
22
|
+
subscription_id: '<Subscriptionid>', # Subscription id of an Azure Account
|
23
|
+
:environment => '<AzureCloud/AzureChinaCloud/AzureUSGovernment/AzureGermanCloud>' # Azure cloud environment. Default is AzureCloud.
|
23
24
|
)
|
24
25
|
```
|
26
|
+
|
27
|
+
## Check Zone Existence
|
28
|
+
|
29
|
+
```ruby
|
30
|
+
azure_dns_service.zones.check_zone_exists(<Resource Group name>, <Zone name>)
|
31
|
+
```
|
32
|
+
|
25
33
|
## Create Zone
|
26
34
|
|
27
35
|
Create a new Zone
|
@@ -60,6 +68,12 @@ Get Zone object from the get method(described above) and then destroy that Zone.
|
|
60
68
|
zone.destroy
|
61
69
|
```
|
62
70
|
|
71
|
+
## Check Record Set Existence
|
72
|
+
|
73
|
+
```ruby
|
74
|
+
azure_dns_service.record_sets.check_record_set_exists(<Resource Group name>, <Record Set name>, <Zone name>, <Record Type(A/CNAME)>)
|
75
|
+
```
|
76
|
+
|
63
77
|
## Create Record Set
|
64
78
|
|
65
79
|
Create a new Record Set
|