Method: Aws::Ec2#modify_image_attribute

Defined in:
lib/ec2/ec2.rb

#modify_image_attribute(image_id, operation_type = nil, vars = {}) ⇒ Object

Modify an image’s attributes. It is recommended that you use modify_image_launch_perm_add_users, modify_image_launch_perm_remove_users, etc. instead of modify_image_attribute because the signature of modify_image_attribute may change with EC2 service changes.

operation_type : currently, only 'Add' & 'Remove' are supported.
vars:
  :user_group  : currently, only 'all' is supported.
  :user_id
  :product_code
  :description


336
337
338
339
340
341
342
343
344
345
346
# File 'lib/ec2/ec2.rb', line 336

def modify_image_attribute(image_id, operation_type = nil, vars = {})
  params = {'ImageId' => image_id }
  params.update(hash_params_with_suffix("LaunchPermission.#{operation_type}", 'UserId', vars[:user_id].to_a)) if vars[:user_id]
  params.update(hash_params_with_suffix("LaunchPermission.#{operation_type}", 'Group', vars[:user_group].to_a)) if vars[:user_group]
  params.update(hash_params('ProductCode', vars[:product_code])) if vars[:product_code]
  params.update('Description.Value' => vars[:description].to_s) if vars[:description]
  link = generate_request("ModifyImageAttribute", params)
  request_info(link, RightBoolResponseParser.new(:logger => @logger))
rescue Exception
  on_exception
end