class Aws::SSM::Console::Command

Constants

DEFAULT_EXECUTION_TIMEOUT
DEFAULT_START_TIMEOUT

Attributes

execution_timeout[R]
instance_ids[R]
start_timeout[R]

Public Class Methods

new(instance_ids:, start_timeout: DEFAULT_START_TIMEOUT, execution_timeout: DEFAULT_EXECUTION_TIMEOUT) click to toggle source
# File lib/aws/ssm/console/command.rb, line 10
def initialize(instance_ids:, start_timeout: DEFAULT_START_TIMEOUT, execution_timeout: DEFAULT_EXECUTION_TIMEOUT)
  @instance_ids = instance_ids
  @start_timeout = start_timeout
  @execution_timeout = execution_timeout
end

Public Instance Methods

invoke(command) click to toggle source
# File lib/aws/ssm/console/command.rb, line 16
def invoke(command)
  response = Aws::SSM::Console.client.send_command(
    document_name: 'AWS-RunShellScript',
    instance_ids: instance_ids,
    timeout_seconds: start_timeout,
    parameters: {
      commands: [command],
      executionTimeout: [execution_timeout.to_s],
    }
  )
  Aws::SSM::Console::Printer.new(response).print
rescue Aws::SSM::Errors::ServiceError
  # TODO: error handling
  raise
end