From 70a5975a15bf5d2c89d2a23ecfb2c9ebafc22da3 Mon Sep 17 00:00:00 2001 From: balasubramanian-s Date: Wed, 3 Dec 2025 14:36:59 +0530 Subject: [PATCH 1/7] update azure dependencies Signed-off-by: balasubramanian-s --- lib/train/transports/azure.rb | 26 +++++++++---------- .../transports/clients/azure/graph_rbac.rb | 16 ++++++------ lib/train/transports/clients/azure/vault.rb | 16 ++++++------ test/unit/transports/azure_test.rb | 4 +-- train.gemspec | 11 ++++---- 5 files changed, 37 insertions(+), 36 deletions(-) diff --git a/lib/train/transports/azure.rb b/lib/train/transports/azure.rb index 708eddb82..410609960 100644 --- a/lib/train/transports/azure.rb +++ b/lib/train/transports/azure.rb @@ -1,8 +1,8 @@ require "train/plugins" require "ms_rest_azure" -require "azure_mgmt_resources" -require "azure_graph_rbac" -require "azure_mgmt_key_vault" +require "azure_mgmt_resources2" +require "azure_graph_rbac2" +require "azure_mgmt_key_vault2" require "socket" unless defined?(Socket) require "timeout" unless defined?(Timeout) require "train/transports/helpers/azure/file_credentials" @@ -50,8 +50,8 @@ def initialize(options) @options[:msi_port] = @options[:msi_port].to_i unless @options[:msi_port].nil? # additional platform details - release = Gem.loaded_specs["azure_mgmt_resources"].version - @platform_details = { release: "azure_mgmt_resources-v#{release}" } + release = Gem.loaded_specs["azure_mgmt_resources2"].version + @platform_details = { release: "azure_mgmt_resources2-v#{release}" } connect end @@ -60,16 +60,16 @@ def platform force_platform!("azure", @platform_details) end - def azure_client(klass = ::Azure::Resources::Profiles::Latest::Mgmt::Client, opts = {}) + def azure_client(klass = ::Azure::Resources2::Profiles::Latest::Mgmt::Client, opts = {}) if cache_enabled?(:api_call) return @cache[:api_call][klass.to_s.to_sym] unless @cache[:api_call][klass.to_s.to_sym].nil? end - if klass == ::Azure::Resources::Profiles::Latest::Mgmt::Client - @credentials[:base_url] = MsRestAzure::AzureEnvironments::AzureCloud.resource_manager_endpoint_url - elsif klass == ::Azure::GraphRbac::Profiles::Latest::Client + if klass == ::Azure::Resources2::Profiles::Latest::Mgmt::Client + @credentials[:base_url] = MsRestAzure2::AzureEnvironments::AzureCloud.resource_manager_endpoint_url + elsif klass == ::Azure::GraphRbac2::Profiles::Latest::Client client = GraphRbac.client(@credentials) - elsif klass == ::Azure::KeyVault::Profiles::Latest::Mgmt::Client + elsif klass == ::Azure::KeyVault2::Profiles::Latest::Mgmt::Client client = Vault.client(opts[:vault_name], @credentials) end @@ -85,9 +85,9 @@ def connect if msi_auth? # this needs set for azure cloud to authenticate ENV["MSI_VM"] = "true" - provider = ::MsRestAzure::MSITokenProvider.new(@options[:msi_port]) + provider = ::MsRestAzure2::MSITokenProvider.new(@options[:msi_port]) else - provider = ::MsRestAzure::ApplicationTokenProvider.new( + provider = ::MsRestAzure2::ApplicationTokenProvider.new( @options[:tenant_id], @options[:client_id], @options[:client_secret] @@ -138,7 +138,7 @@ def get_api_version(resource_type, options) # determine the namespace for the resource type namespace, type = resource_type.split(%r{/}) - client = azure_client(::Azure::Resources::Profiles::Latest::Mgmt::Client) + client = azure_client(::Azure::Resources2::Profiles::Latest::Mgmt::Client) provider = client.providers.get(namespace) # get the latest API version for the type diff --git a/lib/train/transports/clients/azure/graph_rbac.rb b/lib/train/transports/clients/azure/graph_rbac.rb index 74d78a5f9..96f739a12 100644 --- a/lib/train/transports/clients/azure/graph_rbac.rb +++ b/lib/train/transports/clients/azure/graph_rbac.rb @@ -1,20 +1,20 @@ -require "azure_graph_rbac" +require "azure_graph_rbac2" -# Wrapper class for ::Azure::GraphRbac::Profiles::Latest::Client allowing custom configuration, -# for example, defining additional settings for the ::MsRestAzure::ApplicationTokenProvider. +# Wrapper class for ::Azure::GraphRbac2::Profiles::Latest::Client allowing custom configuration, +# for example, defining additional settings for the ::MsRestAzure2::ApplicationTokenProvider. class GraphRbac - AUTH_ENDPOINT = MsRestAzure::AzureEnvironments::AzureCloud.active_directory_endpoint_url - API_ENDPOINT = MsRestAzure::AzureEnvironments::AzureCloud.active_directory_graph_resource_id + AUTH_ENDPOINT = MsRestAzure2::AzureEnvironments::AzureCloud.active_directory_endpoint_url + API_ENDPOINT = MsRestAzure2::AzureEnvironments::AzureCloud.active_directory_graph_resource_id def self.client(credentials) credentials[:credentials] = ::MsRest::TokenCredentials.new(provider(credentials)) credentials[:base_url] = API_ENDPOINT - ::Azure::GraphRbac::Profiles::Latest::Client.new(credentials) + ::Azure::GraphRbac2::Profiles::Latest::Client.new(credentials) end def self.provider(credentials) - ::MsRestAzure::ApplicationTokenProvider.new( + ::MsRestAzure2::ApplicationTokenProvider.new( credentials[:tenant_id], credentials[:client_id], credentials[:client_secret], @@ -23,7 +23,7 @@ def self.provider(credentials) end def self.settings - client_settings = MsRestAzure::ActiveDirectoryServiceSettings.get_azure_settings + client_settings = MsRestAzure2::ActiveDirectoryServiceSettings.get_azure_settings client_settings.authentication_endpoint = AUTH_ENDPOINT client_settings.token_audience = API_ENDPOINT client_settings diff --git a/lib/train/transports/clients/azure/vault.rb b/lib/train/transports/clients/azure/vault.rb index 5696a6d3d..3b64f4b6e 100644 --- a/lib/train/transports/clients/azure/vault.rb +++ b/lib/train/transports/clients/azure/vault.rb @@ -1,9 +1,9 @@ -require "azure_mgmt_key_vault" +require "azure_mgmt_key_vault2" -# Wrapper class for ::Azure::KeyVault::Profiles::Latest::Mgmt::Client allowing custom configuration, -# for example, defining additional settings for the ::MsRestAzure::ApplicationTokenProvider. +# Wrapper class for ::Azure::KeyVault2::Profiles::Latest::Mgmt::Client allowing custom configuration, +# for example, defining additional settings for the ::MsRestAzure2::ApplicationTokenProvider. class Vault - AUTH_ENDPOINT = MsRestAzure::AzureEnvironments::AzureCloud.active_directory_endpoint_url + AUTH_ENDPOINT = MsRestAzure2::AzureEnvironments::AzureCloud.active_directory_endpoint_url RESOURCE_ENDPOINT = "https://vault.azure.net".freeze def self.client(vault_name, credentials) @@ -12,11 +12,11 @@ def self.client(vault_name, credentials) credentials[:credentials] = ::MsRest::TokenCredentials.new(provider(credentials)) credentials[:base_url] = api_endpoint(vault_name) - ::Azure::KeyVault::Profiles::Latest::Mgmt::Client.new(credentials) + ::Azure::KeyVault2::Profiles::Latest::Mgmt::Client.new(credentials) end def self.provider(credentials) - ::MsRestAzure::ApplicationTokenProvider.new( + ::MsRestAzure2::ApplicationTokenProvider.new( credentials[:tenant_id], credentials[:client_id], credentials[:client_secret], @@ -25,11 +25,11 @@ def self.provider(credentials) end def self.api_endpoint(vault_name) - "https://#{vault_name}#{MsRestAzure::AzureEnvironments::AzureCloud.key_vault_dns_suffix}" + "https://#{vault_name}#{MsRestAzure2::AzureEnvironments::AzureCloud.key_vault_dns_suffix}" end def self.settings - client_settings = MsRestAzure::ActiveDirectoryServiceSettings.get_azure_settings + client_settings = MsRestAzure2::ActiveDirectoryServiceSettings.get_azure_settings client_settings.authentication_endpoint = AUTH_ENDPOINT client_settings.token_audience = RESOURCE_ENDPOINT client_settings diff --git a/test/unit/transports/azure_test.rb b/test/unit/transports/azure_test.rb index 7615ab278..5458f794f 100644 --- a/test/unit/transports/azure_test.rb +++ b/test/unit/transports/azure_test.rb @@ -107,7 +107,7 @@ def initialize(hash) it "validate credentials" do connection.connect token = credentials[:credentials].instance_variable_get(:@token_provider) - _(token.class).must_equal MsRestAzure::ApplicationTokenProvider + _(token.class).must_equal MsRestAzure2::ApplicationTokenProvider _(credentials[:credentials].class).must_equal MsRest::TokenCredentials _(credentials[:tenant_id]).must_equal "test_tenant_id" @@ -123,7 +123,7 @@ def initialize(hash) connection.connect token = credentials[:credentials].instance_variable_get(:@token_provider) - _(token.class).must_equal MsRestAzure::MSITokenProvider + _(token.class).must_equal MsRestAzure2::MSITokenProvider _(credentials[:credentials].class).must_equal MsRest::TokenCredentials _(credentials[:tenant_id]).must_equal "test_tenant_id" diff --git a/train.gemspec b/train.gemspec index c16453b40..9bc318bb5 100644 --- a/train.gemspec +++ b/train.gemspec @@ -34,11 +34,12 @@ Gem::Specification.new do |spec| # azure, docker, gcp dependencies spec.add_dependency "inifile", "~> 3.0" - spec.add_dependency "azure_graph_rbac", "~> 0.16" - spec.add_dependency "azure_mgmt_key_vault", "~> 0.17" - spec.add_dependency "azure_mgmt_resources", "~> 0.15" - spec.add_dependency "azure_mgmt_security", "~> 0.18" - spec.add_dependency "azure_mgmt_storage", "~> 0.18" + # Azure dependencies temporarily commented out for Faraday 2.x compatibility + spec.add_dependency "azure_graph_rbac2", "~> 1.0" + spec.add_dependency "azure_mgmt_key_vault2", "~> 1.0" + spec.add_dependency "azure_mgmt_resources2", "~> 1.0" + spec.add_dependency "azure_mgmt_security2", "~> 1.0" + spec.add_dependency "azure_mgmt_storage2", "~> 1.0" spec.add_dependency "docker-api", ">= 1.26", "< 3.0" spec.add_dependency "googleauth", ">= 0.16.2", "< 1.9.0" spec.add_dependency "google-apis-admin_directory_v1", "~> 0.46.0" From cfddfefd3425ed203c15074d22582417c2643cfa Mon Sep 17 00:00:00 2001 From: balasubramanian-s Date: Wed, 3 Dec 2025 18:32:40 +0530 Subject: [PATCH 2/7] update imports Signed-off-by: balasubramanian-s --- lib/train/transports/azure.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/train/transports/azure.rb b/lib/train/transports/azure.rb index 410609960..5e03ac588 100644 --- a/lib/train/transports/azure.rb +++ b/lib/train/transports/azure.rb @@ -1,5 +1,5 @@ require "train/plugins" -require "ms_rest_azure" +require "ms_rest_azure2" require "azure_mgmt_resources2" require "azure_graph_rbac2" require "azure_mgmt_key_vault2" From 736ca79643df06b0775badbecf2e627082e92ad2 Mon Sep 17 00:00:00 2001 From: balasubramanian-s Date: Mon, 15 Dec 2025 18:29:42 +0530 Subject: [PATCH 3/7] refactor namespace usages Signed-off-by: balasubramanian-s --- lib/train/transports/azure.rb | 2 +- lib/train/transports/clients/azure/graph_rbac.rb | 2 +- lib/train/transports/clients/azure/vault.rb | 4 ++-- test/unit/transports/azure_test.rb | 16 ++++++++-------- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/train/transports/azure.rb b/lib/train/transports/azure.rb index 5e03ac588..d84ecf021 100644 --- a/lib/train/transports/azure.rb +++ b/lib/train/transports/azure.rb @@ -95,7 +95,7 @@ def connect end @credentials = { - credentials: ::MsRest::TokenCredentials.new(provider), + credentials: ::MsRest2::TokenCredentials.new(provider), subscription_id: @options[:subscription_id], tenant_id: @options[:tenant_id], } diff --git a/lib/train/transports/clients/azure/graph_rbac.rb b/lib/train/transports/clients/azure/graph_rbac.rb index 96f739a12..39a86219b 100644 --- a/lib/train/transports/clients/azure/graph_rbac.rb +++ b/lib/train/transports/clients/azure/graph_rbac.rb @@ -7,7 +7,7 @@ class GraphRbac API_ENDPOINT = MsRestAzure2::AzureEnvironments::AzureCloud.active_directory_graph_resource_id def self.client(credentials) - credentials[:credentials] = ::MsRest::TokenCredentials.new(provider(credentials)) + credentials[:credentials] = ::MsRest2::TokenCredentials.new(provider(credentials)) credentials[:base_url] = API_ENDPOINT ::Azure::GraphRbac2::Profiles::Latest::Client.new(credentials) diff --git a/lib/train/transports/clients/azure/vault.rb b/lib/train/transports/clients/azure/vault.rb index 3b64f4b6e..c59d70c50 100644 --- a/lib/train/transports/clients/azure/vault.rb +++ b/lib/train/transports/clients/azure/vault.rb @@ -9,10 +9,10 @@ class Vault def self.client(vault_name, credentials) raise ::Train::UserError, "Vault Name cannot be nil" if vault_name.nil? - credentials[:credentials] = ::MsRest::TokenCredentials.new(provider(credentials)) + credentials[:credentials] = ::MsRest2::TokenCredentials.new(provider(credentials)) credentials[:base_url] = api_endpoint(vault_name) - ::Azure::KeyVault2::Profiles::Latest::Mgmt::Client.new(credentials) + ::Azure::KeyVault::Profiles::Latest::Mgmt::Client.new(credentials) end def self.provider(credentials) diff --git a/test/unit/transports/azure_test.rb b/test/unit/transports/azure_test.rb index 5458f794f..0d08813e1 100644 --- a/test/unit/transports/azure_test.rb +++ b/test/unit/transports/azure_test.rb @@ -1,9 +1,9 @@ require "helper" # Required because this test file acesses classes under Azure:: -require "azure_mgmt_resources" -require "azure_graph_rbac" -require "azure_mgmt_key_vault" +require "azure_mgmt_resources2" +require "azure_graph_rbac2" +require "azure_mgmt_key_vault2" describe "azure transport" do def transport(options = nil) @@ -78,13 +78,13 @@ def initialize(hash) end it "can use azure_client default client" do - management_api_client = Azure::Resources::Profiles::Latest::Mgmt::Client + management_api_client = Azure::Resources2::Profiles::Latest::Mgmt::Client client = connection.azure_client _(client.class).must_equal management_api_client end it "can use azure_client graph client" do - graph_api_client = Azure::GraphRbac::Profiles::Latest::Client + graph_api_client = Azure::GraphRbac2::Profiles::Latest::Client client = connection.azure_client(graph_api_client) _(client.class).must_equal graph_api_client end @@ -96,7 +96,7 @@ def initialize(hash) end it "cannot instantiate azure_client vault client without a vault name" do - vault_api_client = ::Azure::KeyVault::Profiles::Latest::Mgmt::Client + vault_api_client = ::Azure::KeyVault2::Profiles::Latest::Mgmt::Client assert_raises(Train::UserError) do connection.azure_client(vault_api_client) end @@ -109,7 +109,7 @@ def initialize(hash) token = credentials[:credentials].instance_variable_get(:@token_provider) _(token.class).must_equal MsRestAzure2::ApplicationTokenProvider - _(credentials[:credentials].class).must_equal MsRest::TokenCredentials + _(credentials[:credentials].class).must_equal MsRest2::TokenCredentials _(credentials[:tenant_id]).must_equal "test_tenant_id" _(credentials[:client_id]).must_equal "test_client_id" _(credentials[:client_secret]).must_equal "test_client_secret" @@ -125,7 +125,7 @@ def initialize(hash) token = credentials[:credentials].instance_variable_get(:@token_provider) _(token.class).must_equal MsRestAzure2::MSITokenProvider - _(credentials[:credentials].class).must_equal MsRest::TokenCredentials + _(credentials[:credentials].class).must_equal MsRest2::TokenCredentials _(credentials[:tenant_id]).must_equal "test_tenant_id" _(credentials[:subscription_id]).must_equal "test_subscription_id" _(credentials[:client_id]).must_be_nil From e9f62bf7191fd83ad095f6b886bd91e151ed10ed Mon Sep 17 00:00:00 2001 From: balasubramanian-s Date: Mon, 15 Dec 2025 18:30:33 +0530 Subject: [PATCH 4/7] point to azure git repos Signed-off-by: balasubramanian-s --- Gemfile | 9 ++++++++- train.gemspec | 13 +++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/Gemfile b/Gemfile index eb6cf40e5..300e7f677 100644 --- a/Gemfile +++ b/Gemfile @@ -1,7 +1,14 @@ source "https://rubygems.org" gemspec name: "train" -group :test do +gem "azure_graph_rbac2", git: "https://github.com/chef/azure-sdk-for-ruby", branch: "bs/update-azure-graph-rbac2", glob: "data/azure_graph_rbac2/*.gemspec" +gem "ms_rest_azure2", git: "https://github.com/chef/azure-sdk-for-ruby", branch: "bs/update-faraday-rest-azure2", glob: "runtime/ms_rest_azure2/*.gemspec" +gem "ms_rest2", git: "https://github.com/chef/azure-sdk-for-ruby", branch: "bs/update-faraday-rest-azure2", glob: "runtime/ms_rest2/*.gemspec" +gem "azure_mgmt_key_vault2", git: "https://github.com/chef/azure-sdk-for-ruby", branch: "CHEF-28641-refactor-azure-mgmt-key-vault-to-key-vault2", glob: "management/azure_mgmt_key_vault2/*.gemspec" +gem "azure_mgmt_resources2", git: "https://github.com/chef/azure-sdk-for-ruby", branch: "master", glob: "management/azure_mgmt_resources2/*.gemspec" + +group :development do + gem "bundler", "~> 2.4" gem "minitest", "~> 5.8" gem "rake", "~> 13.0" gem "chefstyle", "2.2.3" diff --git a/train.gemspec b/train.gemspec index 9bc318bb5..3485ce088 100644 --- a/train.gemspec +++ b/train.gemspec @@ -34,12 +34,13 @@ Gem::Specification.new do |spec| # azure, docker, gcp dependencies spec.add_dependency "inifile", "~> 3.0" - # Azure dependencies temporarily commented out for Faraday 2.x compatibility - spec.add_dependency "azure_graph_rbac2", "~> 1.0" - spec.add_dependency "azure_mgmt_key_vault2", "~> 1.0" - spec.add_dependency "azure_mgmt_resources2", "~> 1.0" - spec.add_dependency "azure_mgmt_security2", "~> 1.0" - spec.add_dependency "azure_mgmt_storage2", "~> 1.0" + spec.add_dependency "azure_graph_rbac2" + spec.add_dependency "azure_mgmt_key_vault2" + spec.add_dependency "azure_mgmt_resources2" + # spec.add_dependency "azure_mgmt_security2" + # spec.add_dependency "azure_mgmt_storage2" + spec.add_dependency "ms_rest_azure2" + spec.add_dependency "ms_rest2" spec.add_dependency "docker-api", ">= 1.26", "< 3.0" spec.add_dependency "googleauth", ">= 0.16.2", "< 1.9.0" spec.add_dependency "google-apis-admin_directory_v1", "~> 0.46.0" From 65907091995f169d5c9910ef1c2dbf38e1f37e10 Mon Sep 17 00:00:00 2001 From: balasubramanian-s Date: Mon, 15 Dec 2025 19:02:39 +0530 Subject: [PATCH 5/7] test case fixes Signed-off-by: balasubramanian-s --- lib/train/transports/clients/azure/vault.rb | 2 +- test/unit/transports/azure_test.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/train/transports/clients/azure/vault.rb b/lib/train/transports/clients/azure/vault.rb index c59d70c50..39c8ee728 100644 --- a/lib/train/transports/clients/azure/vault.rb +++ b/lib/train/transports/clients/azure/vault.rb @@ -12,7 +12,7 @@ def self.client(vault_name, credentials) credentials[:credentials] = ::MsRest2::TokenCredentials.new(provider(credentials)) credentials[:base_url] = api_endpoint(vault_name) - ::Azure::KeyVault::Profiles::Latest::Mgmt::Client.new(credentials) + ::Azure::KeyVault2::Profiles::Latest::Mgmt::Client.new(credentials) end def self.provider(credentials) diff --git a/test/unit/transports/azure_test.rb b/test/unit/transports/azure_test.rb index 0d08813e1..77f1a90fa 100644 --- a/test/unit/transports/azure_test.rb +++ b/test/unit/transports/azure_test.rb @@ -90,7 +90,7 @@ def initialize(hash) end it "can use azure_client vault client" do - vault_api_client = ::Azure::KeyVault::Profiles::Latest::Mgmt::Client + vault_api_client = ::Azure::KeyVault2::Profiles::Latest::Mgmt::Client client = connection.azure_client(vault_api_client, vault_name: "Test Vault") _(client.class).must_equal vault_api_client end From 22a8fa2999cfb8e677b880b47435fbf841f9dd5b Mon Sep 17 00:00:00 2001 From: balasubramanian-s Date: Tue, 16 Dec 2025 15:42:19 +0530 Subject: [PATCH 6/7] update latest azure dependencies & code cleanup Signed-off-by: balasubramanian-s --- Gemfile | 6 ------ train.gemspec | 10 +++------- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/Gemfile b/Gemfile index 300e7f677..4c6e2633a 100644 --- a/Gemfile +++ b/Gemfile @@ -1,12 +1,6 @@ source "https://rubygems.org" gemspec name: "train" -gem "azure_graph_rbac2", git: "https://github.com/chef/azure-sdk-for-ruby", branch: "bs/update-azure-graph-rbac2", glob: "data/azure_graph_rbac2/*.gemspec" -gem "ms_rest_azure2", git: "https://github.com/chef/azure-sdk-for-ruby", branch: "bs/update-faraday-rest-azure2", glob: "runtime/ms_rest_azure2/*.gemspec" -gem "ms_rest2", git: "https://github.com/chef/azure-sdk-for-ruby", branch: "bs/update-faraday-rest-azure2", glob: "runtime/ms_rest2/*.gemspec" -gem "azure_mgmt_key_vault2", git: "https://github.com/chef/azure-sdk-for-ruby", branch: "CHEF-28641-refactor-azure-mgmt-key-vault-to-key-vault2", glob: "management/azure_mgmt_key_vault2/*.gemspec" -gem "azure_mgmt_resources2", git: "https://github.com/chef/azure-sdk-for-ruby", branch: "master", glob: "management/azure_mgmt_resources2/*.gemspec" - group :development do gem "bundler", "~> 2.4" gem "minitest", "~> 5.8" diff --git a/train.gemspec b/train.gemspec index 3485ce088..e04ed3cec 100644 --- a/train.gemspec +++ b/train.gemspec @@ -34,13 +34,9 @@ Gem::Specification.new do |spec| # azure, docker, gcp dependencies spec.add_dependency "inifile", "~> 3.0" - spec.add_dependency "azure_graph_rbac2" - spec.add_dependency "azure_mgmt_key_vault2" - spec.add_dependency "azure_mgmt_resources2" - # spec.add_dependency "azure_mgmt_security2" - # spec.add_dependency "azure_mgmt_storage2" - spec.add_dependency "ms_rest_azure2" - spec.add_dependency "ms_rest2" + spec.add_dependency "azure_graph_rbac2", "~> 0.18.0" + spec.add_dependency "azure_mgmt_key_vault2", "~> 0.18.0" + spec.add_dependency "azure_mgmt_resources2", "~> 1.1" spec.add_dependency "docker-api", ">= 1.26", "< 3.0" spec.add_dependency "googleauth", ">= 0.16.2", "< 1.9.0" spec.add_dependency "google-apis-admin_directory_v1", "~> 0.46.0" From 04ba7f12945fceaddc707c39765385a0128889eb Mon Sep 17 00:00:00 2001 From: balasubramanian-s Date: Tue, 16 Dec 2025 16:02:24 +0530 Subject: [PATCH 7/7] code cleanup Signed-off-by: balasubramanian-s --- Gemfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 4c6e2633a..eb6cf40e5 100644 --- a/Gemfile +++ b/Gemfile @@ -1,8 +1,7 @@ source "https://rubygems.org" gemspec name: "train" -group :development do - gem "bundler", "~> 2.4" +group :test do gem "minitest", "~> 5.8" gem "rake", "~> 13.0" gem "chefstyle", "2.2.3"