- * Package: dev-ruby/aws-sdk-1.5.7
- * Repository: gentoo
- * Maintainer: ruby@gentoo.org
- * USE: amd64 elibc_glibc kernel_linux multilib ruby_targets_ree18 ruby_targets_ruby18 ruby_targets_ruby19 test userland_GNU
- * FEATURES: sandbox test userpriv usersandbox
- >>> Unpacking source...
- * Running unpack phase for all ...
- >>> Unpacking aws-sdk-for-ruby-1.5.7.tar.gz to /tmp/portage/dev-ruby/aws-sdk-1.5.7/work/all
- >>> Source unpacked in /tmp/portage/dev-ruby/aws-sdk-1.5.7/work
- >>> Preparing source in /tmp/portage/dev-ruby/aws-sdk-1.5.7/work ...
- * Running prepare phase for all ...
- * Applying aws-sdk-1.5.3-disabletest.patch ...
- [ ok ]
- * Applying aws-sdk-1.5.7-specs.patch ...
- [ ok ]
- * Running source copy phase for ruby18 ...
- * Running source copy phase for ruby19 ...
- * Running source copy phase for ree18 ...
- >>> Source prepared.
- >>> Configuring source in /tmp/portage/dev-ruby/aws-sdk-1.5.7/work ...
- >>> Source configured.
- >>> Compiling source in /tmp/portage/dev-ruby/aws-sdk-1.5.7/work ...
- * Running compile phase for all ...
- >>> Source compiled.
- * Running test phase for ruby18 ...
- AWS::AutoScaling::LaunchConfigurationCollection
- #[]
- returns an activity
- behaves like a pageable collection with limits
- yields activities
- adds the group when provided
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- AWS::AutoScaling::LaunchConfiguration
- #id
- is set in the constructor
- behaves like activity attribute
- describes scaling activities to fetch attribute
- returns the attribute value
- behaves like activity attribute
- describes scaling activities to fetch attribute
- returns the attribute value
- behaves like activity attribute
- describes scaling activities to fetch attribute
- returns the attribute value
- behaves like activity attribute
- describes scaling activities to fetch attribute
- returns the attribute value
- behaves like activity attribute
- describes scaling activities to fetch attribute
- returns the attribute value
- behaves like activity attribute
- describes scaling activities to fetch attribute
- returns the attribute value
- behaves like activity attribute
- describes scaling activities to fetch attribute
- returns the attribute value
- behaves like activity attribute
- describes scaling activities to fetch attribute
- returns the attribute value
- behaves like activity attribute
- describes scaling activities to fetch attribute
- returns the attribute value
- #group
- returns an auto scaling group
- #exists?
- returns true if it can be described
- returns false if it can not be found
- AWS::AutoScaling::GroupCollection
- #create
- calls #create_auto_scaling_group on the client
- accepts az objects and launch configuration objects
- raises an argument error if you omit :launch_configuration
- raises an argument error if you omit :availability_zones
- raises an argument error if you omit :min_size
- raises an argument error if you omit :max_size
- accepts a default cooldown period
- accepts desired capacity
- accepts a health check grace period
- accepts a health check type
- accepts a health check grace period
- accepts load balancers
- accepts load balancer objects
- accepts a placement group
- accepts tags
- accepts subnets
- accepts subnet objects
- returns a group with the given name
- #[]
- returns a group
- behaves like a pageable collection with limits
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- AWS::AutoScaling::Group
- #name
- is set in the constructor
- attributes
- returns attributes from the describe call
- #tags
- returns array of tag objects
- #launch_configuraiton
- returns a launch configuration
- #ec2_instances
- returns a filtered instance collection
- filters the collection by the correct tag
- #scheduled_actions
- returns a scheduled action collection
- does not filter the actions (returns all)
- #subnets
- returns an array of subnets
- #availability_zones
- returns an array of availability zone objects
- #load_balancers
- returns an array of load balancer objects
- #update
- calls #update_auto_scaling_group on the client
- accepts multiple options
- #delete_tags
- #calls delete_tags on the client
- accpets multiple tags
- accpets tag objects
- #delete_all_tags
- calls #delete_tags with the group tags
- #delete
- calls #delete_auto_scaling_group on the client
- accepts a :force option
- #delete!
- calls #delete_auto_scaling_group on the client with :force
- #exists?
- returns false if it can not describe it
- returns true if it can describe it
- #set_desired_capacity
- calls #set_desired_capacity on the client
- accepts an honor cooldown option
- #scaling_policies
- retunrs a scaling policy collection
- #notification_configurations
- retunrs a notification configuration collection
- #suspend_processes
- calls #suspend_processes on the client
- accepts mutiple process types
- accepts an array of process types
- #suspend_all_processes
- calls #suspend_processes on the client with no processes
- #resume_processes
- calls #resume_processes on the client
- accepts mutiple process types
- accepts an array of process types
- #resume_all_processes
- calls #resume_processes on the client with no processes
- AWS::AutoScaling::LaunchConfigurationCollection
- #create
- calls #create_launch_configuration on the client
- returns a launch configuration object
- accepts a hash of options
- accpets security group objects and it passes along their ids
- accpets a key pair object and passes along its name
- #[]
- returns a launch configuration
- behaves like a pageable collection with limits
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- AWS::AutoScaling::Instance
- #ec2_instance
- returns a EC2::Instance
- returns an instance with the proper id
- returns an instance with the proper config
- #auto_scaling_group
- returns an Auto Scaling group
- returns a group with the proper name
- returns a group with the proper config
- #availability_zone
- returns an ec2 availabilty zone
- returns an az with the proper name
- returns an az with the proper config
- #launch_configuration
- returns a launch configuration
- returns a launch config with the proper name
- returns a launch config with the proper config
- #set_instance_health
- calls #set_instance_health on the client
- accepts a :respect_grace_period option
- #exists?
- returns true when it can be described
- returns false when it does not come back from describe
- #terminate
- calls #terminate_instance_in_auto_scaling_group on the client
- accepts a false value for should decrement
- returns a populated Activty
- populating from auto scaling group
- can be populated from describing a group
- AWS::AutoScaling::LaunchConfigurationCollection
- #create
- calls #create_launch_configuration on the client
- returns a launch configuration object
- accepts a hash of options
- accpets security group objects and it passes along their ids
- accpets a key pair object and passes along its name
- #[]
- returns a launch configuration
- behaves like a pageable collection with limits
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- AWS::AutoScaling::LaunchConfiguration
- #name
- is set in the constructor
- attributes
- returns attributes from the describe call
- #security_groups
- returns security groups with id patterns
- describes security groups with a filter if given names
- #key_pair
- returns an ec2 key pair
- #image
- returns an ec2 image
- #exists?
- describes launch configurations with a name filter
- returns false when the domain can not be described
- #delete
- calls #delete_launch_configuration on the client
- AWS::AutoScaling::NotificationConfigurationCollection
- #group
- returns the group
- is aliased as auto_scaling_group
- returns nil when initialized without a group
- #create
- calls #put_notification_configuration on the client
- returns a notification configuration
- gets the full list of notification types if you omit types
- #each
- calls #describe_notification_configurations with the group name
- omits the auto scaling name when not provided
- yeilds notification configurations
- yields configurations with the proper topic arn
- yields configurations with the proper topics
- yields configurations with the proper group
- yields configurations with the proper notification types
- AWS::AutoScaling::NotificationConfiguration
- #group
- returns the group
- #topic_arn
- returns the topic arn string
- #topic
- returns the sns topic
- #notification_types
- returns the notification type string
- #delete
- calls #delete_notification_configuration on the client
- #eql?
- returns true if they share the same group and topic
- returns false if they have different topics
- returns false if they have different groups
- AWS::SimpleEmailService::Request
- it should behave like an authorize v4 request
- #add_authorization!
- sets the content type form-urlencoded by default
- populates the host header
- populates the date header
- omits the security token header when session token not provided
- populates the security token header when session token is provided
- popualtes the authorization header (FAILED - 1)
- includes the session token in the signature when present (FAILED - 2)
- #service
- should be ses
- AWS::AutoScaling::ScalingPolicyCollection
- #group
- returns the group
- is aliased as auto_scaling_group
- #create
- calls #put_policy on the client
- returns a scaling policy
- populates the policy arn
- #[]
- returns a scaling policy
- returns a scaling policy with the proper name
- returns a scaling policy with the proper group
- returns a scaling policy with the proper config
- behaves like a pageable collection with limits
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- AWS::AutoScaling::ScalingPolicy
- #name
- is set in the constructor
- #arn
- returns the described arn
- #adjustment_type
- returns the described adjustment type
- #scaling_adjustment
- returns the described scaling adjustment
- #cooldown
- returns the described cooldown
- #alarms
- returns the alarms in a hash
- #update
- calls #put_scaling_policy on the client
- #execute
- calls #execute_policy on the client
- calls accepts an :honor_cooldown option
- #delete
- calls #delete_policy on the client
- #exists
- returns true if it can be described
- returns false if the describe call returns no results
- AWS::AutoScaling::ScheduledActionCollection
- #create
- calls #put_scheduled_update_group_action on the client
- returns a scheduled action
- accepts a group object
- accepts a group option via the filters
- accepts gets group when chained from a group
- raises an error when no group is provided
- #[]
- returns a scheduled action
- #filter
- applies filter options to the colleciton when enumerating
- accepts multiple filters
- can be chained
- behaves like a pageable collection with limits
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- AWS::AutoScaling::ScheduledAction
- #name
- is set in the constructor
- attributes
- returns attributes from the describe call
- #update
- calls #put_scheduled_update_group_action on the client
- converts time objects into iso8601 strings
- #exists?
- returns true if it can be described
- returns false if it can be described
- #delete
- calls #delete_scheduled_action on the client
- AWS::AutoScaling::TagCollection
- #filter
- filters the describe call
- accepts multiple filter values per filter
- accepts multiple filter values as an array
- can be chained
- converts symbol filternames into strings
- behaves like a pageable collection with limits
- yields tag objects
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- AWS::AutoScaling
- behaves like a class that accepts configuration
- accepts and returns a :config option
- constructor passes options to Configuration#with
- returns the merged config
- #launch_configurations
- it should behave like an auto scaling service collection
- should return an instance of AWS::AutoScaling::LaunchConfigurationCollection
- should pass the config
- #groups
- it should behave like an auto scaling service collection
- should return an instance of AWS::AutoScaling::GroupCollection
- should pass the config
- #tags
- it should behave like an auto scaling service collection
- should return an instance of AWS::AutoScaling::TagCollection
- should pass the config
- #notification_types
- calls #describe_auto_scaling_notification_types on the client
- returns the notification types from the response
- #adjustment_types
- calls #describe_describe_adjustment_types on the client
- returns the adjustment types from the response
- #scaling_process_types
- calls #describe_scaling_process_types on the client
- returns the adjustment types from the response
- #metric_collection_types
- calls #describe_scaling_process_types on the client
- returns the adjustment types from the response
- #metric_collection_granularities
- calls #describe_scaling_process_types on the client
- returns the adjustment types from the response
- #notification_configuration
- returns a notficiation configuraiton collection
- #instances
- returns a instance collection
- #instances
- returns a instance collection
- does not filter the activities (returns all)
- #scheduled_actions
- returns a scheduled action collection
- does not filter the actions (returns all)
- AWS::SimpleEmailService::Request
- it should behave like an authorize v4 request
- #add_authorization!
- sets the content type form-urlencoded by default
- populates the host header
- populates the date header
- omits the security token header when session token not provided
- populates the security token header when session token is provided
- popualtes the authorization header (FAILED - 3)
- includes the session token in the signature when present (FAILED - 4)
- #service
- should be ses
- AWS::CloudFormation::StackCollection
- #create
- calls #create_stack on the client
- accepts arbitrary options
- template param
- accepts the template as url string
- accepts the template as a http uri
- accepts the template as a https uri
- accepts the template as a s3 object
- calls #to_json on other template params
- :capabilities option
- passes capabilities to #create_stack
- :disable_rollback option
- defaults to false
- can be set to true
- :notify option
- can be set via :notification_arns
- accepts a topic arn string
- accepts a list of topic arn strings
- accepts an sns topic
- accepts an array of sns topics
- :parameters option
- accepts a hash of options
- :timeout_in_minutes option
- passes this option along
- can be provided as :timeout
- returns
- returns a stack
- returns a stack with the proper config
- returns a stack with the proper name
- returns a stack with the stack id as returned by create call
- #[]
- returns a stack
- returns a stack with the proper name
- returns a stack with the proper config
- behaves like a simple collection
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- calls the client method to list objects
- should yield the right number of objects
- AWS::CloudFormation::StackEventCollection
- behaves like a simple collection
- yields popualted events
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- calls the client method to list objects
- should yield the right number of objects
- AWS::CloudFormation::StackOptions
- #apply_template
- opts[:template] as a not url string
- has opts[:template_body]
- include "http"
- has opts[:template_body]
- opts[:template] as a http url string
- has opts[:template_url]
- opts[:template] as a https url string
- has opts[:template_url]
- AWS::CloudFormation::StackResourceCollection
- #[]
- returns a stack resource
- returns a resource with the proper logical resource id
- returns a resource with the proper stack
- returns a resource with the proper config
- behaves like a simple collection
- enumerates stack resources
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- calls the client method to list objects
- should yield the right number of objects
- AWS::CloudFormation::StackResource
- #creation_time
- behaves like a describe attribute
- calls #describe_stack_resource
- returns the expected value
- #physical_resource_id
- behaves like a describe attribute
- calls #describe_stack_resource
- returns the expected value
- #resource_status
- behaves like a describe attribute
- calls #describe_stack_resource
- returns the expected value
- #resource_status_reason
- behaves like a describe attribute
- calls #describe_stack_resource
- returns the expected value
- #resource_type
- behaves like a describe attribute
- calls #describe_stack_resource
- returns the expected value
- #stack_id
- behaves like a describe attribute
- calls #describe_stack_resource
- returns the expected value
- #stack_name
- behaves like a describe attribute
- calls #describe_stack_resource
- returns the expected value
- #last_updated_timestamp
- behaves like a describe attribute
- calls #describe_stack_resource
- returns the expected value
- #metadata
- behaves like a describe attribute
- calls #describe_stack_resource
- returns the expected value
- AWS::CloudFormation::StackResourceSummaryCollection
- #stack
- returns the stack
- behaves like a simple collection
- yields populated stack summaries
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- calls the client method to list objects
- should yield the right number of objects
- AWS::CloudFormation::Stack
- #creation_time
- behaves like a describe stack attribute
- calls #describe_stacks with the stack name to load the attr
- returns the expected value
- #last_update_time
- behaves like a describe stack attribute
- calls #describe_stacks with the stack name to load the attr
- returns the expected value
- #stack_id
- behaves like a describe stack attribute
- calls #describe_stacks with the stack name to load the attr
- returns the expected value
- #status
- behaves like a describe stack attribute
- calls #describe_stacks with the stack name to load the attr
- returns the expected value
- #status_reason
- behaves like a describe stack attribute
- calls #describe_stacks with the stack name to load the attr
- returns the expected value
- #capabilities
- behaves like a describe stack attribute
- calls #describe_stacks with the stack name to load the attr
- returns the expected value
- #description
- behaves like a describe stack attribute
- calls #describe_stacks with the stack name to load the attr
- returns the expected value
- #disable_rollback
- behaves like a describe stack attribute
- calls #describe_stacks with the stack name to load the attr
- returns the expected value
- #notification_arns
- behaves like a describe stack attribute
- calls #describe_stacks with the stack name to load the attr
- returns the expected value
- #outputs
- behaves like a describe stack attribute
- calls #describe_stacks with the stack name to load the attr
- returns the expected value
- #parameters
- behaves like a describe stack attribute
- calls #describe_stacks with the stack name to load the attr
- returns the expected value
- #status_reason
- behaves like a describe stack attribute
- calls #describe_stacks with the stack name to load the attr
- returns the expected value
- #template
- calls #get_template on the client
- returns the template body
- #estimate_template_cost
- calls CloudFormation#estimate_template_cost with its tepmlate and params
- #resources
- returns a stack resource collection
- returns a collection with the proper stack
- returns a collection with the proper config
- #update
- calls #update_stack on the client
- returns nil
- passes along the tempate option
- passes along the tempate body option
- passes along the capabilities
- passes along the parameters
- #delete
- calls #delete_stack on the client
- returns nil
- AWS::CloudFormation::StackSummaryCollection
- #with_status
- returns a stack collection
- returns a collection with the proper config
- passes the status filter to #list_stacks when enumerated
- up-cases the status before calling #list_stacks
- accepts statuses in an array
- accepts statuses as a list
- behaves like a simple collection
- yields populated stack summaries
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- calls the client method to list objects
- should yield the right number of objects
- AWS::CloudFormation
- behaves like a class that accepts configuration
- accepts and returns a :config option
- constructor passes options to Configuration#with
- returns the merged config
- #stacks
- returns a stack collection
- returns a collection with the proper config
- #stack_summaries
- returns a stack collection
- #stack_resource
- accepts a stack name and a logical resource id
- when one string is passed, it is treated as a physical resource id
- returns a stack resource
- #validte_template
- calls #validate_template on the client
- returns a hash with parsed template details
- returns a hash of error details when invalid
- #estimate_template_cost
- calls #estimate_template_cost on the client
- accepts urls
- returns a url
- AWS::CloudWatch::AlarmCollection
- #create
- calls #put_metric_alarm on the client
- returns an alarm
- returns an alarm with the proper name
- returns an alarm with the proper config
- behaves like alarm create options
- raises an argument error if you omit comparison_operator
- behaves like alarm create options
- raises an argument error if you omit evaluation_periods
- behaves like alarm create options
- raises an argument error if you omit metric_name
- behaves like alarm create options
- raises an argument error if you omit namespace
- behaves like alarm create options
- raises an argument error if you omit period
- behaves like alarm create options
- raises an argument error if you omit statistic
- behaves like alarm create options
- raises an argument error if you omit threshold
- #[]
- returns a metric alarm
- #filter
- returns another collection
- returns a collection with the proper config
- returns a collection that applies the filter when enumerating
- chainable filter methods
- behaves like a filterable collection method
- is applied when enumerating
- behaves like a filterable collection method
- is applied when enumerating
- behaves like a filterable collection method
- is applied when enumerating
- behaves like a filterable collection method
- is applied when enumerating
- behaves like a filterable collection method
- is applied when enumerating
- behaves like a pageable collection with limits
- yields metrics
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- AWS::CloudWatch::AlarmHistoryItem
- behaves like alarm history item attribute
- #alarm_name
- returns the :alarm_name option passed to initialize
- behaves like alarm history item attribute
- #history_data
- returns the :history_data option passed to initialize
- aliases history_data as data
- behaves like alarm history item attribute
- #history_item_type
- returns the :history_item_type option passed to initialize
- aliases history_item_type as type
- behaves like alarm history item attribute
- #history_summary
- returns the :history_summary option passed to initialize
- aliases history_summary as summary
- behaves like alarm history item attribute
- #timestamp
- returns the :timestamp option passed to initialize
- AWS::CloudWatch::Alarm
- #name
- is aliased
- behaves like metric alarm attribute
- describe metric alarms to fetch attribute
- returns the attribute value
- behaves like metric alarm attribute
- describe metric alarms to fetch attribute
- returns the attribute value
- behaves like metric alarm attribute
- describe metric alarms to fetch attribute
- returns the attribute value
- behaves like metric alarm attribute
- describe metric alarms to fetch attribute
- returns the attribute value
- behaves like metric alarm attribute
- describe metric alarms to fetch attribute
- returns the attribute value
- behaves like metric alarm attribute
- describe metric alarms to fetch attribute
- returns the attribute value
- behaves like metric alarm attribute
- describe metric alarms to fetch attribute
- returns the attribute value
- behaves like metric alarm attribute
- describe metric alarms to fetch attribute
- returns the attribute value
- behaves like metric alarm attribute
- describe metric alarms to fetch attribute
- returns the attribute value
- behaves like metric alarm attribute
- describe metric alarms to fetch attribute
- returns the attribute value
- behaves like metric alarm attribute
- describe metric alarms to fetch attribute
- returns the attribute value
- behaves like metric alarm attribute
- describe metric alarms to fetch attribute
- returns the attribute value
- behaves like metric alarm attribute
- describe metric alarms to fetch attribute
- returns the attribute value
- behaves like metric alarm attribute
- describe metric alarms to fetch attribute
- returns the attribute value
- behaves like metric alarm attribute
- describe metric alarms to fetch attribute
- returns the attribute value
- behaves like metric alarm attribute
- describe metric alarms to fetch attribute
- returns the attribute value
- behaves like metric alarm attribute
- describe metric alarms to fetch attribute
- returns the attribute value
- behaves like metric alarm attribute
- describe metric alarms to fetch attribute
- returns the attribute value
- behaves like metric alarm attribute
- describe metric alarms to fetch attribute
- returns the attribute value
- behaves like metric alarm attribute
- describe metric alarms to fetch attribute
- returns the attribute value
- #histories
- returns alarm history
- returns a collection with the proper config
- #exists?
- returns true if it can be described
- returns false if it can not be found
- #delete
- calls #delete_alarms on the client
- #enable
- calls #enable_alarm_actions on the client
- #disable
- calls #disable_alarm_actions on the client
- #set_state
- calls #set_alarm_state on the client
- AWS::CloudWatch::MetricAlarmCollection
- #create
- calls #put_metric_alarm on the client and applies metric details
- behaves like metric alarm create options
- raises an argument error if you omit comparison_operator
- behaves like metric alarm create options
- raises an argument error if you omit evaluation_periods
- behaves like metric alarm create options
- raises an argument error if you omit period
- behaves like metric alarm create options
- raises an argument error if you omit statistic
- behaves like metric alarm create options
- raises an argument error if you omit threshold
- #[]
- returns a metric alarm
- behaves like a pageable collection
- yields metrics
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- calls the client method to list objects
- passes options to the client method
- yields once for each member
- AWS::CloudWatch::MetricCollection
- behaves like a pageable collection
- yields metrics
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- calls the client method to list objects
- passes options to the client method
- yields once for each member
- AWS::CloudWatch::Metric
- #name
- is aliased
- #alarms
- returns metric alarms
- #exists?
- returns true if it can be described
- returns false if it can not be found
- AWS::CloudWatch::AlarmHistoryItemCollection
- #filter
- returns another collection
- returns a collection with the proper config
- returns a collection that applies the filter when enumerating
- chainable filter methods
- behaves like an alarm history filter method
- is applied when enumerating
- behaves like an alarm history filter method
- is applied when enumerating
- behaves like an alarm history filter method
- is applied when enumerating
- behaves like an alarm history filter method
- is applied when enumerating
- behaves like a pageable collection with limits
- yields alarm history items
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- AWS::CloudWatch
- behaves like a class that accepts configuration
- accepts and returns a :config option
- constructor passes options to Configuration#with
- returns the merged config
- #put_metric_data
- calls #put_metric_data on the client
- #alarms
- it should behave like an cloud watch service collection
- should return an instance of AWS::CloudWatch::AlarmCollection
- should pass the config
- #metrics
- it should behave like an cloud watch service collection
- should return an instance of AWS::CloudWatch::MetricCollection
- should pass the config
- AWS
- configuration
- options
- :access_key_id
- defaults to nil
- can updated
- :secret_access_key
- defaults to nil
- can updated
- :session_token
- defaults to nil
- can updated
- :credential_provider
- defaults to an AWS::Core::CredentialProviders::DefaultProvider
- is constructed with the static credentials from config
- returns the same credential provider when secrets do not change
- constructs a new provider when the akid changes
- constructs a new provider when the secret access key changes
- constructs a new provider when the session token changes
- :http_open_timeout
- defaults to 15
- can be changed
- :http_read_timeout
- defaults to 15
- can be changed
- :http_idle_timeout
- defaults to 15
- can be changed
- :http_handler
- defaults to a NetHttpHandler
- uses the configured timeouts, logger and wire logging
- returns the same handler if open and idle timeout dont change
- constructs a new http handler when open timeout changes
- constructs a new http handler when idle timeout changes
- constructs a new http handler when logger changes
- constructs a new http handler when http wire trace changes
- :http_wire_trace
- defaults to false
- can be set to true
- is aliased with a question mark
- :logger
- defaults to nil by default
- accepts a new logger
- :log_level
- defaults to :info by default
- can be changed
- :log_formatter
- defaults to the default log formatter
- can be changed
- :max_retries
- defaults to 3
- can be changed
- :proxy_uri
- defaults to nil
- can be changed
- parses strings as uris can be changed
- :ssl_verify_peer
- defaults to true
- can be set to false
- is aliases with a question mark
- :ssl_ca_file
- defaults to the bundled ca cert bundle
- can be changed
- :ssl_ca_path
- defaults to nil
- can be changed
- :stub_requests
- defaults to false
- can be changed to true
- is aliased with a question mark
- :use_ssl
- defaults to true
- can be changed to false
- is aliased with a question mark
- :user_agent_prefix
- defaults to nil
- can be changed
- AWS::Core::AsyncHandle
- #on_success
- should do nothing immediately if success has not been signaled
- should call the block immediately if success is already signaled
- #on_failure
- should do nothing immediately if failure has not been signaled
- should call the block immediately if failure is already signaled
- #on_complete
- should do nothing immediately if no status has been signaled
- should call the block immediately if success is already signaled
- should call the block immediately if failure is already signaled
- #signal_success
- with no callback
- doesn't raise an exception
- with one success callback
- calls the callback
- with two success callbacks
- calls each callback
- with one complete callback
- calls the callback
- with two complete callbacks
- calls the callback
- with one of each kind of callback
- calls the success callback
- calls the complete callback
- does not call the failure callback
- #signal_failure
- with no callback
- doesn't raise an exception
- with one failure callback
- calls the callback
- with two failure callbacks
- calls each callback
- with one complete callback
- calls the callback
- with two complete callbacks
- calls the callback
- with one of each kind of callback
- calls the failure callback
- calls the complete callback
- does not call the success callback
- AWS::Core::Cacheable
- #cache_key
- should include the access key, endpoint, service, and local key
- #retrieve_attribute
- no response cache
- should call the block
- should return the attribute value from the response returned by the block
- response cache active
- includes a response with the attribute
- should return the attribute value populated from the response
- should not call the block
- should not call the block even if the attribute value is nil
- should call the block if the attribute is not included in the hash
- should store the attributes in the resource cache
- no matching responses
- should call the block
- should raise an exception if the response includes no information about the resource
- AWS::Core::Client
- logging
- logs to the configured logger after each request
- calls the logger method that matches the log level
- passes the formatted log message to the logger
- passes the response to the log formatter to build the message
- AWS::Core::Collection::Simple
- #each
- yields once for each item in the collection
- accepts the :limit option
- returns a next_token if limited
- returns nil if limit is greater than collection size
- accepts :next_token as an offset
- accpets a hash of options
- accepts multiple options
- #each_batch
- yields all items in a single array to the first block
- accepts :limit
- accepts :next_token
- accpets custom options
- accpets multiple options
- #in_groups_of
- yields items in arrays of the given size
- accepts the :limit option
- accepts custom options
- accepts multiple options
- #enum
- returns an enumerator
- calls #each on the collection
- passes along options
- #first
- returns the first element
- accepts :next_token
- accepts custom options
- accepts multiple options
- #page
- returns a page result
- defaults page size to 10
- #collection
- returns the collection that is being paged
- maintains the collection across paging requests
- #next_token
- returns a simulated next_token which is actually an offset
- converts :next_token of nil into the first page
- converts :next_token of empty string into the first page
- converts :next_token of 0 into the first page
- converts :next_token of '0' into the first page
- returns an empty collection with :next_token is too large
- #next_page
- grabs the next page of items
- works with alternate :per_page values
- #collection
- returns the entire list when it receives #collection
- AWS::Core::Collection::WithNextToken
- #each
- yields once for each item in the collection
- limits the number of items returned
- returns a next_token when fewer than all items returned
- returns nil if limit is greater than collection size
- accepts :next_token with an offset
- passes additional options to the data provider
- keeps getting data until all items are returned
- #each_batch
- yields items in batches of a size determined by the provider
- accepts :limit
- accepts :next_token without offset
- accepts :next_token with offset
- accepts offset without :next_token
- accepts :next_token with :offset and :limit
- #in_groups_of
- yields items in arrays of the given size
- accepts the :limit option
- accepts custom options
- #enum
- returns an enumerator
- calls #each on the collection
- passes along options
- makes no calls against the provider
- #first
- returns the first element
- accepts :next_token
- accepts custom options
- makes a single call against the data provider
- #page
- returns a page result
- defualts page size to 10
- #collection
- returns the collection that is being paged
- maintains the collection across paging requests
- #next_token
- returns a simulated next_token which is actually an offset
- returns a simulated next_token hash with a real next token
- converts :next_token of nil into the first page
- converts :next_token of empty string into the first page
- returns a real next token when page and batch size lines up
- returns an empty collection with :next_token is too large
- #next_page
- when page size is smaller than batch size
- when page size is larger than batch size
- works with alternate :per_page values
- #collection
- returns the entire list when it receives #collection
- AWS::Core::Configuration
- basic options
- adds a method for options
- adds a question method for boolean options
- defaults basic options to nil
- observes defined default values
- allows you to override defaults at the getter
- block-level default overrides do no hide provided values
- allows you to blank out default values
- can transform values
- passes the configuration object to the config block
- passes default nil values to the transform block
- returns values as passed to #new
- returns passed values instead of defaults
- transforms values as passed to #new
- has a short inspect string
- can be compared to another config
- #with
- returns a new configuration object
- returns a new configuration object with the value overridden
- does not modify the source configuration object
- returns self if the object would not change
- returns a config object with all overriden values intact
- #credentials
- returns the credentails
- includes the session token when provided
- options with needs
- adds a method for each option (including those with needs)
- call the create block to construct objects with needs
- only calls the create block once normally
- keeps constructed objects between configurations
- reconstructs objects when one of their needs changes
- does not change the original constructed object when the needs change in a derived config
- chains deeply on dependencies
- rebuilds only those affected by changes
- can return a hash of all configuration values
- AWS::Core::CredentialProviders::DefaultProvider
- raises an error when no credentials are present
- provides a default chain of providers
- passes static credentials to a static credential provider
- enumerates providers asking for credentials
- AWS::Core::CredentialProviders::StaticProvider
- raises an error when no credentials are present
- returns credentials when provided
- returns credentials with session tokens when provided
- ommits nil values from credentials
- protects static credetials from downstream changes
- raises an error if you pass an unexpected option
- AWS::Core::CredentialProviders::ENVProvider
- returns the prefix it was constructed with
- raises an error when no credentials are present
- returns credentials when provided
- returns credentials with session tokens when provided
- ommits nil values from credentials
- does not access/cache credentials until asked
- protects static credetials from downstream changes
- AWS::Core::CredentialProviders::EC2Provider
- fetches credentials from the metadata service
- caches credentials
- makes a new request for creds when refresh is called
- timeouts
- has a short default timeouts
- accepts alternate timeout values
- uses the timeouts when request credentials
- AWS::Core::CredentialProviders::SessionProvider
- can be constructed via SessionProvider.for
- can not be constructed via SessionProvider.new
- accepts long term credentials
- raises an error if you pass an unexpected option
- raises an argument error when given a session token
- constructs a new sts session and returns those credentials
- uses the long term credentials to request an sts session
- requests a new sts session when it receives #refresh
- AWS::Core::Data
- #kind_of?
- returns true for Hash
- returns true for Array on list elements
- #[]
- provides hash-style access to the raw data
- returns nested hases as a response data object
- returns nested arrays as arrays
- returns hashes inside arrays as response data objects
- provides access via nested arrays
- invalid keys
- raises meaningful errors about missing data
- prevents access past array boundries
- lets you know when you treat an array like a hash
- lets you know when you treat an array like a hash via method missing
- does not accept args via method-missing
- #to_hash
- returns the raw data
- is aliased as #to_h
- #inspect
- returns an inspect string based on the raw data
- #id
- checks the data for an id first
- #method_missing
- provides method-style access to the data
- provides access first to hash values with the given key
- provides access to the real method if a block is passed
- provides access to the real method args are passed
- wraps yielded elements
- works with multi-value yields (e.g. Hash#each)
- #inject
- works with inject on lists of hashes
- AWS::Core::Http::Handler
- #intialize
- accepts a base handler and a handle method block
- requires the base handler to response to #handle
- requires the block to accept 2 arguments
- #handle
- should execute the passed block when called
- provides access to the base handler from the block via super
- should pass the #handle request to the block
- should pass the #handle response to the block
- should not trap exceptions
- #base
- should return the base hander
- with synchronous base
- #handle_async
- should execute the passed block in a new thread when called
- provides access to the base handler from the block via super
- should trap exceptions
- should signal failure on an exception
- should signal success on completion
- with asynchronous base
- #initialize
- should accept a handler that responds to handle_async
- should raise an error if the block does not have arity 3
- #handle_async
- should call the block
- should provide access to the base handler via super
- #handle
- should raise an error
- AWS::Core::Http::HTTPartyHandler
- should be accessible from AWS as well as AWS::Core
- #initialize
- should set the default request options
- #handle
- timeouts
- should rescue Timeout::Error
- should rescue Errno::ETIMEDOUT
- should indicate that there was a timeout
- default request options
- passes extra options through to HTTParty
- uses the default when the request option is not set
- prefers the request option when set
- :proxy_uri
- passes proxy address and port from the request
- CA cert path
- should not set the ssl_ca_file option without use_ssl?
- use_ssl? is true
- should not set the ssl_ca_file option without ssl_verify_peer?
- ssl_verify_peer? is true
- should use the ssl_ca_file attribute of the request
- AWS::Core::Http::NetHttpHandler
- http session
- connects to the request host
- starts and stops the http session around the request
- proxies
- passes proxy information to the session
- ssl verification
- enables ssl on the http session when the request is ssl
- enables ssl but not verification when verify peer is false
- disnables ssl on the http session when the request is not ssl
- request
- builds the request with the request uri, headers and body
- makes a get request when http method is GET
- makes a get request when http method is PUT
- makes a get request when http method is POST
- makes a get request when http method is HEAD
- makes a get request when http method is DELETE
- raises an error for unhandled http request methods
- response
- populates the response body from the http response
- populates the response status from the http response code
- populates the response headers from the http response headers
- timeouts
- traps timeout errors and populates them on the response
- AWS::Core::Http::Request::Param
- has a name
- has a value
- should be sortable by their names
- #initialize
- requires a name
- defaults value to nil
- #to_s
- should return the name and value joined by a =
- should not encode the name or value
- should not return an = sign when value is not present
- #encoded
- should return a url safe string name/value pair joined by =
- should convert spaces to %20
- should encode the name
- should encode extra equal signs
- should encode new-lines
- should not encode tilde
- with transcoding support
- should convert to UTF-8 before encoding
- AWS::Core::Http::Request
- #initialize
- accepts no params
- #use_ssl?
- defaults to true
- can be set to false
- #method
- defaults to POST
- can be set
- #host
- defaults host to nil
- can be set directly
- #path
- defaults to /
- can be set directly
- #headers
- defaults headers to an empty hash
- #uri
- is /
- can not be changed
- #url_encoded_params
- defaults to nil
- joins param names and values with =
- joins multiple params with an &
- sorts params
- accepts params that have no values
- url encodes param names and valeus
- #body
- defaults to nil
- contains the url_encoded_params
- #params
- should return an array
- should return params in the ordered they were added
- #add_param
- should add a param
- should add a param with the correct value
- should increase the number of params
- #get_param
- should raise an error for non-existant params
- AWS::Core::Http::Response
- default values
- should default status to 200
- should default headers to a empty hash
- should default body to an empty string
- #initialize
- should return a response
- should yield a response
- should return the same response it yields
- should accept status
- should accept body
- should accept headers
- #header
- returns nil when the response does not have the header
- returns the matching response header
- symbolizes header name
- lowercases keys to match
- lowercases header keys to match
- lowercases both keys to match
- returns the first value of header value array
- returns nil unmodified
- AWS::Core::IndifferentHash
- should be a hash
- #intialize
- converts incoming shallow hashes to string keys
- #[]=
- converts symbol keys into strings
- converts incomming key objects into strings
- #[]
- allows accessing values by symbols
- #merge!
- modifies the hash in place
- #update
- should be an alias of #merge!
- #merge
- modifies the hash in place
- #has_key?
- accepts symbol keys
- has aliases
- #fetch
- accepts symbol keys
- still provides the default behaviour
- #delete
- accepts symbol keys
- AWS::Core::Inflection
- #ruby_name
- strips namespaces (Foo::Bar::Yuck::AbcXyz => abc_xyz)
- does not modify lowercase words (foo => foo)
- does not modify lowercase words w/underscores (foo_bar => foo_bar)
- inflects titleized words
- inflects AWS to aws
- inflects leading caps (upper camel case) words
- inflects words with trailing acroynms
- inflects acroynms with numbers
- inflects SentLast24Hours to sent_last_24_hours
- inflects AWSAccountID to aws_account_id
- inflects MD5OfBody to md5_of_body
- deals with words that start with a lower case letter
- inflects ETag to etag (irregular inflection, should be e_tag)
- #class_name
- inflects foo to Foo
- inflects foo_bar to FooBar
- inflects FooBar to FooBar
- inflects foo-bar to FooBar
- AWS::Core::LazyErrorClasses
- #error_class
- should get the same class as const_missing
- should change "." to "::"
- should generate unique classes by segmented code
- should generate named classes
- works with codes that are already Ruby class names
- works with codes that are already defined in Core
- AWS::Core::LogFormatter
- #pattern
- it set in the constructor
- #max_string_size
- defaults to 1000
- can be overridden in the constructor
- #format
- returns the pattern string
- substitutions
- returns unknown substitutions unmodified
- replaces :service with the request class service name
- replaces :region with the request region
- replaces :operation with the response request type
- replaces :retry_count with the response retry count
- replaces :http_request_host with the http request host
- replaces :http_request_port with the http request port
- replaces :http_request_uri with the http request uri
- replaces :http_request_body with the http request body
- replaces :http_request_headers with the inspected headers
- replaces :http_request_proxy_uri with the http request proxy uri
- replaces :http_response_status with the http response status code
- replaces :http_response_headers with the inspected response headers
- replaces :http_response_body with the http response body
- :duration
- replaces :duration with the response duration
- rounds precision at 6 decimal places
- purnes trailing zeros from the decimal part
- shows the full integer part
- replaces :error_class
- returns an empty string if there is no error
- returns the class name when an error is present
- :error_message
- returns an empty string if there is no error
- returns the error message when an error is present
- :http_request_method
- replaces :http_request_method with the http verb
- accepts alternative methods
- :http_request_protocol
- replaces :http_request_protocol with https when ssl is enabled
- replaces :http_request_protocol with http when ssl is disabled
- :options
- replaces :options with an empty string when nil
- replaces :options with the inspected client request options
- truncates strings that exceede the max size
- summarizes files and gives their size
- summarizes pathnames and gives their size
- handles nested hashes
- handles nested arrays
- inspects all other objects
- AWS::Core::MetaUtils
- #class_extend_method
- should cause instances to respond to the method
- should inherit from the previous definition
- AWS::Core::OptionGrammar
- default behavior
- #validate
- should not raise an error for an empty option set
- should raise an error for any option that is passed
- #request_params
- should return an empty list for an empty option set
- should raise exceptions as thrown by validate
- #to_h
- should return an empty hash
- should validate the argument
- #to_json
- should call to_h and JSON-ify the result
- #customize
- should return a subclass of OptionGrammar
- hint data
- as strings
- behaves like basic options
- per-option validators
- should exist for each configured option
- #validate
- should not raise an error for any of the options named in the list
- should accept string option names
- should raise an error for any options not listed
- #request_params
- should construct request parameters for each option
- #to_h
- should inflect the names
- per-option validators
- should raise an exception if the value does not have to_str
- should not raise an exception if the value is a string
- as hashes
- should raise an error if the hash is empty
- should raise an error if the hash has more than one entry
- should raise an error if the value is not an array
- should not raise an error if the value is nil
- behaves like basic options
- per-option validators
- should exist for each configured option
- #validate
- should not raise an error for any of the options named in the list
- should accept string option names
- should raise an error for any options not listed
- #request_params
- should construct request parameters for each option
- #to_h
- should inflect the names
- top-level hash
- behaves like basic options
- per-option validators
- should exist for each configured option
- #validate
- should not raise an error for any of the options named in the list
- should accept string option names
- should raise an error for any options not listed
- #request_params
- should construct request parameters for each option
- #to_h
- should inflect the names
- value descriptors
- required
- should cause validate to reject hashes without the option
- should not change the behavior if the option is provided
- integer
- should cause validate to reject values that do not support to_int
- should accept integers
- boolean
- should cause validate to reject values that are not boolean
- should accept booleans
- bigdecimal
- should cause validate to reject values that are not numbers
- should accept Fixnums
- should accept Floats
- should accept BigDecimals
- should accept Bignums
- hash format
- should convert the number to a BigDecimal
- string
- should cause validate to reject values that do not support to_str
- should accept strings
- list
- should cause validate to reject values that do not support each
- should accept arrays
- should send an empty list as an empty parameter
- should send items with the list name and a 1-based index as prefix
- hash format
- should send the list as a list
- list of integers
- should cause validate to reject lists of strings
- structure
- should cause validate to accept a hash
- should cause validate to accept a hash with the original member name
- should cause validate to reject strings
- should cause validate to reject an integer value for the member
- should cause validate to reject a hash with an unexpected entry
- should cause validate to reject a hash without a required entry
- should cause validate to accept a hash with a required entry using the original name
- should send members prefixed by the structure name
- hash format
- should inflect the nested option names
- list of structures
- should cause validate to reject a string for the prop member of the structure
- should prefix parameters appropriately
- hash format
- should inflect structure properties
- structure with list
- should cause validate to reject strings in the list
- should prefix parameters appropriately
- hash format
- should include the list in the output
- map
- should cause validate to reject strings
- should cause validate to reject lists
- should validate the keys
- should validate the values
- should generate the correct query parameters (PENDING: Not yet implemented)
- hash format
- should pass the hash as is
- map of string to list
- should validate the list members
- should generate the correct query parameters (PENDING: Not yet implemented)
- hash format
- should pass the hash as is
- map of string to structure
- should generate the correct query parameters (PENDING: Not yet implemented)
- hash format
- should inflect the keys in the structure
- rename
- should cause validation to reject the original name
- should cause validation to use the new name in exceptions
- should cause validation to accept the new name
- should construct the parameter with the original name
- should rubyize the name
- inherited descriptors
- should cause validate to accept integers
- should not modify the original grammar
- AWS::Core::Policy
- #initialize
- Warning: cannot open /proc/net/dev (No such file or directory). Limited output.
- yields the policy instance
- should work with no block
- should accept Statement and construct statements
- should accept :statements and construct statements
- it should behave like singular constructor arg
- should accept Id
- should accept :id
- should output the :id constructor arg
- should not have a id value when it is explicitly nil
- it should behave like singular constructor arg
- should accept Version
- should accept :version
- should output the :version constructor arg
- should not have a version value when it is explicitly nil
- ::from_json
- passes the parsed JSON to the constructor
- empty
- #to_h
- should contain a version key
- should use a UUID to generate an alphanumeric ID
- #to_json
- should serialize the result of to_h
- with a statement
- #to_h
- should have the statement hash in the Statement array
- adding statements
- #allow
- should construct a statement with the allow effect
- should pass any hash arguments to the statement constructor
- should let you set a condition
- should let you set a condition for multiple values
- should let you set multiple conditions
- should let you directly specify the operator as a string
- should append the statement to the policy
- it should behave like condition operator builder
- should let you construct a condition using the #{sym} operator
- it should behave like condition operator builder
- should let you construct a condition using the #{sym} operator
- it should behave like condition operator builder
- should let you construct a condition using the #{sym} operator
- it should behave like condition operator builder
- should let you construct a condition using the #{sym} operator
- it should behave like condition operator builder
- should let you construct a condition using the #{sym} operator
- it should behave like condition operator builder
- should let you construct a condition using the #{sym} operator
- it should behave like condition operator builder
- should let you construct a condition using the #{sym} operator
- it should behave like condition operator builder
- should let you construct a condition using the #{sym} operator
- it should behave like condition operator builder
- should let you construct a condition using the #{sym} operator
- it should behave like condition operator builder
- should let you construct a condition using the #{sym} operator
- it should behave like condition operator builder
- should let you construct a condition using the #{sym} operator
- it should behave like condition operator builder
- should let you construct a condition using the #{sym} operator
- it should behave like condition operator builder
- should let you construct a condition using the #{sym} operator
- it should behave like condition operator builder
- should let you construct a condition using the #{sym} operator
- it should behave like condition operator builder
- should let you construct a condition using the #{sym} operator
- it should behave like condition operator builder
- should let you construct a condition using the #{sym} operator
- it should behave like condition operator builder
- should let you construct a condition using the #{sym} operator
- #deny
- should construct a statement with the deny effect
- should append the statement to the policy
- AWS::Core::Policy::Statement
- it should behave like generic policy statement
- raises an error for symbolized action names
- #initialize
- should yield the statement object
- should work without a block
- should not output both Action and NotAction
- it should behave like singular constructor arg
- should accept Effect
- should accept :effect
- should output the :effect constructor arg
- should not have a effect value when it is explicitly nil
- it should behave like singular constructor arg
- should accept Sid
- should accept :sid
- should output the :sid constructor arg
- should not have a sid value when it is explicitly nil
- it should behave like array constructor arg
- should accept actions (single)
- should accept Action (single)
- should accept actions (multiple)
- should accept Action (multiple)
- it should behave like array constructor arg
- should accept excluded_actions (single)
- should accept NotAction (single)
- should accept excluded_actions (multiple)
- should accept NotAction (multiple)
- it should behave like array constructor arg
- should accept principals (single)
- should accept Principal (single)
- should accept principals (multiple)
- should accept Principal (multiple)
- it should behave like array constructor arg
- should accept resources (single)
- should accept Resource (single)
- should accept resources (multiple)
- should accept Resource (multiple)
- Principal hash option
- should accept a hash
- should accept a single AWS principal
- should accept multiple AWS principals
- Condition hash option
- should construct a ConditionBlock
- empty
- #to_h
- should have an Sid generated from a UUID
- should not have a principal
- should not have a condition block
- with an effect
- should generate an Effect
- with AWS account principals
- should generate a multi-valued Principal
- with any AWS account principal
- should generate a wildcard Principal
- with a prefixed string action
- should generate an Action
- with any action
- should generate a wildcard Action
- with multiple actions
- should generate a multi-valued Action
- excluded actions
- should generate a multi-valued NotAction
- #include_actions
- should generate a multi-valued Action
- should add to existing actions
- #exclude_actions
- should generate a multi-valued NotAction
- should add to existing actions
- with a resource ARN
- should generate a Resource key
- with :any as the resource
- should generate a wildcard for the Resource
- with a condition block
- should generate a Condition key
- #conditions
- should be a ConditionBlock by default
- AWS::Core::Policy::ConditionBlock
- #initialize
- should accept a hash
- should output the provided hash by default
- should not modify the hash when conditions are added
- #add
- should raise an error for duplicate operator-key combinations
- #[]
- should return another condition block
- should filter out operators where no triples match
- should filter out keys where no triples match
- string filters
- should filter by operator
- should filter by key
- symbol key filters
- should work for global keys
- should work for header-style S3 keys
- symbol operator filters
- should work for unambiguous operators
- should return all possibilities for type-sensitive operators
- should work for date operators with string values
- #values
- should return all the values in the block
- should work when the condition block was passed to the constructor
- #keys
- should return all the unique keys in the block
- should work when the condition block has a no keys for an operator
- #operators
- should return all the operators in the block
- should not return operators that are not used in any condition
- with a condition
- single value
- should generate a nested hash structure
- multiple values
- should generate a nested hash structure
- multiple keys for the same operator
- should merge them
- symbol operators
- should raise an error for unrecognized symbols
- string values
- it should behave like symbol translation
- :is should become StringEquals
- it should behave like symbol translation
- :not should become StringNotEquals
- it should behave like symbol translation
- :like should become StringLike
- it should behave like symbol translation
- :not_like should become StringNotLike
- it should behave like symbol translation
- :is_ignoring_case should become StringEqualsIgnoreCase
- it should behave like symbol translation
- :not_ignoring_case should become StringNotEqualsIgnoreCase
- numeric values
- it should behave like symbol translation
- :is should become NumericEquals
- it should behave like symbol translation
- :not should become NumericNotEquals
- it should behave like symbol translation
- :less_than should become NumericLessThan
- it should behave like symbol translation
- :less_than_equals should become NumericLessThanEquals
- it should behave like symbol translation
- :greater_than should become NumericGreaterThan
- it should behave like symbol translation
- :greater_than_equals should become NumericGreaterThanEquals
- it should behave like symbol translation
- :lt should become NumericLessThan
- it should behave like symbol translation
- :lte should become NumericLessThanEquals
- it should behave like symbol translation
- :gt should become NumericGreaterThan
- it should behave like symbol translation
- :gte should become NumericGreaterThanEquals
- Time
- should be converted to ISO 8601
- it should behave like date/time values
- it should behave like symbol translation
- :is should become DateEquals
- it should behave like symbol translation
- :not should become DateNotEquals
- it should behave like symbol translation
- :less_than should become DateLessThan
- it should behave like symbol translation
- :less_than_equals should become DateLessThanEquals
- it should behave like symbol translation
- :greater_than should become DateGreaterThan
- it should behave like symbol translation
- :greater_than_equals should become DateGreaterThanEquals
- it should behave like symbol translation
- :lt should become DateLessThan
- it should behave like symbol translation
- :lte should become DateLessThanEquals
- it should behave like symbol translation
- :gt should become DateGreaterThan
- it should behave like symbol translation
- :gte should become DateGreaterThanEquals
- Date
- should be converted to ISO 8601
- it should behave like date/time values
- it should behave like symbol translation
- :is should become DateEquals
- it should behave like symbol translation
- :not should become DateNotEquals
- it should behave like symbol translation
- :less_than should become DateLessThan
- it should behave like symbol translation
- :less_than_equals should become DateLessThanEquals
- it should behave like symbol translation
- :greater_than should become DateGreaterThan
- it should behave like symbol translation
- :greater_than_equals should become DateGreaterThanEquals
- it should behave like symbol translation
- :lt should become DateLessThan
- it should behave like symbol translation
- :lte should become DateLessThanEquals
- it should behave like symbol translation
- :gt should become DateGreaterThan
- it should behave like symbol translation
- :gte should become DateGreaterThanEquals
- DateTime
- should be converted to ISO 8601
- it should behave like date/time values
- it should behave like symbol translation
- :is should become DateEquals
- it should behave like symbol translation
- :not should become DateNotEquals
- it should behave like symbol translation
- :less_than should become DateLessThan
- it should behave like symbol translation
- :less_than_equals should become DateLessThanEquals
- it should behave like symbol translation
- :greater_than should become DateGreaterThan
- it should behave like symbol translation
- :greater_than_equals should become DateGreaterThanEquals
- it should behave like symbol translation
- :lt should become DateLessThan
- it should behave like symbol translation
- :lte should become DateLessThanEquals
- it should behave like symbol translation
- :gt should become DateGreaterThan
- it should behave like symbol translation
- :gte should become DateGreaterThanEquals
- boolean values
- it should behave like symbol translation
- :is should become Bool
- ip addresses
- it should behave like symbol translation
- :is_ip_address should become IpAddress
- it should behave like symbol translation
- :not_ip_address should become NotIpAddress
- arns
- it should behave like symbol translation
- :is_arn should become ArnEquals
- it should behave like symbol translation
- :not_arn should become ArnNotEquals
- it should behave like symbol translation
- :is_arn_like should become ArnLike
- it should behave like symbol translation
- :not_arn_like should become ArnNotLike
- symbol keys
- should use the aws:* prefix by default
- should use s3:* when the symbol starts with s3_
- should use lower-case-and-dashes for S3 keys
- should special-case VersionId
- should special-case LocationConstraint
- AWS::Core::ResourceCache
- #store
- should cause the provided attributes to be cached
- should not remove attributes that are already cached
- should update the stored values of the provided attributes
- #cached?
- should return false if the resource is cached without the attribute
- should return true if the attribute is cached with a nil value
- #get
- should return the stored value
- should raise an error if the resource is not cached
- AWS::Core::ResponseCache
- #add
- should add to the beginning of the cached responses list
- #cached_responses
- should default to an empty array
- #select
- without a block
- should return each response of the given type
- should accept multiple types
- should accept strings
- with a block
- should match the type and filter by the block
- #cached
- should return the cached response if the key matches
- should return nil if none match
- #resource_cache
- should be an instance of ResourceCache
- should use a new cache each time a response is received
- AWS::Core::Response
- #initialize
- should not require any arguments
- #data
- returns the value passed in
- #[]
- returns the hash data at the given key
- #method_missing
- returns the hash data at the given key wrapped in a Core::Data obj
- #rebuild_request
- should call the block passed to initialize
- should set http_request to the return value of the block
- #http_request
- uses rebuild_request if no http_request is set
- returns the http request object
- #http_response
- returns the http response object
- #successful?
- returns true if error is not nil
- returns true if error is nil
- #throttled?
- returns true if the request was throttled
- returns false for successful requests
- returns true for failed requests with a Throttling code
- #timeout?
- returns fals if the http request did not time out
- returns true if the http request timed out
- #inspect
- has a simple inspect string
- is the inspect string for the response data
- #cache_key
- should consist of the access key, endpoint, and options
- serialized options
- hash
- should alphabetize the keys
- should use :inspect to serialize the values
- should serialize nested hashes the same way
- array
- should inspect each element
- should recurse into nested hashes
- should represent empty arrays as "[]"
- AWS::Core::XML::Parser
- without rules
- represents empty elements as nil
- represent string elements as strings
- represents numeric elements as strings by default
- provides access to nested string elements
- provides acccess to deeper nested string elements
- flattens elements of the same name by default
- provides access to attributes
- gives priority to nested elements to attributes of same name
- typecasting elements
- boolean
- type casts "true" to the boolean true
- type casts "false" to the boolean false
- type casts nil to the boolean false
- defaults forced-missing boolean elements to false
- adds question-mark methods to the resonse structure
- datetime
- can convert the standard amazon format to a datetime object
- can convert non standard amazon formats to datetime objects
- returns empty elements typed a datetime as nil
- time
- can convert the standard amazon format to a time object
- can convert non standard amazon formats to time objects
- returns empty elements typed a time as nil
- blob
- should base64 decode blob elements
- empty elements typed as blobs are returned as nil
- integer
- should cast values to an integer
- empty elements typed as integer are returned as nil, not zero
- float
- should cast values to an float
- empty elements typed as floats are returned as nil, not zero
- symbol
- should cast values to a symbol
- formats string values with ruby_name before symbolizing
- empty elements typed as symbols are returned as nil, not symbols
- renaming elements
- renames elements as they appear in the data hash
- no longer provides access to the element via the old name
- collecting elements
- should be able to collect values from amoungst others
- should be able to turn a nested structure into a list
- always returns an array, even if the element is missing
- forcing elements
- forces an entry in the response data even when not present in xml
- can force elements down a tree
- wrapping elements
- adds a method for the wrapper
- should nest wrapped elements
- should wrap forced missing elements
- should be able to wrap lists
- should not provide access to wrapped elements at their old loc
- ignoring elements
- pulls child elements back 1 element from ignored elements
- does not add a method to to response data for the ignored element
- does not affect access to children below the ignored element
- indexing elements
- single-key index
- creates an index at the root level
- composite-key index
- creates an index at the root level
- key-path index
- creates an index at the root level
- nested indexes
- adds an index even if no elements are present for the index
- base64 encoded strings
- returns base64 encoded elements decoded
- returns nested base64 encoded elements decoded
- maps
- converts maps into hashes
- accepts non standard key/value labels
- map entries
- can collect map entrys without a wrapping element
- can collect map entries with ireggular keys
- nested maps
- translates maps of maps
- default values
- inserts values where specified
- customized by hash
- should accept the legacy format for cusomizations via a hash
- simulating parsing
- should add a method for basic elements and respond with nil
- should add a method for integer elements and respond with 0
- should add a method for float elements and respond with 0.0
- should add a method for boolean elements and respond with false
- should deal with renamed boolean elements
- should add a method for symbol elements and respond with nil
- should skip ignored elements
- should pull forward elements through ignored elements
- should provide a helpful inspect string
- should group elements
- should not add empty ignored elements
- should add wrapper elements
- should respond with [] for list basic list elements
- should respond with [] for list nested list elements
- should respond with {} for an index
- should correctly reutrn an empty hash with no rules
- AWS::DynamoDB::AttributeCollection
- it should behave like enumerable
- should not read the client
- #initialize
- should store the item
- #each
- calls get_item
- accepts a :consistent_read option
- passes pairs to an arity-1 block
- passes key and value to an arity-2 block
- #each_key
- calls get_item
- accepts a :consistent_read option
- yields each key
- #each_value
- calls get_item
- accepts a :consistent_read option
- yields each value
- #[]
- should call get_item with :attributes_to_get set to the requested attribute
- should return the attribute value
- should work with symbol attribute names
- #[]=
- should call update_item with a single PUT update
- should work for symbol attribute names
- should delete the attribute if it is set to nil
- should return value that was set
- should raise an error for an invalid value literal
- #set
- should delete attributes that are set to nil
- it should behave like a DynamoDB attribute update method
- it should behave like a DynamoDB attribute update
- should call update_item with a PUT update per attribute
- should work for symbol attribute names
- should do nothing when no attributes are passed
- should be nil by default
- it should behave like a DynamoDB method accepting expectations
- :if option
- should support a hash of attributes and values
- :unless_exists option
- should support a list of attribute names
- should support a single attribute name
- it should behave like a DynamoDB method accepting :return
- return value
- when :return is set
- should pass :return_values
- should return the response attributes
- #add
- it should behave like a DynamoDB attribute update method
- it should behave like a DynamoDB attribute update
- should call update_item with a PUT update per attribute
- should work for symbol attribute names
- should do nothing when no attributes are passed
- should be nil by default
- it should behave like a DynamoDB method accepting expectations
- :if option
- should support a hash of attributes and values
- :unless_exists option
- should support a list of attribute names
- should support a single attribute name
- it should behave like a DynamoDB method accepting :return
- return value
- when :return is set
- should pass :return_values
- should return the response attributes
- #delete
- it should behave like a DynamoDB attribute deletion
- it should behave like a DynamoDB attribute update
- should call update_item with a PUT update per attribute
- should work for symbol attribute names
- should do nothing when no attributes are passed
- should be nil by default
- should convert single values to sets
- deleting all values of each attribute
- should call update_item with a PUT update per attribute
- should work for symbol attribute names
- should do nothing when no attributes are passed
- it should behave like a DynamoDB method accepting :return
- should be nil by default
- return value
- when :return is set
- should pass :return_values
- should return the response attributes
- #update
- should raise an error if you attempt to update an attribute in two ways
- block with #set
- should delete attributes that are set to nil
- it should behave like a DynamoDB attribute update
- should call update_item with a PUT update per attribute
- should work for symbol attribute names
- should do nothing when no attributes are passed
- should be nil by default
- block with #add
- it should behave like a DynamoDB attribute update
- should call update_item with a PUT update per attribute
- should work for symbol attribute names
- should do nothing when no attributes are passed
- should be nil by default
- block with #delete
- it should behave like a DynamoDB attribute deletion
- it should behave like a DynamoDB attribute update
- should call update_item with a PUT update per attribute
- should work for symbol attribute names
- should do nothing when no attributes are passed
- should be nil by default
- should convert single values to sets
- deleting all values of each attribute
- should call update_item with a PUT update per attribute
- should work for symbol attribute names
- should do nothing when no attributes are passed
- it should behave like a DynamoDB method accepting expectations
- :if option
- should support a hash of attributes and values
- :unless_exists option
- should support a list of attribute names
- should support a single attribute name
- it should behave like a DynamoDB method accepting :return
- should be nil by default
- return value
- when :return is set
- should pass :return_values
- should return the response attributes
- #values_at
- calls get_item getting only the specified attributes
- works with symbol attribute names
- accepts a :consistent_read option
- does nothing if no attribute names are passed
- should return the values in an array
- should return values in the right order
- should return nil for values that do not exist
- #to_h
- calls get_item
- accepts a :consistent_read option
- hasherishes each of the values
- missing item
- returns an empty hash
- AWS::DynamoDB::BatchGet
- specifying attributes
- #table
- omits :attributes_to_get when attributes == :all
- #items
- omits :attributes_to_get when attributes == :all
- #table
- specifing the table
- accepts a string table name
- accepts a symbolized table name
- accepts a Table object
- can be called multiple times for the same table
- raises an error if the attributes differ
- specifing items
- accepts an array of of hash key values
- accpets an array of hash and range key value pairs
- accepts an array of item objects
- #items
- accepts a list of items
- accepts an array of items
- accepts items from different tables
- paged results
- continues requesting until the response has no unproccessed keys
- it formats the unproccessed keys into request items
- AWS::DynamoDB::BatchWrite
- #write
- accpets :put
- accpets :delete
- accepts multiple puts and deletes
- can build a batch over multiple calls
- does nothing if no attributes added
- unprocessed items
- calls #batch_write_item again with converted unprocessed items
- AWS::DynamoDB::Client
- retry logic
- server errors
- retries 10 times by default
- retries n times if specified in the config
- throughput errors
- retries 10 times by default
- retries n times if specified in the config
- does not retry when max_retries > 0 and retry throttle == false
- expired credential errors
- retries once after refeshing the signer
- does not retry when configured to max_retries => 0
- retries once when configured to max_retries > 0
- #describe_table
- it should behave like DynamoDB request
- should specify the action using the x-amz-target header
- should specify the correct content type
- should not specify the content encoding
- errors
- should extract the error code and raise a modeled exception
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- #list_tables
- it should behave like DynamoDB request
- should specify the action using the x-amz-target header
- should specify the correct content type
- should not specify the content encoding
- errors
- should extract the error code and raise a modeled exception
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- #create_table
- should send options as a correctly formulated JSON payload
- it should behave like DynamoDB request
- should specify the action using the x-amz-target header
- should specify the correct content type
- should not specify the content encoding
- errors
- should extract the error code and raise a modeled exception
- AWS::DynamoDB::Errors
- generated error classes
- should include ClientError if the status code is less than 500
- should include ServerError if the status code is gte 500
- should include ServerError if the status code is greater than or equal to 500
- AWS::DynamoDB::ItemCollection
- #put
- should call put_item
- should work with symbol keys
- should raise type errors with the correct context
- should call assert_schema! on the table
- it should behave like a DynamoDB method accepting expectations
- :if option
- should support a hash of attributes and values
- :unless_exists option
- should support a list of attribute names
- should support a single attribute name
- it should behave like a DynamoDB method accepting :return
- return value
- when :return is set
- should pass :return_values
- should return the response attributes
- #[]
- returns an item with the specified hash value
- should assert the table schema
- #at
- returns an item with the specified hash value
- should assert the table schema
- when the table has a range key
- requires a range value
- accepts a range value
- #where
- with a hash
- should add a scan filter with equality conditions
- should be chainable
- should add a NULL filter for nil values
- should add a BETWEEN filter for range values
- should raise an error if conflicting filters are added
- with an attribute name
- should return a filter builder
- should set the attribute name
- should work for symbols
- should set the original collection
- should be chainable
- should raise an error if conflicting filters are added
- binary operators
- #equals
- it should behave like DynamoDB scan filter operator
- should produce the right scan filter
- #not_equal_to
- it should behave like DynamoDB scan filter operator
- should produce the right scan filter
- #less_than
- it should behave like DynamoDB scan filter operator
- should produce the right scan filter
- #greater_than
- it should behave like DynamoDB scan filter operator
- should produce the right scan filter
- #lte
- it should behave like DynamoDB scan filter operator
- should produce the right scan filter
- #gte
- it should behave like DynamoDB scan filter operator
- should produce the right scan filter
- #contains
- it should behave like DynamoDB scan filter operator
- should produce the right scan filter
- #does_not_contain
- it should behave like DynamoDB scan filter operator
- should produce the right scan filter
- #begins_with
- it should behave like DynamoDB scan filter operator
- should produce the right scan filter
- unary operators
- #not_null
- it should behave like DynamoDB scan filter operator
- should produce the right scan filter
- #is_null
- it should behave like DynamoDB scan filter operator
- should produce the right scan filter
- #in
- it should behave like DynamoDB scan filter operator
- should produce the right scan filter
- #between
- it should behave like DynamoDB scan filter operator
- should produce the right scan filter
- #each
- should pass the scan filters with each request
- should accept :where with a hash
- #select
- should return an enumerator with :item_data set
- should pass :attributes_to_get with the attribute names
- should work for symbol attribute names
- should pass additional options to #enumerator
- block form
- should call #each with :item_data
- #count
- should sum the enumerator with :count set to true
- should pass :max_requests as :limit
- should accept :limit as an upper bound for the count
- should return the count if it is lower than :limit
- should set :batch_size to :limit by default
- should accept both :batch_size and :limit at the same time
- should pass additional options to the enumerator
- #query
- should return an enumerator with :query set
- should raise an error if multiple range conditions are specified
- should pass additional options to #enumerator
- :hash_value option
- should pass the value as :hash_key_value
- should raise an error if the hash value is not provided
- :range_value option
- should use EQ for string values
- should use EQ for numeric values
- should use BETWEEN for range values
- it should behave like DynamoDB range key operator
- :range_less_than option
- should use the LT operator
- it should behave like DynamoDB range key operator
- :range_greater_than option
- should use the GT operator
- it should behave like DynamoDB range key operator
- :range_lte option
- should use the LE operator
- it should behave like DynamoDB range key operator
- :range_gte option
- should use the GE operator
- it should behave like DynamoDB range key operator
- :range_begins_with option
- should use the BEGINS_WITH operator
- :select option
- should set :item_data to true
- should not pass :select through
- should accept a list of attribute names to get
- should work for symbol attribute names
- should not pass :attributes_to_get for the special value :all
- block form
- should call #each with :query
- it should behave like a pageable collection with limits
- asks for both parts of a composite key
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- behaves like a collection that yields models
- should construct items with populated hash values
- #each
- yields the correct number of members
- yields instances of the member class
- yields objects with the correct config
- tables with range keys
- should construct items with populated range values
- :query set to true
- should make a query request
- :count set to true
- should pass :count to the client
- should not pass :attributes_to_get to the client
- should yield the count for each page of results
- :item_data set to true
- should not pass :item_data to the client
- should not pass :attributes_to_get by default
- should pass :attributes_to_get as provided in the options
- yields ItemData
- populates the attributes
- request asks for only non-primary key attributes
- does not populate the items
- request asks only for the hash key
- populates the items
- when the table has a composite key
- does not populate the items
- request asks for the hash key and range key
- populates the items with the correct hash values
- populates the items with the correct range values
- request asks for all attributes
- populates the items with correct hash key values
- populates the items with correct config
- populates the items with a nil range key
- table has a range key
- populates the items with correct range key values
- AWS::DynamoDB::ItemData
- #initialize
- should store the item
- should store the attributes
- AWS::DynamoDB::Item
- it should behave like a resource object
- #inspect
- should include the ID
- it should behave like resource equality method
- #==
- same class
- should return true if everything matches
- should return false if any identifying information does not match
- different class
- should return false
- it should behave like resource equality method
- #eql?
- same class
- should return true if everything matches
- should return false if any identifying information does not match
- different class
- should return false
- #initialize
- should store the table
- should store the hash value
- should store the range value
- #delete
- should call assert_schema! on the table
- should call delete_item
- should pass the range key if it is in the schema
- should return nil
- it should behave like a DynamoDB method accepting expectations
- :if option
- should support a hash of attributes and values
- :unless_exists option
- should support a list of attribute names
- should support a single attribute name
- it should behave like a DynamoDB method accepting :return
- return value
- when :return is set
- should pass :return_values
- should return the response attributes
- #attributes
- should return an attribute collection
- #exists?
- should call get_item requesting only the hash key
- should return true if the response includes an "Item" key
- should return false if the response does not include an "Item" key
- accepts a :consistent_read option
- .new_from
- put_item
- should assert the table schema
- should extract the hash value according to the schema
- should extract the range value according to the schema
- should raise an error if the hash key is missing
- should raise an error if the range key is missing
- no range key
- should not extract the range value
- should not raise an error if the range key is missing
- AWS::DynamoDB::Request
- it should behave like an authorize v4 request
- #add_authorization!
- sets the content type form-urlencoded by default
- populates the host header
- populates the date header
- omits the security token header when session token not provided
- populates the security token header when session token is provided
- popualtes the authorization header (FAILED - 5)
- includes the session token in the signature when present (FAILED - 6)
- #service
- should be dynamodb
- AWS::DynamoDB::TableCollection
- #create
- calls #create_table on the client
- accpets a :hash_key option
- primary key elements can be numbers
- accpets a :range_key option
- #[]
- should return a table with the correct name
- behaves like a pageable collection with limits
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- it should behave like a collection that yields models
- #each
- yields the correct number of members
- yields instances of the member class
- yields objects with the correct config
- AWS::DynamoDB::Table
- it should behave like a resource object
- #inspect
- should include the ID
- it should behave like resource equality method
- #==
- same class
- should return true if everything matches
- should return false if any identifying information does not match
- different class
- should return false
- it should behave like resource equality method
- #eql?
- same class
- should return true if everything matches
- should return false if any identifying information does not match
- different class
- should return false
- #initialize
- should store the name
- description
- should be able to describe a table witout a key schema
- #exists?
- should call describe_table
- should return true if a matching table is found
- should return false if no tables are found
- #simple_key?
- should return true if range_key is nil
- should return false if range_key is not nil
- #composite_key?
- should return false if range_key is nil
- should return true if range_key is not nil
- from describe_table
- it should behave like provides DynamoDB table attributes
- should provide the creation_date_time attribute
- should provide the status attribute
- should not provide anything if the table name does not match
- hash key attribute
- it should behave like DynamoDB primary key element
- should include the attribute name
- should return the attribute type "N" as :number
- should return the attribute type "S" as :string
- range key attribute
- it should behave like DynamoDB primary key element
- should include the attribute name
- should return the attribute type "N" as :number
- should return the attribute type "S" as :string
- from create_table
- it should behave like provides DynamoDB table attributes
- should provide the creation_date_time attribute
- should provide the status attribute
- should not provide anything if the table name does not match
- hash key attribute
- it should behave like DynamoDB primary key element
- should include the attribute name
- should return the attribute type "N" as :number
- should return the attribute type "S" as :string
- range key attribute
- it should behave like DynamoDB primary key element
- should include the attribute name
- should return the attribute type "N" as :number
- should return the attribute type "S" as :string
- from delete_table
- it should behave like provides DynamoDB table attributes
- should provide the creation_date_time attribute
- should provide the status attribute
- should not provide anything if the table name does not match
- hash key attribute
- it should behave like DynamoDB primary key element
- should include the attribute name
- should return the attribute type "N" as :number
- should return the attribute type "S" as :string
- range key attribute
- it should behave like DynamoDB primary key element
- should include the attribute name
- should return the attribute type "N" as :number
- should return the attribute type "S" as :string
- #status
- it should behave like DynamoDB table attribute accessor
- should call describe_table
- should return the value from retrieve_attribute
- #creation_date_time
- it should behave like DynamoDB table attribute accessor
- should call describe_table
- should return the value from retrieve_attribute
- #hash_key
- it should behave like DynamoDB table attribute accessor
- should call describe_table
- should return the value from retrieve_attribute
- #range_key
- should not load the schema if the schema is loaded
- it should behave like DynamoDB table attribute accessor
- should call describe_table
- should return the value from retrieve_attribute
- #schema_loaded?
- should return false by default
- should return true when the schema is populated from a response object
- #assert_schema!
- should raise an error if the schema is not loaded
- should not raise an error if the schema is loaded
- #load_schema
- should call hash_key
- should return self
- #hash_key=
- should cause schema_loaded? to return true
- it should behave like key element setter
- should accept name and type as a hash
- should set the key element
- should accept symbol attribute names
- should accept the name and type as an array
- should reject multiple hash entries
- should reject unrecognized type names
- #range_key=
- with hash key set
- it should behave like key element setter
- should accept name and type as a hash
- should set the key element
- should accept symbol attribute names
- should accept the name and type as an array
- should reject multiple hash entries
- should reject unrecognized type names
- without a configured hash key
- should raise an error
- #batch_get
- creates a new BatchGet and calls #table on it
- #delete
- should call delete_table
- should return nil
- #items
- should return an item collection
- batch write methods
- #batch_put
- accept an array of item attributes to batch put
- #batch_delete
- accept an array of item ids to delete
- accepts nested arrays for hash and range keys
- #batch_write
- accepts :put and :delete options
- AWS::DynamoDB::Types
- #value_from_response
- should extract string values
- should work with :s
- should convert number values to BigDecimal
- should work with numeric literals
- should work with :n
- should extract string sets
- should work with :ss
- should convert number sets to BigDecimal arrays
- should work with numeric literals in number sets
- should work with :ns
- #values_from_response_hash
- should translate each value in the hash
- #format_attribute_value
- should use :s for strings
- should use :n for numbers
- should use :n for floats
- should use :n for BigDecimal
- should use :ss for arrays containing strings
- should use :ns for arrays containing numbers
- should use :ns for arrays containing floats
- should use :ns for arrays containing BigDecimal
- should raise an error on mixed types in an array input
- should raise an error on nested arrays in input
- should raise an error on unsupported types in array input
- AWS::DynamoDB
- behaves like a class that accepts configuration
- accepts and returns a :config option
- constructor passes options to Configuration#with
- returns the merged config
- #tables
- should return a tables collection
- #batch_write
- calls #batch_write_item on the client
- AWS::EC2::AttachmentCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like enumerable
- should not read the client
- #initialize
- should set the volume
- #each
- yields attachments
- passes the config
- should yield the right number of objects
- should pass the instance ids
- should pass the volume
- should pass the devices
- should pass the config to the instance
- should pass the config to the attachment
- AWS::EC2::Attachment
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #initialize
- should set the volume
- should set the instance
- should set the device
- #delete
- should call detach_volume
- should pass additional options
- #status
- it should behave like ec2 attachment attribute
- should call describe_volumes
- when not returned by the service
- should be nil
- when returned by the service
- should return the correct value
- populated from attach_volume
- it should behave like ec2 attachment attribute (attachment action)
- should return nil if the volume ID does not match
- should return nil if the instance ID does not match
- should return nil if the device does not match
- not included in the response
- should return nil
- included in the response
- should return the correct value
- populated from detach_volume
- it should behave like ec2 attachment attribute (attachment action)
- should return nil if the volume ID does not match
- should return nil if the instance ID does not match
- should return nil if the device does not match
- not included in the response
- should return nil
- included in the response
- should return the correct value
- #attach_time
- it should behave like ec2 attachment attribute
- should call describe_volumes
- when not returned by the service
- should be nil
- when returned by the service
- should return the correct value
- populated from attach_volume
- it should behave like ec2 attachment attribute (attachment action)
- should return nil if the volume ID does not match
- should return nil if the instance ID does not match
- should return nil if the device does not match
- not included in the response
- should return nil
- included in the response
- should return the correct value
- populated from detach_volume
- it should behave like ec2 attachment attribute (attachment action)
- should return nil if the volume ID does not match
- should return nil if the instance ID does not match
- should return nil if the device does not match
- not included in the response
- should return nil
- included in the response
- should return the correct value
- #delete_on_termination?
- it should behave like ec2 attachment attribute
- should call describe_volumes
- when not returned by the service
- should be nil
- when returned by the service
- should return the correct value
- populated from attach_volume
- it should behave like ec2 attachment attribute (attachment action)
- should return nil if the volume ID does not match
- should return nil if the instance ID does not match
- should return nil if the device does not match
- not included in the response
- should return nil
- included in the response
- should return the correct value
- populated from detach_volume
- it should behave like ec2 attachment attribute (attachment action)
- should return nil if the volume ID does not match
- should return nil if the instance ID does not match
- should return nil if the device does not match
- not included in the response
- should return nil
- included in the response
- should return the correct value
- #exists?
- when the attachment exists
- should return true
- when the volume exists but the attachment does not
- should return false
- when the volume does not exist
- should return false
- #==
- same class
- should return true if everything matches
- should return false if the volume does not match
- should return false if the instance does not match
- should return false if the device does not match
- different class
- should return false
- AWS::EC2::AvailabilityZoneCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- it should behave like ec2 collection array access
- #[]
- returns an object of the member class
- returns an object with the correct config
- AWS::EC2::AvailabilityZone
- it should behave like an ec2 resource object
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should include the ID
- it should behave like ec2 resource equality method
- #==
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like ec2 resource equality method
- #eql?
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- #initialize
- should set name
- should set region
- should set by name
- #to_s
- should return the zone name
- #region
- it should behave like availability zone attribute
- should call describe_availability_zones
- should pass the name
- should return a region object
- should pass the config
- should memoize the result
- #state
- it should behave like availability zone attribute
- should call describe_availability_zones
- should symbol-ize the result
- #messages
- it should behave like availability zone attribute
- should call describe_availability_zones
- should return a list of strings
- #<AWS::Core::XML::Grammar:0x71d39e5dbf90>
- should expose the code
- should expose the message
- AWS::EC2::Client
- RunInstances
- should have a group_set array
- should have an instances_set array
- DetachVolume
- it should behave like attachment operation
- should have an attach_time timestamp
- should have a delete_on_termination? method
- AttachVolume
- it should behave like attachment operation
- should have an attach_time timestamp
- should have a delete_on_termination? method
- CreateSnapshot
- should have a start_time timestamp
- should have a volume_size number
- should have a tag_set list
- CreateVolume
- should have a size number
- should have a create_time timestamp
- should have a attachment_set list
- should have a tag_set list
- DescribeImageAttribute
- should have a launch_permission list
- should have a product_codes list
- should have a block_device_mapping list
- DescribeInstanceAttribute
- should have a disable_api_termination.value boolean
- should have a block_device_mapping list
- DescribeInstances
- should have an instance_index
- should have a reservation_index
- DescribeImages
- should have an image_index
- DescribeSecurityGroups
- should have a security_group_index
- DescribeVolumes
- should have a volume_index
- DescribeSnapshots
- should have a snapshot_index
- DescribeAddresses
- should have an address_index
- DescribeKeyPairs
- should have a key_index
- DescribeTags
- should have a tag_index
- AWS::EC2::Client
- #describe_instance_attribute
- should pass instance_id as InstanceId
- should pass attribute as Attribute
- #describe_instances
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- #describe_instance_attribute
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- #describe_images
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- #describe_image_attribute
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- #describe_volumes
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- #describe_security_groups
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- #describe_addresses
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- #describe_key_pairs
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- #describe_regions
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- #describe_availability_zones
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- #describe_reserved_instances
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- #describe_reserved_instances_offerings
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- #describe_snapshots
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- #describe_snapshot_attribute
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- #describe_tags
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- error parsing
- should raise the correct error class
- AWS::EC2::CustomerGatewayCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- it should behave like a tagged ec2 collection
- #tagged
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- #tagged_values
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- it should behave like ec2 collection array access
- #[]
- returns an object of the member class
- returns an object with the correct config
- #each
- yields route tables
- #[]
- returns a customer gateway with the correct config
- #create
- calls #create_customer_gateway on the client
- returns a customer gateway object
- AWS::EC2::CustomerGateway
- it should behave like an ec2 resource object
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should include the ID
- it should behave like ec2 resource equality method
- #==
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like ec2 resource equality method
- #eql?
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like a tagged ec2 item
- #add_tag
- adds a tag
- returns a tag object
- accepts an optional tag value
- #clear_tags
- deletes all tags with the taggable id
- #tags
- returns a resource tag collection
- should pass the resource and config
- #cached_tags
- when caching is disabled
- should return nil
- when caching is enabled
- should query describe_instances responses
- should return nil if no matching instance is found
- when instance data is cached
- should return a hash
- #customer_gateway_id
- returns the customer gateway id passed in
- is aliased as #id
- #delete
- calls #delete_customer_gateway on the client
- exisitng gateway
- state
- is returned as a sybmol
- vpc_type
- is retruned as a string
- ip_address
- is retruned as a string
- bgp_asn
- is retruned as an integer
- #exists?
- calls #describe_customer_gateways to determine if it exists
- returns true if it can be described
- returns false if an error is raised trying to describe it
- AWS::EC2::DHCPOptionsCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- it should behave like a tagged ec2 collection
- #tagged
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- #tagged_values
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- it should behave like ec2 collection array access
- #[]
- returns an object of the member class
- returns an object with the correct config
- #each
- yields dhcp options
- #[]
- returns a dhcp options
- #create
- calls #create_dhcp_options on the client
- accepts a domain name
- accepts a list of domain name servers
- accepts a list of ntp servers
- accepts a list of ntp servers
- accepts a netbios node type
- AWS::EC2::DHCPOptions
- it should behave like an ec2 resource object
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should include the ID
- it should behave like ec2 resource equality method
- #==
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like ec2 resource equality method
- #eql?
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like a tagged ec2 item
- #add_tag
- adds a tag
- returns a tag object
- accepts an optional tag value
- #clear_tags
- deletes all tags with the taggable id
- #tags
- returns a resource tag collection
- should pass the resource and config
- #cached_tags
- when caching is disabled
- should return nil
- when caching is enabled
- should query describe_instances responses
- should return nil if no matching instance is found
- when instance data is cached
- should return a hash
- #dhcp_options_id
- returns the dhcp options id passed in
- is aliased as #id
- #delete
- calls #delete_dhcp_options on the client
- #associate
- calls #associate_dhcp_options on the client
- accepts a vpc object
- existing
- #configuration
- returns the configuration as a hash
- #exists?
- calls #describe_dhcp_options to determine if it exists
- returns true if it can be described
- returns false if an error is raised trying to describe it
- AWS::EC2::ElasticIpCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- it should behave like ec2 collection array access
- #[]
- returns an object of the member class
- returns an object with the correct config
- #create
- should return an elastic ip address
- returns an elastic ip address with the correct configuration
- calls allocate_address on the client
- returns an elasic ip address with the correct ip address
- accepts a :vpc option for creating vpc ip addresses
- #allocate
- should be an alias of create
- #[]
- returns an elastic ip
- returns an elastic ip with the given public ip
- #each
- should pass the ip addresses
- AWS::EC2::ElasticIp
- it should behave like an ec2 resource object
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should include the ID
- it should behave like ec2 resource equality method
- #==
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like ec2 resource equality method
- #eql?
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- #public_ip
- returns the ip address
- #instance_id
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #vpc?
- returns true when the domain is vpc
- returns false when the domain is not vpc
- #associated?
- returns false when :instance_id and :association_id are not set
- returns true when :instance_id is set
- #instance
- it should behave like accessor for ec2 resource
- should return a resource object
- should pass the id
- should pass the config
- should return nil if there is no id
- #delete
- calls release_address on the client
- calls release_address on the client with the association id
- #release
- should be an alias of delete
- #associate
- vpc elastic ips
- accpets :instance with an instance object
- accpets :instance with an instance id
- accpets :network_interface with an id
- accpets :network_interface with an object
- regular elastic ips
- accpets :instance with an instance object
- accpets :instance with an instance id
- returns the association id
- #disassociate
- calls disassociate_address on the client
- passes the allocation id for vpc elastic ips
- AWS::EC2::ExportTaskCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- it should behave like ec2 collection array access
- #[]
- returns an object of the member class
- returns an object with the correct config
- #each
- yields export tasks
- #[]
- returns an export task
- returns an export task with the proper id
- returns an export task with the proper config
- AWS::EC2::ExportTask
- it should behave like an ec2 resource object
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should include the ID
- it should behave like ec2 resource equality method
- #==
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like ec2 resource equality method
- #eql?
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- attributes
- should return the nested instance_id
- returns the nested target environment
- returns the description
- returns the state as a symbol
- returns the status_message
- returns the nested disk image format
- returns the nested container format
- returns the nested s3 bucket name
- returns the nested s3 key
- #instance
- returns an instance object
- returns an instance with the proper id
- returns an instance with the proper config
- #s3_bucket
- returns a bucket object
- returns a bucket with the proper name
- returns a bucket with the proper config
- #s3_object
- returns an s3 object
- returns an s3 object with the proper key
- returns an s3 object with the proper bucket
- returns an s3 object with the proper config
- #cancel
- calls #cancel_export_task
- AWS::EC2::ImageCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- it should behave like a tagged ec2 collection
- #tagged
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- #tagged_values
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- #with_owner
- should filter by passing the Owner.n parameter
- should accept symbol values
- should preserve filters
- should survive filtering
- #executable_by
- should filter by passing the ExecutableBy.n parameter
- should accept symbol values
- should preserve filters
- should survive filtering
- #create
- with an instance id
- should call create_image
- should return an image object
- should pass the image ID
- should pass the config
- with an image location
- should call register_image
- should accept :kernel with an Image object
- should accept :ramdisk with an Image object
- with a root device name
- should call register_image
- should accept :kernel with an Image object
- should accept :ramdisk with an Image object
- block device mappings
- virtual mapping
- should send the entry value as the virtual device name
- ebs volume
- should send the ebs option with all the values
- should accept :snapshot
- badly formatted input
- should reject an array
- should reject non-string keys
- should reject array destinations
- should reject unrecognized symbolic destinations
- missing required parameters
- should raise an error
- #[]
- should pass the image id
- AWS::EC2::Image
- it should behave like an ec2 resource object
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should include the ID
- it should behave like ec2 resource equality method
- #==
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like ec2 resource equality method
- #eql?
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like a tagged ec2 item
- #add_tag
- adds a tag
- returns a tag object
- accepts an optional tag value
- #clear_tags
- deletes all tags with the taggable id
- #tags
- returns a resource tag collection
- should pass the resource and config
- #cached_tags
- when caching is disabled
- should return nil
- when caching is enabled
- should query describe_instances responses
- should return nil if no matching instance is found
- when instance data is cached
- should return a hash
- #initialize
- should set the id
- #deregister
- should call deregister_image
- run instance methods
- #run_instance
- should call InstanceCollection#create
- should pass additional options
- should return the instance
- should pass the config
- #run_instances
- should call InstanceCollection#create
- should call pass additional options
- should return the instance
- should pass the config
- #exists?
- should call describe_images
- should return false when the image does not exist
- should return true when the image exists
- #location
- it should behave like static ec2 image attribute (describe_images)
- it should behave like ec2 image attribute accessor (describe_images)
- when returned by the service
- should call describe_images
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- with repeated calls
- when returned by the service
- should call describe_images only once
- should return the translated value
- when not returned by the service
- should call describe_images only once
- should return nil
- #description
- it should behave like ec2 image attribute accessor (describe_images)
- when returned by the service
- should call describe_images
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #state
- it should behave like ec2 image attribute accessor (describe_images)
- when returned by the service
- should call describe_images
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #owner_id
- it should behave like static ec2 image attribute (describe_images)
- it should behave like ec2 image attribute accessor (describe_images)
- when returned by the service
- should call describe_images
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- with repeated calls
- when returned by the service
- should call describe_images only once
- should return the translated value
- when not returned by the service
- should call describe_images only once
- should return nil
- #owner_alias
- it should behave like static ec2 image attribute (describe_images)
- it should behave like ec2 image attribute accessor (describe_images)
- when returned by the service
- should call describe_images
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- with repeated calls
- when returned by the service
- should call describe_images only once
- should return the translated value
- when not returned by the service
- should call describe_images only once
- should return nil
- it should behave like has ec2 public?/private? accessors
- #public?
- should call the describe method
- should return true if the "all" group has access
- should return false if the "all" group has no access
- #private?
- should call the describe method
- should return false if the "all" group has access
- should return true if the "all" group has no access
- #public=
- set to true
- should call the modify method
- set to false
- should call modify_image_attribute
- #architecture
- it should behave like static ec2 image attribute (describe_images)
- it should behave like ec2 image attribute accessor (describe_images)
- when returned by the service
- should call describe_images
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- with repeated calls
- when returned by the service
- should call describe_images only once
- should return the translated value
- when not returned by the service
- should call describe_images only once
- should return nil
- #type
- it should behave like static ec2 image attribute (describe_images)
- it should behave like ec2 image attribute accessor (describe_images)
- when returned by the service
- should call describe_images
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- with repeated calls
- when returned by the service
- should call describe_images only once
- should return the translated value
- when not returned by the service
- should call describe_images only once
- should return nil
- #kernel_id
- it should behave like static ec2 image attribute (describe_images)
- it should behave like ec2 image attribute accessor (describe_images)
- when returned by the service
- should call describe_images
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- with repeated calls
- when returned by the service
- should call describe_images only once
- should return the translated value
- when not returned by the service
- should call describe_images only once
- should return nil
- #kernel
- it should behave like accessor for ec2 resource
- should return a resource object
- should pass the id
- should pass the config
- should return nil if there is no id
- #ramdisk_id
- it should behave like static ec2 image attribute (describe_images)
- it should behave like ec2 image attribute accessor (describe_images)
- when returned by the service
- should call describe_images
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- with repeated calls
- when returned by the service
- should call describe_images only once
- should return the translated value
- when not returned by the service
- should call describe_images only once
- should return nil
- #ramdisk
- it should behave like accessor for ec2 resource
- should return a resource object
- should pass the id
- should pass the config
- should return nil if there is no id
- #platform
- it should behave like static ec2 image attribute (describe_images)
- it should behave like ec2 image attribute accessor (describe_images)
- when returned by the service
- should call describe_images
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- with repeated calls
- when returned by the service
- should call describe_images only once
- should return the translated value
- when not returned by the service
- should call describe_images only once
- should return nil
- #state_reason
- it should behave like ec2 image attribute accessor (describe_images)
- when returned by the service
- should call describe_images
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #name
- it should behave like static ec2 image attribute (describe_images)
- it should behave like ec2 image attribute accessor (describe_images)
- when returned by the service
- should call describe_images
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- with repeated calls
- when returned by the service
- should call describe_images only once
- should return the translated value
- when not returned by the service
- should call describe_images only once
- should return nil
- #root_device_type
- it should behave like static ec2 image attribute (describe_images)
- it should behave like ec2 image attribute accessor (describe_images)
- when returned by the service
- should call describe_images
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- with repeated calls
- when returned by the service
- should call describe_images only once
- should return the translated value
- when not returned by the service
- should call describe_images only once
- should return nil
- #root_device_name
- it should behave like ec2 image attribute accessor (describe_images)
- when returned by the service
- should call describe_images
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #virtualization_type
- it should behave like ec2 image attribute accessor (describe_images)
- when returned by the service
- should call describe_images
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #hypervisor
- it should behave like ec2 image attribute accessor (describe_images)
- when returned by the service
- should call describe_images
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #product_codes
- gets the product codes
- #add_product_codes
- calls modify image attribute on the client
- accepts a list of product codes
- accepts an array of product codes
- #block_device_mappings
- when returned by the service
- should call describe_images
- should return the translated attribute value
- when not returned by the service
- should return an empty hash if the field is not set
- #description=
- should call modify_image_attribute
- #launch_permissions
- should call describe_image_attribute
- permissions list
- should be enumerable
- should include the user permission as a string
- should not include the group permission
- should report the size without the group permission
- #add
- should call modify_image_attribute
- should do nothing if there are no arguments
- #remove
- should call modify_image_attribute
- should do nothing if there are no arguments
- #reset
- should call reset_image_attribute
- #cached_tags
- when caching is disabled
- should return nil
- when caching is enabled
- should query describe_images responses
- should return nil if no matching instance is found
- when image data is cached
- should return a hash
- AWS::EC2::InstanceCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- it should behave like a tagged ec2 collection
- #tagged
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- #tagged_values
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- it should behave like ec2 collection array access
- #[]
- returns an object of the member class
- returns an object with the correct config
- #create
- one instance
- should call run_instances
- should default to running one instance
- should Base64-encode the user data
- should return an instance object
- should pass the instance ID
- should pass the config
- multiple instances
- with a range
- it should behave like ec2 instance count option
- should send min and max count approprately
- return value
- should return an array
- should return instance objects
- should use the instance IDs from the response
- should pass the config
- with an exclusive range
- it should behave like ec2 instance count option
- should send min and max count approprately
- return value
- should return an array
- should return instance objects
- should use the instance IDs from the response
- should pass the config
- with a number
- it should behave like ec2 instance count option
- should send min and max count approprately
- return value
- should return an array
- should return instance objects
- should use the instance IDs from the response
- should pass the config
- :iam_instance_profile
- accepts an arn
- accepts a name
- accepts a hash
- :image
- it should behave like run instances resource option
- should accept an image object
- should not be passed to the client
- :kernel
- it should behave like run instances resource option
- should accept an image object
- should not be passed to the client
- :ramdisk
- it should behave like run instances resource option
- should accept an image object
- should not be passed to the client
- :key_pair
- it should behave like run instances resource option
- should accept an image object
- should not be passed to the client
- monitoring
- should send Monitoring.Enabled
- :subnet
- defaults to not sending subnet id
- passes :subnet as :subnet_id
- :private_ip_address
- passes :private_ip_address through unmodified
- :dedicated_tenancy
- should send Placement.Tenancy
- should accept tenancy with an availability zone
- availability zone
- should send Placement.AvailabilityZone
- should accept an availability zone object
- client token
- should provide a UUID client token
- security groups
- non-vpc
- accepts singular ids
- accepts multiple ids
- accepts singular names
- accepts multiple names
- accepts singular security group objects
- accepts multiple security group objects
- accepts mixed ids, names and security groups objects
- rejects invalid values
- vpc
- accepts singular ids
- accepts multiple ids
- accepts security group objects
- converts names into ids
- block device mappings
- virtual mapping
- should send the entry value as the virtual device name
- no device
- should send true for the no_device option
- ebs volume
- should send the ebs option with all the values
- should accept :snapshot
- badly formatted input
- should reject an array
- should reject non-string keys
- should reject array destinations
- should reject unrecognized symbolic destinations
- #[]
- should pass the ID
- AWS::EC2::Instance
- it should behave like an ec2 resource object
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should include the ID
- it should behave like ec2 resource equality method
- #==
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like ec2 resource equality method
- #eql?
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like a tagged ec2 item
- #add_tag
- adds a tag
- returns a tag object
- accepts an optional tag value
- #clear_tags
- deletes all tags with the taggable id
- #tags
- returns a resource tag collection
- should pass the resource and config
- #cached_tags
- when caching is disabled
- should return nil
- when caching is enabled
- should query describe_instances responses
- should return nil if no matching instance is found
- when instance data is cached
- should return a hash
- #initialize
- should accept the instance ID
- #console_output
- calls get_console_output on the client
- base 64 decodes the output
- does not attempt to decode output when blank
- #exists?
- it should behave like ec2 resource exists method
- #exists?
- should call describe_volumes
- should return false when the resource does not exist
- should return true when the resource exists
- #terminate
- it should behave like ec2 instance action
- should call terminate_instances
- #reboot
- it should behave like ec2 instance action
- should call reboot_instances
- #start
- it should behave like ec2 instance action
- should call start_instances
- #stop
- it should behave like ec2 instance action
- should call stop_instances
- #security_groups
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- should pass the gruop name
- when not returned by the service
- should return an empty arry if the field is not set
- #private_dns_name
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- #dns_name
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- #ami_launch_index
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- #monitoring
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- populate from monitor_instances
- it should behave like populate from monitoring action
- when the instance is not included in the response
- should not populate
- when the instance is included in the response
- should return the translated value
- populate from unmonitor_instances
- it should behave like populate from monitoring action
- when the instance is not included in the response
- should not populate
- when the instance is included in the response
- should return the translated value
- #monitoring_enabled?
- should return true if monitoring is enabled
- should return false if monitoring is not enabled
- #monitoring_enabled=
- enable monitoring
- should call monitor_instances
- should return true
- disable monitoring
- should call monitor_instances
- should return false
- #private_ip_address
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- #ip_address
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- #architecture
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- #root_device_type
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- #instance_lifecycle
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- #spot_instance?
- should return true if the instance has a spot lifecycle
- should return false if the instance does not have a spot lifecycle
- #virtualization_type
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- #hypervisor
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- #state_transition_reason
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- #launch_time
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- #platform
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- #client_token
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- #placement
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- #availability_zone
- should get the availability_zone attribute of the placement
- #iam_instance_profile_id
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- #iam_instance_profile_arn
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- #image_id
- should use retrieve_attribute
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- populate from run_instances
- should populate the correct value
- populate from describe_instances
- should populate the correct value
- #image
- should return an image object
- should pass the image ID
- should pass the config
- #key_name
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- #key_pair
- it should behave like accessor for ec2 resource
- should return a resource object
- should pass the id
- should pass the config
- should return nil if there is no id
- #create_image
- should call create_image
- should pass additional options to create_image
- should return an image object
- should pass the id
- should pass the config
- #reservation_id
- it should behave like ec2 instance reservation attribute
- should call describe_instances
- when present
- should memoize the attribute value
- should return the attribute value
- when not present
- should return nil
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should have a key in the hash with a nil value
- #owner_id
- it should behave like ec2 instance reservation attribute
- should call describe_instances
- when present
- should memoize the attribute value
- should return the attribute value
- when not present
- should return nil
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should have a key in the hash with a nil value
- #requester_id
- it should behave like ec2 instance reservation attribute
- should call describe_instances
- when present
- should memoize the attribute value
- should return the attribute value
- when not present
- should return nil
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should have a key in the hash with a nil value
- #user_data
- it should behave like ec2 instance attribute accessor (describe_instance_attribute)
- should call describe_instance_attribute
- should return the attribute value
- should return nil if the attribute is not set
- #user_data=
- it should behave like ec2 instance attribute mutator
- should call modify_instance_attribute
- should return the new value
- #instance_type
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- populate from run_instances
- should populate the correct value
- populate from describe_instances
- should populate the correct value
- #instance_type=
- it should behave like ec2 instance attribute mutator
- should call modify_instance_attribute
- should return the new value
- #api_termination_disabled?
- it should behave like ec2 instance attribute accessor (describe_instance_attribute)
- should call describe_instance_attribute
- should return the attribute value
- should return nil if the attribute is not set
- #api_termination_disabled=
- it should behave like ec2 instance attribute mutator
- should call modify_instance_attribute
- should return the new value
- #instance_initiated_shutdown_behavior
- it should behave like ec2 instance attribute accessor (describe_instance_attribute)
- should call describe_instance_attribute
- should return the attribute value
- should return nil if the attribute is not set
- #instance_initiated_shutdown_behavior=
- it should behave like ec2 instance attribute mutator
- should call modify_instance_attribute
- should return the new value
- #kernel_id
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- #kernel_id=
- it should behave like ec2 instance attribute mutator
- should call modify_instance_attribute
- should return the new value
- #reset_kernel_id
- it should behave like resets ec2 instance attribute
- should call reset_instance_attribute
- should return true if the response has a true return value
- should return false if the response has a false return value
- #reset_ramdisk_id
- it should behave like resets ec2 instance attribute
- should call reset_instance_attribute
- should return true if the response has a true return value
- should return false if the response has a false return value
- #ramdisk_id
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- #ramdisk_id=
- it should behave like ec2 instance attribute mutator
- should call modify_instance_attribute
- should return the new value
- #root_device_name
- it should behave like ec2 instance attribute accessor (describe_instances)
- when returned by the service
- should call describe_instances
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- it should behave like ec2 instance attribute returned from describe_instances
- populate from run_instances
- when returned by the service
- should populate the correct value
- when not returned by the service
- should populate nil
- #block_device_mappings
- populated from describe_instances
- it should behave like ec2 instance block device mapping value
- should have device names as keys
- should return an attachment object as the value for each entry
- attachment object
- should get the volume
- volume should get the config
- should get the instance
- should get the device
- should get the config
- #status
- should call describe_instances
- should return the symbol-ized named of the instance state
- populates from terminate_instances
- it should behave like populates instance state change
- should not populate the status when no instance matches
- should populate from the current state
- populates from start_instances
- it should behave like populates instance state change
- should not populate the status when no instance matches
- should populate from the current state
- populates from stop_instances
- it should behave like populates instance state change
- should not populate the status when no instance matches
- should populate from the current state
- elastic ip addresses
- #elastic_ip
- returns nil if there is no elastic ip address associated
- returns an ElasticIp when one is associated
- #associate_elastic_ip
- calls associate_address on the client
- accepts elastic ip address objects
- accepts allocation ids for vpc instances
- accepts allocation ids for vpc instances
- #ip_address=
- should be an alias of associate_elastic_ip
- #disassociate_elastic_ip_address
- calls disassociate on its elastic ip
- raises an exception when it does not have an elastic ip
- caching
- populated from run_instances
- should return a hash if the instance ID is found
- should return nil if no instance IDs match
- populated from describe_instance_attribute
- should return nil if the instance ID does not match
- populated from describe_instances
- should return a hash if the instance ID is found
- should return nil if no instance IDs match
- #export
- calls #create_instance_export_task on the client (PENDING: Not yet implemented)
- returns a populated ExportTask object (PENDING: Not yet implemented)
- calling #cancel terminates the export task (PENDING: Not yet implemented)
- AWS::EC2::InternetGatewayCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- it should behave like a tagged ec2 collection
- #tagged
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- #tagged_values
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- it should behave like ec2 collection array access
- #[]
- returns an object of the member class
- returns an object with the correct config
- #each
- yields internet gateways
- #[]
- returns an internet gateway with the correct config
- #create
- calls #create_internet_gateway on the client
- returns an internet gateway
- AWS::EC2::InternetGateway
- it should behave like an ec2 resource object
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should include the ID
- it should behave like ec2 resource equality method
- #==
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like ec2 resource equality method
- #eql?
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- #internet_gateway_id
- returns the internet gateway id passed in
- is aliased as #id
- #attach
- calls #attach_internet_gateway on the client
- accepts vpc objects
- #detach
- calls #detach_internet_gateway on the client
- accepts vpc objects
- #delete
- calls #delete_internet_gateway on the client
- existing gateways
- #vpc
- returns the vpc
- #vpc=
- attaches the gateway after detaching the previous vpc
- #attachments
- returns an array of attachments
- calls detach when you delete an attahcment
- #exists?
- calls #describe_internet_gateways to determine if it exists
- returns true if it can be described
- returns false if an error is raised trying to describe it
- AWS::EC2::KeyPairCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- it should behave like ec2 collection array access
- #[]
- returns an object of the member class
- returns an object with the correct config
- #create
- calls create_key_pair on the client
- returns a key pair
- returns a key pair with the correct name
- returns a key pair with the correct fingerprint
- returns a key pair with the correct private key
- #import
- calls import_key_pair on the client
- returns a key pair
- returns a key pair with the correct name
- returns a key pair with the correct fingerprint
- #each
- passes names
- passes fingerprint
- AWS::EC2::KeyPair
- it should behave like an ec2 resource object
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should include the ID
- it should behave like ec2 resource equality method
- #==
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like ec2 resource equality method
- #eql?
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- #name
- returns the name it was constructed with
- stringifies the name
- #exists?
- it should behave like ec2 resource exists method
- #exists?
- should call describe_volumes
- should return false when the resource does not exist
- should return true when the resource exists
- #fingerprint
- returns the fingerprint
- populate from create_key_pair
- should not populate if the key name does not match
- should populate the key fingerprint
- populate from import_key_pair
- should not populate if the key name does not match
- should populate the key fingerprint
- #private_key
- returns the private key
- raises an exception on keys not initialized with private key
- #delete
- calls delete_key_pair on the client
- AWS::EC2::NetworkACLCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- it should behave like a tagged ec2 collection
- #tagged
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- #tagged_values
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- it should behave like ec2 collection array access
- #[]
- returns an object of the member class
- returns an object with the correct config
- #each
- yields populated vpcs
- #[]
- returns a network acl with the correct config
- #create
- calls #create_network_acl on the client
- accepts a vpc object
- defaults to the vpc it owns when present
- AWS::EC2::NetworkACL
- it should behave like an ec2 resource object
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should include the ID
- it should behave like ec2 resource equality method
- #==
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like ec2 resource equality method
- #eql?
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- #network_acl_id
- returns the network acl id passed in
- is aliased as #id
- #create_entry
- calls create entry on the client
- accpets icmp codes and types
- raises an error if I omit :egress
- #replace_entry
- calls replace entry on the client
- #delete_entry
- can be used to delete ingress entries
- can be used to delete egress entries
- #delete
- calls delete on the client
- attributes
- #vpc_id
- returns the vpc id of the network acl
- #default?
- returns the default attribute as a boolean
- returns the default attribute as a boolean
- #entries
- returns an array of entries
- returns populated entries
- #associations
- returns an array of associations
- returns populated associations
- is used for yielding subnets
- AWS::EC2::NetworkInterfaceCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- it should behave like a tagged ec2 collection
- #tagged
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- #tagged_values
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- it should behave like ec2 collection array access
- #[]
- returns an object of the member class
- returns an object with the correct config
- #each
- yields network interfaces
- #[]
- returns a network interface
- #create
- calls #create_network_interface on the client
- accepts a subnet as a string
- accpets a subnet
- can get a subnet id from the collection
- accepts a private ip address
- accepts a description
- accepts security group ids
- accepts security group objects
- returns a network interface
- AWS::EC2::NetworkInterface
- it should behave like an ec2 resource object
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should include the ID
- it should behave like ec2 resource equality method
- #==
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like ec2 resource equality method
- #eql?
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- #network_interface_id
- returns the route table id passed in
- is aliased as #id
- #vpc
- returns the vpc
- #subnet
- returns the subnet
- #attach
- calls #attach_network_interface on the client
- accepts instances
- accepts a device index
- existing network interface
- #detach
- raises an error if there is no attachment
- calls #detach_network_interface on the client
- accepts a force option
- #security_groups
- returns security groups
- #set_security_groups
- calls #modify_network_interface_attribute on the client
- accepts and flattens an array of security group ids
- accepts security group objects
- #attachment
- returns an attachment
- #association
- returns nil when not present
- returns a hash of data when present
- returns an elastic ip when present
- #exists?
- returns true if it can be described
- returns false if an error is raised trying to describe it
- #instance
- returns the attachment instance
- #delete
- calls delete_network_interface on the client
- AWS::EC2::PermissionCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like enumerable
- should not read the client
- representing snapshot create volume permissions
- it should behave like ec2 permission collection
- should call the describe method
- should include the user permission as a string
- should not include the group permission
- should report the size without the group permission
- #empty?
- should return true if the size is zero
- should return false if the size is non-zero
- it should behave like has ec2 public?/private? accessors
- #public?
- should call the describe method
- should return true if the "all" group has access
- should return false if the "all" group has no access
- #private?
- should call the describe method
- should return false if the "all" group has access
- should return true if the "all" group has no access
- #public=
- set to true
- should call the modify method
- set to false
- should call modify_image_attribute
- #add
- should call the modify_whatever_attribute method
- should do nothing if there are no arguments
- #remove
- should call modify_image_attribute
- should do nothing if there are no arguments
- #reset
- should call the reset method
- representing image launch permissions
- it should behave like ec2 permission collection
- should call the describe method
- should include the user permission as a string
- should not include the group permission
- should report the size without the group permission
- #empty?
- should return true if the size is zero
- should return false if the size is non-zero
- it should behave like has ec2 public?/private? accessors
- #public?
- should call the describe method
- should return true if the "all" group has access
- should return false if the "all" group has no access
- #private?
- should call the describe method
- should return false if the "all" group has access
- should return true if the "all" group has no access
- #public=
- set to true
- should call the modify method
- set to false
- should call modify_image_attribute
- #add
- should call the modify_whatever_attribute method
- should do nothing if there are no arguments
- #remove
- should call modify_image_attribute
- should do nothing if there are no arguments
- #reset
- should call the reset method
- AWS::EC2::RegionCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- it should behave like ec2 collection array access
- #[]
- returns an object of the member class
- returns an object with the correct config
- #[]
- should pass the name
- AWS::EC2::Region
- should respond to all the methods of EC2 except #regions
- it should behave like an ec2 resource object
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should include the ID
- it should behave like ec2 resource equality method
- #==
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like ec2 resource equality method
- #eql?
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- #initialize
- should set the name
- with :endpoint
- should set the endpoint
- #endpoint
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #exists?
- should call describe_regions with a filter
- when it exists
- should return true
- when it does not exist
- should return false
- #instances
- it should behave like ec2 regional top-level collection
- should configure the regional endpoint
- #security_groups
- it should behave like ec2 regional top-level collection
- should configure the regional endpoint
- #key_pairs
- it should behave like ec2 regional top-level collection
- should configure the regional endpoint
- #elastic_ips
- it should behave like ec2 regional top-level collection
- should configure the regional endpoint
- #tags
- it should behave like ec2 regional top-level collection
- should configure the regional endpoint
- #availability_zones
- it should behave like ec2 regional top-level collection
- should configure the regional endpoint
- AWS::EC2::Request
- it should behave like an authorize v2 request
- #string_to_sign
- first line should match the request http method
- second line should match the host
- third line should match the path
- 4th line should be sorted encoded key/value pairs
- #add_authorization!
- adds a signature version param
- adds a signature method param
- adds a signature param
- adds the access key id param
- it should behave like an authorize v2 request with a session token
- #add_authorization!
- no configured session token
- should not add the SecurityToken parameter
- has a session token configured
- should add the SecurityToken parameter
- AWS::EC2::ReservedInstancesCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- it should behave like a tagged ec2 collection
- #tagged
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- #tagged_values
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- it should behave like ec2 collection array access
- #[]
- returns an object of the member class
- returns an object with the correct config
- AWS::EC2::ReservedInstancesOfferingCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- it should behave like a tagged ec2 collection
- #tagged
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- #tagged_values
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- it should behave like ec2 collection array access
- #[]
- returns an object of the member class
- returns an object with the correct config
- AWS::EC2::ReservedInstancesOffering
- it should behave like an ec2 resource object
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should include the ID
- it should behave like ec2 resource equality method
- #==
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like ec2 resource equality method
- #eql?
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like a tagged ec2 item
- #add_tag
- adds a tag
- returns a tag object
- accepts an optional tag value
- #clear_tags
- deletes all tags with the taggable id
- #tags
- returns a resource tag collection
- should pass the resource and config
- #cached_tags
- when caching is disabled
- should return nil
- when caching is enabled
- should query describe_instances responses
- should return nil if no matching instance is found
- when instance data is cached
- should return a hash
- it should behave like it has reserved instance attributes
- #instance_type
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #availability_zone
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #duration
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #fixed_price
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #usage_price
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #product_description
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #instance_tenancy
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #currency_code
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #purchase
- calls purchase_reserved_instances_offering on the client
- defaults instance_count to 1
- accepts instance_count
- returns a reserved instance
- returns a reserved instance with the correct id
- returns a reserved instance with the correct config
- AWS::EC2::ReservedInstances
- it should behave like an ec2 resource object
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should include the ID
- it should behave like ec2 resource equality method
- #==
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like ec2 resource equality method
- #eql?
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like a tagged ec2 item
- #add_tag
- adds a tag
- returns a tag object
- accepts an optional tag value
- #clear_tags
- deletes all tags with the taggable id
- #tags
- returns a resource tag collection
- should pass the resource and config
- #cached_tags
- when caching is disabled
- should return nil
- when caching is enabled
- should query describe_instances responses
- should return nil if no matching instance is found
- when instance data is cached
- should return a hash
- it should behave like it has reserved instance attributes
- #instance_type
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #availability_zone
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #duration
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #fixed_price
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #usage_price
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #product_description
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #instance_tenancy
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #currency_code
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #start
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #instance_count
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- AWS::EC2::ResourceTagCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like enumerable
- should not read the client
- #[]
- should call describe_tags
- should return the tag value
- accepts method missing calls that proxy to #[]
- should accept a symbol
- should return nil if the tag does not exist
- tags are cached
- should return the cached value for the key
- should work for symbol keys
- should return nil if the tag does not have a value
- existence tests
- tag exists
- #empty?
- should call describe_tags
- should be false
- #has_key?
- should call describe_tags
- should accept a symbol
- should be true
- #has_value?
- should call describe_tags
- should be true
- tag does not exist
- #empty?
- should be true
- #has_key?
- should be false
- #has_value?
- should be false
- resource has cached tags
- should be empty if the cache is empty
- should use the cached keys
- should use the cached values
- #[]=
- should call create_tags
- should accept a symbol key
- should delete the tag when a nil value is assigned
- #add
- should call create_tags
- should accept a symbol
- #set
- should call create_tags
- should accept symbol keys
- #method_missing
- setter methods
- calls #[]= with the method name
- #delete
- should call delete_tags
- should accept symbols
- should do nothing with no arguments
- #clear
- should call delete_tags
- enumeration methods
- #each
- should yield pairs to a arity-1 block
- should yield keys and values to a arity-2 block
- #values_at
- should filter by keys and resources
- should accept symbols
- should return the values in an array
- should return values in the right order
- should return nil for values that do not exist
- #to_h
- should return keys mapped to values
- resource has cached tags
- #each
- should iterate over the cached tags
- #values_at
- should fetch values from the cached hash
- should work for symbol keys
- #to_h
- should return the cached tags
- AWS::EC2::RouteTableCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- it should behave like a tagged ec2 collection
- #tagged
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- #tagged_values
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- it should behave like ec2 collection array access
- #[]
- returns an object of the member class
- returns an object with the correct config
- #each
- yields route tables
- #[]
- returns a route table correct config
- #create
- calls #create_route_table on the client
- accepts a vpc object
- populates the vpc id when chained
- accpets a vpc id
- example at ./spec/aws/ec2/route_table_collection_spec.rb:107
- AWS::EC2::RouteTable
- it should behave like an ec2 resource object
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should include the ID
- it should behave like ec2 resource equality method
- #==
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like ec2 resource equality method
- #eql?
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like a tagged ec2 item
- #add_tag
- adds a tag
- returns a tag object
- accepts an optional tag value
- #clear_tags
- deletes all tags with the taggable id
- #tags
- returns a resource tag collection
- should pass the resource and config
- #cached_tags
- when caching is disabled
- should return nil
- when caching is enabled
- should query describe_instances responses
- should return nil if no matching instance is found
- when instance data is cached
- should return a hash
- #route_table_id
- returns the route table id passed in
- is aliased as #id
- #vpc
- returns the vpc
- #create_route
- calls #create_route on the client
- accpets objects instead of id strings
- #replace_route
- calls #replace_route on the client
- accpets objects instead of id strings
- #delete_route
- calls #delete_route on the client
- #delete
- calls #delete_route_table on the client
- exisitng route tables
- #vpc
- #vpc returns the vpc
- #main?
- returns true if it has an association without a subnet
- returns false if all of its associations have a subnet
- #subnets
- collects subnets from its associations
- #routes
- returns an array of route objects
- AWS::EC2::SecurityGroup::EgressIpPermissionCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like enumerable
- should not read the client
- #initialize
- should set the group
- #each
- yields IpPermission objects
- passes the config
- yielded permissions should all be egress
- should yield the right number of objects
- should populate the correct information
- AWS::EC2::SecurityGroup::IngressIpPermissionCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like enumerable
- should not read the client
- #initialize
- should set the group
- #each
- yields IpPermission objects
- yielded permissions should all be ingress
- passes the config
- should yield the right number of objects
- should populate the correct information
- vpc security group without ports
- should accept a permission without port ranges
- AWS::EC2::SecurityGroup::IpPermission
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #security_group
- should return the correct security group
- #protocol
- returns the protocol
- is the lowercase symbolized version of what is passed
- converts -1 to :any
- #port_range
- converts integers into a range
- converts arrays into ranges
- accepts ranges
- accepts nil
- #ip_ranges
- defaults to []
- returns whatever it received as an array
- #groups
- defaults to []
- returns whatever it received as an array
- #egress?
- defaults to false
- can be set to true
- #authorize
- calls authorize_security_group_ingress
- #revoke
- calls revoke_security_group_ingress
- AWS::EC2::SecurityGroupCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- it should behave like a tagged ec2 collection
- #tagged
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- #tagged_values
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- it should behave like ec2 collection array access
- #[]
- returns an object of the member class
- returns an object with the correct config
- #create
- should return a new security group
- shoud return a security group with the correct name
- shoud return a security group with the correct description
- shoud return a security group with the correct config
- should call create_security_group with the correct options
- AWS::EC2::SecurityGroup
- it should behave like an ec2 resource object
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should include the ID
- it should behave like ec2 resource equality method
- #==
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like ec2 resource equality method
- #eql?
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like a tagged ec2 item
- #add_tag
- adds a tag
- returns a tag object
- accepts an optional tag value
- #clear_tags
- deletes all tags with the taggable id
- #tags
- returns a resource tag collection
- should pass the resource and config
- #cached_tags
- when caching is disabled
- should return nil
- when caching is enabled
- should query describe_instances responses
- should return nil if no matching instance is found
- when instance data is cached
- should return a hash
- #exists?
- it should behave like ec2 resource exists method
- #exists?
- should call describe_volumes
- should return false when the resource does not exist
- should return true when the resource exists
- #name
- returns the name it was constructed with
- calls describe_security_groups to get the name
- raises an error when the security group cant be found
- #owner_id
- returns the owner_id it was constructed with
- calls describe_security_groups to get the owner_id
- raises an error when the security group cant be found
- #description
- returns the description it was constructed with
- calls describe_security_groups to get the desc when missing
- raises an error when the security group cant be found
- #authorize_ingress
- behaves like security group ingress method
- accepts ranges for ports and defaults ip ranges to 0.0.0.0/0
- donwcases protocols and accepts ports as arrays
- accepts ip ranges as strings
- accepts groups
- accepts group hashes
- #revoke_ingress
- behaves like security group ingress method
- accepts ranges for ports and defaults ip ranges to 0.0.0.0/0
- donwcases protocols and accepts ports as arrays
- accepts ip ranges as strings
- accepts groups
- accepts group hashes
- #authorize_egress
- behaves like security group egress method
- returns a vpc
- accepts ranges for ports and defaults ip ranges to 0.0.0.0/0
- donwcases protocols and accepts ports as arrays
- accepts ip ranges as strings
- accepts groups
- accepts group hashes with a group_id
- accepts group hashes with a group_name
- accepts group hashes with a group_id and user_id
- accepts group hashes with a group_name and user_id
- raises an error for missing group
- raises an error for unknown group keys
- accepts a load balancer
- #revoke_egress
- behaves like security group egress method
- returns a vpc
- accepts ranges for ports and defaults ip ranges to 0.0.0.0/0
- donwcases protocols and accepts ports as arrays
- accepts ip ranges as strings
- accepts groups
- accepts group hashes with a group_id
- accepts group hashes with a group_name
- accepts group hashes with a group_id and user_id
- accepts group hashes with a group_name and user_id
- raises an error for missing group
- raises an error for unknown group keys
- accepts a load balancer
- #allow_ping
- behaves like security group ping method
- calls the client
- should call authorize ingress pings for ip ranges
- #disallow_ping
- behaves like security group ping method
- calls the client
- should call authorize ingress pings for ip ranges
- #ip_permissions_list
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #ip_permissions
- should return an ip permission collection
- #delete
- calls #delete_security_group on the client with the correct id
- AWS::EC2::SnapshotCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- it should behave like a tagged ec2 collection
- #tagged
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- #tagged_values
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- #with_owner
- should filter by passing the Owner.n parameter
- should accept symbol values
- should preserve filters
- should survive filtering
- #restorable_by
- should filter by passing the ExecutableBy.n parameter
- should accept symbol values
- should preserve filters
- should survive filtering
- #[]
- should pass the id
- #create
- should call create_snapshot
- should pass :volume_id from :volume
- should return a snapshot object
- should pass the id
- should pass the config
- AWS::EC2::Snapshot
- it should behave like an ec2 resource object
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should include the ID
- it should behave like ec2 resource equality method
- #==
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like ec2 resource equality method
- #eql?
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like a tagged ec2 item
- #add_tag
- adds a tag
- returns a tag object
- accepts an optional tag value
- #clear_tags
- deletes all tags with the taggable id
- #tags
- returns a resource tag collection
- should pass the resource and config
- #cached_tags
- when caching is disabled
- should return nil
- when caching is enabled
- should query describe_instances responses
- should return nil if no matching instance is found
- when instance data is cached
- should return a hash
- #initialize
- should set the snapshot id
- #delete
- should call delete_snapshot
- #create_volume
- should call VolumeCollection#create
- should pass additional options
- should return the created volume
- should pass the config
- #exists?
- it should behave like ec2 resource exists method
- #exists?
- should call describe_volumes
- should return false when the resource does not exist
- should return true when the resource exists
- attributes
- #volume_id
- it should behave like ec2 snapshot attribute accessor
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- populate from create_snapshot
- should not populate unless the snapshot ID matches
- when returned by the service
- should populate the translated value
- #volume
- it should behave like accessor for ec2 resource
- should return a resource object
- should pass the id
- should pass the config
- should return nil if there is no id
- #status
- it should behave like ec2 snapshot attribute accessor
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- populate from create_snapshot
- should not populate unless the snapshot ID matches
- when returned by the service
- should populate the translated value
- #start_time
- it should behave like ec2 snapshot attribute accessor
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- populate from create_snapshot
- should not populate unless the snapshot ID matches
- when returned by the service
- should populate the translated value
- #progress
- it should behave like ec2 snapshot attribute accessor
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- populate from create_snapshot
- should not populate unless the snapshot ID matches
- when returned by the service
- should populate the translated value
- #owner_id
- it should behave like ec2 snapshot attribute accessor
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- populate from create_snapshot
- should not populate unless the snapshot ID matches
- when returned by the service
- should populate the translated value
- #volume_size
- it should behave like ec2 snapshot attribute accessor
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- populate from create_snapshot
- should not populate unless the snapshot ID matches
- when returned by the service
- should populate the translated value
- #owner_alias
- it should behave like ec2 snapshot attribute accessor
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- populate from create_snapshot
- should not populate unless the snapshot ID matches
- when returned by the service
- should populate the translated value
- #description
- it should behave like ec2 snapshot attribute accessor
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- populate from create_snapshot
- should not populate unless the snapshot ID matches
- when returned by the service
- should populate the translated value
- it should behave like has ec2 public?/private? accessors
- #public?
- should call the describe method
- should return true if the "all" group has access
- should return false if the "all" group has no access
- #private?
- should call the describe method
- should return false if the "all" group has access
- should return true if the "all" group has no access
- #public=
- set to true
- should call the modify method
- set to false
- should call modify_image_attribute
- #create_volume_permissions
- should return a permissions collection
- should pass the snapshot and config
- AWS::EC2::SubnetCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- it should behave like a tagged ec2 collection
- #tagged
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- #tagged_values
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- it should behave like ec2 collection array access
- #[]
- returns an object of the member class
- returns an object with the correct config
- #each
- yields populated subnets
- #[]
- returns a subnet with the correct config
- #create
- calls #create_subnet on the client
- accepts a vpc id as a string
- provides the vpc when present in the collection
- accepts an availability zone name
- accepts an availability zone
- returns a populated subnet
- AWS::EC2::Subnet
- it should behave like an ec2 resource object
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should include the ID
- it should behave like ec2 resource equality method
- #==
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like ec2 resource equality method
- #eql?
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- #subnet_id
- returns the id passed in
- is aliased as #id
- #delete
- calls #delete_subnet on the client
- returns nil
- subnet attributes
- #vpc_id
- returns the vpc id passed in
- calls describe_subnets when not passed in
- #vpc
- returns the vpc passed in
- calls describe_subnets when not passed in
- #state
- is returned as a symbol
- #cidr_block
- is returned as a string
- #available_ip_address_count
- is returned as an integer
- #availability_zone_name
- is returned as a string
- route table
- getting the route table
- describes route tables and finds itself
- returns the default route table if there is no association
- setting the route table
- a subnet without a route table association
- calls #associate_route_table on the client
- a subnet with an existing route table association
- calls #replace_route_table_association on the client
- AWS::EC2::TagCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- #create
- calls create_tags on the client
- returns a Tag object
- #each
- populate tag keys
- returns security-group resources properly
- returns instance resources properly
- returns image resources properly
- returns other modeled resource types properly
- returns other un-modeled resource types properly
- AWS::EC2::Tag
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #resource
- returns the resource
- #key
- returns the key it was constructed with
- stringifies the key
- #name
- is an alias of key
- #value
- populated from describe_tags
- when the tag is not returned in the response
- should return nil
- when the tag is included in the response
- should return the value from the response object
- requested from describe_tags
- should use retrieve_attribute
- client request
- should call describe_tags
- should filter by key
- should filter by resource type
- should filter by resource id
- #delete
- calls delete_tags on the client
- accepts an optional value argument
- #inspect
- should include the resource type, resource ID, and key
- #local_cache_key
- should include the class name, resource type, resource ID, and key
- AWS::EC2::VolumeCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- it should behave like a tagged ec2 collection
- #tagged
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- #tagged_values
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- it should behave like ec2 collection array access
- #[]
- returns an object of the member class
- returns an object with the correct config
- #create
- should call create_volume
- should accept a snapshot for :snapshot
- should return a volume object
- AWS::EC2::Volume
- it should behave like an ec2 resource object
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should include the ID
- it should behave like ec2 resource equality method
- #==
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like ec2 resource equality method
- #eql?
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like a tagged ec2 item
- #add_tag
- adds a tag
- returns a tag object
- accepts an optional tag value
- #clear_tags
- deletes all tags with the taggable id
- #tags
- returns a resource tag collection
- should pass the resource and config
- #cached_tags
- when caching is disabled
- should return nil
- when caching is enabled
- should query describe_instances responses
- should return nil if no matching instance is found
- when instance data is cached
- should return a hash
- #initialize
- should set the id
- #delete
- should call delete_volume
- #create_snapshot
- should call create_snapshot
- should pass the description if provided
- should return a snapshot
- #attach_to
- should call attach_volume
- it should behave like returns an attachment
- should return an attachment object
- should pass the instance
- should pass the volume
- should pass the device
- should pass the config
- #detach_from
- should call detach_volume
- it should behave like returns an attachment
- should return an attachment object
- should pass the instance
- should pass the volume
- should pass the device
- should pass the config
- #attachments
- should return an attachment collection
- should pass the volume
- should pass the config
- exists?
- it should behave like ec2 resource exists method
- #exists?
- should call describe_volumes
- should return false when the resource does not exist
- should return true when the resource exists
- #status
- it should behave like ec2 volume attribute accessor
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- populated from create_volume
- should not populate when the volume ID does not match
- when returned by the service
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #snapshot_id
- it should behave like ec2 volume attribute accessor
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- populated from create_volume
- should not populate when the volume ID does not match
- when returned by the service
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #snapshot
- it should behave like accessor for ec2 resource
- should return a resource object
- should pass the id
- should pass the config
- should return nil if there is no id
- #size
- it should behave like ec2 volume attribute accessor
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- populated from create_volume
- should not populate when the volume ID does not match
- when returned by the service
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #create_time
- it should behave like ec2 volume attribute accessor
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- populated from create_volume
- should not populate when the volume ID does not match
- when returned by the service
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #availability_zone_name
- it should behave like ec2 volume attribute accessor
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- populated from create_volume
- should not populate when the volume ID does not match
- when returned by the service
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- #availability_zone
- it should behave like accessor for ec2 resource
- should return a resource object
- should pass the id
- should pass the config
- should return nil if there is no id
- #attachment_set
- it should behave like ec2 volume attribute accessor
- it should behave like ec2 resource attribute accessor (describe call)
- when returned by the service
- should call the describe call
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- populated from create_volume
- should not populate when the volume ID does not match
- when returned by the service
- should return the translated attribute value
- when not returned by the service
- should return nil if the field is not set
- AWS::EC2::VPCCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- it should behave like a tagged ec2 collection
- #tagged
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- #tagged_values
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- it should behave like ec2 collection array access
- #[]
- returns an object of the member class
- returns an object with the correct config
- #each
- yields populated vpcs
- #[]
- returns a vpc with the correct config
- #create
- calls #create_vpc on the client
- calls accept a different tenancy value
- returns a VPC object
- AWS::EC2::VPC
- it should behave like an ec2 resource object
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should include the ID
- it should behave like ec2 resource equality method
- #==
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like ec2 resource equality method
- #eql?
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- #vpc_id
- returns the id passed in
- is aliased as #id
- #delete
- calls #delete_vpc on the client
- returns nil
- #subnets
- returns a subnet collection
- vpc attributes
- #state
- is returned as a symbol
- #cidr_block
- is returned as a string
- #dhcp_options_id
- is returned as a string
- #instance_tenancy
- is returned as a symbol
- AWS::EC2::VPNConnectionCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- it should behave like a tagged ec2 collection
- #tagged
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- #tagged_values
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- it should behave like ec2 collection array access
- #[]
- returns an object of the member class
- returns an object with the correct config
- #each
- yields vpn connections
- #[]
- returns a vpn connection
- #create
- calls #create_vpn_connection on the client
- accepts gateway objects
- accepts the customer gateway from a collection
- accepts the vpn gateway from a collection
- AWS::EC2::VPNConnection
- it should behave like an ec2 resource object
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should include the ID
- it should behave like ec2 resource equality method
- #==
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like ec2 resource equality method
- #eql?
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like a tagged ec2 item
- #add_tag
- adds a tag
- returns a tag object
- accepts an optional tag value
- #clear_tags
- deletes all tags with the taggable id
- #tags
- returns a resource tag collection
- should pass the resource and config
- #cached_tags
- when caching is disabled
- should return nil
- when caching is enabled
- should query describe_instances responses
- should return nil if no matching instance is found
- when instance data is cached
- should return a hash
- #vpn_connection_id
- returns the route table id passed in
- is aliased as #id
- #delete
- calls #delete_vpn_connection on the the client
- exisitng connections
- returns the state as a symbol
- returns the vpn_type as a string
- returns the gateway
- returns the customer gateway
- returns the customer gateway configuration
- #vgw_telemetry
- returns telemetry objects
- AWS::EC2::VPNGatewayCollection
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- it should behave like ec2 collection object
- it should behave like enumerable
- should not read the client
- #filter
- returns a new collection
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- filtered
- it should behave like a filtered ec2 collection
- #filter
- returns a new collection
- filtered enumeration
- accepts multiple values for a single filter name
- should be chainable
- allows addding a filter name more than once
- it should behave like a tagged ec2 collection
- #tagged
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- #tagged_values
- filters by tag name
- can be chained
- accepts values
- also accepts multiple tag names
- it should behave like ec2 collection array access
- #[]
- returns an object of the member class
- returns an object with the correct config
- #each
- yields vpn gateways
- #[]
- returns a vpn gateway with the correct config
- #create
- calls #create_vpn_gateway on the client
- accepts an availability zone name string
- accepts an availability zone object
- returns a vpn gateway
- AWS::EC2::VPNGateway
- it should behave like an ec2 resource object
- it should behave like an ec2 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should include the ID
- it should behave like ec2 resource equality method
- #==
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like ec2 resource equality method
- #eql?
- same class
- should return true if the IDs match
- should return false if the IDs do not match
- different class
- should return false
- it should behave like a tagged ec2 item
- #add_tag
- adds a tag
- returns a tag object
- accepts an optional tag value
- #clear_tags
- deletes all tags with the taggable id
- #tags
- returns a resource tag collection
- should pass the resource and config
- #cached_tags
- when caching is disabled
- should return nil
- when caching is enabled
- should query describe_instances responses
- should return nil if no matching instance is found
- when instance data is cached
- should return a hash
- #vpn_gateway_id
- returns the route table id passed in
- is aliased as #id
- #attach
- calls #attach_vpn_gateway on the client
- accepts a vpc object
- returns an attachment
- #detach
- calls #detach_vpn_gateway on the client
- accepts a vpc object
- #delete
- calls #delete_vpn_connection on the client
- exisitng gateways
- populates from the describe call
- #vpc
- #vpc returns the vpc
- AWS::EC2
- behaves like a class that accepts configuration
- accepts and returns a :config option
- constructor passes options to Configuration#with
- returns the merged config
- #instances
- it should behave like ec2 top level collection
- should return an instance of AWS::EC2::InstanceCollection
- should pass the config
- #security_groups
- it should behave like ec2 top level collection
- should return an instance of AWS::EC2::SecurityGroupCollection
- should pass the config
- #elastic_ips
- it should behave like ec2 top level collection
- should return an instance of AWS::EC2::ElasticIpCollection
- should pass the config
- #key_pairs
- it should behave like ec2 top level collection
- should return an instance of AWS::EC2::KeyPairCollection
- should pass the config
- #tags
- it should behave like ec2 top level collection
- should return an instance of AWS::EC2::TagCollection
- should pass the config
- #regions
- it should behave like ec2 top level collection
- should return an instance of AWS::EC2::RegionCollection
- should pass the config
- #availability_zones
- it should behave like ec2 top level collection
- should return an instance of AWS::EC2::AvailabilityZoneCollection
- should pass the config
- #images
- it should behave like ec2 top level collection
- should return an instance of AWS::EC2::ImageCollection
- should pass the config
- #reserved_instances
- it should behave like ec2 top level collection
- should return an instance of AWS::EC2::ReservedInstancesCollection
- should pass the config
- #reserved_instance_offerings
- it should behave like ec2 top level collection
- should return an instance of AWS::EC2::ReservedInstancesOfferingCollection
- should pass the config
- #volumes
- it should behave like ec2 top level collection
- should return an instance of AWS::EC2::VolumeCollection
- should pass the config
- #vpcs
- it should behave like ec2 top level collection
- should return an instance of AWS::EC2::VPCCollection
- should pass the config
- #subnets
- it should behave like ec2 top level collection
- should return an instance of AWS::EC2::SubnetCollection
- should pass the config
- #network_acls
- it should behave like ec2 top level collection
- should return an instance of AWS::EC2::NetworkACLCollection
- should pass the config
- #route_tables
- it should behave like ec2 top level collection
- should return an instance of AWS::EC2::RouteTableCollection
- should pass the config
- #network_interfaces
- it should behave like ec2 top level collection
- should return an instance of AWS::EC2::NetworkInterfaceCollection
- should pass the config
- #internet_gateways
- it should behave like ec2 top level collection
- should return an instance of AWS::EC2::InternetGatewayCollection
- should pass the config
- #customer_gateways
- it should behave like ec2 top level collection
- should return an instance of AWS::EC2::CustomerGatewayCollection
- should pass the config
- #vpn_gateways
- it should behave like ec2 top level collection
- should return an instance of AWS::EC2::VPNGatewayCollection
- should pass the config
- #dhcp_options
- it should behave like ec2 top level collection
- should return an instance of AWS::EC2::DHCPOptionsCollection
- should pass the config
- #vpn_connections
- it should behave like ec2 top level collection
- should return an instance of AWS::EC2::VPNConnectionCollection
- should pass the config
- AWS::ELB::AvailabilityZoneCollection
- #enable
- accepts availability zone names
- accepts availability zone objects
- returns nil
- #disable
- accepts availability zone names
- accepts availability zone objects
- returns nil
- #each
- yields availability zone objects
- AWS::ELB::BackendServerPolicyCollection
- #[]
- calls #describe_load_balancers to get the policy
- returns nil if there was no policy
- #[]=
- calls #set_load_balancer_policies_for_backend_server
- accepts policy objects
- accepts nil to remove a policy
- #each
- yields policies
- AWS::ELB::InstanceCollection
- #[]
- returns an ec2 instance object
- returns an ec2 instance object with the correct configuration
- returns an ec2 instance that responds to #elb_health
- #elb_health
- calls #describe_instance_health on the client
- #load_balancer
- returns the load balancer
- #remove_from_load_balancer
- calls deregister for the instance
- #health
- calls #describe_instance_health
- returns an array of hashes
- accepts instances ids
- accepts instances
- #register
- calls register on the client
- #deregister
- calls deregister on the client
- #each
- yields instance objects
- AWS::ELB::LoadBalancerCollection
- #create
- calls #create_load_balancer_listeners on the client
- accepts IAM server certificates
- returns a listener
- #[]
- returns a listener
- returns a listener with the proper load balancer
- returns a listener with the proper config
- returns a listener with the correct port
- accepts port as a string
- #each
- yields once for each listener on the load balancer
- yield listeners
- yields listeners with configs
- yields populated listeners
- AWS::ELB::Listener
- #load_balancer
- returns the load balancer
- has the right config
- #port
- returns the port
- stringifies the port
- #protocol
- returns the protocol as a symbol
- #instance_port
- returns the isntance port as an integer
- #instance_protocol
- returns the isntance protocol as a symbol
- #server_certificate
- returns the iam server certificate that has the matching arn
- #server_certificate=
- sends the server cert arn as ssl_certificate_id
- #policy
- describes the load balancer to get the policy
- #policy=
- accepts policy names
- accepts policy objects
- #remove_policy
- sends no policy names
- #exists?
- returns false if the load balancer does not exist
- returns false if the load balancer policy does not exist
- returns true if the load balancer policy is described
- #delete
- calls delete_load_balancer_listeners on the client
- AWS::ELB::LoadBalancerCollection
- #create
- returns a load balancer
- returns a load balancer with the correct name
- returns a load balancer with the correct config
- returns a load balancer with the dns_name populated
- calls #create_load_balancer on the client
- #[]
- returns a load balancer
- returns the load balancer with the given name
- accepts load balancer names as symbols
- returns a load balancer with the correct config
- it should behave like a simple collection
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- calls the client method to list objects
- should yield the right number of objects
- it should behave like a collection that yields models
- #each
- yields the correct number of members
- yields instances of the member class
- yields objects with the correct config
- AWS::ELB::LoadBalancerPolicyCollection
- #create
- calls #create_load_balancer_policy
- returns a policy object
- #[]
- returns a load balancer policy
- returns a load balancer policy with the proper name
- returns a load balancer policy with the proper config
- returns a load balancer policy with the proper load balancer
- #each
- calls describe load balancer policies
- appects extra optins like policy names
- yield load balancer policies
- AWS::ELB::LoadBalancerPolicy
- #name
- is returned from init
- #type
- can be passed to init
- is requested when unknown
- #attributes
- calls describe_load_balancer_policies to get attributes
- #delete
- calls delete_load_balancer_policy
- #exists?
- returns false if the load balancer does not exist
- returns false if the policy does not exist
- returns true if the policy exists
- AWS::ELB::LoadBalancer
- it should behave like a resource object
- #inspect
- should include the ID
- it should behave like resource equality method
- #==
- same class
- should return true if everything matches
- should return false if any identifying information does not match
- different class
- should return false
- it should behave like resource equality method
- #eql?
- same class
- should return true if everything matches
- should return false if any identifying information does not match
- different class
- should return false
- #initialize
- should store the name
- should accpet a symbol name
- #backend_server_policies
- returns an backend server policy collection
- #listeners
- returns an backend server policy collection
- #policies
- returns an backend server policy collection
- #instances
- returns an backend server policy collection
- #exists
- returns true if the load balancer can be described
- returns false if an error is raised describing the load balancer
- #delete
- calls #delete_load_balancer on the client
- static attributes
- returns the load balancer name as a string
- returns the canonical hosted zone name as a string
- returns the canonical hosted zone name id as a string
- returns the created time as a Time object
- returns the dns name as a string
- hasherizes source security group
- #availability_zones
- returns an az collection
- returns an az collection with the proper load balancer
- returns an az collection with the proper config
- #availability_zone_names
- returns an array of strings
- #source_security_group
- returns a hash for the group name and owner alias
- health check configuration
- #health_check_configuration
- returns a hash with the correct details
- #configure_health_check
- gets the current health check and merges options
- returns a health check configuration hash
- AWS::ELB
- behaves like a class that accepts configuration
- accepts and returns a :config option
- constructor passes options to Configuration#with
- returns the merged config
- #load_balancers
- returns a load balancer collection
- returns a collection with the correct config
- AWS::Errors::Base
- it should behave like an aws error
- should be a standard error
- should be an aws service error
- should have a message like the response body
- should provide access to the http request
- should provide access to the http response
- AWS::Errors::ServerError
- it should behave like an aws error
- should be a standard error
- should be an aws service error
- should have a message like the response body
- should provide access to the http request
- should provide access to the http response
- AWS::Errors::ClientError
- it should behave like an aws error
- should be a standard error
- should be an aws service error
- should have a message like the response body
- should provide access to the http request
- should provide access to the http response
- AWS::IAM::AccessKeyCollection
- with user
- #user
- returns the user passed to #new
- #config
- should be the users config
- #create
- calls create_access_key on the client
- returns an access key
- #[]
- returns an access key
- calls list_access_keys to get the status
- returns an access key w/out access to the secret
- behaves like a pageable collection with limits
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- behaves like a collection that yields models
- yields access_keys with populated ids
- yields access_keys with populated users
- #each
- yields the correct number of members
- yields instances of the member class
- yields objects with the correct config
- without user
- #user
- returns nil
- #config
- should be the config passed to #new
- #create
- calls create_access_key on the client
- returns an access key
- #[]
- returns an access key
- AWS::IAM::AccessKey
- #id
- returns the access key id that was passed to #new
- #user
- returns the user passed to #new
- #config
- should be the users config
- #secret
- returns the secret passed to #new
- raises an error when not provided
- #status
- lists access keys to find the status
- #active?
- returns true if the status is :active
- returns false if the status is :inactive
- #inactive?
- returns false if the status is :active
- returns true if the status is :inactive
- #activate!
- calls update_access_key on the client
- #deactivate!
- calls update_access_key on the client
- #delete
- calls delete_access_key on the client
- AWS::IAM::UserCollection
- #create
- calls create_account_alias on the client
- returns the alias
- #delete
- calls delete_account_alias on the client
- returns nil
- behaves like a pageable collection with limits
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- AWS::IAM::Client
- #list_groups
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- #get_group
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- #get_group_policy
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- #list_group_policies
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- #list_groups_for_user
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- #list_server_certificates
- it should behave like uses cached responses
- when the cache is active
- should not make a request if a matching response is in the cache
- should make a request if no response is cached
- should use a response class whose cache key includes the access key ID
- should log the response including a [CACHED] tag
- AWS::IAM::GroupCollection
- #create
- should call create_group
- should accept an optional path
- should automatically add a trailing slash to the path
- should automatically add a leading slash to the path
- should return a group object
- #[]
- should return a group object with the name populated
- behaves like a pageable collection with limits
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- behaves like a collection using a path prefix
- #with_prefix
- should return a collection with the prefix set
- should add a leading slash if missing
- should keep the same configuration
- should call the client method with a :path_prefix option
- #each
- should send :prefix as :path_prefix
- should add a leading slash if missing
- behaves like a collection that yields models
- yields groups with populated names
- yields groups with populated create_date timestamps
- yields groups with populated ids
- #each
- yields the correct number of members
- yields instances of the member class
- yields objects with the correct config
- AWS::IAM::GroupPolicyCollection
- it should behave like iam policy collection
- #[]
- should call the get policy method
- should return the policy document
- should return nil if NoSuchEntity is raised
- #[]=
- should call the put policy method
- should accept an object that responds to to_json
- #delete
- should call the delete policy method
- should return nil
- should rescue NoSuchEntity
- #values_at
- should call #[] for each argument
- #keys
- should call #enumerator with :names_only set
- #values
- should call #enumerator with :values_only set
- #clear
- should call #delete with each key
- #has_key?
- should call the get policy method
- should return true if there is no error
- should return false if there is a NoSuchEntity error
- should not rescue other errors
- behaves like a pageable collection with limits
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- #each
- should call the get policy method for each policy
- should yield pairs to a arity-1 block
- should yield keys and values to a arity-2 block
- with :names_only
- should not call the get policy method
- should not pass :names_only to the list policies method
- should yield the names as strings
- with :values_only
- should yield the documents
- should not pass :values_only to the list policies method
- #to_h
- should return a hash of policy name to policy document
- AWS::IAM::Group
- #initialize
- should store the group name
- should store the create time
- should store the id
- populated from get_group
- should not populate for a non-matching group
- it should behave like populated group data
- should include the group id
- should include the path
- should include the create date
- should include the arn
- populated from create_group
- should not populate for a non-matching group
- it should behave like populated group data
- should include the group id
- should include the path
- should include the create date
- should include the arn
- populated from list_groups
- should not populate for a non-matching group
- it should behave like populated group data
- should include the group id
- should include the path
- should include the create date
- should include the arn
- populated from list_groups_for_user
- should not populate for a non-matching group
- it should behave like populated group data
- should include the group id
- should include the path
- should include the create date
- should include the arn
- #path=
- should call update_group
- should automatically add a trailing slash to the path
- should automatically add a trailing slash to the path
- #name=
- updates the group name
- modifies the name returned by #name
- #exists?
- should call get_group
- should return true if there is no error
- should return false if there is a NoSuchEntity error
- should not rescue other kinds of errors
- #delete
- should call delete_group
- should return nil
- #users
- should return a collection of the users in the group
- #policies
- should return a collection of the policies in the group
- AWS::IAM::GroupUserCollection
- #add
- should call add_user_to_group
- should return nil
- #remove
- should call remove_user_from_group
- should return nil
- behaves like a simple collection
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- calls the client method to list objects
- should yield the right number of objects
- behaves like a collection that yields models
- yields users with populated names
- yields users with populated create_date timestamps
- yields users with populated ids
- #each
- yields the correct number of members
- yields instances of the member class
- yields objects with the correct config
- AWS::IAM::LoginProfile
- #initialize
- should set the user
- populated from get_login_profile
- should not populate for a non-matching profile
- it should behave like populated login profile data
- should include the create date
- populated from create_login_profile
- should not populate for a non-matching profile
- it should behave like populated login profile data
- should include the create date
- #create_date
- should call get_login_profile
- #password=
- should call update_login_profile
- should call create_login_profile if the service returns NoSuchEntity
- should return the password as it was set
- should return the password as it was set when creating
- #delete
- should call delete_login_profile
- #exists?
- should call get_login_profile
- should return true when the call succeeds
- should return false when the call fails with NoSuchEntity
- should not rescue other kinds of errors
- AWS::IAM::MFADeviceCollection
- #create
- is an alias of #enable
- #enable
- call enable_mfa_device create_user on the client
- returns an mfa device
- #[]
- returns an mfa device
- #clear
- calls deactivate on each device
- behaves like a pageable collection with limits
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- behaves like a collection that yields models
- yields devices with populated serial numbers
- yields devies with the correct user
- #each
- yields the correct number of members
- yields instances of the member class
- yields objects with the correct config
- virtual mfa devices
- behaves like a collection that yields models
- yields devices with populated ARNs
- #each
- yields the correct number of members
- yields instances of the member class
- yields objects with the correct config
- AWS::IAM::MFADevice
- #user
- returns the mfa device owner/user
- #serial_number
- returns the mfa device serial number
- #deactivate
- calls deactivate_mfa_device on the client
- #delete
- is an alias of #deactivate
- AWS::IAM::Policy::Statement
- it should behave like generic policy statement
- #initialize
- should yield the statement object
- should work without a block
- should not output both Action and NotAction
- it should behave like singular constructor arg
- should accept Effect
- should accept :effect
- should output the :effect constructor arg
- should not have a effect value when it is explicitly nil
- it should behave like singular constructor arg
- should accept Sid
- should accept :sid
- should output the :sid constructor arg
- should not have a sid value when it is explicitly nil
- it should behave like array constructor arg
- should accept actions (single)
- should accept Action (single)
- should accept actions (multiple)
- should accept Action (multiple)
- it should behave like array constructor arg
- should accept excluded_actions (single)
- should accept NotAction (single)
- should accept excluded_actions (multiple)
- should accept NotAction (multiple)
- it should behave like array constructor arg
- should accept principals (single)
- should accept Principal (single)
- should accept principals (multiple)
- should accept Principal (multiple)
- it should behave like array constructor arg
- should accept resources (single)
- should accept Resource (single)
- should accept resources (multiple)
- should accept Resource (multiple)
- Principal hash option
- should accept a hash
- should accept a single AWS principal
- should accept multiple AWS principals
- Condition hash option
- should construct a ConditionBlock
- empty
- #to_h
- should have an Sid generated from a UUID
- should not have a principal
- should not have a condition block
- with an effect
- should generate an Effect
- with AWS account principals
- should generate a multi-valued Principal
- with any AWS account principal
- should generate a wildcard Principal
- with a prefixed string action
- should generate an Action
- with any action
- should generate a wildcard Action
- with multiple actions
- should generate a multi-valued Action
- excluded actions
- should generate a multi-valued NotAction
- #include_actions
- should generate a multi-valued Action
- should add to existing actions
- #exclude_actions
- should generate a multi-valued NotAction
- should add to existing actions
- with a resource ARN
- should generate a Resource key
- with :any as the resource
- should generate a wildcard for the Resource
- with a condition block
- should generate a Condition key
- #conditions
- should be a ConditionBlock by default
- it should behave like service specific policy statement
- symbolized action names
- raises error for unknown actions
- translates action names
- translates excluded actions
- resource arns
- accepts topics
- AWS::SimpleEmailService::Request
- it should behave like an authorize v4 request
- #add_authorization!
- sets the content type form-urlencoded by default
- populates the host header
- populates the date header
- omits the security token header when session token not provided
- populates the security token header when session token is provided
- popualtes the authorization header (FAILED - 7)
- includes the session token in the signature when present (FAILED - 8)
- #service
- should be ses
- AWS::IAM::ServerCertificateCollection
- #create
- should call upload_server_certificate
- should pass :name as :server_certificate_name
- should accept an optional path
- should automatically add a trailing slash to the path
- should automatically add a leading slash to the path
- should pass additional options through to the client
- should return a certificate object
- #[]
- should return a certificate object with the name populated
- behaves like a pageable collection with limits
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- behaves like a collection using a path prefix
- #with_prefix
- should return a collection with the prefix set
- should add a leading slash if missing
- should keep the same configuration
- should call the client method with a :path_prefix option
- #each
- should send :prefix as :path_prefix
- should add a leading slash if missing
- behaves like a collection that yields models
- yields server certificates with populated names
- yields server certificates with populated upload_date timestamps
- yields server certificates with populated ids
- #each
- yields the correct number of members
- yields instances of the member class
- yields objects with the correct config
- AWS::IAM::ServerCertificate
- #initialize
- should store the name
- should store the upload date
- should store the id
- attributes
- populated from get_server_certificate
- it should behave like populated server certificate metadata
- should include the certificate id
- should include the path
- should include the upload date
- should include the arn
- should not populate for a non-matching group
- it should behave like populated server certificate data
- should include the certificate body
- should include the certificate chain
- populated from upload_server_certificate
- it should behave like populated server certificate metadata
- should include the certificate id
- should include the path
- should include the upload date
- should include the arn
- should not populate for a non-matching group
- populated from list_server_certificates
- it should behave like populated server certificate metadata
- should include the certificate id
- should include the path
- should include the upload date
- should include the arn
- should not populate for a non-matching group
- #path=
- should call update_server_certificate
- should automatically add a trailing slash to the path
- should automatically add a trailing slash to the path
- #name=
- updates the cert name
- modifies the name returned by #name
- #delete
- should call delete_server_certificate
- should return nil
- AWS::IAM::SigningCertificateCollection
- #create
- is an alias of #upload
- with user
- #user
- returns the user passed to #new
- #config
- should be the users config
- #upload
- calls upload_signing_certificate on the client
- returns a signing cerificate
- #[]
- returns a certificate
- behaves like a pageable collection with limits
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- behaves like a collection that yields models
- yields certificates with populated ids
- yields certificates with populated bodies
- #each
- yields the correct number of members
- yields instances of the member class
- yields objects with the correct config
- without user
- #user
- returns nil
- #config
- should be the config passed to #new
- #upload
- calls upload_signing_certificate on the client
- returns a signing cerificate
- #[]
- returns a certificate
- AWS::IAM::SigningCertificate
- #id
- returns the certificate_id that was passed to #new
- #user
- returns the user passed to #new
- #config
- should be the users config
- #contents
- returns the contents passed to #new
- lists certificates to find missing contents
- #status
- lists certificates to find the status
- #active?
- returns true if the status is :active
- returns false if the status is :inactive
- #inactive?
- returns false if the status is :active
- returns true if the status is :inactive
- #activate!
- calls update_signing_certificate on the client
- #deactivate!
- calls update_signing_certificate on the client
- #delete
- calls delete_signing_certificate on the client
- AWS::IAM::UserCollection
- #create
- call create_user on the client
- accepts a :path
- returns a user with immutable details populated
- behaves like a pageable collection with limits
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- behaves like a collection using a path prefix
- #with_prefix
- should return a collection with the prefix set
- should add a leading slash if missing
- should keep the same configuration
- should call the client method with a :path_prefix option
- #each
- should send :prefix as :path_prefix
- should add a leading slash if missing
- behaves like a collection that yields models
- yields users with populated names
- yields users with populated create_date timestamps
- yields users with populated ids
- #each
- yields the correct number of members
- yields instances of the member class
- yields objects with the correct config
- AWS::IAM::UserGroupCollection
- #add
- should call add_user_to_group
- should return nil
- #remove
- should call remove_user_from_group
- should return nil
- behaves like a pageable collection with limits
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- behaves like a collection that yields models
- yields groups with populated names
- yields groups with populated create_date timestamps
- yields groups with populated ids
- #each
- yields the correct number of members
- yields instances of the member class
- yields objects with the correct config
- AWS::IAM::UserPolicyCollection
- it should behave like iam policy collection
- #[]
- should call the get policy method
- should return the policy document
- should return nil if NoSuchEntity is raised
- #[]=
- should call the put policy method
- should accept an object that responds to to_json
- #delete
- should call the delete policy method
- should return nil
- should rescue NoSuchEntity
- #values_at
- should call #[] for each argument
- #keys
- should call #enumerator with :names_only set
- #values
- should call #enumerator with :values_only set
- #clear
- should call #delete with each key
- #has_key?
- should call the get policy method
- should return true if there is no error
- should return false if there is a NoSuchEntity error
- should not rescue other errors
- behaves like a pageable collection with limits
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- #each
- should call the get policy method for each policy
- should yield pairs to a arity-1 block
- should yield keys and values to a arity-2 block
- with :names_only
- should not call the get policy method
- should not pass :names_only to the list policies method
- should yield the names as strings
- with :values_only
- should yield the documents
- should not pass :values_only to the list policies method
- #to_h
- should return a hash of policy name to policy document
- AWS::IAM::UserPolicy
- #user
- returns the user
- #name
- returns the name of the user policy
- #policy
- calls get_user_policy on the client to fetch the policy
- #change
- calls policy= with the changed policy
- #policy=
- calls put_user_policy on the client to add/update the policy
- #delete
- calls delete_user_policy on the client
- AWS::IAM::User
- populated from get_user
- should not populate for a non-matching user
- it should behave like populated user data
- should include the user id
- should include the path
- should include the create date
- should include the arn
- populated from create_user
- should not populate for a non-matching user
- it should behave like populated user data
- should include the user id
- should include the path
- should include the create date
- should include the arn
- populated from list_users
- should not populate for a non-matching user
- it should behave like populated user data
- should include the user id
- should include the path
- should include the create date
- should include the arn
- populated from get_group
- should not populate for a non-matching user
- it should behave like populated user data
- should include the user id
- should include the path
- should include the create date
- should include the arn
- accessors
- #name
- is the name passed to the constructor
- #name=
- updates the user name
- modifies the name returned by #name
- #id
- returns id passed to #new
- calls get_user on the client to get the id
- #create_date
- returns the time passed to #new
- calls get_user on the client to get the create date
- #arn
- calls get_user to get the arn
- #path
- calls get_user to get the path
- #path=
- calls update_user to get the path
- #delete
- calls delete_user on the client
- #policies
- returns a user policy collection
- #mfa_devices
- returns a mfa device collection
- #signing_certificates
- returns a signing certificate collection
- #login_profile
- returns a login profile object
- #access_keys
- returns an access key collection
- #groups
- returns a group collection for the user
- AWS::IAM::VirtualMfaDeviceCollection
- #[]
- returns a virtual mfa device
- returns a virtual mfa device with the correct arn
- returns a virtual mfa device with the correct config
- #create
- should call create_virtual_mfa_device
- should pass additional options to the client
- should return a virtual MFA device
- behaves like a pageable collection with limits
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- behaves like a collection that yields models
- yields devices with populated arns
- #each
- yields the correct number of members
- yields instances of the member class
- yields objects with the correct config
- AWS::IAM::VirtualMfaDevice
- #initialize
- should store the arn
- #serial_number
- returns the device serial number
- is aliased to #arn
- #delete
- should call delete_virtual_mfa_device
- should return nil
- #enable
- should call enable_mfa_device
- should stringify the codes
- should pad numeric codes with leading zeroes
- should use the user name directly if passed as a string
- should return nil
- newly created devices
- returns the seed and qr code png
- existing devices
- #user
- defaults to nil
- returns the user when provided
- #deactivate
- should call deactivate_mfa_device
- should return nil
- #enable_date
- returns nil when not present
- returns the datetime value when present
- returns true from enabled? when present
- returns false from enabled? when missing
- #base_32_string_seed
- returns nil, only accessible on newly created devices
- #qr_code_png
- returns nil, only accessible on newly created devices
- AWS::IAM
- behaves like a class that accepts configuration
- accepts and returns a :config option
- constructor passes options to Configuration#with
- returns the merged config
- #users
- returns a user collection
- returns a collection with the correct config
- #groups
- returns a group collection
- returns a collection with the correct config
- #signing_certificates
- returns a signing certificate collection
- #access_keys
- returns an access key collection
- #server_certificates
- returns a server certificates collection
- #account_aliases
- returns an account alias collection
- #virtual_mfa_devices
- returns a virtual mfa devices collection
- #account_alias
- returns the first account alias
- #account_alias=
- replaces the account alias
- deletes the account alias if received nil
- #remove_account_alias
- calls delete on the current account alias
- #account_summary
- calls get_account_summary
- returns a hash with symbol-ized keys
- #change_password
- calls #change_password on the client
- #update_account_password_policy
- calss #update_account_password_policy on the client
- #delete_account_password_policy
- calls #delete_account_password_policy with no options
- #account_password_policy
- returns the policy as a hash
- returns nil if there is no policy
- AWS::Rails
- Rails Integration
- log_to_rails_logger
- uses Rails.logger for rails 3+
- uses RAILS_DEFUALT_LOGGER for older rails
- add_action_mailer_delivery_method
- adds an :amazon_ses delivery method
- uses an ActiveSupport lazy load hook
- returns nil
- older rails
- defines a method for older versions of rails
- the added method calls send_raw_email
- AWS::Record::Attributes::StringAttr
- behaves like aws record attribute
- #name
- returns the attribute name
- stringifies the name
- #options
- returns the options the object was constructed with
- dups the options internally
- #type_cast
- returns nil as nil
- returns empty string as nil
- #serialize
- raises an exception when serializing nil
- #type_cast
- returns nil as nil
- converts empty string to nil
- can preserve empty string
- returns strings unmodified
- calls #to_s on other objects
- #serialize
- accepts string objects
- raises argument error for non-string objects
- returns strings unmodified
- AWS::Record::Attributes::IntegerAttr
- behaves like aws record attribute
- #name
- returns the attribute name
- stringifies the name
- #options
- returns the options the object was constructed with
- dups the options internally
- #type_cast
- returns nil as nil
- returns empty string as nil
- #serialize
- raises an exception when serializing nil
- #type_cast
- returns nil as nil
- converts empty string to nil
- returns integers unmodified
- deals with negative numbers
- calls #to_i on other objects
- #serialize
- accepts integer objects
- raises argument error for non-integer objects
- returns integers as integers
- returns negative integers as strings
- AWS::Record::Model::Attributes::SortableIntegerAttr
- behaves like aws record attribute
- #name
- returns the attribute name
- stringifies the name
- #options
- returns the options the object was constructed with
- dups the options internally
- #type_cast
- returns nil as nil
- returns empty string as nil
- #serialize
- raises an exception when serializing nil
- #type_cast
- returns nil as nil
- converts empty string to nil
- returns integers unmodified
- deals with negative numbers
- calls #to_i on other objects
- #serialize
- raises an argument error for missing range
- raises argument error for non-integer objects
- raises argument error for integers outside the range
- returns integers as strings
- zero-pads integers for lexicographical sorting
- offsets negative numbers to be positive based on range
- AWS::Record::Attributes::FloatAttr
- behaves like aws record attribute
- #name
- returns the attribute name
- stringifies the name
- #options
- returns the options the object was constructed with
- dups the options internally
- #type_cast
- returns nil as nil
- returns empty string as nil
- #serialize
- raises an exception when serializing nil
- #type_cast
- returns nil as nil
- converts empty string to nil
- returns floats unmodified
- handles negative floats
- calls #to_f on other objects
- #serialize
- accepts float objects
- raises argument error for non-integer objects
- returns floats as floats
- returns negative floats as floats
- AWS::Record::Model::Attributes::SortableFloatAttr
- behaves like aws record attribute
- #name
- returns the attribute name
- stringifies the name
- #options
- returns the options the object was constructed with
- dups the options internally
- #type_cast
- returns nil as nil
- returns empty string as nil
- #serialize
- raises an exception when serializing nil
- #type_cast
- returns nil as nil
- converts empty string to nil
- returns floats unmodified
- handles negative floats
- calls #to_f on other objects
- #serialize
- raises argument error for non-float values
- raises an error if the value is outside the range
- zero-pads floats
- handles arbitrary decimal percision
- ignores trailing float zeros
- zero pads and offsets float values (especially negatives)
- AWS::Record::Attributes::DateAttr
- behaves like aws record attribute
- #name
- returns the attribute name
- stringifies the name
- #options
- returns the options the object was constructed with
- dups the options internally
- #type_cast
- returns nil as nil
- returns empty string as nil
- #serialize
- raises an exception when serializing nil
- #type_cast
- returns nil as nil
- converts empty string to nil
- returns Date objects unmodified
- treats integers as timestamps
- uses Date.parse on the string value of everything else
- #serialize
- accepts Date objects
- raises argument error for non-DateTime objects
- returns dates as strings
- AWS::Record::Attributes::DateTimeAttr
- behaves like aws record attribute
- #name
- returns the attribute name
- stringifies the name
- #options
- returns the options the object was constructed with
- dups the options internally
- #type_cast
- returns nil as nil
- returns empty string as nil
- #serialize
- raises an exception when serializing nil
- #type_cast
- returns nil as nil
- converts empty string to nil
- returns DateTime objects unmodified
- treats integers as timestamps
- uses DateTime.parse on the string value of everything else
- #serialize
- accepts DateTime objects
- raises argument error for non-DateTime objects
- returns datetimes as strings
- AWS::Record::Attributes::BooleanAttr
- behaves like aws record attribute
- #name
- returns the attribute name
- stringifies the name
- #options
- returns the options the object was constructed with
- dups the options internally
- #type_cast
- returns nil as nil
- returns empty string as nil
- #serialize
- raises an exception when serializing nil
- #type_cast
- returns nil as nil
- converts empty string to nil
- returns false unmodified
- returns everything else as true
- #serialize
- accepts true values
- accepts false values
- raises argument error for non-boolean values
- serializes true to the integer 1
- serializes false to the integer 0
- AWS::Record::Model
- create_table
- calls create on the table collection
- accepts an optional :shard_name
- prefixes the shard name with AWS::Record.table_prefix
- dynamo_db_table
- returns a table object
- returns a table object with the correct name
- applies the table prefix to the shard name
- configures the schema
- []
- returns an existing record
- populates the shard
- removes the table prefix
- AWS::Record::HashModel
- it should behave like aws record instance
- #new
- returns a new record
- should not be persisted
- accepts a hash of values to assign
- raises an exception if one of the hash keys is not an attribute
- #id
- defaults to nil for new records
- #attributes
- returns a hash of attribute names and values
- it uses value override methods
- returns a hash that provides indifferent access
- setter methods
- provides access to previous definition via super
- getter methods
- provides access to previous definition via super
- #[]
- is protected
- gets the typecasted value
- accepts symbol keys
- only accepts valid attribute names
- #[]=
- is protected
- accepts string keys
- accepts symbol keys
- only accepts defined attribute names
- #update_attributes
- accepts string keys
- accepts symbol keys
- raises exception for non-existant attributes
- calls save after bulk updating attributes
- #deleted?
- returns false for new objects
- returns true after the object has been deleted
- #delete
- calls delete_storage
- raises an error for non persisted objects
- raises an error when called on already deleted objects
- #save!
- raises an exception when save returns false
- #save
- returns false unless valid
- after save
- has an id
- should be persisted
- AWS::Record::Model
- it should behave like an aws record base class
- it should behave like record class
- is extendable
- it should behave like shardable
- shard_name
- defaults to the name of the class
- set_shard_name
- changes the default shard name for the class
- is aliased to shard_name=
- is aliased to set_domain_name for backwards compatability
- finds an object via the correct shard (PENDING: No reason given)
- constructing a record from a shard
- returns a new object with the correct shard name
- accepts a shard name via klass.new
- accepts a shard name via klass.shard("shard-name").new
- it should behave like optimistic lockable
- optimistic locking
- adds an integer_attribute with the given name
- defaults the attribute name to version_id
- provides a method to indicate if this class optimistically locks
- standard attribute macros
- string_attr
- returns strings unmodified
- calls to_s on everything else
- behaves like attribute macro
- adds a setter method
- adds a getter method
- defaults value to nil
- defaults empty strings to nil
- returns nil values unmodified for value attributes
- before type cast
- adds a getter method for the raw value
- returns the raw value
- with :default_value
- causes the getter to return the default value
- with :set
- defaults to an empty set
- returns nil values as empty sets for set attributes
- defaults empty strings to an empty set
- accepts an returns proper values
- accepts single values but returns it in a set
- works with :default_value
- before type cast
- returns the value unmodified
- integer_attr
- returns integers unmodified
- calls to_i on everything else
- behaves like attribute macro
- adds a setter method
- adds a getter method
- defaults value to nil
- defaults empty strings to nil
- returns nil values unmodified for value attributes
- before type cast
- adds a getter method for the raw value
- returns the raw value
- with :default_value
- causes the getter to return the default value
- with :set
- defaults to an empty set
- returns nil values as empty sets for set attributes
- defaults empty strings to an empty set
- accepts an returns proper values
- accepts single values but returns it in a set
- works with :default_value
- before type cast
- returns the value unmodified
- float_attr
- returns floats unmodified
- calls to_f on everything else
- behaves like attribute macro
- adds a setter method
- adds a getter method
- defaults value to nil
- defaults empty strings to nil
- returns nil values unmodified for value attributes
- before type cast
- adds a getter method for the raw value
- returns the raw value
- with :default_value
- causes the getter to return the default value
- with :set
- defaults to an empty set
- returns nil values as empty sets for set attributes
- defaults empty strings to an empty set
- accepts an returns proper values
- accepts single values but returns it in a set
- works with :default_value
- before type cast
- returns the value unmodified
- boolean_attr
- returns booleans unmodified
- returns nil unmodified
- adds a question mark method
- behaves like attribute macro
- adds a setter method
- adds a getter method
- defaults value to nil
- defaults empty strings to nil
- returns nil values unmodified for value attributes
- before type cast
- adds a getter method for the raw value
- returns the raw value
- with :default_value
- causes the getter to return the default value
- datetime_attr
- returns date time objects unmodified
- treats integers as timestamps
- converts time objects
- converts date objects
- parses the string value of everything else
- behaves like attribute macro
- adds a setter method
- adds a getter method
- defaults value to nil
- defaults empty strings to nil
- returns nil values unmodified for value attributes
- before type cast
- adds a getter method for the raw value
- returns the raw value
- with :default_value
- causes the getter to return the default value
- with :set
- defaults to an empty set
- returns nil values as empty sets for set attributes
- defaults empty strings to an empty set
- accepts an returns proper values
- accepts single values but returns it in a set
- works with :default_value
- before type cast
- returns the value unmodified
- timestamps
- adds 2 datetime_attr values
- AWS::Record::Model
- behaves like aws record
- blanking out attributes on existing records
- marks attributes for deletion during save
- marks attributes for deletion next to regular updates
- follows the update up with a delete to remove deletion markers
- treates attributes marked for deletion as blank
- AWS::Record::Model
- create_domain
- should call create on the domain collection
- accepts an override for the shard name
- sdb_domain
- returns a sdb domain object
- returns a domain with the record class shard name
- returns a domain with a prefixed shard name when configured
- it should behave like record class
- sortable_integer_attr
- requires :range
- requires :range to be an integer range
- returns integers unmodified
- calls to_i on everything else
- raises runtime error when value falls outside range
- behaves like attribute macro
- adds a setter method
- adds a getter method
- defaults value to nil
- defaults empty strings to nil
- returns nil values unmodified for value attributes
- before type cast
- adds a getter method for the raw value
- returns the raw value
- with :default_value
- causes the getter to return the default value
- with :set
- defaults to an empty set
- returns nil values as empty sets for set attributes
- defaults empty strings to an empty set
- accepts an returns proper values
- accepts single values but returns it in a set
- works with :default_value
- before type cast
- returns the value unmodified
- sortable_float_attr
- requires :range
- requires :range to be an integer range
- returns floats unmodified
- calls to_i on everything else
- raises runtime error when value falls outside range
- behaves like attribute macro
- adds a setter method
- adds a getter method
- defaults value to nil
- defaults empty strings to nil
- returns nil values unmodified for value attributes
- before type cast
- adds a getter method for the raw value
- returns the raw value
- with :default_value
- causes the getter to return the default value
- with :set
- defaults to an empty set
- returns nil values as empty sets for set attributes
- defaults empty strings to an empty set
- accepts an returns proper values
- accepts single values but returns it in a set
- works with :default_value
- before type cast
- returns the value unmodified
- []
- returns an existing record
- populates the shard
- removes the domain prefix
- returns an object with the correct id
- returns an object that is already persisted
- raises an exception if the item is not found in sdb
- it blanks out default values during hydration
- returns an object with the correct attributes
- ignores attributes not configured
- all
- returns a scope for all records
- passes options
- find
- :all
- should return a scope object
- should return a scope object with the correct base class
- should pass find options to the scope
- :first
- returns nil when no data is found
- should return an instance of the base class
- should proxy find to the scope
- with options
- :limit
- should pass limit to the item collection
- :where
- should pass string where conditions to the item collection
- should pass hash where conditions to the item collection
- should pass where conditions to the item collection
- :order
- should pass order to the item collection
- should pass order directionality to the item collection
- should accept order as a string
- count
- should call .find and count the result
- should pass options to Scope#count
- first
- should limit the scope to 1 item
- calls .find with options
- AWS::Record::Model
- dirty tracking
- behaves like aws record
- #attribute_changed?
- returns false on a newly created object
- returns false for attributes populated with default values
- returns false if the attribute has been set to the same value
- returns true when the value has been changed
- #attribute_change
- returns nil when the attribute has not been changed
- returns the old and new values for changed attributes
- keeps track of the original old value, not the previous
- returns the typecasted values (as passed through getters)
- #attribute_was
- returns the previous value
- keeps track of the original value (rather than the previous)
- #reset_attribute!
- resets the value clearing changes
- resets the value back to the default value on new objects
- #attribute_will_change!
- is called before inplace editing an attribute to track changes
- #changed?
- returns true if the object has any dirty attributes
- #changed
- returns an arry of dirty attribute names
- #changes
- returns an arry of attribute changes (names => [old, new])
- AWS::Record::Model
- behaves like aws record
- empty records
- new record
- raises an error when trying to create an empty record
- does not consider a record with timestamps empty
- does not consider a record with optimstic locking empty
- existing record
- does not raise an error for unmodified records
- raises an error if all object attributes are blanked out
- raises an error if if not all attributes had to change
- AWS::Record::Model
- #errors
- returns an Errors object
- always returns the same Errors object
- AWS::Record::Errors
- is enumerable
- #add
- adds an error message
- allows you to add mulitple errors to a single attribute
- returns all of the errors messages for this attr
- defaults the message to "is invalid"
- #add_to_base
- add a message
- #on
- returns errors added to an attribute
- provides indifferent access to the errors
- #[]=
- is the same as #add
- #[]
- is the same as #on
- #empty?
- returns true when there are no errors
- returns false when there are errors
- #count
- returns the number of errors
- #full_messages
- returns errors formatted like sentances
- does some simple inflections to capitalize the attribute
- #each
- yields attributes and error messages
- #to_hash
- returns errors hashed by their attribute names
- #clear!
- removes all error messges
- AWS::Record::Model
- behaves like aws record instance
- #new
- returns a new record
- should not be persisted
- accepts a hash of values to assign
- raises an exception if one of the hash keys is not an attribute
- #id
- defaults to nil for new records
- #attributes
- returns a hash of attribute names and values
- it uses value override methods
- returns a hash that provides indifferent access
- setter methods
- provides access to previous definition via super
- getter methods
- provides access to previous definition via super
- #[]
- is protected
- gets the typecasted value
- accepts symbol keys
- only accepts valid attribute names
- #[]=
- is protected
- accepts string keys
- accepts symbol keys
- only accepts defined attribute names
- #update_attributes
- accepts string keys
- accepts symbol keys
- raises exception for non-existant attributes
- calls save after bulk updating attributes
- #deleted?
- returns false for new objects
- returns true after the object has been deleted
- #delete
- calls delete_storage
- raises an error for non persisted objects
- raises an error when called on already deleted objects
- #save!
- raises an exception when save returns false
- #save
- returns false unless valid
- after save
- has an id
- should be persisted
- behaves like aws record
- instance object
- #new
- returns a new record
- should not be persisted
- accepts a hash of values to assign
- raises an exception if one of the hash keys is not an attribute
- accepts a :domain string
- accepts :domain object
- #id
- defaults to nil for new records
- #domain
- defaults to the klass domain
- can be set as a contructor arg
- can be set with a string key
- can be chained with the domain scope
- is read only
- can not be set after construction
- can not be updated
- #attributes=
- accepts string keys
- accepts symbol keys
- raises exception for non-existant attributes
- accepts multiple values
- #attributes
- returns a hash of attribute names and values
- it uses value override methods
- includes the id for saved records
- returns set attributes as sets
- returns a hash that provides indifferent access
- setter methods
- provides access to previous definition via super
- getter methods
- provides access to previous definition via super
- #[]
- is protected
- gets the typecasted value
- accepts symbol keys
- only accepts valid attribute names
- #[]=
- is protected
- accepts string keys
- accepts symbol keys
- only accepts defined attribute names
- #update_attributes
- accepts string keys
- accepts symbol keys
- raises exception for non-existant attributes
- calls save after bulk updating attributes
- #deleted?
- returns false for new objects
- returns true after the object has been deleted
- #delete
- calls delete on the sdb_item for persisted objects
- raises an error for non persisted objects
- raises an error when called on already deleted objects
- #save!
- raises an exception when save returns false
- #save
- returns false unless valid
- new records
- calls add
- passes default values
- does not send empty values
- encodes integers as strings
- encodes datetimes as iso8601 string
- encodes integers as strings
- existing records
- calls set on the attributes that are updated
- should not attempt to delete if nothing was blanked out
- after save
- has an id
- should be persisted
- AWS::Record::Model
- behaves like aws record
- optimistic locking
- new records
- sets optmistic attribute to 1 on create
- ensures the optimstic locking attribute is null on create
- existing records
- incrementes the optmistic attribute on update
- sets expectation about the opt locking attr on update
- sets expectations about the opt locking attr on delete
- missing previous version id
- sets expectation about the opt locking attr to be nil
- sets expectations about the opt locking attr on delete
- AWS::Record::Model::Scope
- #domain
- returns a scope object
- limits subsequent scopes to the specified domain
- #new
- returns a new object of the base class
- passes to new the scope domain
- passes :domain option to new
- accepts a the domain option as a string
- passes hash conditions to new
- passes multiple conditions
- does not pass non-hash conditions
- is aliased to #build
- #find
- :all
- returns a scope object
- accepts a where string
- accepts a where string with ? placeholders
- accepts a where string with symbol placeholders
- accepts a where hash condition
- accepts an :order option without direction
- accepts an :order option with direction
- accepts a :limit option
- :first
- limits the find to 1 record
- returns nil when there are no records found
- should return an instance object instead of an enumerable scope
- by id
- gets the item data via get_attributes instead of select
- can also receive a domain name
- #count
- returns the count from the item collection
- accepts a where string
- accepts a where string with ? placeholders
- accepts a where string with symbol placeholders
- accepts a where hash condition
- accepts a :limit option
- #where
- returns a new scope
- returns a different scope
- accepts string where conditions
- accepts hash where conditions
- accepts a string with question mark placeholders
- accepts a string with symbol placeholders
- can be chained
- raises an argument error if nothing is passed
- #order
- returns a new scope
- returns a different scope
- accepts an attribute name and defaults direction to :asc
- accepts a direction with the attribute name
- clobbers previous orders when chained
- raises an argument error if nothing is passed
- #limit
- returns a new scope
- returns a different scope
- accepts an integer limit
- accepts a string limit
- clobbers previous limits when chained
- raises an argument error if nothing is passed
- named scope
- should define a method on the klass
- the defined method should return a scope object
- the defined method should return a scope object for this class
- the defined method should return a scope object for this class
- #each
- returns an enumerator when no block is given
- should select all attributes from the domain
- should yield once for each item
- should yield instances of the base class
- named scopes
- can use scopes defined in the base class
- can chain named scopes with select
- can chain named scopes with where
- can chain named scopes with order
- can chain named scopes with limit
- can chain named scopes with other named scopes
- defines a scope that can be suffixed by find
- with blocks
- can accept a param
- can accept multiple params
- can call other named scopes
- can chain named scopes with other named scopes
- correctly merges nested scopes
- defines a scope that can be suffixed by find
- AWS::Record::Model
- behaves like aws record
- timestamps
- new record
- auto populates created_at and updated_at
- will not replace manually assigned create / update values
- existing record
- touches updated at, but leaves created at alone
- does not touch manually modified updated_at values
- AWS::Record::Model
- it should behave like an aws record base class
- it should behave like record class
- is extendable
- it should behave like shardable
- shard_name
- defaults to the name of the class
- set_shard_name
- changes the default shard name for the class
- is aliased to shard_name=
- is aliased to set_domain_name for backwards compatability
- finds an object via the correct shard (PENDING: No reason given)
- constructing a record from a shard
- returns a new object with the correct shard name
- accepts a shard name via klass.new
- accepts a shard name via klass.shard("shard-name").new
- it should behave like optimistic lockable
- optimistic locking
- adds an integer_attribute with the given name
- defaults the attribute name to version_id
- provides a method to indicate if this class optimistically locks
- standard attribute macros
- string_attr
- returns strings unmodified
- calls to_s on everything else
- behaves like attribute macro
- adds a setter method
- adds a getter method
- defaults value to nil
- defaults empty strings to nil
- returns nil values unmodified for value attributes
- before type cast
- adds a getter method for the raw value
- returns the raw value
- with :default_value
- causes the getter to return the default value
- with :set
- defaults to an empty set
- returns nil values as empty sets for set attributes
- defaults empty strings to an empty set
- accepts an returns proper values
- accepts single values but returns it in a set
- works with :default_value
- before type cast
- returns the value unmodified
- integer_attr
- returns integers unmodified
- calls to_i on everything else
- behaves like attribute macro
- adds a setter method
- adds a getter method
- defaults value to nil
- defaults empty strings to nil
- returns nil values unmodified for value attributes
- before type cast
- adds a getter method for the raw value
- returns the raw value
- with :default_value
- causes the getter to return the default value
- with :set
- defaults to an empty set
- returns nil values as empty sets for set attributes
- defaults empty strings to an empty set
- accepts an returns proper values
- accepts single values but returns it in a set
- works with :default_value
- before type cast
- returns the value unmodified
- float_attr
- returns floats unmodified
- calls to_f on everything else
- behaves like attribute macro
- adds a setter method
- adds a getter method
- defaults value to nil
- defaults empty strings to nil
- returns nil values unmodified for value attributes
- before type cast
- adds a getter method for the raw value
- returns the raw value
- with :default_value
- causes the getter to return the default value
- with :set
- defaults to an empty set
- returns nil values as empty sets for set attributes
- defaults empty strings to an empty set
- accepts an returns proper values
- accepts single values but returns it in a set
- works with :default_value
- before type cast
- returns the value unmodified
- boolean_attr
- returns booleans unmodified
- returns nil unmodified
- adds a question mark method
- behaves like attribute macro
- adds a setter method
- adds a getter method
- defaults value to nil
- defaults empty strings to nil
- returns nil values unmodified for value attributes
- before type cast
- adds a getter method for the raw value
- returns the raw value
- with :default_value
- causes the getter to return the default value
- datetime_attr
- returns date time objects unmodified
- treats integers as timestamps
- converts time objects
- converts date objects
- parses the string value of everything else
- behaves like attribute macro
- adds a setter method
- adds a getter method
- defaults value to nil
- defaults empty strings to nil
- returns nil values unmodified for value attributes
- before type cast
- adds a getter method for the raw value
- returns the raw value
- with :default_value
- causes the getter to return the default value
- with :set
- defaults to an empty set
- returns nil values as empty sets for set attributes
- defaults empty strings to an empty set
- accepts an returns proper values
- accepts single values but returns it in a set
- works with :default_value
- before type cast
- returns the value unmodified
- timestamps
- adds 2 datetime_attr values
- AWS::Record::Model
- validates_acceptance_of
- behaves like validation
- adds an error when the value is nil
- adds an error when the value is an empty string
- adds an error when the value is an empty set
- defaults the message to "may not be blank"
- :allow_nil
- skips validation when :allow_nil and it has a nil value
- adds an error message when :allow_nil is false and it is invalid
- :if
- validates :if method returns true
- skips validation :if method returns false
- validates :if block returns true
- skips validation :if block returns false
- :unless
- validates when :unless method returns false
- skips validation when :unelss method returns true
- validates when :unless block returns false
- skips validation when :unelss block returns true
- :on
- accepts :save
- rejects values other than :save, :create, :update
- validates on :create for new records
- skips validation on :create for existing records
- skips validation on :update for new records
- validates on :update for existing records
- :message
- overides the default message
- attribute accessors
- adds a setter when one does not exist
- adds a getter when one does not exist
- does not replace attribute setter when one already exists
- does not replace attribute getter when one already exists
- :allow_nil
- defaults to true
- :accept
- specifies an additional value that is valid
- :message
- defaults to "must be accepted"
- AWS::Record::Model
- validates_confirmation_of
- behaves like validation
- has a sensible default message
- plays nicely with an :if attribute changed condition
- validates nil confirmation values if told to
- accepts matching values
- :if
- validates :if method returns true
- skips validation :if method returns false
- validates :if block returns true
- skips validation :if block returns false
- :unless
- validates when :unless method returns false
- skips validation when :unelss method returns true
- validates when :unless block returns false
- skips validation when :unelss block returns true
- :on
- accepts :save
- rejects values other than :save, :create, :update
- validates on :create for new records
- skips validation on :create for existing records
- skips validation on :update for new records
- validates on :update for existing records
- :message
- overides the default message
- accesors
- adds accessors when they dont already exist
- does not replace existing accessors
- AWS::Record::Model
- validates_confirmation_of
- behaves like validation
- :if
- validates :if method returns true
- skips validation :if method returns false
- validates :if block returns true
- skips validation :if block returns false
- :unless
- validates when :unless method returns false
- skips validation when :unelss method returns true
- validates when :unless block returns false
- skips validation when :unelss block returns true
- :on
- accepts :save
- rejects values other than :save, :create, :update
- validates on :create for new records
- skips validation on :create for existing records
- skips validation on :update for new records
- validates on :update for existing records
- :message
- overides the default message
- single-valued attributes
- counts nil as zero
- counts other objects as 1
- options
- gripes when you specify :message
- gripes when no count options are passed
- only accepts ranges for :within
- only accepts integers for :exactly
- only accepts integers for :minimum
- only accepts integers for :maximum
- only accepts ranges for :within
- accepts :exactly with nothing else
- rejects :exactly with other option
- accepts :within with nothing else
- rejects :within with other option
- accepts :minimum with :maximum
- :exactly
- counts singular nil values as zero
- counts singular nil values as zero
- counts strings as 1
- askes for #count from enumerables
- accepts sets of the correct length
- rejects sets of incorrect length
- :within
- accepts values falling within the range
- rejects values falling outside the range
- :minimum
- accepts values falling within the range
- rejects values falling outside the range
- :maximum
- accepts values falling within the range
- rejects values falling outside the range
- :too_few
- defaults to a sensible message
- can be changed
- works with ranges
- :too_many
- defaults to a sensible message
- can be changed
- works with ranges
- :wrong_number
- defaults to a sensible message
- can be changed
- AWS::Record::Model
- validates_exclusion_of
- behaves like validation
- adds an error when the value is not included in the set
- has a sensible default error message
- :allow_nil
- skips validation when :allow_nil and it has a nil value
- adds an error message when :allow_nil is false and it is invalid
- :if
- validates :if method returns true
- skips validation :if method returns false
- validates :if block returns true
- skips validation :if block returns false
- :unless
- validates when :unless method returns false
- skips validation when :unelss method returns true
- validates when :unless block returns false
- skips validation when :unelss block returns true
- :on
- accepts :save
- rejects values other than :save, :create, :update
- validates on :create for new records
- skips validation on :create for existing records
- skips validation on :update for new records
- validates on :update for existing records
- :message
- overides the default message
- ranges
- accepts values not included in the range
- rejects values included in the range
- set attributes
- accepts set attributes no values are included
- rejects set attributes values are included
- rejects set attributes if some values are included
- adds one message per invalid value
- multi-valued attributes
- validates all values
- AWS::Record::Model
- validates_format_of
- behaves like validation
- must receive :with or :without
- :allow_nil
- skips validation when :allow_nil and it has a nil value
- adds an error message when :allow_nil is false and it is invalid
- :if
- validates :if method returns true
- skips validation :if method returns false
- validates :if block returns true
- skips validation :if block returns false
- :unless
- validates when :unless method returns false
- skips validation when :unelss method returns true
- validates when :unless block returns false
- skips validation when :unelss block returns true
- :on
- accepts :save
- rejects values other than :save, :create, :update
- validates on :create for new records
- skips validation on :create for existing records
- skips validation on :update for new records
- validates on :update for existing records
- :message
- overides the default message
- :with
- validates the value as a string against the regex
- accepts values that match
- rejects values that do not match
- adds a senible error message
- :without
- validates the value as a string against the regex
- rejects values that match
- accepts values that do not match
- adds a senible error message
- both options
- accepts values that pass both regexes
- rejects values that fail one
- only adds one error message
- multi-valued attributes
- validates all values
- AWS::Record::Model
- validates_inclusion_of
- behaves like validation
- requires :in option
- requires :in to be a range
- adds an error when the value is nil
- adds an error when the value is not included in the set
- has a sensible default error message
- :allow_nil
- skips validation when :allow_nil and it has a nil value
- adds an error message when :allow_nil is false and it is invalid
- :if
- validates :if method returns true
- skips validation :if method returns false
- validates :if block returns true
- skips validation :if block returns false
- :unless
- validates when :unless method returns false
- skips validation when :unelss method returns true
- validates when :unless block returns false
- skips validation when :unelss block returns true
- :on
- accepts :save
- rejects values other than :save, :create, :update
- validates on :create for new records
- skips validation on :create for existing records
- skips validation on :update for new records
- validates on :update for existing records
- :message
- overides the default message
- ranges
- accepts values included in the range
- rejects values not included in the range
- set attributes
- accepts set attributes if all values are included
- rejects set attributes no values are included
- rejects set attributes if some values are not included
- adds one error message per invalid value
- multi-valued attributes
- validates all values
- AWS::Record::Model
- validates_length_of
- behaves like validation
- calls length on the value if it responds to length
- stringifies values that do not respond to length
- counts nil as zero
- :allow_nil
- skips validation when :allow_nil and it has a nil value
- adds an error message when :allow_nil is false and it is invalid
- :if
- validates :if method returns true
- skips validation :if method returns false
- validates :if block returns true
- skips validation :if block returns false
- :unless
- validates when :unless method returns false
- skips validation when :unelss method returns true
- validates when :unless block returns false
- skips validation when :unelss block returns true
- :on
- accepts :save
- rejects values other than :save, :create, :update
- validates on :create for new records
- skips validation on :create for existing records
- skips validation on :update for new records
- validates on :update for existing records
- :message
- overides the default message
- :exactly
- accepts values whos length matches
- rejects values whos length does not match
- adds an error message when the length does not match
- raises an error when :exactly is not an integer
- :within
- accepts value within the range
- rejects values outside the range
- adds an error message when the length is too short
- adds an error message when the length is too long
- raises an error when :within is not a range
- :minimum
- accepts values longer than the min
- accepts values same length as the min
- rejects values shorter than the min
- adds an error message when the length is too short
- raises an error when :minimum is not an integer
- :maximum
- accepts values shorter than the max
- accepts values same length as the max
- rejects values longer than the max
- adds an error message when the length is too long
- raises an error when :maximum is not an integer
- :too_long
- can change the message
- :too_short
- can change the message
- :wrong_length
- can change the message
- multi-valued attributes
- validates all values
- AWS::Record::Model
- validate
- calls the method name during validation
- accepts a method name as a string
- accepts a list of method names
- :if option
- calls the method when the if condition passes
- skips the method when the if condition fails
- accepts :if procs
- fails :if procs
- :unless option
- calls the method when the unless condition fails
- skips the method when the unless condition passes
- accepts :unless procs
- fails :unless procs
- :on option
- calls the method when the on condition is met
- skips the method when the on condition is not
- AWS::Record::Model
- validates_numericality_of
- behaves like validation
- adds sensible default message
- :allow_nil
- skips validation when :allow_nil and it has a nil value
- adds an error message when :allow_nil is false and it is invalid
- :if
- validates :if method returns true
- skips validation :if method returns false
- validates :if block returns true
- skips validation :if block returns false
- :unless
- validates when :unless method returns false
- skips validation when :unelss method returns true
- validates when :unless block returns false
- skips validation when :unelss block returns true
- :on
- accepts :save
- rejects values other than :save, :create, :update
- validates on :create for new records
- skips validation on :create for existing records
- skips validation on :update for new records
- validates on :update for existing records
- :message
- overides the default message
- float_attr
- accepts valid floats
- accepts valid float strings
- validates the value before type cast
- integer_attr
- accepts valid integers
- accepts integer strings
- validates the value before type cast
- string_attr
- validates the numeric representation of the string
- rejects strings that do not convert cleanly
- :only_integer
- may be set to false
- rejects floats
- adds an appropriate error message
- :equal_to
- may not be used with :greater_than
- may not be used with :greater_than_or_equal_to
- may not be used with :less_than
- may not be used with :less_than_or_equal_to
- accepts values that are equal
- rejects values that are not equal
- adds an appropriate error message
- can accept integers
- can accept floats
- can accepts values based on method return value
- can reject values based on method return value
- uses method return value for error message
- can accept values based on block return value
- can reject values based on block return value
- uses block return value for error message
- :greater_than
- accepts integers
- accepts floats
- accepts symbols
- accepts procs
- accepts values that are greater
- rejects values that are not greater
- adds a sensible error message
- accepts custom error messages
- :greater_than_or_equal_to
- accepts integers
- accepts floats
- accepts symbols
- accepts procs
- accepts values that are equal
- accepts values that are greater
- rejects values that are not greater
- adds a sensible error message
- accepts custom error messages
- :less_than
- accepts integers
- accepts floats
- accepts symbols
- accepts procs
- accepts values that are less
- rejects values that are not less
- adds a sensible error message
- accepts custom error messages
- :less_than_or_equal_to
- accepts integers
- accepts floats
- accepts symbols
- accepts procs
- accepts values that are equal
- accepts values that are less
- rejects values that are not less
- adds a sensible error message
- accepts custom error messages
- :odd
- forces integer only
- accepts odd numbers
- rejects even numbers
- does not accept false
- may not be used with :even
- adds an appropriate error message
- :even
- forces integer only
- accepts even numbers
- rejects odd numbers
- does not accept false
- adds an appropriate error message
- :allow_nil
- skips validation when true and the value is nil
- defaults to false
- multiple errors
- can add multiple error messages
- multi-valued attributes
- works with basic sets
- AWS::Record::Model
- validates_presence_of
- behaves like validation
- adds an error when the value is nil
- adds an error when the value is an empty string
- adds an error when the value is an empty set
- defaults the message to "may not be blank"
- :allow_nil
- skips validation when :allow_nil and it has a nil value
- adds an error message when :allow_nil is false and it is invalid
- :if
- validates :if method returns true
- skips validation :if method returns false
- validates :if block returns true
- skips validation :if block returns false
- :unless
- validates when :unless method returns false
- skips validation when :unelss method returns true
- validates when :unless block returns false
- skips validation when :unelss block returns true
- :on
- accepts :save
- rejects values other than :save, :create, :update
- validates on :create for new records
- skips validation on :create for existing records
- skips validation on :update for new records
- validates on :update for existing records
- :message
- overides the default message
- AWS::Record
- domain prefix
- defaults to nil
- can be altered
- table prefix
- defaults to nil
- can be altered
- AWS::S3::AccessControlList
- empty
- should not be valid
- #to_s
- should return an empty AccessControlPolicy element
- validate!
- should raise an error
- #owner=
- behaves like accepts owner input
- should accept nil
- should accept an Owner
- should not accept a different kind of object
- hash input
- should be accepted
- should not be accepted if invalid
- behaves like with an owner
- #owner
- should return the owner
- #to_s
- should include the Owner XML
- behaves like valid ACL
- should be valid
- validate!
- should not raise an error
- invalid owner
- behaves like invalid ACL
- should not be valid
- validate!
- should raise an error
- hash input
- should construct an Owner from the hash
- #grants=
- behaves like accepts grants input
- should not accept nil
- should accept an empty array
- should accept an array of Grant objects
- should not accept an array of other kinds of objects
- hash input
- should be accepted
- should be not be accepted if invalid
- behaves like with a grant
- #grants
- should return the array of grants
- #to_s
- should include the grant XML
- behaves like valid ACL
- should be valid
- validate!
- should not raise an error
- invalid grant
- behaves like invalid ACL
- should not be valid
- validate!
- should raise an error
- hash input
- should construct a Grant from the hash
- #initialize
- owner option
- behaves like accepts owner input
- should accept nil
- should accept an Owner
- should not accept a different kind of object
- hash input
- should be accepted
- should not be accepted if invalid
- behaves like with an owner
- #owner
- should return the owner
- #to_s
- should include the Owner XML
- behaves like valid ACL
- should be valid
- validate!
- should not raise an error
- invalid owner
- behaves like invalid ACL
- should not be valid
- validate!
- should raise an error
- hash input
- should construct an Owner from the hash
- grants option
- behaves like accepts grants input
- should not accept nil
- should accept an empty array
- should accept an array of Grant objects
- should not accept an array of other kinds of objects
- hash input
- should be accepted
- should be not be accepted if invalid
- behaves like with a grant
- #grants
- should return the array of grants
- #to_s
- should include the grant XML
- behaves like valid ACL
- should be valid
- validate!
- should not raise an error
- invalid grant
- behaves like invalid ACL
- should not be valid
- validate!
- should raise an error
- #grant
- constructs a Grant
- should let you set the grantee
- should add the grant to the list when you set the grantee
- AWS::S3::AccessControlList::Owner
- empty
- #to_s
- should return an empty Owner element
- #validate!
- should raise an error
- with id
- using accessor
- behaves like it has an ID
- #to_s
- should include an ID element
- #validate!
- should not raise an error
- using initializer option
- behaves like it has an ID
- #to_s
- should include an ID element
- #validate!
- should not raise an error
- with a display name
- using accessor
- should escape XML characters
- behaves like it has a display name
- #to_s
- should include a DisplayName element
- #validate!
- should raise an error
- using initializer option
- behaves like it has a display name
- #to_s
- should include a DisplayName element
- #validate!
- should raise an error
- AWS::S3::AccessControlList::Grant
- empty
- #to_s
- should be an empty Grant element
- #validate!
- should raise an error
- with grantee
- using accessor
- should reject a string
- behaves like it has a grantee
- #to_s
- should include the grantee XML
- #validate!
- should raise an error
- with a hash
- should call the Grantee constructor with the hash
- behaves like it has a grantee
- #to_s
- should include the grantee XML
- #validate!
- should raise an error
- using initializer option
- behaves like it has a grantee
- #to_s
- should include the grantee XML
- #validate!
- should raise an error
- with permission
- using accessor
- behaves like it has a permission
- #to_s
- should include the Permission element
- #validate! (with a grantee)
- should not raise an error
- with a symbol
- should call the Permission constructor with the symbol
- behaves like it has a permission
- #to_s
- should include the Permission element
- #validate! (with a grantee)
- should not raise an error
- using initializer option
- behaves like it has a permission
- #to_s
- should include the Permission element
- #validate! (with a grantee)
- should not raise an error
- AWS::S3::AccessControlList::Grantee
- empty
- #to_s
- should contain a Grantee element
- #validate!
- should raise an error
- behaves like has signal attribute
- with amazon_customer_email
- using accessor
- behaves like it has an attribute 'amazon_customer_email'
- #to_s
- should contain a type and an EmailAddress element
- #validate!
- should not raise an error
- using initializer option
- behaves like it has an attribute 'amazon_customer_email'
- #to_s
- should contain a type and an EmailAddress element
- #validate!
- should not raise an error
- behaves like has signal attribute
- with canonical_user_id
- using accessor
- behaves like it has an attribute 'canonical_user_id'
- #to_s
- should contain a type and an EmailAddress element
- #validate!
- should not raise an error
- using initializer option
- behaves like it has an attribute 'canonical_user_id'
- #to_s
- should contain a type and an EmailAddress element
- #validate!
- should not raise an error
- behaves like has signal attribute
- with group_uri
- using accessor
- behaves like it has an attribute 'group_uri'
- #to_s
- should contain a type and an EmailAddress element
- #validate!
- should not raise an error
- using initializer option
- behaves like it has an attribute 'group_uri'
- #to_s
- should contain a type and an EmailAddress element
- #validate!
- should not raise an error
- with display_name
- #to_s
- should contain a DisplayName element
- #validate!
- should not raise an error
- with incompatible signal attribute
- should raise an error
- AWS::S3::AccessControlList::Permission
- #initialize
- should accept a string
- should accept a symbol
- should not accept another kind of object
- #to_s
- should contain a Permission element with the capitalized permission
- #validate!
- should not raise an error
- AWS::S3::BucketCollection
- behaves like an S3 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should have a short inspect method
- #create
- should call create_bucket with the bucket name
- should return an S3 bucket
- should return a bucket with the correct config
- passes additional options to base client
- passes the acl option to #create_bucket as a string
- passes the grant options to #create_bucket
- sets no location constraint by default
- sets the location constraint to EU when using the eu endpoint
- will not override location constraints set explicitly
- guesses the location constraint for other endpoints
- leaves off the location constraint for non-standard endpoint names
- #each
- should call list_buckets
- should yield a bucket object for each item in the response
- should pass the name, owner and config to the bucket constructor
- AWS::S3::BucketLifecycleConfiguration
- #rules
- returns an array of rule objects
- rescues no-lifecycle-errors and returns an empty list of rules
- #add_rule
- returns a rule object
- returns a rule with the correct prefix
- returns a rule with the expiration days
- returns a rule with a auto-generated uuid
- returns a rule with the status enaabled
- can accept a user provided id
- can be disabled
- #remove_rule
- can be used to remove a rule object
- can be used to remove a rule by id
- #update
- persists the current rule set to s3
- can be called in block form
- #replace
- blanks out the existing rules before yielding
- deletes the lifecycle config if there are no rules
- #clear
- deletes the lifecycle configuration
- AWS::S3::Bucket
- behaves like an S3 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should have a short inspect method
- behaves like it has an ACL
- #acl=
- passes along canned acls symbols as strings
- passes along non-xml strings as canned acls
- passes along xml as an AccessControlList as xml
- passes xml strings along as :access_control_policy
- passes along a hash grant
- translates grants
- raises an error if the grant hashes grantees have more than 1 key
- raises an argument error for anything else
- #acl
- should construct a new acl from the response data
- should return the acl in the client response
- should add a #change method
- #change
- should yield the ACL
- should call set_bucket_acl at the end of the block
- #url
- with dns safe name
- should put the bucket name in the host
- with dns compat name but not for requests
- should put the bucket name in the path
- with non-dns safe name
- should put the bucket name in the path
- #lifecycle_configuration
- returns a lifecycle configuration for this bucket
- does not make any requests against the client
- #lifecycle_configuration=
- calls delete when you pass nil
- passes strings along to set_bucket_lifecycle_configuration
- calls #to_xml on non-string objects
- updates the cached lifecycle configuration
- #empty?
- returns true if the bucket has no versions
- returns true if the bucket has no versions
- #delete
- should call delete_bucket on the client with the bucket name
- #clear!
- should delete the bucket objects in batches
- #delete!
- should clear the bucket and then delete the bucket
- #owner
- should call list_buckets on the client
- returned object
- should use the owner id from the response
- should use the display name from the response
- when hydrated
- should not call list_buckets on the client
- should return the hydrated value
- versioning
- #versions
- returns a bucket version collection
- returns collection with the correct bucket
- returns collection with the correct client
- #enable_versioning
- calls set_bucket_versioning with :enabled
- #suspend_versioning
- calls set_bucket_versioning with :suspended
- #versioning_enabled?
- calls get_bucket_versioning with the bucket name
- returns true if bucket versioning is :enabled
- returns false if bucket versioning is :suspended
- returns false if bucket versioning is nil
- provides a #versioned? alias
- #versioning_state
- calls get_bucket_versioning with the bucket name
- returns the status from get_bucket_versioning
- #objects
- should return an object collection
- should return a collection with the correct bucket
- should return a collection with the correct config
- #multipart_uploads
- should return a multipart uploads collection
- should return a collection with the correct bucket
- should return a collection with the correct config
- #inspect
- should contain the bucket name
- #eql?
- should identify the same bucket correctly
- should identify buckets with the same name correctly
- should identify differnt buckets correctly
- #exists?
- should return true we can get bucket versioning for it
- should return false if bucket versioning returns a 404
- should not trap other errors
- #as_tree
- should call as_tree on the object collection
- should pass additional options to ObjectCollection#as_tree
- #policy=
- should call set_bucket_policy on the client
- #policy
- should call get_bucket_policy on the client
- should return the policy
- should add a #change method
- should return nil when there is no policy
- should add a #delete method
- #change
- should yield the policy object
- should set the policy after the block is done
- #delete
- should call delete_bucket_policy on the client
- #location_constraint
- returns the location_constraint
- #presigned_post
- returns a PresignedPost object
- should pass additional options
- AWS::S3::BucketVersionCollection
- it should behave like an S3 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should have a short inspect method
- it should behave like an S3 tree-like collection
- behaves like an S3 prefixed collection
- #prefix
- defaults to nil
- can be passed to initialize
- #with_prefix
- gripes about other modes
- should be chainable
- should be chainable without altering parent collection
- should pass the config
- #each
- should pass the prefix when there is one
- #as_tree
- should return a Tree object
- should pass any additional options
- should pass the collection prefix by default
- should allow the prefix to be overridden
- #each
- should pass the delimiter if provided
- common prefixes
- should yield a new collection for each prefix
- should pass the config
- behaves like an S3 paginated collection
- #each
- should call the list method
- should pass a default batch size
- should request the next page for a truncated response
- limits
- should limit by the batch size if it is smaller than the limit
- should limit by the provided limit if it is smaller than the batch size
- it should behave like enumerable
- should not read the client
- #intialize
- requires bucket
- #[]
- does not respond to #[]
- #each
- calls #list_object_versions on the client
- calls list_object_versions while the list is truncated
- yields once for each version
- yields object versions
- correctly populates delete marker states
- #with_prefix
- calls #list_object_versions with a prefix
- replaces prefixes by default
- can replace prefixes
- can append prefixes
- can prepend prefixes
- #latest
- should return the first object
- #<AWS::Core::XML::Grammar:0x71d39e747aa0>
- one bucket
- should expose owner ID and display name
- should expose a list of buckets
- should expose the bucket name and creation date
- two buckets
- should expose a list of buckets
- should expose the correct names and creation dates
- no buckets
- should expose an empty list of buckets
- #<AWS::Core::XML::Grammar:0x71d39e7461c8>
- one grant
- should add an acl attribute
- #<AWS::Core::XML::Grammar:0x71d39e742b18>
- one contents
- should expose Name as bucket_name
- should expose Prefix as prefix
- should expose Marker as marker
- should expose MaxKeys as a numeric max_keys
- should always respond to delimiter
- should expose IsTruncated as boolean truncated?
- should expose Contents as an array
- should have 2 contents entries
- should expose Contents\Key as .key
- should expose Contents\LastModified as Time .last_modified
- should expose Contents\ETag as etag
- should expose Contents\Owner\ID as .owner.id
- should expose Contents\Owner\DisplayName as .owner.id
- it should behave like s3 xml returns common prefixes
- common prefixes
- should always respond to common prefixes as an array
- groups common prefixes into an array
- flatttens CommonPrefix.Prefix to #common_prefixes
- #<AWS::Core::XML::Grammar:0x71d39e739b08>
- reports enabled as a symbol
- reports suspended as a symbol
- reports never enabled/suspended as :unversioned
- #<AWS::Core::XML::Grammar:0x71d39e7397c0>
- should always have an NextKeyMarker method
- should always have an NextVersionIdMarker method
- should make MaxKeys an integer
- should make IsTruncated a boolean truncated?
- should combine versions and delete markers
- Delete markers
- should respond to #delete_marker? with true
- should respond to #version? with false
- should respond to #latest? with a boolean
- should respond to #last_modified? with a date time
- should not respond to #etag
- should not respond to #size
- should not respond to #storage_class
- Versions
- should respond to #delete_marker? with false
- should respond to #version? with true
- should respond to #latest? with a boolean
- should respond to #last_modified? with a date time
- should symbolze the storage class STANDARD to :standard
- should respond to #size with an integer
- should respond to #etag with a quoted string
- it should behave like s3 xml returns common prefixes
- common prefixes
- should always respond to common prefixes as an array
- groups common prefixes into an array
- flatttens CommonPrefix.Prefix to #common_prefixes
- #<AWS::Core::XML::Grammar:0x71d39e726a80>
- should respond to upload_id
- should respond to bucket
- should respond to key
- #<AWS::Core::XML::Grammar:0x71d39e724e60>
- should expose a truncated? method
- should return a number for max_uploads
- should expose an uploads list
- should force the next_*_marker methods
- uploads
- should expose storage_class as a symbol
- should expose initiated as a DateTime
- it should behave like s3 xml returns common prefixes
- common prefixes
- should always respond to common prefixes as an array
- groups common prefixes into an array
- flatttens CommonPrefix.Prefix to #common_prefixes
- #<AWS::Core::XML::Grammar:0x71d39e716068>
- should expose storage_class as a symbol
- should expose truncated? as a boolean
- should expose part_number_marker as an integer
- should expose next_part_number_marker as an integer
- should expose max_parts as an integer
- should expose parts as an array
- parts
- should expose part_number as an integer
- should expose last_modified as a DateTime
- should expose size as an integer
- AWS::S3::Client
- should be accessible from the configuration
- it should behave like an aws client
- #initialize
- accepts a config
- #with_options
- should return a new client
- should modify the config on the new client
- should not modify the config on the old client
- #with_http_handler
- should yield request and response objects when a request is made
- should be able to call super to access previous definition
- should set the http_response member to the same instance that was passed to the block
- should set the http_request member to the same instance that was passed to the block
- should pass along exceptions raised from the block
- #create_bucket
- is aliased as create_bucket
- raises argument error for invalid bucket names
- adds location constraints to request body
- accepts :acl as a symbol converting it to a string with dashes
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like accepts simplified ACL header options
- accpets :grant_read
- accpets :grant_write
- accpets :grant_read_acp
- accpets :grant_write_acp
- accpets :grant_write_acp
- accpets :grant_write_acp
- #list_buckets
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- #delete_bucket
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- #set_bucket_policy
- should raise an argument error for a missing policy
- should raise an argument error for invalid JSON
- should raise an argument error for an object whose to_json method returns invalid JSON
- should send the policy in the request body
- should convert the policy to JSON before sending it
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like a subresource request
- should use the subresource
- #get_bucket_versioning
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like a subresource request
- should use the subresource
- #get_bucket_location
- returns nil for missing location constraint
- returns strings for buckets with location constraints
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like a subresource request
- should use the subresource
- #set_bucket_versioning
- should accept enabled and suspended as strings and symbols
- should not accept other states
- should make a request with a versioning configuration
- should make a request with the proper xml namespace
- should make a request with the proper state
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like a subresource request
- should use the subresource
- #get_bucket_policy
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like a subresource request
- should use the subresource
- it should behave like parses response
- should parse the response body
- asynchronous
- should parse the response body on completion
- #list_object_versions
- should add :delimiter as a "delimiter"
- should add :key_marker as a "key-marker"
- should add :max_keys as a "max-keys"
- should add :prefix as a "prefix"
- should add :version_id_marker as a "version-id-marker"
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like a subresource request
- should use the subresource
- #delete_bucket_policy
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like a subresource request
- should use the subresource
- #set_bucket_acl
- is aliased as put_bucket_acl
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like a subresource request
- should use the subresource
- it should behave like accepts an ACL
- moves the :acl option to the body if it is xml
- should raise an argument error for a missing acl
- should send the acl in the request body
- ACL as object with to_xml
- should send the result of to_xml on the acl
- it should behave like accepts simplified ACL header options
- accpets :grant_read
- accpets :grant_write
- accpets :grant_read_acp
- accpets :grant_write_acp
- accpets :grant_write_acp
- accpets :grant_write_acp
- #get_bucket_acl
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like a subresource request
- should use the subresource
- #set_object_acl
- is aliased as put_object_acl
- should accept a canned ACL as a symbol
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like requires key
- should raise an argument error for a missing key
- should include the key in the path
- should not strip leading slashes from keys
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like a subresource request
- should use the subresource
- it should behave like accepts an ACL
- moves the :acl option to the body if it is xml
- should raise an argument error for a missing acl
- should send the acl in the request body
- ACL as object with to_xml
- should send the result of to_xml on the acl
- it should behave like accepts simplified ACL header options
- accpets :grant_read
- accpets :grant_write
- accpets :grant_read_acp
- accpets :grant_write_acp
- accpets :grant_write_acp
- accpets :grant_write_acp
- #get_object_acl
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like requires key
- should raise an argument error for a missing key
- should include the key in the path
- should not strip leading slashes from keys
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like a subresource request
- should use the subresource
- #put_object
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like accepts simplified ACL header options
- accpets :grant_read
- accpets :grant_write
- accpets :grant_read_acp
- accpets :grant_write_acp
- accpets :grant_write_acp
- accpets :grant_write_acp
- it should behave like requires key
- should raise an argument error for a missing key
- should include the key in the path
- should not strip leading slashes from keys
- it should behave like returns version id
- defaults version ids to nil
- populates the version when present
- it should behave like returns etag
- should return the etag as a string
- it should behave like returns server_side_encryption
- should return the server_side_encryption method as a symbol
- it should behave like returns last_modified
- should return the last_modified time as a Time object
- it should behave like sends metadata headers
- converts canned acl symbols to strings
- converts storage class symbols to strings
- converts server side encryption symbols to strings
- it should behave like sends option as header
- sends :cache_control as Cache-Control
- does not send a Cache-Control header when :cache_control is not provided
- it should behave like sends option as header
- sends :content_disposition as Content-Disposition
- does not send a Content-Disposition header when :content_disposition is not provided
- it should behave like sends option as header
- sends :content_encoding as Content-Encoding
- does not send a Content-Encoding header when :content_encoding is not provided
- it should behave like sends option as header
- sends :content_type as Content-Type
- does not send a Content-Type header when :content_type is not provided
- it should behave like sends option as header
- sends :expires as Expires
- does not send a Expires header when :expires is not provided
- it should behave like sends option as header
- sends :acl as x-amz-acl
- does not send a x-amz-acl header when :acl is not provided
- it should behave like sends option as header
- sends :storage_class as x-amz-storage-class
- does not send a x-amz-storage-class header when :storage_class is not provided
- it should behave like sends option as header
- sends :server_side_encryption as x-amz-server-side-encryption
- does not send a x-amz-server-side-encryption header when :server_side_encryption is not provided
- custom metadata
- should prefix metadata with x-amz-meta- in the headers
- it should behave like accepts input data
- data
- is required
- is accepted from blocks with 1 argument
- is rejected from blocks with no args
- is rejected from blocks with more than 1 arg
- is accepted as a string
- accepts a pathname
- is accepted as a tempfile
- is accepted as a file
- is accepted as an io object
- is accepted from any obj responding to #read(length) and #eof?
- may not be passed as :data and as a block
- blocks
- yields a buffer to write to
- collects data written to the buffer for the body
- strings
- get passed through to the request body
- is forced to binary encoding if it responds to #force_encoding
- file names
- no encoding support
- get passed as the opened file
- works the same for Pathname objects
- encoding support
- get passed as the opened file
- works the same for Pathname objects
- content length
- gets calculated on strings
- gets calculated on pathnames
- gets calculated on files
- gets calculated on objects that responds to #length
- gets calculated on objects that responds to #size
- gets calculated on objects that respond to #bytesize
- is accepted as an option
- is required for io-like objects without size
- is required for block form
- it should behave like sends option as header
- sends :content_md5 as Content-MD5
- does not send a Content-MD5 header when :content_md5 is not provided
- #copy_object
- requires :copy_source
- sends :copy_source url-encoded as the x-amz-copy-source header
- only escapes path elements in :copy_source
- it should behave like accepts simplified ACL header options
- accpets :grant_read
- accpets :grant_write
- accpets :grant_read_acp
- accpets :grant_write_acp
- accpets :grant_write_acp
- accpets :grant_write_acp
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like requires key
- should raise an argument error for a missing key
- should include the key in the path
- should not strip leading slashes from keys
- it should behave like returns version id
- defaults version ids to nil
- populates the version when present
- it should behave like returns etag
- should return the etag as a string
- it should behave like returns last_modified
- should return the last_modified time as a Time object
- it should behave like returns server_side_encryption
- should return the server_side_encryption method as a symbol
- it should behave like sends metadata headers
- converts canned acl symbols to strings
- converts storage class symbols to strings
- converts server side encryption symbols to strings
- it should behave like sends option as header
- sends :acl as x-amz-acl
- does not send a x-amz-acl header when :acl is not provided
- it should behave like sends option as header
- sends :storage_class as x-amz-storage-class
- does not send a x-amz-storage-class header when :storage_class is not provided
- it should behave like sends option as header
- sends :server_side_encryption as x-amz-server-side-encryption
- does not send a x-amz-server-side-encryption header when :server_side_encryption is not provided
- custom metadata
- should prefix metadata with x-amz-meta- in the headers
- it should behave like sends option as header
- sends :content_type as Content-Type
- does not send a Content-Type header when :content_type is not provided
- #get_object
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like accepts version id
- adds no param wheren version_id is nil
- adds a params when version_id is passed
- it should behave like returns version id
- defaults version ids to nil
- populates the version when present
- it should behave like returns server_side_encryption
- should return the server_side_encryption method as a symbol
- it should behave like sends option as header
- sends :range as Range
- does not send a Range header when :range is not provided
- it should behave like sends option as header
- sends :if_modified_since as If-Modified-Since
- does not send a If-Modified-Since header when :if_modified_since is not provided
- it should behave like sends option as header
- sends :if_unmodified_since as If-Unmodified-Since
- does not send a If-Unmodified-Since header when :if_unmodified_since is not provided
- it should behave like sends option as header
- sends :if_match as If-Match
- does not send a If-Match header when :if_match is not provided
- it should behave like sends option as header
- sends :if_none_match as If-None-Match
- does not send a If-None-Match header when :if_none_match is not provided
- it should behave like formats date header
- formats Time values
- formats DateTime values
- it should behave like formats date header
- formats Time values
- formats DateTime values
- response
- should return the response body from the data method
- should read the response body on success
- #head_object
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like accepts version id
- adds no param wheren version_id is nil
- adds a params when version_id is passed
- it should behave like returns version id
- defaults version ids to nil
- populates the version when present
- it should behave like returns etag
- should return the etag as a string
- it should behave like returns last_modified
- should return the last_modified time as a Time object
- it should behave like returns server_side_encryption
- should return the server_side_encryption method as a symbol
- response
- should return x-amz-meta- header elements in a hash
- should read the headers on success
- should return the content-type as a string
- should return the content length header as an integer
- defaults expiration date and rule id to nil
- parses x-amz-expiration headers
- #delete_object
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like requires key
- should raise an argument error for a missing key
- should include the key in the path
- should not strip leading slashes from keys
- it should behave like returns version id
- defaults version ids to nil
- populates the version when present
- it should behave like accepts version id
- adds no param wheren version_id is nil
- adds a params when version_id is passed
- #delete_objects
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- #list_objects
- should add :delimiter as a "delimiter"
- should add :key_marker as a "key-marker"
- should add :max_keys as a "max-keys"
- should add :prefix as a "prefix"
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- #initiate_multipart_upload
- it should behave like accepts simplified ACL header options
- accpets :grant_read
- accpets :grant_write
- accpets :grant_read_acp
- accpets :grant_write_acp
- accpets :grant_write_acp
- accpets :grant_write_acp
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like requires key
- should raise an argument error for a missing key
- should include the key in the path
- should not strip leading slashes from keys
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like a subresource request
- should use the subresource
- it should behave like sends metadata headers
- converts canned acl symbols to strings
- converts storage class symbols to strings
- converts server side encryption symbols to strings
- it should behave like sends option as header
- sends :cache_control as Cache-Control
- does not send a Cache-Control header when :cache_control is not provided
- it should behave like sends option as header
- sends :content_disposition as Content-Disposition
- does not send a Content-Disposition header when :content_disposition is not provided
- it should behave like sends option as header
- sends :content_encoding as Content-Encoding
- does not send a Content-Encoding header when :content_encoding is not provided
- it should behave like sends option as header
- sends :content_type as Content-Type
- does not send a Content-Type header when :content_type is not provided
- it should behave like sends option as header
- sends :expires as Expires
- does not send a Expires header when :expires is not provided
- it should behave like sends option as header
- sends :acl as x-amz-acl
- does not send a x-amz-acl header when :acl is not provided
- it should behave like sends option as header
- sends :storage_class as x-amz-storage-class
- does not send a x-amz-storage-class header when :storage_class is not provided
- it should behave like sends option as header
- sends :server_side_encryption as x-amz-server-side-encryption
- does not send a x-amz-server-side-encryption header when :server_side_encryption is not provided
- custom metadata
- should prefix metadata with x-amz-meta- in the headers
- it should behave like returns server_side_encryption
- should return the server_side_encryption method as a symbol
- #list_multipart_uploads
- should add :delimiter as a "delimiter"
- should add :key_marker as a "key-marker"
- should add :max_keys as a "max-keys"
- should add :upload_id_marker as a "upload-id-marker"
- should add :max_uploads as a "max-uploads"
- should add :prefix as a "prefix"
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like a subresource request
- should use the subresource
- #upload_part
- requires part_number
- sends :part_number as partNumber
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like requires key
- should raise an argument error for a missing key
- should include the key in the path
- should not strip leading slashes from keys
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like accepts input data
- data
- is required
- is accepted from blocks with 1 argument
- is rejected from blocks with no args
- is rejected from blocks with more than 1 arg
- is accepted as a string
- accepts a pathname
- is accepted as a tempfile
- is accepted as a file
- is accepted as an io object
- is accepted from any obj responding to #read(length) and #eof?
- may not be passed as :data and as a block
- blocks
- yields a buffer to write to
- collects data written to the buffer for the body
- strings
- get passed through to the request body
- is forced to binary encoding if it responds to #force_encoding
- file names
- no encoding support
- get passed as the opened file
- works the same for Pathname objects
- encoding support
- get passed as the opened file
- works the same for Pathname objects
- content length
- gets calculated on strings
- gets calculated on pathnames
- gets calculated on files
- gets calculated on objects that responds to #length
- gets calculated on objects that responds to #size
- gets calculated on objects that respond to #bytesize
- is accepted as an option
- is required for io-like objects without size
- is required for block form
- it should behave like sends option as header
- sends :content_md5 as Content-MD5
- does not send a Content-MD5 header when :content_md5 is not provided
- it should behave like accepts upload_id
- requires upload_id
- sends :upload_id as uploadId
- it should behave like returns etag
- should return the etag as a string
- it should behave like returns last_modified
- should return the last_modified time as a Time object
- it should behave like returns server_side_encryption
- should return the server_side_encryption method as a symbol
- #complete_multipart_upload
- requires parts
- requires at least one part
- sends :parts as an XML request body
- converts the part number to an integer
- escapes XML characters in the etag
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like requires key
- should raise an argument error for a missing key
- should include the key in the path
- should not strip leading slashes from keys
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like accepts upload_id
- requires upload_id
- sends :upload_id as uploadId
- it should behave like returns version id
- defaults version ids to nil
- populates the version when present
- it should behave like returns server_side_encryption
- should return the server_side_encryption method as a symbol
- errors in the response body
- should retry
- should raise a modeled exception
- each part
- must be a hash
- requires a part number
- requires an etag
- each part number
- must be greater than 0
- #abort_multipart_upload
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like requires key
- should raise an argument error for a missing key
- should include the key in the path
- should not strip leading slashes from keys
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like accepts upload_id
- requires upload_id
- sends :upload_id as uploadId
- #list_parts
- sends :max_parts as max-parts
- sends :part_number_marker as part-number-marker
- it should behave like requires bucket_name
- raises argument error for blank bucket name
- raises argument error missing bucket name
- uses the hostname s3.amazonaws.com
- puts dns incompatible bucket name in the uri
- puts dns compat bucket name in the host
- it should behave like requires key
- should raise an argument error for a missing key
- should include the key in the path
- should not strip leading slashes from keys
- it should behave like an s3 http request
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NotModified
- should raise an instance of AWS::Errors::ClientError
- it should behave like an s3 error response with no body
- should raise an instance of AWS::S3::Errors::NoSuchKey
- should raise an instance of AWS::Errors::ClientError
- it should behave like accepts upload_id
- requires upload_id
- sends :upload_id as uploadId
- #valid_bucket_name?
- only accepts a-z 0-9 . _ - characters
- should return true for valid names
- should return false for invalid names
- accepts letters and
- should accept lowercasename
- should reject MixedCaseName
- accepts numbers and
- should accept 123456
- accepts names between 3 and 255 characters and
- should accept abc
- should reject ab
- should accept a 255 char long name
- should reject a 256 char long name
- accepts dots after the first character and
- should accept sample.name
- should accept sample.
- should reject .sample
- accepts underscores after first character and
- should accept sample_name
- should accept sample_
- should reject _sample
- accepts dashes after first character and
- should accept sample-name
- should accept sample-
- should reject -sample
- rejects names that look like ip addresses and
- should accept 1.a.3.4
- should reject 1.2.3.4
- #dns_compatible_bucket_name?
- should reject names that are not valid bucket names
- should accept a 63 char long name
- should reject a 64 char long name
- should reject names with _
- should reject names ending with -
- should reject names containing ..
- should reject names containing .-
- should reject names containing -.
- should return true for various compatible names
- should return false for various incompatible names
- AWS::S3::Errors::NoSuchBucket
- it should behave like modeled s3 exception
- should parse the exception XML
- should be a kind of AWS::Errors::ClientError
- AWS::S3::Errors::InternalError
- it should behave like modeled s3 exception
- should parse the exception XML
- should be a kind of AWS::Errors::ServerError
- AWS::S3::Errors::NotImplemented
- it should behave like modeled s3 exception
- should parse the exception XML
- should be a kind of AWS::Errors::ServerError
- AWS::S3::Errors::SlowDown
- it should behave like modeled s3 exception
- should parse the exception XML
- should be a kind of AWS::Errors::ServerError
- AWS::S3::MultipartUploadCollection
- behaves like an S3 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should have a short inspect method
- behaves like enumerable
- should not read the client
- behaves like an S3 tree-like collection
- behaves like an S3 prefixed collection
- #prefix
- defaults to nil
- can be passed to initialize
- #with_prefix
- gripes about other modes
- should be chainable
- should be chainable without altering parent collection
- should pass the config
- #each
- should pass the prefix when there is one
- #as_tree
- should return a Tree object
- should pass any additional options
- should pass the collection prefix by default
- should allow the prefix to be overridden
- #each
- should pass the delimiter if provided
- common prefixes
- should yield a new collection for each prefix
- should pass the config
- behaves like an S3 paginated collection
- #each
- should call the list method
- should pass a default batch size
- should request the next page for a truncated response
- limits
- should limit by the batch size if it is smaller than the limit
- should limit by the provided limit if it is smaller than the batch size
- #initialize
- should store the bucket
- #each
- should yield an upload object for each result
- should pass the object
- AWS::S3::MultipartUpload
- #initialize
- should store the upload id
- should store the object
- #bucket
- returns the object bucket
- #inspect
- should include the object key and upload id
- #==
- same class
- should return true if the object and ID match
- should return false if the object does not match
- should return false if the ID does not match
- different class
- should return false
- #exists?
- should call list_parts
- should return false if NoSuchUpload is raised
- should not rescue other client errors
- should return true if nothing is raised
- #initiator
- should call list_parts
- should return the response object for the initiator
- #owner
- should call list_parts
- should return the response object for the owner
- #storage_class
- should call list_parts
- should return the symbol-ized storage class
- #reduced_redundancy?
- should return true when the storage class is :reduced_redundancy
- should return false when the storage class is something else
- #abort
- should call abort_multipart_upload
- should set aborted?
- #add_part
- should call upload_part
- should call upload_part with monotonically increasing part numbers
- should use the part number specified in the options
- should accept a file using a hash argument
- should use the part number specified in the options for a file path upload
- should return a part object with the correct part number
- #parts
- should construct an UploadedPartCollection
- #completed_parts
- should return the parts sorted by part number
- should remove duplicate part uploads
- #close
- no parts uploaded
- should abort the upload
- parts uploaded
- should complete the upload
- should not complete or abort an aborted upload
- #complete
- local parts list
- should complete the upload using the completed parts
- no parts uploaded
- should raise an error
- remote parts list
- should call list_parts
- should call complete_multipart_upload
- no parts uploaded
- should raise an error
- list of part numbers
- should call list_parts
- should complete with only the specified parts
- should put the part numbers in ascending order
- should accept an array of part numbers
- should accept part objects from the same upload
- should raise an error for parts from a different upload
- should raise an error for non-number, non-part arguments
- AWS::S3::ObjectCollection
- behaves like an S3 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should have a short inspect method
- behaves like an S3 tree-like collection
- behaves like an S3 prefixed collection
- #prefix
- defaults to nil
- can be passed to initialize
- #with_prefix
- gripes about other modes
- should be chainable
- should be chainable without altering parent collection
- should pass the config
- #each
- should pass the prefix when there is one
- #as_tree
- should return a Tree object
- should pass any additional options
- should pass the collection prefix by default
- should allow the prefix to be overridden
- #each
- should pass the delimiter if provided
- common prefixes
- should yield a new collection for each prefix
- should pass the config
- behaves like an S3 paginated collection
- #each
- should call the list method
- should pass a default batch size
- should request the next page for a truncated response
- limits
- should limit by the batch size if it is smaller than the limit
- should limit by the provided limit if it is smaller than the batch size
- #create
- creates a new s3 object and writes to it
- creates a new s3 object and writes to it
- #each
- raises a runtime error if the response says its but there are no keys
- should call list_objects with the bucket name
- should yield one object for each listed contents
- should yield an s3 object for each item in the response list
- should yield an s3 object with the correct keys
- should request the next page if the result is trucated
- #with_prefix
- should pass #prefix to client#list_objects
- #delete
- calls delete_objects on the client
- accepts mixed keys (strings, hashes, objects and versions)
- can delete a batch of 1k objects in a single call
- deletes > 1k objects in multiple calls
- #delete_if
- enumerates the collection and deletes objects that return true
- #delete_all
- calls #delete on each batch of the collection
- AWS::S3::ObjectMetadata
- behaves like an S3 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should have a short inspect method
- #[]
- with a string
- should call head_object on the client
- should return the value from the metadata hash
- should return nil if there is no metadata entry
- with a symbol
- should call head_object on the client
- should return the value from the metadata hash
- should return nil if there is no metadata entry
- #[]=
- should call copy_object with the full, modified metadata and key
- should work with symbol keys
- should return the value that was set
- should raise an error if the version ID is set
- #method_missing
- should call head_object on the client
- should return the value from the metadata hash
- should return nil if there is no metadata entry
- should not apply to method calls with arguments
- should not apply to method calls with blocks
- #to_h
- returns the metadata hash from the response
- AWS::S3::ObjectUploadCollection
- behaves like an S3 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should have a short inspect method
- behaves like enumerable
- should not read the client
- behaves like an S3 paginated collection
- #each
- should call the list method
- should pass a default batch size
- should request the next page for a truncated response
- limits
- should limit by the batch size if it is smaller than the limit
- should limit by the provided limit if it is smaller than the batch size
- #initialize
- should store the object
- #create
- should initiate a multipart upload
- should pass additional options to the initiate call
- should interpret :reduced_redundancy
- should return the upload object
- should pass the S3Object to the upload object
- should pass the config
- #each
- returns nil
- should yield upload objects
- should only yield uploads with the same key as the object
- should pass the object
- should use the object key as a prefix
- #[]
- should return an upload object
- should pass the object
- should pass the config
- should pass the upload id
- AWS::S3::ObjectVersionCollection
- it should behave like an S3 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should have a short inspect method
- it should behave like enumerable
- should not read the client
- #intialize
- requires object
- #[]
- it returns a versioned object
- returns an object with the correct version id
- returns an object with the correct s3 object
- #latest
- should return the first object with the correct key
- #each
- calls bucket versions to get a list of versions
- rejects versions that dont have the same key
- AWS::S3::ObjectVersion
- behaves like an S3 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should have a short inspect method
- behaves like a resource object
- #inspect
- should include the ID
- it should behave like resource equality method
- #==
- same class
- should return true if everything matches
- should return false if any identifying information does not match
- different class
- should return false
- it should behave like resource equality method
- #eql?
- same class
- should return true if everything matches
- should return false if any identifying information does not match
- different class
- should return false
- #initialize
- accepts an object and a version_id
- #url_for
- calls #url_for on the object with a version id
- #object
- returns the s3 object
- #bucket
- returns the object bucket
- #version_id
- returns the version id
- #latest
- uses object.versions.latest to determine if latest
- returns true if object.versions.latest is self
- uses object.versions.latest to determine if latest
- #delete_marker
- returns true if set as such
- returns false if set as such
- does not make a request if passed to #initialize
- does makes a request if not passed to #initialize
- returns true if head_object raises a 405 client error
- returns false if head_object does not raise an error
- #key
- should return the same value as object#key
- #metadata
- should call metadata on the object with a version id
- #delete
- should call delete on the object with a version id
- #read
- should call read on the object with a version id
- AWS::S3::Policy::Statement
- it should behave like generic policy statement
- #initialize
- should yield the statement object
- should work without a block
- should not output both Action and NotAction
- it should behave like singular constructor arg
- should accept Effect
- should accept :effect
- should output the :effect constructor arg
- should not have a effect value when it is explicitly nil
- it should behave like singular constructor arg
- should accept Sid
- should accept :sid
- should output the :sid constructor arg
- should not have a sid value when it is explicitly nil
- it should behave like array constructor arg
- should accept actions (single)
- should accept Action (single)
- should accept actions (multiple)
- should accept Action (multiple)
- it should behave like array constructor arg
- should accept excluded_actions (single)
- should accept NotAction (single)
- should accept excluded_actions (multiple)
- should accept NotAction (multiple)
- it should behave like array constructor arg
- should accept principals (single)
- should accept Principal (single)
- should accept principals (multiple)
- should accept Principal (multiple)
- it should behave like array constructor arg
- should accept resources (single)
- should accept Resource (single)
- should accept resources (multiple)
- should accept Resource (multiple)
- Principal hash option
- should accept a hash
- should accept a single AWS principal
- should accept multiple AWS principals
- Condition hash option
- should construct a ConditionBlock
- empty
- #to_h
- should have an Sid generated from a UUID
- should not have a principal
- should not have a condition block
- with an effect
- should generate an Effect
- with AWS account principals
- should generate a multi-valued Principal
- with any AWS account principal
- should generate a wildcard Principal
- with a prefixed string action
- should generate an Action
- with any action
- should generate a wildcard Action
- with multiple actions
- should generate a multi-valued Action
- excluded actions
- should generate a multi-valued NotAction
- #include_actions
- should generate a multi-valued Action
- should add to existing actions
- #exclude_actions
- should generate a multi-valued NotAction
- should add to existing actions
- with a resource ARN
- should generate a Resource key
- with :any as the resource
- should generate a wildcard for the Resource
- with a condition block
- should generate a Condition key
- #conditions
- should be a ConditionBlock by default
- it should behave like service specific policy statement
- symbolized action names
- raises error for unknown actions
- translates action names
- translates excluded actions
- resource arns
- prefixes bucket names
- prefixes buckets with key paths
- prefixes bucket objects
- prefixes s3 objects
- prefixes s3 object collections
- AWS::S3::PresignedPost
- behaves like an S3 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should have a short inspect method
- #initialize
- should store the bucket
- should store :secure
- should store :metadata
- should store :expires
- should store the content length range
- should convert an integer to a range
- should store ignored fields
- should coerce ignored fields to an array
- :server_side_encryption option
- should use the configured value by default
- should allow the configured value to be overridden with nil
- #where
- should accept :key
- should accept :content_length
- should accept x-amz-meta- fields
- should not accept arbitrary, non-metadata names
- equality condition
- should add the condition
- should not modify the original
- it should behave like POST policy condition preserves fields
- should preserve the bucket
- should preserve the metadata
- should preserve the key
- should preserve the content length range
- should preserve special fields
- should preserve secure?
- should preserve expires
- should preserve ignored_fields
- starts with condition
- should add the condition
- should not modify the original
- should apply the x-amz-security token condition when appropriate
- it should behave like POST policy condition preserves fields
- should preserve the bucket
- should preserve the metadata
- should preserve the key
- should preserve the content length range
- should preserve special fields
- should preserve secure?
- should preserve expires
- should preserve ignored_fields
- range condition
- should override the content length
- should not modify the original
- it should behave like POST policy condition preserves fields
- should preserve the bucket
- should preserve the metadata
- should preserve the key
- should preserve special fields
- should preserve secure?
- should preserve expires
- should preserve ignored_fields
- single-value range condition (syntactic sugar)
- should override the content length
- should not modify the original
- it should behave like POST policy condition preserves fields
- should preserve the bucket
- should preserve the metadata
- should preserve the key
- should preserve special fields
- should preserve secure?
- should preserve expires
- should preserve ignored_fields
- #where_metadata
- should call #where with the metadata field name
- #metadata
- should be an empty hash by default
- #ignored_fields
- should be an empty array by default
- #url
- should be an HTTPS URI
- should be an HTTP URI if secure is false
- dns compatible bucket
- should use the subdomain-style host
- dns incompatible bucket
- should use the path-style url
- #policy
- should be valid Base64-encoded JSON
- should strip newlines from the encoded policy
- should expire an hour from now by default
- should contain a conditions array
- when :expires is provided
- should support Time
- should support DateTime
- should support an integer offset
- should support a parseable date/time string
- conditions array
- should contain an entry allowing any key by default
- should contain an entry specifying the key if provided
- should restrict the key prefix if it includes a filename variable
- should contain an entry specifying the bucket
- should contain an entry for each metadata key
- should stringify metadata values
- should contain an entry for the content length range
- should subtract one from the end of an exclusive range
- should add an entry for each ignored field
- #fields
- should include AWSAccessKeyId
- should include key if provided
- should include policy
- should properly transform acl names
- should properly transform the server side encryption algorithm
- should contain an entry for each metadata key
- signature
- should use the signer to compute the signature
- should sign the policy
- behaves like presigned post special field
- #where
- should accept :acl
- #fields
- should include :acl as acl
- #policy
- should include a condition for acl
- non-string value
- should be stringified
- behaves like presigned post special field
- #where
- should accept :server_side_encryption
- #fields
- should include :server_side_encryption as x-amz-server-side-encryption
- #policy
- should include a condition for x-amz-server-side-encryption
- non-string value
- should be stringified
- behaves like presigned post special field
- #where
- should accept :cache_control
- #fields
- should include :cache_control as Cache-Control
- #policy
- should include a condition for Cache-Control
- non-string value
- should be stringified
- behaves like presigned post special field
- #where
- should accept :content_type
- #fields
- should include :content_type as Content-Type
- #policy
- should include a condition for Content-Type
- non-string value
- should be stringified
- behaves like presigned post special field
- #where
- should accept :content_disposition
- #fields
- should include :content_disposition as Content-Disposition
- #policy
- should include a condition for Content-Disposition
- non-string value
- should be stringified
- behaves like presigned post special field
- #where
- should accept :content_encoding
- #fields
- should include :content_encoding as Content-Encoding
- #policy
- should include a condition for Content-Encoding
- non-string value
- should be stringified
- behaves like presigned post special field
- #where
- should accept :expires_header
- #fields
- should include :expires_header as Expires
- #policy
- should include a condition for Expires
- non-string value
- should be stringified
- behaves like presigned post special field
- #where
- should accept :success_action_redirect
- #fields
- should include :success_action_redirect as success_action_redirect
- #policy
- should include a condition for success_action_redirect
- non-string value
- should be stringified
- behaves like presigned post special field
- #where
- should accept :success_action_status
- #fields
- should include :success_action_status as success_action_status
- #policy
- should include a condition for success_action_status
- non-string value
- should be stringified
- behaves like presigned post special field
- #where
- should accept :filename
- #fields
- should include :filename as Filename
- #policy
- should include a condition for Filename
- non-string value
- should be stringified
- AWS::S3::Request
- #key
- accepts a key
- #bucket
- accepts a bucket
- #path
- defaults to /
- is / for dns compat bucket names with no key
- includes dns incompatable bucket names
- includes keys but not dns compat bucket name
- combines keys and dns-incompatible bucket names
- should URI-encode the key
- should not URI-encode path separators in the key
- should not remove prefixed slashes
- should not remove prefixed slashes
- should accept a path of only slashes
- should accept a path of only slashes
- should preserve a trailing slash in the key
- #uri
- contains the path followed by the querystring params
- omits dns compat bucket names
- #host
- should contain dns compat bucket names and endpoint
- should not contain dns compat bucket names that have periods
- #add_authorization!
- credentials does not provide a session token
- should not add the x-amz-security-token header
- signer has a session token configured
- should add the x-amz-security-token header prior to computing the signature
- #string_to_sign
- line 1 is the http verb
- line 2 is the content md5
- line 3 is the content type
- line 4 is the date
- lines 5 till the end -1 are the canonicalized amazon headers
- the last line is the canonicalized resource
- #canonicalized resource
- should begin with a slash
- should begin with the bucket if it is not dns compat
- should begin with the path if the host is dns compat
- should sort sub resources
- should include parameters controlling the response headers
- (S3 developer guide examples)
- should produce the right string for GET object
- should produce the right string for PUT object
- should produce the right string for GET bucket
- places dns compat names into the path when they contain .
- should produce the right string for GET service
- should add a Date header if not provided
- should omit the date line when provided via x-amz-date
- AWS::S3::S3Object
- #copy_from
- calls copy_object on the client
- accepts a key string and defaults bucket to same bucket
- accepts a key string and a bucket
- accepts a key string and a bucket name
- accepts s3 objects
- defaults metadata directive to COPY
- allows you to change the metadata
- allows you to change content type
- allows you to store the copied object with reduced redundancy
- allows you to set a canned ACL
- allows you copy an objects version by version id
- allows you to copy a versioned object
- :server_side_encryption option
- allows you to specify a value
- uses the configured value by default
- allows you to override the configured value
- allows you to override the configured value with nil
- #copy_to
- calls copy_object on the client
- accepts a key string and defaults bucket to same bucket
- returns the copied/target object
- accepts a key string and a bucket
- accepts a key string and a bucket name
- accepts s3 objects
- defaults metadata directive to COPY
- allows you to change the metadata
- allows you to store the copied object with reduced redundancy
- allows you to set a canned ACL
- :server_side_encryption option
- allows you to specify a value
- uses the configured value by default
- allows you to override the configured value
- allows you to override the configured value with nil
- #move_to
- calls #copy_to followed by #delete
- returns a new object (where it was copied to)
- can be used to copy across buckets
- AWS::S3::S3Object
- should have a key
- should have a bucket
- behaves like an S3 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should have a short inspect method
- behaves like it has an ACL
- #acl=
- passes along canned acls symbols as strings
- passes along non-xml strings as canned acls
- passes along xml as an AccessControlList as xml
- passes xml strings along as :access_control_policy
- passes along a hash grant
- translates grants
- raises an error if the grant hashes grantees have more than 1 key
- raises an argument error for anything else
- #acl
- should construct a new acl from the response data
- should return the acl in the client response
- should add a #change method
- #change
- should yield the ACL
- should call put_object_acl at the end of the block
- #inspect
- should include the object bucket and key
- #==
- same class
- should return true if the bucket and key match
- should return false if the bucket does not match
- should return false if the ID does not match
- different class
- should return false
- #exists?
- should call head_object
- should return true if the request is successful
- should return false if a NoSuchKey error is raised
- should not intercept other kinds of errors
- #write
- with no arguments
- should call put_object with the bucket, key and empty data
- with a string
- should call put_object with the bucket, key and data
- with a file path
- should call put_object with the bucket, key and data
- should raise an error if there is a data argument
- with a data option
- should call put_object with the bucket, key and data
- should raise an error if data is passed as an option and an argument
- low-level options
- with data
- should pass the content_md5 option
- with no data
- should pass the content_md5 option
- with acl options
- should convert symbolized canned acls to strings
- passes :grant_* options along to the client
- :server_side_encryption
- should not pass the option by default
- should pass the value from configuration if present
- should not pass the option if it is overridden to nil
- should allow overriding the config with a different value
- large data
- should perform a multipart upload
- should not perform a multipart upload with :single_request
- should pass additional options to the multipart_upload call
- should default to the multipart threshold from the config
- string
- should split the upload into parts
- should default to the configured multipart_min_part_size
- stream
- should split the upload into parts
- file
- should split the upload into parts
- return value
- should be the object if no version ID is returned
- should be an object version with the returned version ID
- #multipart_upload
- should initiate a multipart upload
- should pass additional options to the initiate call
- should pass the config
- should abort the upload if no parts are added
- should abort the upload if an error is raised
- does not abort the upload if an exception is raised
- should not abort the upload if initialization failed
- should complete the upload using the completed parts
- should yield a MultipartUpload object
- should pass the upload ID to the upload object
- should pass the S3Object to the upload object
- :server_side_encryption
- should not pass the option by default
- should pass the value from configuration if present
- should not pass the option if it is overridden to nil
- should allow overriding the config with a different value
- return value with a block
- should be the object if no version ID is returned
- should be an object version with the returned version ID
- when no parts were uploaded
- should be nil
- without a block
- should return the upload object
- should not complete or abort the upload
- #multipart_uploads
- should return an upload collection
- #delete
- should call delete_object
- should pass along additional options
- #read
- should call get_object with the bucket name and key
- should call get_object with the bucket name and key
- #metadata
- should return a metadata object
- should pass the object and config to the constructor
- #head
- returns the response from a head_object request
- accepts a version_id
- #etag
- returns #etag from the head response
- #last_modified
- returns #last_modified from the head response
- #content_length
- returns #content_length from the head response
- #content_type
- returns #content_type from the head response
- #server_side_encryption
- returns #server_side_encryption from the head response
- #server_side_encryption?
- should return true if server_side_encryption is not nil
- should return false if server_side_encryption is nil
- #versions
- returns a versioned object collection
- #url_for
- should return an HTTPS URI object
- should return an HTTP URI object if :secure is false
- should construct an S3 http request object
- should set the bucket
- should set the key
- should set the endpoint according to the configuration
- should include the version id when provided
- should add a parameter for the access key
- should add a parameter for the expiration timestamp
- should accept a Time object for :expires
- should accept a DateTime object for :expires
- should accept an integer offset for :expires
- should accept a string date/time for :expires
- should use the request host in the URL
- should use the request path in the URL
- should use the request querystring in the URL
- federated sessions
- adds the security token to the request
- it should behave like presigned url request parameter
- should add :response_content_type as response-content-type
- should make response-content-type part of the string to sign
- it should behave like presigned url request parameter
- should add :response_content_language as response-content-language
- should make response-content-language part of the string to sign
- it should behave like presigned url request parameter
- should add :response_expires as response-expires
- should make response-expires part of the string to sign
- it should behave like presigned url request parameter
- should add :response_cache_control as response-cache-control
- should make response-cache-control part of the string to sign
- it should behave like presigned url request parameter
- should add :response_content_disposition as response-content-disposition
- should make response-content-disposition part of the string to sign
- it should behave like presigned url request parameter
- should add :response_content_encoding as response-content-encoding
- should make response-content-encoding part of the string to sign
- #public_url
- should be an HTTPS URI
- should be an HTTP URI if secure is false
- dns compatible bucket
- should use the subdomain-style host
- dns incompatible bucket
- should use the path-style url
- #presigned_post
- should return a PresignedPost for the object
- should pass additional options
- #reduced_redundancy=
- should return the assigned value
- set to true
- should set :storage_class to "REDUCED_REDUNDANCY"
- set to false
- should set :storage_class to "STANDARD"
- AWS::S3::Tree::BranchNode
- #initialize
- should store the parent
- should store the collection
- should store the delimiter
- should store the append status
- #prefix
- returns the prefix of the collection
- #delimiter
- defaults to /
- #append?
- defaults to true
- #branch?
- returns true
- #leaf?
- returns false
- #children
- should construct a child collection with the correct settings
- #inspect
- should include the full path to the node
- #as_tree
- should construct a Tree with the same prefix and settings
- AWS::S3::Tree::ChildCollection
- behaves like enumerable
- should not read the client
- #initialize
- stores the parent
- stores the collection
- stores the prefix
- stores the delimiter
- stores the append setting
- #delimiter
- defaults to /
- #append?
- defaults to true
- #each
- calls each with the delimiter
- calls each with the prefix if specified
- appends the delimiter to the prefix when missing
- does not append the delimiter when append? is false
- yields
- yields one leaf for each non-iterable object
- yields one branch for each iterable object
- yields each branch with a child collection appropriate for the branch
- passes the parent to each node
- AWS::S3::Tree::LeafNode
- #initialize
- stores the parent
- stores the member object
- #key
- returns the key from the member object
- #object
- when the member is an S3Object
- returns the member
- when the member is something that responds to :object
- calls the object method of the member
- #version
- when the member is an ObjectVersion
- returns the member
- when the member is something else
- should raise an error
- #upload
- when the member is a MultipartUpload
- returns the member
- when the member is something else
- should raise an error
- #branch?
- returns false
- #leaf?
- returns true
- #inspect
- should include the full path to the node
- AWS::S3::Tree
- #initialize
- requires a collection
- stores the collection
- stores the prefix
- stores the delimiter
- stores the append setting
- #delimiter
- defaults to /
- #append?
- defaults to true
- #parent
- should return nil
- #children
- should construct a child collection with the correct settings
- #inspect
- should include the full path to the node
- AWS::S3::MultipartUploadCollection
- behaves like an S3 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should have a short inspect method
- behaves like enumerable
- should not read the client
- behaves like an S3 paginated collection
- #each
- should call the list method
- should pass a default batch size
- should request the next page for a truncated response
- limits
- should limit by the batch size if it is smaller than the limit
- should limit by the provided limit if it is smaller than the batch size
- #initialize
- should store the upload
- #each
- should pass the required parameters to list_parts
- should yield an uploaded part object for each result
- should pass the upload
- #[]
- should return a part with the correct upload and number
- AWS::S3::UploadedPart
- behaves like an S3 model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should have a short inspect method
- #initialize
- should store the upload
- should store the part number
- #==
- same class
- should return true if the upload and part number match
- should return false if the upload does not match
- should return false if the part number does not match
- different class
- should return false
- #size
- it should behave like s3 uploaded part attribute accessor
- should call list_parts
- should use the first returned part if the number matches
- should raise an error if the part number does not match
- should raise an error if no parts are returned
- #last_modified
- it should behave like s3 uploaded part attribute accessor
- should call list_parts
- should use the first returned part if the number matches
- should raise an error if the part number does not match
- should raise an error if no parts are returned
- #etag
- it should behave like s3 uploaded part attribute accessor
- should call list_parts
- should use the first returned part if the number matches
- should raise an error if the part number does not match
- should raise an error if no parts are returned
- AWS::S3
- behaves like a class that accepts configuration
- accepts and returns a :config option
- constructor passes options to Configuration#with
- returns the merged config
- #buckets
- should return a BucketCollection
- should pass the config
- #inspect
- returns a simple string
- AWS::SimpleDB::AttributeCollection
- behaves like a sdb model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- behaves like enumerable
- should not read the client
- #initialize
- requires an item
- accepts an item
- #item
- returns the item passed to #initialize
- #to_h
- hasherishes each of the values
- behaves like accepts :consistent_read option
- calls the client method with the passed true
- calls the client method with the passed false
- defaults to true when AWS.config.simple_db_consistent_reads? is true
- defaults to false when AWS.config.simple_db_consistent_reads? is false
- consistent_read block overrides configured default
- #[]
- returns an attribute
- returns an attribute with the correct item
- returns an attribute with the correct name
- returns an attribute with the correct config
- stringifies the name
- #[]=
- calls set on the attribute named
- #each_value
- calls get_attributes
- yields once for each attribute value
- #each
- calls get_attributes
- yields attribute objects
- behaves like accepts :consistent_read option
- calls the client method with the passed true
- calls the client method with the passed false
- defaults to true when AWS.config.simple_db_consistent_reads? is true
- defaults to false when AWS.config.simple_db_consistent_reads? is false
- consistent_read block overrides configured default
- #put
- calls put_attributes
- empty hash
- does nothing
- it should behave like sdb expect conditions
- :if
- accepts a hash with a string key
- accepts a hash with a symbol key
- :unless
- accepts an attribute name as a string
- accepts a symbol attribute name
- #set
- is an alias for replace
- #replace
- calls put_attributes
- handles string values with newlines
- empty hash
- does nothing
- it should behave like sdb expect conditions
- :if
- accepts a hash with a string key
- accepts a hash with a symbol key
- :unless
- accepts an attribute name as a string
- accepts a symbol attribute name
- #add
- calls put_attributes
- empty hash
- does nothing
- it should behave like sdb expect conditions
- :if
- accepts a hash with a string key
- accepts a hash with a symbol key
- :unless
- accepts an attribute name as a string
- accepts a symbol attribute name
- #delete
- returns nil
- no arguments
- does nothing
- attribute names
- calls delete_attributes
- accepts symbol attribute names
- accepts a list of names
- accepts an array of names
- it should behave like sdb expect conditions
- :if
- accepts a hash with a string key
- accepts a hash with a symbol key
- :unless
- accepts an attribute name as a string
- accepts a symbol attribute name
- attribute values
- calls delete_attributes
- accepts symbol keys
- accepts multiple values
- ignores empty lists of values
- accepts the special value :all
- it should behave like sdb expect conditions
- :if
- accepts a hash with a string key
- accepts a hash with a symbol key
- :unless
- accepts an attribute name as a string
- accepts a symbol attribute name
- AWS::SimpleDB::Attribute
- behaves like a sdb model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- behaves like enumerable
- should not read the client
- #initialize
- requires a item and name
- accepts a item and name
- #item
- returns the item passed to #initialize
- #name
- returns the proper name
- #values
- returns all attribute values as an array
- behaves like accepts :consistent_read option
- calls the client method with the passed true
- calls the client method with the passed false
- defaults to true when AWS.config.simple_db_consistent_reads? is true
- defaults to false when AWS.config.simple_db_consistent_reads? is false
- consistent_read block overrides configured default
- #each
- calls get_attributes
- yields the response values
- behaves like accepts :consistent_read option
- calls the client method with the passed true
- calls the client method with the passed false
- defaults to true when AWS.config.simple_db_consistent_reads? is true
- defaults to false when AWS.config.simple_db_consistent_reads? is false
- consistent_read block overrides configured default
- #add
- should call put_attributes
- should accept multiple values as a list
- should accept multiple values as an array
- should have an alias of <<
- it should behave like sdb expect conditions
- :if
- accepts a hash with a string key
- accepts a hash with a symbol key
- :unless
- accepts an attribute name as a string
- accepts a symbol attribute name
- #set
- should call put_attributes
- should accept multiple values as a list
- should accept multiple values as an array
- it should behave like sdb expect conditions
- :if
- accepts a hash with a string key
- accepts a hash with a symbol key
- :unless
- accepts an attribute name as a string
- accepts a symbol attribute name
- #delete
- with no positional arguments
- should delete all values of the attribute
- it should behave like sdb expect conditions
- :if
- accepts a hash with a string key
- accepts a hash with a symbol key
- :unless
- accepts an attribute name as a string
- accepts a symbol attribute name
- with positional arguments
- should delete specific values of the attribute
- should accept an array
- it should behave like sdb expect conditions
- :if
- accepts a hash with a string key
- accepts a hash with a symbol key
- :unless
- accepts an attribute name as a string
- accepts a symbol attribute name
- AWS::SimpleDB::Client
- should be accessible from the configuration
- it should behave like an aws client
- #initialize
- accepts a config
- #with_options
- should return a new client
- should modify the config on the new client
- should not modify the config on the old client
- #with_http_handler
- should yield request and response objects when a request is made
- should be able to call super to access previous definition
- should set the http_response member to the same instance that was passed to the block
- should set the http_request member to the same instance that was passed to the block
- should pass along exceptions raised from the block
- ::valid_domain_name?
- returns true for good names
- returns false for names shorter than 3 chars
- returns false for names longer than 255 chars
- #create_domain
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- it should behave like a simple db request
- should have the correct action param
- should have version param
- should have a timestamp param
- should be a post request
- should have a form url encoded content type
- should return an object that response to response_metadata
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like requires a domain name
- requires a domain name
- should have the domain name as a param
- #list_domains
- should accept a limit and pass it as a request param
- should accept a next_token and pass it as a request param
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- it should behave like a simple db request
- should have the correct action param
- should have version param
- should have a timestamp param
- should be a post request
- should have a form url encoded content type
- should return an object that response to response_metadata
- exceptions
- should raise modeled exceptions for unsuccessful requests
- response#domain_names
- should be an array of domain name strings
- #delete_domain
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- it should behave like a simple db request
- should have the correct action param
- should have version param
- should have a timestamp param
- should be a post request
- should have a form url encoded content type
- should return an object that response to response_metadata
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like requires a domain name
- requires a domain name
- should have the domain name as a param
- #domain_metadata
- should expose ItemCount as an integer
- should expose ItemNamesSizeBytes as an integer
- should expose AttributeNameCount as an integer
- should expose AttributeNamesSizeBytes as an integer
- should expose AttributeValueCount as an integer
- should expose AttributeValuesSizeBytes as an integer
- should expose Timestamp as an integer
- it should behave like an aws http request
- with the proper http verb
- should set use_ssl to the current config use_ssl? value
- should set ssl_verify_peer to the current config ssl_verify_peer? value
- should set ssl_ca_file to the current config ssl_ca_file value
- populates the response with the request options
- raises client errors for errors that can not be retried
- raises client errors for 4xx response codes with a nil response body
- does not retry client errors
- retry requests that respond with 500
- retry requests that respond with 503
- retry throttled requests that respond with 400
- retry timeout errors
- should retry at most 3 times
- should build a new request for each retry
- should retry more times if configured
- should re-raise the server error after retries fail
- should re-raise the timeout error after retries fail
- should sleep between retries
- it backs off exponentially
- it uses a randomized scaling factor for throttled requests
- it should behave like supports async option
- asynchronous
- should call handle_async on the handler
- should return a kind of async handle
- should call the success callback on handler success
- should call the failure callback on handler failure
- should make an error available on handler failure
- should call the failure callback on service failure
- should retry service errors
- should retry timeouts
- should build a new request for each retry
- user_agent
- should set the user_agent header
- should prefix the user agent when configured
- memoization status
- should not include "memoizing" if memoization is disabled
- should include "memoizing" if memoization is enabled
- endpoint
- should default the endpoint given in the client config
- user agent
- should send a user-agent header
- stubbing
- should not call handle
- logging
- should log the client request
- should log server errors
- signing
- should call add_authorization! on the request
- should call add_authorization! with the credential provider
- caching enabled
- should add the low-level response object to the cache
- should not cache on failure
- asynchronous
- should add the response on success
- should not cache on failure
- it should behave like a simple db request
- should have the correct action param
- should have version param
- should have a timestamp param
- should be a post request
- should have a form url encoded content type
- should return an object that response to response_metadata
- exceptions
- should raise modeled exceptions for unsuccessful requests
- it should behave like requires a domain name
- requires a domain name
- should have the domain name as a param
- AWS::SimpleDB::DomainCollection
- behaves like enumerable
- should not read the client
- #create
- calls create_domain with the proper domain name
- returns a domain object
- returns an object with the proper name
- returns an object with the proper config
- #[]
- with a string
- returns a domain
- returns a domain with the correct name
- returns a domain with the correct name (from symbol)
- #each
- returns nil
- yields up domain objects
- limits results by limit if smaller than batch size
- limits results by batch size
- makes requests until :limit items returned in batches
- AWS::SimpleDB::DomainMetadata
- behaves like a sdb model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- metadata
- #item_count
- should get the value from the domain metadata response
- #item_names_size_bytes
- should get the value from the domain metadata response
- #attribute_name_count
- should get the value from the domain metadata response
- #attribute_names_size_bytes
- should get the value from the domain metadata response
- #attribute_value_count
- should get the value from the domain metadata response
- #attribute_values_size_bytes
- should get the value from the domain metadata response
- #timestamp
- should get the value from the domain metadata response
- AWS::SimpleDB::Domain
- behaves like a sdb model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #initialize
- accepts a name
- accepts a config
- #inspect
- should have a short inspect string with the name
- #empty
- returns true if there are no items in the domain
- returns false if there are more than 1 items in the domain
- #delete
- returns nil
- should call delete_domain with the proper name
- should check to see if the domain is empty first
- should raise an error if the domain is not empty
- #delete!
- should call delete_domain with the proper name
- should not check to see if the domain is empty
- should not raise an error
- #exists?
- should call domain_metadata to check
- should return true if no response is raised by domain_metadata
- should return false if domain_metadata raises a client error
- should not trap standard errors
- #metadata
- should return a metadata object
- should return a metadata object with the correct domain
- should return a metadata object with the correct config
- #items
- should return an item collection
- should have the correct domain
- should have the correct config
- AWS::SimpleDB::Errors::DuplicateItemName
- it should behave like modeled sdb exception
- should be a kind of AWS::Errors::ClientError
- should expose box_usage as a float (PENDING: No reason given)
- AWS::SimpleDB::ItemCollection
- behaves like a sdb model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- behaves like enumerable
- should not read the client
- #initialize
- requires a domain
- accepts a domain
- #domain
- returns the domain passed to #initialize
- #create
- returns a new item
- returns an item with the correct domain
- returns an item with the correct config
- replaces attributes on the item
- #[]
- returns an item
- returns an item with the correct domain
- returns an item with the correct name
- returns an item with the correct config
- strinifies symbols
- #each
- calls select to get all item names from the domain
- yields an item for each item name returned
- calls select until the response does not return a next_token
- it should behave like method accepting query options
- it should behave like each_batch accepts query option
- should call #select with the option value
- should call #select with multiple arguments if the value is an array
- should call #each_batch on the restricted item collection
- it should behave like each_batch accepts query option
- should call #where with the option value
- should call #where with multiple arguments if the value is an array
- should call #each_batch on the restricted item collection
- it should behave like each_batch accepts query option
- should call #order with the option value
- should call #order with multiple arguments if the value is an array
- should call #each_batch on the restricted item collection
- it should behave like each_batch accepts query option
- should call #limit with the option value
- should call #limit with multiple arguments if the value is an array
- should call #each_batch on the restricted item collection
- with options
- accepts :next_token
- behaves like accepts :consistent_read option
- calls the client method with the passed true
- calls the client method with the passed false
- defaults to true when AWS.config.simple_db_consistent_reads? is true
- defaults to false when AWS.config.simple_db_consistent_reads? is false
- consistent_read block overrides configured default
- #select
- accepts attributes as a list
- accepts attributes in an array
- accpets listed attributes with options hash
- accpets array attributes with options hash
- works with a single attribute symbol
- escapes backticks in attribute names
- selects all attributes by default
- converts non-string arguments to strings
- can accept only options
- it should behave like method accepting query options
- it should behave like select accepts query option
- should call #where with the option value
- should call #where with multiple arguments if the value is an array
- should call #select on the restricted item collection
- it should behave like select accepts query option
- should call #order with the option value
- should call #order with multiple arguments if the value is an array
- should call #select on the restricted item collection
- it should behave like select accepts query option
- should call #limit with the option value
- should call #limit with multiple arguments if the value is an array
- should call #select on the restricted item collection
- result
- yields an ItemData for each item in the response
- stores the name for each item
- stores the attributes for each item
- stores the domain for each item
- without a block
- returns an enumerable for the item data
- returns an enumerable when conditions are passed
- #count
- uses count(*) for the output list
- should return the Count attribute value
- should add counts from each page of results
- it should behave like method accepting query options
- it should behave like count accepts query option
- should call #select with the option value
- should call #select with multiple arguments if the value is an array
- should call #count on the restricted item collection
- it should behave like count accepts query option
- should call #where with the option value
- should call #where with multiple arguments if the value is an array
- should call #count on the restricted item collection
- it should behave like count accepts query option
- should call #order with the option value
- should call #order with multiple arguments if the value is an array
- should call #count on the restricted item collection
- it should behave like count accepts query option
- should call #limit with the option value
- should call #limit with multiple arguments if the value is an array
- should call #count on the restricted item collection
- behaves like accepts :consistent_read option
- calls the client method with the passed true
- calls the client method with the passed false
- defaults to true when AWS.config.simple_db_consistent_reads? is true
- defaults to false when AWS.config.simple_db_consistent_reads? is false
- consistent_read block overrides configured default
- expression with limit
- should stop at the limit
- should keep paging until the limit
- #page
- the collection
- applies :where, :order and :limit to the page request
- #per_page
- returns a page result object
- defaults per_page to 10
- accepts a numeric :per_page option
- accepts a string :per_page option
- #where
- should set the conditions in the returned collection
- should append a WHERE clause when performing the Select
- should join multiple conditions with AND
- it should behave like collection mutator
- should return an item collection
- should pass along the config to the returned collection
- should pass along the sort_instructions to the returned collection
- hash conditions
- should translate a hash to equality conditions
- should escape single quotes
- should use IN with an array value
- should use BETWEEN with a range value
- should use >= and < with an exclusive range value
- placeholders
- should escape backticks in an attribute name
- should perform simple placeholder substitution
- should ignore question marks inside of attribute names
- should ignore question marks inside of attribute values (single quotes)
- should ignore question marks inside of attribute values (double quotes)
- should put parentheses around an array value
- should flatten an array value
- should call to_s on the value
- should raise an error when there are too many placeholders
- should raise an error when there are too many values
- should substitute named placeholders
- should substitute named placeholders using string keys
- should raise an error if the hash has no entry for a placeholder
- #order
- should set the sort instructions on the returned collection
- should overwrite the previous sort instructions
- should accept a symbol attribute name
- should accept a sort direction
- should append an ORDER clause and IS NOT NULL condition to the query
- should only add one condition due to an #order call
- it should behave like collection mutator
- should return an item collection
- should pass along the config to the returned collection
- direction aliases
- should allow desc
- should allow asc
- should allow descending
- should allow ascending
- #limit
- should set the limit on the returned collection
- should stringify the limit value
- should reject empty strings
- should add a LIMIT clause to the query
- should make one call if the right number of results is returned
- should use the next token until all results are returned
- it should behave like collection mutator
- should return an item collection
- should pass along the config to the returned collection
- should pass along the conditions to the returned collection
- should pass along the sort_instructions to the returned collection
- AWS::SimpleDB::ItemData
- #initialize
- requires no constructor arguments
- should store the name
- should store the attributes
- should store the domain
- should be able to get the item from the domain
- should extract the name from an object
- should prefer the :name option to the name from a response object
- should extract the attributes from an object
- should prefer the :attributes option to attributes from an object
- AWS::SimpleDB::Item
- behaves like a sdb model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #initialize
- requires a domain and name
- accepts a domain and name
- #domain
- returns the domain passed to #initialize
- #name
- returns the proper name
- #attributes
- returns an attributes collection
- #delete
- calls delete_attributes
- #data
- calls get_attributes
- passes through :consistent_read
- obeys consistent read blocks
- uses the configured consistent read when not in options
- returns an ItemData
- sets the name
- sets the attributes
- sets the domain
- AWS::SimpleDB::Request
- it should behave like an authorize v2 request
- #string_to_sign
- first line should match the request http method
- second line should match the host
- third line should match the path
- 4th line should be sorted encoded key/value pairs
- #add_authorization!
- adds a signature version param
- adds a signature method param
- adds a signature param
- adds the access key id param
- AWS::SimpleDB
- behaves like a class that accepts configuration
- accepts and returns a :config option
- constructor passes options to Configuration#with
- returns the merged config
- #domains
- returns a domain collection
- has the same config
- #inspect
- returns a simple string
- class methods
- consistent reads block
- #in_consistent_reads_block? returns false outside cr blocks
- #in_consistent_reads_block? returns true inside cr blocks
- a consistent read block defaults to true
- a consistent read block accepts a true value
- a consistent read block accepts a false value
- can be nested
- AWS::SimpleEmailService::Client
- error parsing
- should raise the correct error class
- AWS::SimpleEmailService::EmailAddressCollection
- behaves like enumerable
- should not read the client
- #create
- calls verify_email_address on the client
- #verify
- is an alias for #include?
- #verified?
- is an alias for #include?
- #delete
- calls delete_verified_email_address on the client
- #each
- calls list_verified_email_addresses on the client
- yields once for each address
- returns nil
- AWS::SimpleEmailService::IdentityCollection
- #verify
- email addresses
- calls #verify_email_identity on the client
- returns an identity
- domains
- calls #verify_email_identity on the client
- returns an identity
- #create
- is an alias of verify
- #[]
- returns an identity
- returns an identity with the correct configuration
- behaves like a pageable collection with limits
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- #email_addresses
- behaves like a pageable collection with limits
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- #domains
- behaves like a pageable collection with limits
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- AWS::SimpleEmailService::Identity
- email addresses
- returns true from #email_address?
- returns false from #domain?
- it should behave like an ses identity
- notification attributes
- #bounce_topic_arn
- calls #get_identity_notification_attributes on the client
- returns the bounce notification topic arn
- returns nil when not present
- is mutable
- accepts nil
- #complaint_topic_arn
- calls #get_identity_notification_attributes on the client
- returns the complaint notification topic arn
- returns nil when not present
- is mutable
- accepts nil
- #forwarding_enabled
- calls #get_identity_notification_attributes on the client
- returns the state
- is aliased with a question mark
- is mutable
- can be set to false
- #bounce_topic
- wraps the arn in a sns topic
- returns nil when there is not arn
- #bounce_topic=
- accpets a topic object
- accepts a topic arn
- accepts nil
- #complaint_topic
- wraps the arn in a sns topic
- returns nil when there is not arn
- #complaint_topic=
- accpets a topic object
- accepts a topic arn
- accepts nil
- verification attributes
- #verification_status
- calls :get_identity_verificiation_attributes on the client
- returns the status
- #verification_token
- calls :get_identity_verificiation_attributes on the client
- returns the token
- returns nil when not provided
- is static
- #verified?
- returns true when the verification status is "Success"
- returns false when the verification status is not "Success"
- #pending?
- returns true when the verification status is "Pending"
- returns false when the verification status is not "Pending"
- #delete
- calls #delete_identity on the client
- domains
- returns false from #email_address?
- returns true from #domain?
- it should behave like an ses identity
- notification attributes
- #bounce_topic_arn
- calls #get_identity_notification_attributes on the client
- returns the bounce notification topic arn
- returns nil when not present
- is mutable
- accepts nil
- #complaint_topic_arn
- calls #get_identity_notification_attributes on the client
- returns the complaint notification topic arn
- returns nil when not present
- is mutable
- accepts nil
- #forwarding_enabled
- calls #get_identity_notification_attributes on the client
- returns the state
- is aliased with a question mark
- is mutable
- can be set to false
- #bounce_topic
- wraps the arn in a sns topic
- returns nil when there is not arn
- #bounce_topic=
- accpets a topic object
- accepts a topic arn
- accepts nil
- #complaint_topic
- wraps the arn in a sns topic
- returns nil when there is not arn
- #complaint_topic=
- accpets a topic object
- accepts a topic arn
- accepts nil
- verification attributes
- #verification_status
- calls :get_identity_verificiation_attributes on the client
- returns the status
- #verification_token
- calls :get_identity_verificiation_attributes on the client
- returns the token
- returns nil when not provided
- is static
- #verified?
- returns true when the verification status is "Success"
- returns false when the verification status is not "Success"
- #pending?
- returns true when the verification status is "Pending"
- returns false when the verification status is not "Pending"
- #delete
- calls #delete_identity on the client
- AWS::SimpleEmailService::Quotas
- #to_h
- calls get_send_quota
- returns a hash with 3 stats
- #max_24_hour_send
- returns a value from #to_h
- #max_send_rate
- returns a value from #to_h
- #sent_last_24_hours
- returns a value from #to_h
- #inspect
- returns a string with the details
- AWS::SimpleEmailService::Request
- it should behave like an authorize v4 request
- #add_authorization!
- sets the content type form-urlencoded by default
- populates the host header
- populates the date header
- omits the security token header when session token not provided
- populates the security token header when session token is provided
- popualtes the authorization header (FAILED - 9)
- includes the session token in the signature when present (FAILED - 10)
- #service
- should be ses
- AWS::SimpleEmailService
- behaves like a class that accepts configuration
- accepts and returns a :config option
- constructor passes options to Configuration#with
- returns the merged config
- #email_addresses
- returns an email address collection
- has the same config
- #statistics
- calls get_send_statistics
- returns the send_data_points response member
- #inspect
- returns a simple string
- #send_email
- returns nil
- calls send email on the client
- requires a subject
- requires a from
- requires at least one recipient
- requires a body
- #send_raw_email
- returns nil
- calls #send_raw_email on the client
- adds source if given a from address
- adds destination if given a to address
- accepts multiple to addresses
- is aliases as #deliver
- is aliases as #deliver!
- with an object as input, that understands destinations (e.g. Mail::Message)
- should use the destinations from raw
- should use the to option as destination, when given
- should use the from option, when given
- #identities
- returns an identity collection
- #quotas
- returns a hash of quotas
- AWS::SimpleWorkflow::ActivityTaskCollection
- #domain
- returns the domain
- #count
- calls count_pending_activity_tasks on the client
- returns the count
- #poll_for_single_task
- calls poll_for_activity_task on the client
- accepts an identity
- defaults the identit to the hostname and pid
- with block
- yields an activity task
- does not yield if a task is not found
- calls complete on the activity task
- does not call complete! on a task that already responded
- calls cancel! if cancel requested error is raised
- calls fail! if an error is raised
- #poll
- calls #poll_for_single_task in a loop
- AWS::SimpleWorkflow::DecisionTaskCollection
- #domain
- returns the domain
- attributes from data
- returns the task token
- #record_heartbeat!
- calls record activity task heartbeat on the client
- accepts a details option
- raises a CancelRequestedError is the response indicates to
- #complete!
- calls respond_activity_task_completed on the client
- accepts a result
- #cancel!
- calls respond_activity_task_canceled on the client
- accepts details
- #fail!
- calls respond_activity_task_failed on the client
- accepts details
- #responded?
- starts out as false
- returns true after calling complete!
- returns true after calling cancel!
- returns true after calling fail!
- AWS::SimpleWorkflow::ActivityTypeCollection
- it should behave like a simple workflow type collection
- #register
- calls register_workflow_type on the client
- returns a type
- returns a type with the proper name
- returns a type with the proper version
- returns a type with the proper domain
- returns a type with the proper config
- #[]
- returns a type
- returns a type with the proper name
- returns a type with the proper version
- returns a type with the proper domain
- returns a type with the proper config
- behaves like a pageable collection with limits
- defaults to registered types in alphabetical order
- can request only deprecated types
- accepts registration status order as an option to #each
- can request types in reserse alphabetical order
- accepts reverse order as an option to #each
- can mix filters
- can request workflwo types with a given name
- accepts :name to #each
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- it should behave like a collection that yields models
- #each
- yields the correct number of members
- yields instances of the member class
- yields objects with the correct config
- behaves like a collection that yields models
- yields types with populated names
- yields types with populated versions
- yields types with populated descriptions
- yields types with populated creation dates
- #each
- yields the correct number of members
- yields instances of the member class
- yields objects with the correct config
- #register
- accepts :default_task_heartbeat_timeout as an integer
- accepts :default_task_heartbeat_timeout as :none
- accepts :default_task_schedule_to_close_timeout as an integer
- accepts :default_task_schedule_to_close_timeout as :none
- accepts :default_task_schedule_to_start_timeout as an integer
- accepts :default_task_schedule_to_start_timeout as :none
- accepts :default_task_start_to_close_timeout as an integer
- accepts :default_task_start_to_close_timeout as :none
- AWS::SimpleWorkflow::ActivityType
- it should behave like a simple workflow type
- #domain
- returns the domain it was constructed with
- #name
- is set in the constructor
- #version
- is set in the constructor
- #exists?
- returns true when the domain can be described
- returns false when the domain can not be described
- #description
- returns the description if set
- describes the type to get a description if not set
- returns nil when the description is not set
- is static
- #status
- describes the workflow type to get the status
- is not static
- can be memoized
- #creation_date
- describes the workflow type to get the date
- casts the creation time to a time object
- can be cached in the constructor
- is static
- #deprecation_date
- describes the workflow type to get the date
- casts the creation time to a time object
- configuration attributes
- caches :default_task_heartbeat_timeout when passed to the constructor
- describes the type to get :default_task_heartbeat_timeout when not available
- :default_task_heartbeat_timeout is static
- caches :default_task_schedule_to_close_timeout when passed to the constructor
- describes the type to get :default_task_schedule_to_close_timeout when not available
- :default_task_schedule_to_close_timeout is static
- caches :default_task_schedule_to_start_timeout when passed to the constructor
- describes the type to get :default_task_schedule_to_start_timeout when not available
- :default_task_schedule_to_start_timeout is static
- caches :default_task_start_to_close_timeout when passed to the constructor
- describes the type to get :default_task_start_to_close_timeout when not available
- :default_task_start_to_close_timeout is static
- #deprecate
- calls the deprecate type method on the client
- is aliased to #delete
- #deprecated?
- returns true when the status is DEPRECATED
- returns false when the status is REGISTERED
- AWS::SimpleWorkflow::Count
- #count
- returns the value passed to new
- #to_i
- is an alias of #count
- #truncated?
- returns the value passed to new
- #==
- returns true if they have the same count and truncated
- returns false if the counts differ
- returns false if the truncated? status differs
- AWS::SimpleWorkflow::DecisionTaskCollection
- #count
- calls #count_pending_decision_tasks on the client
- returns the count as an integer
- #poll_for_single_task
- :identity
- passes the identity to the client request
- defaults to the hostname and pid
- :event_batch_size
- sets the maximum page size
- :reverse_event_order
- sets the reverse order option
- block form
- completes the task at the end of the block
- does complete tasks that have already been completed
- does not yeild when no result found
- without block
- returns a decision task when one is found
- returns nil when no task is found
- returns a decision task
- returns a decision task with the correct domain
- returns a decision task with access to the task token
- returns a task with the right execution
- returns a task with the right workflow type
- returns a task with previous started event id
- returns a task with task started event id
- returns the next token
- #poll
- calls #poll_for_single_task in a loop
- AWS::SimpleWorkflow::DecisionTaskCollection
- #events
- returns an enumerable object
- yields once for each even in the poll response
- adds a #new? method to each event
- #new_events
- yields only events that are new
- #responded?
- returns false if #complete! has no been called
- returns true if #complete! has no been called
- #complete!
- raises an error if a response was already sent
- calls respond_decision_task_completed on the client
- decisions
- #schedule_activity_task
- adds a schedule activity task decision to the response
- accepts a variety of options
- raises an error for an invalid activity type
- #request_cancel_activity_task
- accepts an activity task
- accepts an activity task id
- #complete_workflow_execution
- can be called without options
- accepts a result
- #fail_workflow_execution
- can be called without options
- can be called with options (:reason and :details)
- #cancel_workflow_execution
- can be called without options
- can be called with :details
- #continue_as_new_workflow_execution
- can be called without options
- can be called with options
- #record_marker
- can be called without options
- can be called with :details
- #start_timer
- can be called without options
- can be called with :timer_id
- returns the timer id
- returns the timer id for auto-generated timer ids
- #cancel_timer
- adds a decision
- #signal_external_workflow_execution
- accepts a workflow execution object
- accepts a workflow execution hash
- raise an argument error for a bad hash
- #request_cancel_external_workflow_execution
- accepts a workflow execution object
- accepts a workflow execution hash
- raise an argument error for a bad hash
- #start_child_workflow_execution
- accepts a workflow type object
- can be called with options
- raises an error if the type is malformed
- AWS::SimpleWorkflow::DomainCollection
- #create
- is an alias of register
- calls register_domain on the client
- stringifies durations
- returns a domain
- returns a domain with the proper name
- returns a domain with the proper description
- returns a domain with the proper config
- returns a domain with the proper retention_period
- #[]
- returns a domain
- returns a domain with the proper name
- accepts a symbol name
- returns a domain with the proper config
- behaves like a pageable collection with limits
- defaults to registered domains in alphabetical order
- can request only deprecated domains
- accepts registration status order as an option to #each
- can request domains in reserse alphabetical order
- accepts reverse order as an option to #each
- can request deprecated domains in reserse alphabetical order
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- behaves like a collection that yields models
- yields users with populated names
- yields users with populated descriptions
- #each
- yields the correct number of members
- yields instances of the member class
- yields objects with the correct config
- AWS::SimpleWorkflow::Domain
- #name
- is set in the constructor
- returns the name as a string
- #exists?
- returns true when the domain can be described
- returns false when the domain can not be described
- #retention_period
- returns the description if set
- describes the domain to get a description if not set
- converts NONE into :none
- #description
- returns the description if set
- describes the domain to get a description if not set
- returns nil when the description is not set
- is static
- #status
- describes the domain to get the status
- returns the status as a symbol
- is not static
- can be memoized
- #deprecate
- calls deprecate_domain on the client
- is aliased to #delete
- #deprecated?
- returns true when the status is DEPRECATED
- returns false when the status is REGISTERED
- #workflow_types
- returns a workflow type collection
- returns a collection with the proper domain
- returns a collection with the proper config
- #activity_types
- returns a activity type collection
- returns a collection with the proper domain
- returns a collection with the proper config
- #workflow_executions
- returns a workflow execution collection
- returns a collection with the proper domain
- returns a collection with the proper config
- #decision_tasks
- returns a decision task collection collection
- returns a collection with the proper domain
- returns a collection with the proper config
- AWS::SimpleWorkflow::HistoryEventCollection
- #workflow_execution
- matches what was sent to init
- behaves like a pageable collection with limits
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- it should behave like a collection that yields models
- #each
- yields the correct number of members
- yields instances of the member class
- yields objects with the correct config
- AWS::SimpleWorkflow::HistoryEvent
- methods
- workflow execution
- event_type
- event id
- created at
- #attributes
- returns the attributes in a Attributes object
- #to_json
- returns json representation of the event
- AWS::SimpleWorkflow::WorkflowExecutionCollection
- #domain
- returns the domain passed to initialize
- #[]
- returns a workflow exeuction
- returns a workflow exeuction with the proper domain
- returns a workflow exeuction with the given workflow id
- returns a workflow exeuction with the given run id
- returns a workflow exeuction with the proper config
- is an alias of #at
- #signal
- calls #signal_workflow_execution on the client
- accepts a string of input
- accepts a run id
- #request_cancel
- calls #request_cancel_workflow on the client
- accepts a run id
- #terminate
- calls #terminate_workflow_execution on the client
- accepts a child policy
- accepts a reason string
- accepts a details string
- accepts a run id
- #count
- it should behave like a filterable execution method
- defaults to all open executions
- can be filtered by a workflow id
- can be chain filtered by a workflow id
- can be filtered by a tag
- can be chain filtered by a tag
- can be filtered by a workflow type
- can be filtered by a workflow type hash
- can be chain filtered by a workflow type
- accepts Time objects
- accepts Integers as timestamps
- parses other objects a time strings
- can be filtered by both started_before and started_after
- raises an error if filtered by started_before and closed_after
- raises an error if filtered by started_before and closed_before
- raises an error if filtered by started_after and closed_after
- raises an error if filtered by started_after and closed_before
- raises an error if filtered by closed_before with open status
- raises an error if filtered by closed_after with open status
- returns a populated count object
- closed executions
- can be filtered by both closed_before and closed_after
- calls the closed method instead of open
- passes the closed status when its something other than closed
- can be changed by chaining methods
- counts closed executions when filtering by a closed date
- adds the oldest date when not set for closed time filters
- #each
- it should behave like a filterable execution method
- defaults to all open executions
- can be filtered by a workflow id
- can be chain filtered by a workflow id
- can be filtered by a tag
- can be chain filtered by a tag
- can be filtered by a workflow type
- can be filtered by a workflow type hash
- can be chain filtered by a workflow type
- accepts Time objects
- accepts Integers as timestamps
- parses other objects a time strings
- can be filtered by both started_before and started_after
- raises an error if filtered by started_before and closed_after
- raises an error if filtered by started_before and closed_before
- raises an error if filtered by started_after and closed_after
- raises an error if filtered by started_after and closed_before
- raises an error if filtered by closed_before with open status
- raises an error if filtered by closed_after with open status
- closed executions
- can be filtered by both closed_before and closed_after
- calls the closed method instead of open
- passes the closed status when its something other than closed
- can be changed by chaining methods
- counts closed executions when filtering by a closed date
- adds the oldest date when not set for closed time filters
- behaves like a pageable collection with limits
- should be reverseable
- should be reversable with #reverse_order
- yields populated workflow executions
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- it should behave like a collection that yields models
- #each
- yields the correct number of members
- yields instances of the member class
- yields objects with the correct config
- AWS::SimpleWorkflow::Domain
- #domain
- is the same as is passed to init
- #workflow_id
- is the same as is passed to init
- #run_id
- is the same as is passed to init
- #child_policy
- behaves like an attribute
- describes the execution when not present
- returns the value in the correct format
- is cached by initialize
- is static
- #execution_start_to_close_timeout
- behaves like an attribute
- describes the execution when not present
- returns the value in the correct format
- is cached by initialize
- is static
- #task_list
- behaves like an attribute
- describes the execution when not present
- returns the value in the correct format
- is cached by initialize
- is static
- #task_start_to_close_timeout
- behaves like an attribute
- describes the execution when not present
- returns the value in the correct format
- is cached by initialize
- is static
- #cancel_requested
- behaves like an attribute
- describes the execution when not present
- returns the value in the correct format
- #closed_at
- behaves like an attribute
- describes the execution when not present
- returns the value in the correct format
- #status
- returns the close status when provided
- returns :closed if it is closed without a close status
- returns :open if it is not closed
- protects #execution_status
- protects #close_status
- #parent
- returns nil when parent is not set
- protects #parent_details
- behaves like an attribute
- describes the execution when not present
- returns the value in the correct format
- is cached by initialize
- is static
- #started_at
- behaves like an attribute
- describes the execution when not present
- returns the value in the correct format
- is cached by initialize
- is static
- #tags
- returns nil as an empty array
- behaves like an attribute
- describes the execution when not present
- returns the value in the correct format
- is cached by initialize
- is static
- #workflow_type
- protects #type_details
- behaves like an attribute
- describes the execution when not present
- returns the value in the correct format
- is cached by initialize
- is static
- #latest_activity_task_scheduled_at
- behaves like an attribute
- describes the execution when not present
- returns the value in the correct format
- #latest_execution_context
- behaves like an attribute
- describes the execution when not present
- returns the value in the correct format
- #closed?
- returns false when the status is :open
- returns true when the status is not :open
- #open?
- returns true when the status is :open
- returns false when the status is not :open
- #open_timer_count
- returns the value from open counts
- #open_decision_task_count
- returns the value from open counts
- #open_activity_task_count
- returns the value from open counts
- #open_child_workflow_execution_count
- returns the value from open counts
- #events
- returns a history events collection
- returns a history events collection with the proper execution
- returns a history events collection with the proper config
- #signal
- calls #signal on the collection with a run id
- #request_cancel
- calls #request_cancel on the collection with a run id
- #terminate
- calls #terminate on the collection with a run id
- #count_executions
- calls #count on the collection with a run id
- AWS::SimpleWorkflow::WorkflowTypeCollection
- it should behave like a simple workflow type collection
- #register
- calls register_workflow_type on the client
- returns a type
- returns a type with the proper name
- returns a type with the proper version
- returns a type with the proper domain
- returns a type with the proper config
- #[]
- returns a type
- returns a type with the proper name
- returns a type with the proper version
- returns a type with the proper domain
- returns a type with the proper config
- behaves like a pageable collection with limits
- defaults to registered types in alphabetical order
- can request only deprecated types
- accepts registration status order as an option to #each
- can request types in reserse alphabetical order
- accepts reverse order as an option to #each
- can mix filters
- can request workflwo types with a given name
- accepts :name to #each
- behaves like a collection with #enum
- should be enumerable
- responds to enumerator
- returns an enumerator
- returns an enumerator for the each method
- passes arguments to the each method
- #each
- with :limit
- passes :limit as limit_key
- makes requests until the total number of items received == limit
- stops short of the limit if a truncated response is returned
- with :batch_size param
- convert batch size into a limit
- requests :batch_size num elements until response is truncated
- with :limit and :batch_size
- makes requests while response is truncated
- it should behave like a collection that yields models
- #each
- yields the correct number of members
- yields instances of the member class
- yields objects with the correct config
- behaves like a collection that yields models
- yields types with populated names
- yields types with populated versions
- yields types with populated descriptions
- yields types with populated creation dates
- #each
- yields the correct number of members
- yields instances of the member class
- yields objects with the correct config
- #register
- accepts :default_execution_start_to_close_timeout as an integer
- accepts :default_execution_start_to_close_timeout as :none
- accepts :default_task_start_to_close_timeout as an integer
- accepts :default_task_start_to_close_timeout as :none
- upcases :default_child_policy
- AWS::SimpleWorkflow::WorkflowType
- #start_execution
- calls #start_workflow_execution on the client
- :workflow_id
- autogenerates a workflow id
- accepts a workflow id
- :task_start_to_close_timeout
- accepts integers
- converts :none into NONE
- :execution_start_to_close_timeout
- accepts integers
- converts :none into NONE
- :task_list
- accepts a task list
- #count_executions
- counts workflow executions of its own type
- it should behave like a simple workflow type
- #domain
- returns the domain it was constructed with
- #name
- is set in the constructor
- #version
- is set in the constructor
- #exists?
- returns true when the domain can be described
- returns false when the domain can not be described
- #description
- returns the description if set
- describes the type to get a description if not set
- returns nil when the description is not set
- is static
- #status
- describes the workflow type to get the status
- is not static
- can be memoized
- #creation_date
- describes the workflow type to get the date
- casts the creation time to a time object
- can be cached in the constructor
- is static
- #deprecation_date
- describes the workflow type to get the date
- casts the creation time to a time object
- configuration attributes
- caches :default_child_policy when passed to the constructor
- describes the type to get :default_child_policy when not available
- :default_child_policy is static
- caches :default_execution_start_to_close_timeout when passed to the constructor
- describes the type to get :default_execution_start_to_close_timeout when not available
- :default_execution_start_to_close_timeout is static
- caches :default_task_start_to_close_timeout when passed to the constructor
- describes the type to get :default_task_start_to_close_timeout when not available
- :default_task_start_to_close_timeout is static
- #deprecate
- calls the deprecate type method on the client
- is aliased to #delete
- #deprecated?
- returns true when the status is DEPRECATED
- returns false when the status is REGISTERED
- #count_executions
- calls count on the workflow executions collection
- AWS::SimpleWorkflow
- behaves like a class that accepts configuration
- accepts and returns a :config option
- constructor passes options to Configuration#with
- returns the merged config
- #domains
- returns a domain collection
- returns a collection with the correct config
- AWS::SNS::Policy::Statement
- it should behave like generic policy statement
- #initialize
- should yield the statement object
- should work without a block
- should not output both Action and NotAction
- it should behave like singular constructor arg
- should accept Effect
- should accept :effect
- should output the :effect constructor arg
- should not have a effect value when it is explicitly nil
- it should behave like singular constructor arg
- should accept Sid
- should accept :sid
- should output the :sid constructor arg
- should not have a sid value when it is explicitly nil
- it should behave like array constructor arg
- should accept actions (single)
- should accept Action (single)
- should accept actions (multiple)
- should accept Action (multiple)
- it should behave like array constructor arg
- should accept excluded_actions (single)
- should accept NotAction (single)
- should accept excluded_actions (multiple)
- should accept NotAction (multiple)
- it should behave like array constructor arg
- should accept principals (single)
- should accept Principal (single)
- should accept principals (multiple)
- should accept Principal (multiple)
- it should behave like array constructor arg
- should accept resources (single)
- should accept Resource (single)
- should accept resources (multiple)
- should accept Resource (multiple)
- Principal hash option
- should accept a hash
- should accept a single AWS principal
- should accept multiple AWS principals
- Condition hash option
- should construct a ConditionBlock
- empty
- #to_h
- should have an Sid generated from a UUID
- should not have a principal
- should not have a condition block
- with an effect
- should generate an Effect
- with AWS account principals
- should generate a multi-valued Principal
- with any AWS account principal
- should generate a wildcard Principal
- with a prefixed string action
- should generate an Action
- with any action
- should generate a wildcard Action
- with multiple actions
- should generate a multi-valued Action
- excluded actions
- should generate a multi-valued NotAction
- #include_actions
- should generate a multi-valued Action
- should add to existing actions
- #exclude_actions
- should generate a multi-valued NotAction
- should add to existing actions
- with a resource ARN
- should generate a Resource key
- with :any as the resource
- should generate a wildcard for the Resource
- with a condition block
- should generate a Condition key
- #conditions
- should be a ConditionBlock by default
- it should behave like service specific policy statement
- symbolized action names
- raises error for unknown actions
- translates action names
- translates excluded actions
- resource arns
- accepts topics
- AWS::SNS::Request
- it should behave like an authorize v2 request
- #string_to_sign
- first line should match the request http method
- second line should match the host
- third line should match the path
- 4th line should be sorted encoded key/value pairs
- #add_authorization!
- adds a signature version param
- adds a signature method param
- adds a signature param
- adds the access key id param
- it should behave like an authorize v2 request with a session token
- #add_authorization!
- no configured session token
- should not add the SecurityToken parameter
- has a session token configured
- should add the SecurityToken parameter
- AWS::SNS::SubscriptionCollection
- it should behave like collection object
- it should behave like enumerable
- should not read the client
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- it should behave like paginated collection
- continunes calling get_topics when a next_token is returned
- yielded objects
- should have the correct arns
- should have the correct endpoints
- should have the correct protocols
- should have the correct owner IDs
- should have the correct topic ARNs
- should have topics with the correct config
- #[]
- should return a subscription object
- AWS::SNS::Subscription
- it should behave like a resource object
- #inspect
- should include the ID
- it should behave like resource equality method
- #==
- same class
- should return true if everything matches
- should return false if any identifying information does not match
- different class
- should return false
- it should behave like resource equality method
- #eql?
- same class
- should return true if everything matches
- should return false if any identifying information does not match
- different class
- should return false
- behaves like it has a delivery policy
- #delivery_policy_json
- returns the raw json
- returns nil if the policy is not present
- #delivery_policy
- returns nil if the policy is not present
- #effective_delivery_policy_json
- returns the raw json
- returns nil if the policy is not present
- #effective_delivery_policy
- returns the parsed json
- #delivery_policy=
- calls the set attributes client method
- calls #to_json on non-string arguments
- passes an empty string when the policy is nil
- #initialize
- should set the arn
- should set the topic
- should set the endpoint
- should set the protocol
- should set the owner_id
- #unsubscribe
- should call unsubscribe
- should return nil
- #exists?
- calls #get_subscription_attributes on the client
- returns true if no error is raised
- returns false if the client raises a not found error
- returns false if the client raises an invalid parameter error
- AWS::SNS::TopicCollection
- behaves like enumerable
- should not read the client
- #create
- call create_topic on the client
- returns a new topic
- returns a new topic with the correct arn
- returns a topic with the correct config
- #[]
- returns a topic
- returns a topic with the given arn
- returns a topic with the correct config
- raises an argument error when an invalid topic arn is passed
- #each
- calls list_topics on the client
- yields once for each returned topic
- yields topic objects with the correct arns and configs
- continunes calling get_topics when a next_token is returned
- AWS::SNS::Topic
- behaves like it has a delivery policy
- #delivery_policy_json
- returns the raw json
- returns nil if the policy is not present
- #delivery_policy
- returns nil if the policy is not present
- #effective_delivery_policy_json
- returns the raw json
- returns nil if the policy is not present
- #effective_delivery_policy
- returns the parsed json
- #delivery_policy=
- calls the set attributes client method
- calls #to_json on non-string arguments
- passes an empty string when the policy is nil
- #config
- returns the config from initialize
- #arn
- returns the arn from initialize
- #name
- returns the trailing piece from the arn
- it should not make any requests against client
- #subscribe
- should return a subscription if an ARN is returned
- should return nil if the subscription is pending
- endpoint
- http
- should use the "http" protocol
- should accept a URI object
- https
- should use the "https" protocol
- should accept a URI object
- email
- should use the "email" protocol
- sms
- accepts phone numbers 11 characters or longer
- strips non-digits from the phone number
- email-json
- should use the "email-json" protocol
- sqs
- should use the "sqs" protocol
- should accept an SQS::Queue object
- should add a policy when the queue has not policy
- should update an existing queue policy
- should not update policy when :update_policy is false
- should raise ArgumentError if the ARN is not SQS-like
- unrecognized endpoint protocol
- should raise ArgumentError
- #confirm_subscription
- should call confirm_subscription on the client
- should pass :authenticate_on_unsubscribe
- should return a subscription object with the ARN from the response
- #subscriptions
- should return a collection of subscriptions for the topic
- attributes
- #display_name
- calls get_topic_attributes
- returns the display name as a string
- returns the name when the display name is not present
- #num_subscriptions_confirmed
- calls get_topic_attributes
- returns the num_subscriptions_confirmed as an integer
- #num_subscriptions_pending
- calls get_topic_attributes
- returns the num_subscriptions_pending as an integer
- #num_subscriptions_deleted
- calls get_topic_attributes
- returns the num_subscriptions_deleted as an integer
- #owner
- calls get_topic_attributes
- returns the owner as a string
- #policy
- calls get_topic_attributes
- returns the policy
- #publish
- calls publish on the client
- returns the message id from the response
- passes the subject along
- passes the http message along
- passes the https message along
- passes the email message along
- passes the email_json message along
- passes the sqs message along
- #delete
- calls delete_topic on the client
- returns nil
- #==
- returns true for topics with matching arn
- returns false for topics with miss-matching arn
- AWS::SNS::TopicSubscriptionCollection
- it should behave like collection object
- should pass the topic ARN
- it should behave like enumerable
- should not read the client
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- it should behave like paginated collection
- continunes calling get_topics when a next_token is returned
- yielded objects
- should have the correct arns
- should have the correct endpoints
- should have the correct protocols
- should have the correct owner IDs
- should have the correct topic ARNs
- should have topics with the correct config
- #[]
- should return a subscription object
- #initialize
- should store the topic
- AWS::SNS
- behaves like a class that accepts configuration
- accepts and returns a :config option
- constructor passes options to Configuration#with
- returns the merged config
- #topics
- returns a topics collections
- returns a collection with the correct config
- #subscriptions
- returns a subscriptions collection
- returns a collection with the correct config
- AWS::SQS::Client
- error parsing
- should raise the correct error class
- should strip the AWS.SimpleQueueService prefix when forming the class name
- AWS::SQS::Policy::Statement
- it should behave like generic policy statement
- #initialize
- should yield the statement object
- should work without a block
- should not output both Action and NotAction
- it should behave like singular constructor arg
- should accept Effect
- should accept :effect
- should output the :effect constructor arg
- should not have a effect value when it is explicitly nil
- it should behave like singular constructor arg
- should accept Sid
- should accept :sid
- should output the :sid constructor arg
- should not have a sid value when it is explicitly nil
- it should behave like array constructor arg
- should accept actions (single)
- should accept Action (single)
- should accept actions (multiple)
- should accept Action (multiple)
- it should behave like array constructor arg
- should accept excluded_actions (single)
- should accept NotAction (single)
- should accept excluded_actions (multiple)
- should accept NotAction (multiple)
- it should behave like array constructor arg
- should accept principals (single)
- should accept Principal (single)
- should accept principals (multiple)
- should accept Principal (multiple)
- it should behave like array constructor arg
- should accept resources (single)
- should accept Resource (single)
- should accept resources (multiple)
- should accept Resource (multiple)
- Principal hash option
- should accept a hash
- should accept a single AWS principal
- should accept multiple AWS principals
- Condition hash option
- should construct a ConditionBlock
- empty
- #to_h
- should have an Sid generated from a UUID
- should not have a principal
- should not have a condition block
- with an effect
- should generate an Effect
- with AWS account principals
- should generate a multi-valued Principal
- with any AWS account principal
- should generate a wildcard Principal
- with a prefixed string action
- should generate an Action
- with any action
- should generate a wildcard Action
- with multiple actions
- should generate a multi-valued Action
- excluded actions
- should generate a multi-valued NotAction
- #include_actions
- should generate a multi-valued Action
- should add to existing actions
- #exclude_actions
- should generate a multi-valued NotAction
- should add to existing actions
- with a resource ARN
- should generate a Resource key
- with :any as the resource
- should generate a wildcard for the Resource
- with a condition block
- should generate a Condition key
- #conditions
- should be a ConditionBlock by default
- it should behave like service specific policy statement
- symbolized action names
- raises error for unknown actions
- translates action names
- translates excluded actions
- resource arns
- prefixes queues
- AWS::SQS::QueueCollection
- it should behave like an SQS model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should have a short inspect method
- it should behave like collection object
- it should behave like enumerable
- should not read the client
- #each
- calls the describe method
- yields an instance of the member class
- passes the config
- should yield the right number of objects
- yielded objects
- should have the correct queue URL
- #create
- should call create_queue
- should pass additional options
- should return a queue object with the URL set
- renames the deprecated :default_visibility_timeout option
- passes policy strings unmodified
- calls #to_json on all other policy options
- merges multiple options/attributes
- #url_for
- gets the url for a queue
- accepts an :queue_owner_aws_account_id
- returns the queue url from the response
- #with_prefix
- should return a collection with the prefix
- should preserve the config
- should not modify the original
- should pass :queue_name_prefix to the client
- #[]
- should return a queue object with the given url
- AWS::SQS::Queue
- it should behave like an SQS model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should have a short inspect method
- it should behave like a resource object
- #inspect
- should include the ID
- it should behave like resource equality method
- #==
- same class
- should return true if everything matches
- should return false if any identifying information does not match
- different class
- should return false
- it should behave like resource equality method
- #eql?
- same class
- should return true if everything matches
- should return false if any identifying information does not match
- different class
- should return false
- #initialize
- should store the url
- #delete
- returns nil
- should call delete_queue
- #send_message
- should call send_message on the client
- passes along the delay option
- should return an object with the message ID from the response
- should return an object with the md5 digest from the response
- receiving messages
- #receive_message
- should call receive_message on the client
- should pass :visibility_timeout
- should pass :attributes as :attribute_names
- should return a message object with the response data
- should pass the attribute data to the message constructor
- should pass :limit as :max_number_of_messages
- should return an array of message objects if :limit is passed
- should return nil if no messages are returned
- attribute names
- should inflect symbol names
- should interpret aliases
- block form
- should yield the message
- should not call the block if no message is returned
- should return the return value of the block
- should automatically delete the message on normal exit
- should not delete the message on an exceptional exit
- #poll
- should call receive_message on the client
- should pass :visibility_timeout
- should pass :batch_size as :max_number_of_messages
- yields each message
- calls receive_message repeatedly
- :poll_interval
- sleeps after each empty response
- has sleep time configurable through :poll_interval
- does not sleep at all if :poll_interval is 0
- :idle_timeout
- should stop polling if the timeout has elapsed since the last message
- should not stop if another item is received before the timeout
- should not stop as long as items are being received
- :initial_timeout
- should stop polling if the timeout expires before the first message
- should override the idle timeout if smaller
- should default to the idle timeout
- should not prevent the first message within the timeout
- should override the idle timeout if larger
- should not prevent the first message if false
- should not apply after the first message
- #exists?
- should call get_queue_attributes
- should return false if NonExistentQueue is raised
- should return false if InvalidAddress is raised
- should return true if no exception is raised
- should not rescue other exceptions
- #approximate_number_of_messages
- it should behave like sqs queue attribute accessor
- should call get_queue_attributes
- should return the correct value
- should populate the arn
- #approximate_number_of_messages_not_visible
- it should behave like sqs queue attribute accessor
- should call get_queue_attributes
- should return the correct value
- should populate the arn
- #visibility_timeout
- it should behave like sqs queue attribute accessor
- should call get_queue_attributes
- should return the correct value
- should populate the arn
- #visibility_timeout=
- should call set_queue_attributes
- returns nil
- #created_timestamp
- it should behave like sqs queue attribute accessor
- should call get_queue_attributes
- should return the correct value
- should populate the arn
- #last_modified_timestamp
- it should behave like sqs queue attribute accessor
- should call get_queue_attributes
- should return the correct value
- should populate the arn
- #maximum_message_size
- it should behave like sqs queue attribute accessor
- should call get_queue_attributes
- should return the correct value
- should populate the arn
- #maximum_message_size=
- returns the size argument
- should call set_queue_attributes
- #message_retention_period
- it should behave like sqs queue attribute accessor
- should call get_queue_attributes
- should return the correct value
- should populate the arn
- #message_retention_period=
- should call set_queue_attributes
- returns the period argument
- #arn
- it should behave like sqs queue attribute accessor
- should call get_queue_attributes
- should return the correct value
- should populate the arn
- #policy
- it should behave like sqs queue attribute accessor
- should call get_queue_attributes
- should return the correct value
- should populate the arn
- #policy=
- should call set queue attribute
- passes policy strings unmodified
- deletes a policy by passing an empty string
- #batch_delete
- calls #delete_message_batch on the client
- accepts an array of values
- returns nil
- accepts ReceivedMesssage objects
- raises an error if some of the messages in the batch fail
- #batch_change_visibility
- calls #change_message_visibility_batch on the client
- accepts an array of values
- accepts ReceivedMesssage objects
- accepts a list of hashes
- returns nil
- raises an error if any of the messages in the batch fail
- #batch_send
- calls #send_message_batch on the client
- accepts an array of messages
- returns an array of sent messages
- raises a BatchSendError if any of the messages failed
- AWS::SQS::ReceivedMessage
- it should behave like an SQS model object
- #initialize
- should not read the client
- #client
- gets the client from the configuration
- #inspect
- should have a short inspect method
- #initialize
- should store the queue
- should store the id
- should store the handle
- should store the body
- should store the md5 digest
- should store the attributes
- #as_sns_message
- returns a recieved sns message object
- #delete
- should call delete_message
- #visibility_timeout=
- returns the timeout argument
- should call change_message_visibility
- attribute accessors
- #sender_id
- should return the SenderId attribute
- should be nil when there is no SenderId attribute
- #sent_timestamp
- should return the SentTimestamp attribute as a Time object
- should be nil when there is no SentTimestamp attribute
- #approximate_receive_count
- should return the ApproximateReceiveCount attribute as an integer
- should be nil when there is no ApproximateReceiveCount attribute
- #approximate_first_receive_timestamp
- should return the ApproximateFirstReceiveTimestamp attribute as a Time object
- should be nil when there is no ApproximateFirstReceiveTimestamp attribute
- AWS::SQS::ReceivedSNSMessage
- #body
- it decodes and returns the message as body
- #topic_arn
- it decodes and returns the topic arn
- #topic
- it returns the sns topic
- #message_type
- it decodes and returns the message type
- #signature
- it decodes and returns the signature
- #published_at
- it decodes and returns the time the message was published
- #message_id
- it decodes and returns the message id
- #signing_cert_url
- it decodes and returns the signing cert url
- #unsubscribe_url
- it decodes and returns the unsubscribe url
- AWS::SQS::Request
- it should behave like an authorize v2 request
- #string_to_sign
- first line should match the request http method
- second line should match the host
- third line should match the path
- 4th line should be sorted encoded key/value pairs
- #add_authorization!
- adds a signature version param
- adds a signature method param
- adds a signature param
- adds the access key id param
- it should behave like an authorize v2 request with a session token
- #add_authorization!
- no configured session token
- should not add the SecurityToken parameter
- has a session token configured
- should add the SecurityToken parameter
- no queue URL parameter
- should use the endpoint as the host
- should have the path "/"
- queue URL parameter included
- should use the host from the queue URL
- should use the path from the queue URL
- AWS::SQS
- behaves like a class that accepts configuration
- accepts and returns a :config option
- constructor passes options to Configuration#with
- returns the merged config
- #queues
- it should behave like sqs top level collection
- should return an instance of AWS::SQS::QueueCollection
- should pass the config
- AWS::STS::Client
- error parsing
- should raise the correct error class
- #new
- accepts :use_ssl as true
- does not accept :use_ssl => false
- AWS::STS::FederatedSession
- #initialize
- should store the user ID
- should store the user ARN
- should store the packed policy size
- AWS::STS::Policy
- #to_h
- should not include an ID
- AWS::STS::Request
- it should behave like an authorize v4 request
- #add_authorization!
- sets the content type form-urlencoded by default
- populates the host header
- populates the date header
- omits the security token header when session token not provided
- populates the security token header when session token is provided
- popualtes the authorization header (FAILED - 11)
- includes the session token in the signature when present (FAILED - 12)
- AWS::STS::Session
- #initialize
- should store the credentials
- should store the expiration time
- AWS::STS
- behaves like a class that accepts configuration
- accepts and returns a :config option
- constructor passes options to Configuration#with
- returns the merged config
- #new_session
- should call get_session_token
- should pass :duration as :duration_seconds
- should return a session object
- should set the credentials hash
- should set the expiration time
- #new_federated_session
- should call get_federation_token
- should pass :duration as :duration_seconds
- should return a federated session object
- should set the credentials hash
- should set the expiration time
- should set the user ID
- should set the user ARN
- should set the packed policy size
- :policy
- should accept a string
- should accept an object that responds to to_json
- AWS
- #config
- should return a configuration object
- should pass options through to Configuration#with
- should return the same config when no options are added
- #stub!
- should set the config :stub_clients to true
- #start_memoizing
- should enable memoization
- should return nil
- should not extend into other threads
- #stop_memoizing
- should do nothing if memoization is disabled
- should stop memoization
- should only affect the current thread
- #memoize
- should call start_memoization
- should call stop_memoization at the end of the block
- should call stop_memoization for an exceptional exit
- should return the return value of the block
- while already memoizing
- should do nothing
- #resource_cache
- it should behave like memoization cache
- memoizing
- should return a resource cache object
- should return a different cache each time memoization is enabled
- should return a different cache in each thread
- not memoizing
- should return nil
- #response_cache
- it should behave like memoization cache
- memoizing
- should return a resource cache object
- should return a different cache each time memoization is enabled
- should return a different cache in each thread
- not memoizing
- should return nil
- #config
- SERVICE_region
- returns REGION when endpoint is SERVICE.REGION.amazonaws.com
- returns us-east-1 when endpoint is SERVCIE.amazonaws.com
- returns us-gov-west-1 when endpoint is ec2.us-gov-west-1.amazonaws.com
- returns us-gov-west-2 when endpoint is s3-fips-us-gov-west-1.amazonaws.com
- returns us-gov-west-1 when endpoint is iam.us-gov.amazonaws.com
- Net::HTTP::ConnectionPool::Connection
- #pool
- returns the connection pool
- #host
- returns the host
- #port
- defaults to port 80
- can be set in the options
- #ssl
- defaults to false when port is 80
- defaults to true when port is 443
- can be set with port
- #ssl?
- returns the same value as #ssl
- #proxy_address
- defaults to nil
- can be set by :proxy_uri
- can be set by :proxy_address
- #proxy_port
- defaults to nil
- can be set by :proxy_uri
- can be set by :proxy_port
- #proxy_user
- defaults to nil
- can be set by :proxy_uri
- can be set by :proxy_user
- #proxy_password
- defaults to nil
- can be set by :proxy_uri
- can be set by :proxy_password
- #connection_key
- returns a suitable connection key
- #proxy?
- returns false if #proxy_address is blank
- returns true if #proxy_address is set
- read timeout
- defaults to 60 seconds
- can be set to something else
- can be changed
- #key
- creates a key that represents the connection
- defaults the port to 80 when ssl is not provided
- defaults the port to 443 when ssl is not true
- defaults the port to 80 when ssl is not false
- defaults ssl to true when port is 443
- defaults ssl to false when port 80
- accepts both port as 80 and ssl true
- accepts both port as 80 and ssl true
- encodes ssl options
- accepts a string proxy uri
- accepts a URI::HTTP object for proxy uri
- #request
- sets the read timeout before each request
- sets the read timeout before each request
- Net::HTTP::ConnectionPool
- reuses connections
- creates connections as needed
- drops idle connections from the pool
- Net::HTTP::ConnectionPool::Session
- #http_session
- returns the raw http sessoin
- #key
- returns the connection key
- timestamps
- defaults #created_at to now
- defaults #last_used_at to nil
- updates #last_used_at to now after calling #request
- #request
- passes arguments to the session#request
- passes multiple arguments and block arguments
- ::for
- returns a Session
- calls start on the session
- sets the http open timeout before starting the session
- constructs an http session from the connection
- does not enable ssl unless requested
- passes proxy options to the session constructor
- enables peer verification by default
- accepts a certificate authority file
- accepts a certificate authority path
- allows ssl without peer verification
- Net::HTTP::ConnectionPool
- #initialize
- :idle_timeout
- defaults to to 60 seconds
- can be set as a number
- #http_wire_trace
- defaults to false
- can be set to true
- #logger
- defaults to nil
- defaults to a $stdout logger when :http_wire_trace set to true
- can be set to any logger, does not affect wire trace logging
- can be set with :http_wire_trace, overriding default stdout logger
- :open_timeout
- defaults to 15 seconds
- can be set as a number
- is set on http session before calling start
- #connection_for
- returns a Connection object
- returns a connection with the connection pool
- returns a connection with the correct host
- returns a connection with the correct options
- #request
- makes an http request
- cleaning up old sessions
- cleans up sessions that have sat idle longer than allowed
- does not return cleaned up sessions
- Pending:
- AWS::Core::OptionGrammar#customize hint data value descriptors map should generate the correct query parameters
- # Not yet implemented
- # ./spec/aws/core/option_grammar_spec.rb:529
- AWS::Core::OptionGrammar#customize hint data value descriptors map of string to list should generate the correct query parameters
- # Not yet implemented
- # ./spec/aws/core/option_grammar_spec.rb:560
- AWS::Core::OptionGrammar#customize hint data value descriptors map of string to structure should generate the correct query parameters
- # Not yet implemented
- # ./spec/aws/core/option_grammar_spec.rb:586
- AWS::EC2::Instance#export calls #create_instance_export_task on the client
- # Not yet implemented
- # ./spec/aws/ec2/instance_spec.rb:1294
- AWS::EC2::Instance#export returns a populated ExportTask object
- # Not yet implemented
- # ./spec/aws/ec2/instance_spec.rb:1296
- AWS::EC2::Instance#export calling #cancel terminates the export task
- # Not yet implemented
- # ./spec/aws/ec2/instance_spec.rb:1298
- AWS::Record::Model it should behave like an aws record base class it should behave like record class it should behave like shardable set_shard_name finds an object via the correct shard
- # No reason given
- # ./spec/shared/record/shardable_examples.rb:45
- AWS::Record::Model it should behave like an aws record base class it should behave like record class it should behave like shardable set_shard_name finds an object via the correct shard
- # No reason given
- # ./spec/shared/record/shardable_examples.rb:45
- AWS::SimpleDB::Errors::DuplicateItemName it should behave like modeled sdb exception should expose box_usage as a float
- # No reason given
- # ./spec/aws/simple_db/errors_spec.rb:49
- Failures:
- 1) AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
- Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346")
-
- expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346"
- got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=4c92fc6d5415ff9cc6e8a667ffab3986890c987d043c2bf96d27449a95cebe43"
-
- (compared using ==)
- Shared Example Group: "an authorize v4 request" called from ./spec/aws/auto_scaling/request_spec.rb:20
- # ./spec/shared/signature/version_4_examples.rb:76
- 2) AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
- Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991")
-
- expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991"
- got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=f3794f9465cdf96f2e54f7db05f5cdaca79cbbcf83a1d3cce4f69c4da6f1d1e3"
-
- (compared using ==)
- Shared Example Group: "an authorize v4 request" called from ./spec/aws/auto_scaling/request_spec.rb:20
- # ./spec/shared/signature/version_4_examples.rb:82
- 3) AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
- Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346")
-
- expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346"
- got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=4c92fc6d5415ff9cc6e8a667ffab3986890c987d043c2bf96d27449a95cebe43"
-
- (compared using ==)
- Shared Example Group: "an authorize v4 request" called from ./spec/aws/cloud_formation/request_spec.rb:20
- # ./spec/shared/signature/version_4_examples.rb:76
- 4) AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
- Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991")
-
- expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991"
- got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=f3794f9465cdf96f2e54f7db05f5cdaca79cbbcf83a1d3cce4f69c4da6f1d1e3"
-
- (compared using ==)
- Shared Example Group: "an authorize v4 request" called from ./spec/aws/cloud_formation/request_spec.rb:20
- # ./spec/shared/signature/version_4_examples.rb:82
- 5) AWS::DynamoDB::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
- Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346")
-
- expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346"
- got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=4c92fc6d5415ff9cc6e8a667ffab3986890c987d043c2bf96d27449a95cebe43"
-
- (compared using ==)
- Shared Example Group: "an authorize v4 request" called from ./spec/aws/dynamo_db/request_spec.rb:20
- # ./spec/shared/signature/version_4_examples.rb:76
- 6) AWS::DynamoDB::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
- Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991")
-
- expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991"
- got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=f3794f9465cdf96f2e54f7db05f5cdaca79cbbcf83a1d3cce4f69c4da6f1d1e3"
-
- (compared using ==)
- Shared Example Group: "an authorize v4 request" called from ./spec/aws/dynamo_db/request_spec.rb:20
- # ./spec/shared/signature/version_4_examples.rb:82
- 7) AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
- Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346")
-
- expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346"
- got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=4c92fc6d5415ff9cc6e8a667ffab3986890c987d043c2bf96d27449a95cebe43"
-
- (compared using ==)
- Shared Example Group: "an authorize v4 request" called from ./spec/aws/iam/request_spec.rb:20
- # ./spec/shared/signature/version_4_examples.rb:76
- 8) AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
- Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991")
-
- expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991"
- got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=f3794f9465cdf96f2e54f7db05f5cdaca79cbbcf83a1d3cce4f69c4da6f1d1e3"
-
- (compared using ==)
- Shared Example Group: "an authorize v4 request" called from ./spec/aws/iam/request_spec.rb:20
- # ./spec/shared/signature/version_4_examples.rb:82
- 9) AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
- Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346")
-
- expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346"
- got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=4c92fc6d5415ff9cc6e8a667ffab3986890c987d043c2bf96d27449a95cebe43"
-
- (compared using ==)
- Shared Example Group: "an authorize v4 request" called from ./spec/aws/simple_email_service/request_spec.rb:20
- # ./spec/shared/signature/version_4_examples.rb:76
- 10) AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
- Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991")
-
- expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991"
- got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=f3794f9465cdf96f2e54f7db05f5cdaca79cbbcf83a1d3cce4f69c4da6f1d1e3"
-
- (compared using ==)
- Shared Example Group: "an authorize v4 request" called from ./spec/aws/simple_email_service/request_spec.rb:20
- # ./spec/shared/signature/version_4_examples.rb:82
- 11) AWS::STS::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
- Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346")
-
- expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=58ba42aa064264dc8b8d056d1e1a174679d2fcfa545bb860145b23ee20342346"
- got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=4c92fc6d5415ff9cc6e8a667ffab3986890c987d043c2bf96d27449a95cebe43"
-
- (compared using ==)
- Shared Example Group: "an authorize v4 request" called from ./spec/aws/sts/request_spec.rb:20
- # ./spec/shared/signature/version_4_examples.rb:76
- 12) AWS::STS::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
- Failure/Error: request.headers['authorization'].should eq("AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991")
-
- expected: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=c6345f040b0b32469729beb2f57fb706b133e65ef32f8bc2a18aee77c51c8991"
- got: "AWS4-HMAC-SHA256 Credential=akid/20120101/region-name/service-name/aws4_request, SignedHeaders=content-type;host;x-amz-date;x-amz-security-token, Signature=f3794f9465cdf96f2e54f7db05f5cdaca79cbbcf83a1d3cce4f69c4da6f1d1e3"
-
- (compared using ==)
- Shared Example Group: "an authorize v4 request" called from ./spec/aws/sts/request_spec.rb:20
- # ./spec/shared/signature/version_4_examples.rb:82
- Finished in 1 minute 47.83 seconds
- 10951 examples, 12 failures, 9 pending
- Failed examples:
- rspec ./spec/shared/signature/version_4_examples.rb:73 # AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
- rspec ./spec/shared/signature/version_4_examples.rb:79 # AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
- rspec ./spec/shared/signature/version_4_examples.rb:73 # AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
- rspec ./spec/shared/signature/version_4_examples.rb:79 # AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
- rspec ./spec/shared/signature/version_4_examples.rb:73 # AWS::DynamoDB::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
- rspec ./spec/shared/signature/version_4_examples.rb:79 # AWS::DynamoDB::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
- rspec ./spec/shared/signature/version_4_examples.rb:73 # AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
- rspec ./spec/shared/signature/version_4_examples.rb:79 # AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
- rspec ./spec/shared/signature/version_4_examples.rb:73 # AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
- rspec ./spec/shared/signature/version_4_examples.rb:79 # AWS::SimpleEmailService::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
- rspec ./spec/shared/signature/version_4_examples.rb:73 # AWS::STS::Request it should behave like an authorize v4 request#add_authorization! popualtes the authorization header
- rspec ./spec/shared/signature/version_4_examples.rb:79 # AWS::STS::Request it should behave like an authorize v4 request#add_authorization! includes the session token in the signature when present
- * ERROR: dev-ruby/aws-sdk-1.5.7 failed (test phase):
- * rspec failed
- *
- * Call stack:
- * ebuild.sh, line 85: Called src_test
- * environment, line 4605: Called ruby-ng_src_test
- * environment, line 4291: Called _ruby_each_implementation 'each_ruby_test'
- * environment, line 615: Called _ruby_invoke_environment 'ruby18' 'each_ruby_test'
- * environment, line 667: Called each_ruby_test
- * environment, line 950: Called each_fakegem_test
- * environment, line 936: Called ruby-ng_rspec
- * environment, line 4255: Called die
- * The specific snippet of code:
- * ${RUBY} -S rspec ${rspec_params} "$@" || die "rspec failed"
- *
- * If you need support, post the output of `emerge --info '=dev-ruby/aws-sdk-1.5.7'`,
- * the complete build log and the output of `emerge -pqv '=dev-ruby/aws-sdk-1.5.7'`.
- !!! When you file a bug report, please include the following information:
- GENTOO_VM= CLASSPATH="/usr/libexec/ccp4/bin:/usr/libexec/ccp4/bin:" JAVA_HOME="/etc/java-config-2/current-system-vm"
- JAVACFLAGS="" COMPILER=""
- and of course, the output of emerge --info
- * The complete build log is located at '/var/log/portage/dev-ruby:aws-sdk-1.5.7:20120721-121919.log'.
- * For convenience, a symlink to the build log is located at '/tmp/portage/dev-ruby/aws-sdk-1.5.7/temp/build.log'.
- * The ebuild environment file is located at '/tmp/portage/dev-ruby/aws-sdk-1.5.7/temp/environment'.
- * Working directory: '/tmp/portage/dev-ruby/aws-sdk-1.5.7/work/ruby18/amazonwebservices-aws-sdk-for-ruby-fe86658'
- * S: '/tmp/portage/dev-ruby/aws-sdk-1.5.7/work/ruby18/amazonwebservices-aws-sdk-for-ruby-fe86658'
- >>> Install aws-sdk-1.5.7 into /tmp/portage/dev-ruby/aws-sdk-1.5.7/image/ category dev-ruby
- * Running install phase for ruby18 ...
- * Running install phase for ruby19 ...
- * Running install phase for ree18 ...
- * Running install phase for all ...
- * Running check install phase for ruby18 ...
- * Running check install phase for ruby19 ...
- * Running check install phase for ree18 ...
- >>> Completed installing aws-sdk-1.5.7 into /tmp/portage/dev-ruby/aws-sdk-1.5.7/image/
- ecompressdir: bzip2 -9 /usr/share/doc