@@ -10,20 +10,20 @@ def register(schema)
1010 raise Puppet ::DevError , '`:connection_info` must be a hash, not `%{other_type}`' % { other_type : schema [ :connection_info ] . class } unless schema [ :connection_info ] . is_a? ( Hash )
1111
1212 init_transports
13- unless @transports [ @environment ] [ schema [ :name ] ] . nil?
13+ unless @transports [ current_environment ] [ schema [ :name ] ] . nil?
1414 raise Puppet ::DevError , 'Transport `%{name}` is already registered for `%{environment}`' % {
1515 name : schema [ :name ] ,
16- environment : @environment ,
16+ environment : current_environment ,
1717 }
1818 end
19- @transports [ @environment ] [ schema [ :name ] ] = Puppet ::ResourceApi ::TransportSchemaDef . new ( schema )
19+ @transports [ current_environment ] [ schema [ :name ] ] = Puppet ::ResourceApi ::TransportSchemaDef . new ( schema )
2020 end
2121 module_function :register # rubocop:disable Style/AccessModifierDeclarations
2222
2323 # retrieve a Hash of transport schemas, keyed by their name.
2424 def list
2525 init_transports
26- Marshal . load ( Marshal . dump ( @transports [ @environment ] ) )
26+ Marshal . load ( Marshal . dump ( @transports [ current_environment ] ) )
2727 end
2828 module_function :list # rubocop:disable Style/AccessModifierDeclarations
2929
@@ -48,12 +48,12 @@ def inject_device(name, transport)
4848
4949 def self . validate ( name , connection_info )
5050 init_transports
51- require "puppet/transport/schema/#{ name } " unless @transports [ @environment ] . key? name
52- transport_schema = @transports [ @environment ] [ name ]
51+ require "puppet/transport/schema/#{ name } " unless @transports [ current_environment ] . key? name
52+ transport_schema = @transports [ current_environment ] [ name ]
5353 if transport_schema . nil?
5454 raise Puppet ::DevError , 'Transport for `%{target}` not registered with `%{environment}`' % {
5555 target : name ,
56- environment : @environment ,
56+ environment : current_environment ,
5757 }
5858 end
5959 message_prefix = 'The connection info provided does not match the Transport Schema'
@@ -64,24 +64,18 @@ def self.validate(name, connection_info)
6464
6565 def self . get_context ( name )
6666 require 'puppet/resource_api/puppet_context'
67- Puppet ::ResourceApi ::PuppetContext . new ( @transports [ @environment ] [ name ] )
67+ Puppet ::ResourceApi ::PuppetContext . new ( @transports [ current_environment ] [ name ] )
6868 end
6969 private_class_method :get_context
7070
7171 def self . init_transports
72- lookup = Puppet . lookup ( :current_environment ) if Puppet . respond_to? :lookup
73- @environment = if lookup . nil?
74- :transports_default
75- else
76- lookup . name
77- end
7872 @transports ||= { }
79- @transports [ @environment ] ||= { }
73+ @transports [ current_environment ] ||= { }
8074 end
8175 private_class_method :init_transports
8276
8377 def self . wrap_sensitive ( name , connection_info )
84- transport_schema = @transports [ @environment ] [ name ]
78+ transport_schema = @transports [ current_environment ] [ name ]
8579 if transport_schema
8680 transport_schema . definition [ :connection_info ] . each do |attr_name , options |
8781 if options . key? ( :sensitive ) && ( options [ :sensitive ] == true ) && connection_info . key? ( attr_name )
@@ -92,4 +86,14 @@ def self.wrap_sensitive(name, connection_info)
9286 connection_info
9387 end
9488 private_class_method :wrap_sensitive
89+
90+ def self . current_environment
91+ if Puppet . respond_to? :lookup
92+ env = Puppet . lookup ( :current_environment )
93+ env . nil? ? :transports_default : env . name
94+ else
95+ :transports_default
96+ end
97+ end
98+ private_class_method :current_environment
9599end
0 commit comments