class Chef::Knife::IonoscloudGroupList
Attributes
description[R]
required_options[R]
Public Class Methods
new(args = [])
click to toggle source
Calls superclass method
# File lib/chef/knife/ionoscloud_group_list.rb, line 17 def initialize(args = []) super(args) @description = 'This retrieves a full list of all groups.' @required_options = [:ionoscloud_username, :ionoscloud_password] end
Public Instance Methods
run()
click to toggle source
# File lib/chef/knife/ionoscloud_group_list.rb, line 24 def run $stdout.sync = true handle_extra_config validate_required_params(@required_options, config) group_list = [ ui.color('ID', :bold), ui.color('Name', :bold), ui.color('Create Datacenter', :bold), ui.color('Create Snapshot', :bold), ui.color('Reserve IP', :bold), ui.color('Access Activity Log', :bold), ui.color('S3 Privilege', :bold), ui.color('Create Backup Unit', :bold), ] user_management_api = Ionoscloud::UserManagementApi.new(api_client) if config[:user_id] groups = user_management_api.um_users_groups_get(config[:user_id], { depth: 1 }).items else groups = user_management_api.um_groups_get({ depth: 1 }).items end groups.each do |group| group_list << group.id group_list << group.properties.name group_list << group.properties.create_data_center.to_s group_list << group.properties.create_snapshot.to_s group_list << group.properties.reserve_ip.to_s group_list << group.properties.access_activity_log.to_s group_list << group.properties.s3_privilege.to_s group_list << group.properties.create_backup_unit.to_s end puts ui.list(group_list, :uneven_columns_across, 8) end