A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://docs.aws.amazon.com/sdkforruby/api/Aws/Resources/Batch.html below:

Batch — AWS SDK for Ruby V2

You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::Resources::Batch
Inherits:
Object show all
Includes:
Enumerable
Defined in:
aws-sdk-resources/lib/aws-sdk-resources/batch.rb
Overview

A batch provides array like access to a list of resources. Batches also provide the ability to invoke certain operations against the entire batch.

Getting a Batch

You should normally not need to construct a batch. Anywhere a list of resources is returned, they are returned as a batch:

security_groups = ec2.instance('i-12345678').security_groups

When the possible number of resources is unknown or large, the resources will be returned in a collection. Collections can enumerate individual resources or batches. They manage paging over the AWS request/responses to produce batches.

objects = s3.bucket('aws-sdk').objects

You can invoke batch operations against collections and they will invoke them on each batch.

objects = s3.bucket('aws-sdk').objects
objects.delete
Batch Operations

Batches provide operations that operate on the entire batch. These operations are only defined for resources where the AWS API accepts multiple inputs. This means a batch operation for n resources will only make one request.

Resource classes document each of their own batch operations. See S3::Object for an example.

Instance Attribute Summary collapse Instance Method Summary collapse Constructor Details #initialize(resource_class, resources, options = {}) ⇒ Batch

Returns a new instance of Batch.

47
48
49
50
51
52
53
# File 'aws-sdk-resources/lib/aws-sdk-resources/batch.rb', line 47

def initialize(resource_class, resources, options = {})
  @resource_class = resource_class
  @resources = resources
  @response = options[:response]
  @size = resources.size
  @options = options
end
Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method_name, *args, &block) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

109
110
111
112
113
114
115
# File 'aws-sdk-resources/lib/aws-sdk-resources/batch.rb', line 109

def method_missing(method_name, *args, &block)
  if respond_to?(method_name)
    invoke_batch_operation(method_name, args, block) unless empty?
  else
    super
  end
end
Instance Attribute Details #resource_class ⇒ Class<Resource>
56
57
58
# File 'aws-sdk-resources/lib/aws-sdk-resources/batch.rb', line 56

def resource_class
  @resource_class
end
#responseSeahorse::Client::Response?
59
60
61
# File 'aws-sdk-resources/lib/aws-sdk-resources/batch.rb', line 59

def response
  @response
end
#size ⇒ Integer Also known as: count
62
63
64
# File 'aws-sdk-resources/lib/aws-sdk-resources/batch.rb', line 62

def size
  @size
end
Instance Method Details #[](index) ⇒ Resource
68
69
70
# File 'aws-sdk-resources/lib/aws-sdk-resources/batch.rb', line 68

def [](index)
  @resources[index]
end
#each(&block) ⇒ Object

Yields each resource of the batch, one at a time.

73
74
75
76
77
# File 'aws-sdk-resources/lib/aws-sdk-resources/batch.rb', line 73

def each(&block)
  enum = @resources.to_enum
  enum.each(&block) if block_given?
  enum
end
#empty? ⇒ Boolean
90
91
92
# File 'aws-sdk-resources/lib/aws-sdk-resources/batch.rb', line 90

def empty?
  @resources.empty?
end
#first(count = nil) ⇒ Resource, Batch
81
82
83
84
85
86
87
# File 'aws-sdk-resources/lib/aws-sdk-resources/batch.rb', line 81

def first(count = nil)
  if count
    self.class.new(@resource_class, @resources.first(count), @options)
  else
    @resources.first
  end
end

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4