class IisAppPool
def enable32bit
def enable32bit iis_app_pool[:e32b] end
def exists?
def exists? !iis_app_pool[:pool_name].empty? end
def iis_app_pool
I cannot think of a way to shorten this method
def iis_app_pool return @cache unless @cache.nil? command = "Import-Module WebAdministration; Get-Item '#{@pool_path}' | Select-Object * | ConvertTo-Json" cmd = inspec.command(command) begin pool = JSON.parse(cmd.stdout) rescue JSON::ParserError => _e raise Inspec::Exceptions::ResourceFailed, 'Unable to parse app pool JSON' end # map our values to a hash table @cache = { pool_name: pool['name'], version: pool['managedRuntimeVersion'], e32b: pool['enable32BitAppOnWin64'], mode: pool['managedPipelineMode'], processes: pool['processModel']['maxProcesses'], timeout: "#{pool['processModel']['idleTimeout']['Hours']}:#{pool['processModel']['idleTimeout']['Minutes']}:#{pool['processModel']['idleTimeout']['Seconds']}", timeout_days: pool['processModel']['idleTimeout']['Days'], timeout_hours: pool['processModel']['idleTimeout']['Hours'], timeout_minutes: pool['processModel']['idleTimeout']['Minutes'], timeout_seconds: pool['processModel']['idleTimeout']['Seconds'], user_identity_type: pool['processModel']['identityType'], username: pool['processModel']['userName'], } end
def initialize(pool_name)
def initialize(pool_name) @pool_name = pool_name @pool_path = "IIS:\\AppPools\\#{@pool_name}" @cache = nil # verify that this resource is only supported on Windows return skip_resource 'The `iis_app_pool` resource is not supported on your OS.' unless inspec.os.windows? end
def max_processes
def max_processes iis_app_pool[:processes] end
def pipeline_mode
def pipeline_mode iis_app_pool[:mode] end
def pool_name
def pool_name iis_app_pool[:pool_name] end
def runtime_version
def runtime_version iis_app_pool[:version] end
def timeout
def timeout iis_app_pool[:timeout] end
def timeout_days
def timeout_days iis_app_pool[:timeout_days] end
def timeout_hours
def timeout_hours iis_app_pool[:timeout_hours] end
def timeout_minutes
def timeout_minutes iis_app_pool[:timeout_minutes] end
def timeout_seconds
def timeout_seconds iis_app_pool[:timeout_seconds] end
def to_s
def to_s "iis_app_pool '#{@pool_name}'" end
def user_identity_type
def user_identity_type iis_app_pool[:user_identity_type] end
def username
def username iis_app_pool[:username] end