ms_rest_azure 0.9.0 → 0.10.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3d14c95c8933931dff67eef6da2b22a6bbee03a8
4
- data.tar.gz: 00d3d6bfce74a3eb61d9991fb06f14b600e90bd4
3
+ metadata.gz: 5457fba833750435c73dcd0e66ed4e69e9a4499b
4
+ data.tar.gz: 2f580ffcff1c2dae441e06ac7bf889cfc5669c2d
5
5
  SHA512:
6
- metadata.gz: fe833a3a8333eb293af8a78b20ac9685f21bc03c17677b8ee39de1048220f02f81f39de8ee25b3111f6027a96c953d370a497fc6dab0dfad4c936e6a5c5a787f
7
- data.tar.gz: 3a3c1d17168f1553eaf4d2295b7a8733a357b30def2dcbc357dd80c1e5eda4ecd2b550aecfd03aee7322c06b0bac1eb72d474f6a3ac47db13290fd3383142f77
6
+ metadata.gz: fea6e2850e1e7760dfdf6fb9fb67c0920d4cdd445c01826638cd194bd49a3e4aed1458f88ddca41da1c90b80601233c595f5e20019303af407d51f3661c34bce
7
+ data.tar.gz: ca590be6eb21343388abcbc25fcb57cdc61388e52b6379dd3b066ffbae81258e017263b79aa79cf91aaea28f850447bc995cd85f75d63cbeee6ee7fdba8beba7
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ ##2017.11.10 ms_rest_azure version 0.10.0
2
+ * Modified portal URLs for Azure cloud environments. Refer [PR #1106](https://github.com/Azure/azure-sdk-for-ruby/pull/1106) for further details.
3
+ * [Breaking Change] Removed Resource and SubResource classes. Refer [PR #1106](https://github.com/Azure/azure-sdk-for-ruby/pull/1106) for further details.
4
+ * Added Configurable and Default classes to be used by the profile gems. Refer [PR #1111](https://github.com/Azure/azure-sdk-for-ruby/pull/1111) for further details.
5
+
1
6
  ##2017.09.11 ms_rest_azure version 0.9.0
2
7
  * [Breaking Change] Managed Service Identity authentication to acquire token does not require `tenant_id`.[Issue #930](https://github.com/Azure/azure-sdk-for-ruby/issues/930) [PR #931](https://github.com/Azure/azure-sdk-for-ruby/pull/931)
3
8
 
data/README.md CHANGED
@@ -37,7 +37,7 @@ To start working on the gem the only additional dev dependecy is required - rspe
37
37
  Reference it in the gemfile and also add this line to your client's gemspec file:
38
38
 
39
39
  ```ruby
40
- spec.add_runtime_dependency 'ms_rest_azure', '~> 0.9.0'
40
+ spec.add_runtime_dependency 'ms_rest_azure', '~> 0.10.0'
41
41
  ```
42
42
  Don't forget to correct the version.
43
43
 
data/lib/ms_rest_azure.rb CHANGED
@@ -13,11 +13,14 @@ require 'ms_rest_azure/cloud_error_data.rb'
13
13
  require 'ms_rest_azure/credentials/application_token_provider.rb'
14
14
  require 'ms_rest_azure/credentials/msi_token_provider.rb'
15
15
  require 'ms_rest_azure/polling_state.rb'
16
- require 'ms_rest_azure/sub_resource.rb'
17
- require 'ms_rest_azure/resource.rb'
18
16
  require 'ms_rest_azure/serialization.rb'
19
17
  require 'ms_rest_azure/version'
18
+ require 'ms_rest_azure/common/configurable'
19
+ require 'ms_rest_azure/common/default'
20
20
 
21
21
  module MsRestAzure end
22
22
  module MsRestAzure::Serialization end
23
23
  module MsRestAzure::AzureEnvironments end
24
+ module MsRestAzure::Common end
25
+ module MsRestAzure::Common::Configurable end
26
+ module MsRestAzure::Common::Default end
@@ -86,7 +86,7 @@ module MsRestAzure
86
86
 
87
87
  AzureCloud = AzureEnvironments::AzureEnvironment.new({
88
88
  :name => 'AzureCloud',
89
- :portal_url => 'http://go.microsoft.com/fwlink/?LinkId=254433',
89
+ :portal_url => 'https://portal.azure.com',
90
90
  :publishing_profile_url => 'http://go.microsoft.com/fwlink/?LinkId=254432',
91
91
  :management_endpoint_url => 'https://management.core.windows.net',
92
92
  :resource_manager_endpoint_url => 'https://management.azure.com/',
@@ -104,7 +104,7 @@ module MsRestAzure
104
104
  })
105
105
  AzureChinaCloud = AzureEnvironments::AzureEnvironment.new({
106
106
  :name => 'AzureChinaCloud',
107
- :portal_url => 'http://go.microsoft.com/fwlink/?LinkId=301902',
107
+ :portal_url => 'https://portal.azure.cn',
108
108
  :publishing_profile_url => 'http://go.microsoft.com/fwlink/?LinkID=301774',
109
109
  :management_endpoint_url => 'https://management.core.chinacloudapi.cn',
110
110
  :resource_manager_endpoint_url => 'https://management.chinacloudapi.cn',
@@ -123,14 +123,14 @@ module MsRestAzure
123
123
  })
124
124
  AzureUSGovernment = AzureEnvironments::AzureEnvironment.new({
125
125
  :name => 'AzureUSGovernment',
126
- :portal_url => 'https://manage.windowsazure.us',
126
+ :portal_url => 'https://portal.azure.us',
127
127
  :publishing_profile_url => 'https://manage.windowsazure.us/publishsettings/index',
128
128
  :management_endpoint_url => 'https://management.core.usgovcloudapi.net',
129
129
  :resource_manager_endpoint_url => 'https://management.usgovcloudapi.net',
130
130
  :sql_management_endpoint_url => 'https://management.core.usgovcloudapi.net:8443/',
131
131
  :sql_server_hostname_suffix => '.database.usgovcloudapi.net',
132
132
  :gallery_endpoint_url => 'https://gallery.usgovcloudapi.net/',
133
- :active_directory_endpoint_url => 'https://login.microsoftonline.com/',
133
+ :active_directory_endpoint_url => 'https://login-us.microsoftonline.com/',
134
134
  :active_directory_resource_id => 'https://management.core.usgovcloudapi.net/',
135
135
  :active_directory_graph_resource_id => 'https://graph.windows.net/',
136
136
  :active_directory_graph_api_version => '2013-04-05',
@@ -0,0 +1,86 @@
1
+ # encoding: utf-8
2
+ # Copyright (c) Microsoft Corporation. All rights reserved.
3
+ # Licensed under the MIT License. See License.txt in the project root for license information.
4
+
5
+ module MsRestAzure::Common
6
+ # The Azure::Common::Configurable module provides basic configuration for Azure activities.
7
+ module Configurable
8
+ # @return [String] Azure tenant id (also known as domain).
9
+ attr_accessor :tenant_id
10
+
11
+ # @return [String] Azure client id.
12
+ attr_accessor :client_id
13
+
14
+ # @return [String] Azure secret key.
15
+ attr_accessor :client_secret
16
+
17
+ # @return [String] Azure subscription id.
18
+ attr_accessor :subscription_id
19
+
20
+ # @return [MsRestAzure::ActiveDirectoryServiceSettings] Azure active directory service settings.
21
+ attr_accessor :active_directory_settings
22
+
23
+ # @return [MsRest::ServiceClientCredentials] credentials to authorize HTTP requests made by the service client.
24
+ attr_accessor :credentials
25
+
26
+ class << self
27
+ #
28
+ # List of configurable keys for {Azure::Common::Client}.
29
+ # @return [Array] of option keys.
30
+ #
31
+ def keys
32
+ @keys ||= [:tenant_id, :client_id, :client_secret, :subscription_id, :active_directory_settings]
33
+ end
34
+ end
35
+
36
+ #
37
+ # Set configuration options using a block.
38
+ #
39
+ def configure
40
+ yield self
41
+ end
42
+
43
+ #
44
+ # Resets the configurable options to provided options or defaults.
45
+ # This will also creates MsRest::TokenCredentials to be used for subsequent Azure Resource Manager clients.
46
+ #
47
+ def reset!(options = {})
48
+ MsRestAzure::Common::Configurable.keys.each do |key|
49
+ default_value = MsRestAzure::Common::Default.options[key]
50
+ instance_variable_set(:"@#{key}", options.fetch(key, default_value))
51
+ end
52
+
53
+ fail ArgumentError, 'tenant_id is nil' if self.tenant_id.nil?
54
+ fail ArgumentError, 'client_id is nil' if self.client_id.nil?
55
+ fail ArgumentError, 'client_secret is nil' if self.client_secret.nil?
56
+ fail ArgumentError, 'subscription_id is nil' if self.subscription_id.nil?
57
+ fail ArgumentError, 'active_directory_settings is nil' if self.active_directory_settings.nil?
58
+
59
+ default_value = MsRest::TokenCredentials.new(
60
+ MsRestAzure::ApplicationTokenProvider.new(
61
+ self.tenant_id, self.client_id, self.client_secret, self.active_directory_settings))
62
+
63
+ instance_variable_set(:"@credentials", options.fetch(:credentials, default_value))
64
+
65
+ self
66
+ end
67
+
68
+ def config
69
+ self
70
+ end
71
+
72
+ private
73
+
74
+ #
75
+ # configures configurable options to default values
76
+ #
77
+ def setup_default_options
78
+ opts = {}
79
+ MsRestAzure::Common::Configurable.keys.map do |key|
80
+ opts[key] = MsRestAzure::Common::Default.options[key]
81
+ end
82
+
83
+ opts
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,57 @@
1
+ # encoding: utf-8
2
+ # Copyright (c) Microsoft Corporation. All rights reserved.
3
+ # Licensed under the MIT License. See License.txt in the project root for license information.
4
+
5
+ module MsRestAzure::Common
6
+ module Default
7
+ class << self
8
+ #
9
+ # Default Azure Tenant Id.
10
+ # @return [String] Azure Tenant Id.
11
+ #
12
+ def tenant_id
13
+ ENV['AZURE_TENANT_ID']
14
+ end
15
+
16
+ #
17
+ # Default Azure Client Id.
18
+ # @return [String] Azure Client Id.
19
+ #
20
+ def client_id
21
+ ENV['AZURE_CLIENT_ID']
22
+ end
23
+
24
+ #
25
+ # Default Azure Client Secret.
26
+ # @return [String] Azure Client Secret.
27
+ #
28
+ def client_secret
29
+ ENV['AZURE_CLIENT_SECRET']
30
+ end
31
+
32
+ #
33
+ # Default Azure Subscription Id.
34
+ # @return [String] Azure Subscription Id.
35
+ #
36
+ def subscription_id
37
+ ENV['AZURE_SUBSCRIPTION_ID']
38
+ end
39
+
40
+ #
41
+ # Default Azure Active Directory Service Settings.
42
+ # @return [MsRestAzure::ActiveDirectoryServiceSettings] Azure Active Directory Service Settings.
43
+ #
44
+ def active_directory_settings
45
+ MsRestAzure::ActiveDirectoryServiceSettings.get_azure_settings
46
+ end
47
+
48
+ #
49
+ # Configuration options.
50
+ # @return [Hash] Configuration options.
51
+ #
52
+ def options
53
+ Hash[MsRestAzure::Common::Configurable.keys.map { |key| [key, send(key)]}]
54
+ end
55
+ end
56
+ end
57
+ end
@@ -3,5 +3,5 @@
3
3
  # Licensed under the MIT License. See License.txt in the project root for license information.
4
4
 
5
5
  module MsRestAzure
6
- VERSION = '0.9.0'
6
+ VERSION = '0.10.0'
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ms_rest_azure
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.0
4
+ version: 0.10.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Microsoft Corporation
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-11 00:00:00.000000000 Z
11
+ date: 2017-11-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -100,14 +100,14 @@ dependencies:
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.7.0
103
+ version: 0.7.2
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 0.7.0
110
+ version: 0.7.2
111
111
  description: Azure Client Library for Ruby.
112
112
  email: azsdkteam@microsoft.com
113
113
  executables: []
@@ -125,12 +125,12 @@ files:
125
125
  - lib/ms_rest_azure/azure_operation_response.rb
126
126
  - lib/ms_rest_azure/azure_service_client.rb
127
127
  - lib/ms_rest_azure/cloud_error_data.rb
128
+ - lib/ms_rest_azure/common/configurable.rb
129
+ - lib/ms_rest_azure/common/default.rb
128
130
  - lib/ms_rest_azure/credentials/application_token_provider.rb
129
131
  - lib/ms_rest_azure/credentials/msi_token_provider.rb
130
132
  - lib/ms_rest_azure/polling_state.rb
131
- - lib/ms_rest_azure/resource.rb
132
133
  - lib/ms_rest_azure/serialization.rb
133
- - lib/ms_rest_azure/sub_resource.rb
134
134
  - lib/ms_rest_azure/version.rb
135
135
  homepage: https://aka.ms/ms_rest_azure
136
136
  licenses:
@@ -1,89 +0,0 @@
1
- # encoding: utf-8
2
- # Copyright (c) Microsoft Corporation. All rights reserved.
3
- # Licensed under the MIT License. See License.txt in the project root for license information.
4
-
5
-
6
- module MsRestAzure
7
- #
8
- # Class which represents any Azure resource.
9
- #
10
- class Resource < SubResource
11
-
12
- # @return [String] the name of the resource.
13
- attr_accessor :name
14
-
15
- # @return [String] the type of the resource.
16
- attr_accessor :type
17
-
18
- # @return [String] the location of the resource (required).
19
- attr_accessor :location
20
-
21
- # @return [Hash{String => String}] the tags attached to resources (optional).
22
- attr_accessor :tags
23
-
24
- # @return [String] the name of the resource group of the resource.
25
- def resource_group
26
- unless self.id.nil?
27
- groups = self.id.match(/.+\/resourceGroups\/([^\/]+)\/.+/)
28
- groups.captures[0].strip if groups
29
- end
30
- end
31
-
32
- def self.mapper
33
- {
34
- required: false,
35
- serialized_name: 'Resource',
36
- type: {
37
- name: 'Composite',
38
- class_name: 'Resource',
39
- model_properties: {
40
- id: {
41
- required: false,
42
- serialized_name: 'id',
43
- type: {
44
- name: 'String'
45
- }
46
- },
47
- name: {
48
- required: false,
49
- read_only: true,
50
- serialized_name: 'name',
51
- type: {
52
- name: 'String'
53
- }
54
- },
55
- type: {
56
- required: false,
57
- read_only: true,
58
- serialized_name: 'type',
59
- type: {
60
- name: 'String'
61
- }
62
- },
63
- location: {
64
- required: false,
65
- serialized_name: 'location',
66
- type: {
67
- name: 'String'
68
- }
69
- },
70
- tags: {
71
- required: false,
72
- serialized_name: 'tags',
73
- type: {
74
- name: 'Dictionary',
75
- value: {
76
- required: false,
77
- serialized_name: 'StringElementType',
78
- type: {
79
- name: 'String'
80
- }
81
- }
82
- }
83
- }
84
- }
85
- }
86
- }
87
- end
88
- end
89
- end
@@ -1,34 +0,0 @@
1
- # encoding: utf-8
2
- # Copyright (c) Microsoft Corporation. All rights reserved.
3
- # Licensed under the MIT License. See License.txt in the project root for license information.
4
-
5
- module MsRestAzure
6
- #
7
- # Class which represents any Azure subresource.
8
- #
9
- class SubResource
10
-
11
- # @return [String] the id of the subresource.
12
- attr_accessor :id
13
-
14
- def self.mapper
15
- {
16
- required: false,
17
- serialized_name: 'SubResource',
18
- type: {
19
- name: 'Composite',
20
- class_name: 'SubResource',
21
- model_properties: {
22
- id: {
23
- required: false,
24
- serialized_name: 'id',
25
- type: {
26
- name: 'String'
27
- }
28
- }
29
- }
30
- }
31
- }
32
- end
33
- end
34
- end