Class: AwsCli::CLI::DYNAMO::Item
- Inherits:
-
Thor
- Object
- Thor
- AwsCli::CLI::DYNAMO::Item
- Defined in:
- lib/awscli/cli/dynamo/item.rb
Instance Method Summary collapse
- #batch_get ⇒ Object
- #batch_write ⇒ Object
- #delete ⇒ Object
- #get ⇒ Object
- #put ⇒ Object
- #query ⇒ Object
- #scan ⇒ Object
- #update ⇒ Object
Instance Method Details
#batch_get ⇒ Object
212 213 214 215 216 217 218 219 220 221 222 223 |
# File 'lib/awscli/cli/dynamo/item.rb', line 212 def batch_get unless [:requests] abort 'option --requests is required' end [:requests].each do |request| unless request =~ /^(.*?)(?:,((N|S|B|NS|SS|BS)=(.*?))(:(N|S|B|NS|SS|BS)=(.*?))*)+$/ abort 'Invalid --request format, see `awscli dynamo item help batch_get` for usage examples' end end create_dynamo_object @ddb.batch_get end |
#batch_write ⇒ Object
240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 |
# File 'lib/awscli/cli/dynamo/item.rb', line 240 def batch_write unless [:put_requests] or [:delete_requests] abort 'option --put-requests or --delete-requests is required to perform batch_write' end [:put_requests] and [:put_requests].each do |put_request| unless put_request =~ /^(.*?)(?:,((.*?):(N|S|B|NS|SS|BS):(.*?))*)+$/ abort 'Invalid --put-requests format, see `awscli dynamo item help batch_write` for usage examples' end end [:delete_requests] and [:delete_requests].each do |delete_request| unless delete_request =~ /^(.*?)(?:,((N|S|B|NS|SS|BS)=(.*?))(:(N|S|B|NS|SS|BS)=(.*?))*)+$/ abort 'Invalid --delete-requests format, see `awscli dynamo item help batch_write` for usage examples' end end create_dynamo_object @ddb.batch_write end |
#delete ⇒ Object
116 117 118 119 120 121 122 123 124 125 |
# File 'lib/awscli/cli/dynamo/item.rb', line 116 def delete unless [:table_name] and [:hash_key] abort 'required options --table-name, --hash-key' end if [:expected_exists] abort '--expected-exists only accepts true or false' unless %w(true false).include?([:expected_exists]) end create_dynamo_object @ddb.delete end |
#get ⇒ Object
71 72 73 74 75 76 77 |
# File 'lib/awscli/cli/dynamo/item.rb', line 71 def get unless [:table_name] and [:hash_key] abort 'required options --table-name, --hash-key' end create_dynamo_object @ddb.get end |
#put ⇒ Object
54 55 56 57 58 59 60 61 62 63 |
# File 'lib/awscli/cli/dynamo/item.rb', line 54 def put unless [:table_name] and [:item] abort 'required options --table-name, --item' end if [:expected_exists] abort '--expected-exists only accepts true or false' unless %w(true false).include?([:expected_exists]) end create_dynamo_object @ddb.put end |
#query ⇒ Object
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 |
# File 'lib/awscli/cli/dynamo/item.rb', line 144 def query unless [:table_name] and [:hash_key_value] abort 'options --table-name and --hash-key-value are required' end abort 'invalid --hash-key-value format' unless [:hash_key_value] =~ /^(.*?),(.*?)$/ if [:scan_index_forward] abort 'invalid option --scan-index-forward value' unless [:scan_index_forward] =~ /true|false/ end if [:range_key_filter] abort 'invalid --range-key-filter format' unless [:range_key_filter] =~ /^(BETWEEN|BEGINS_WITH|EQ|LE|LT|GE|GT),(N|S|B|NS|SS|BS),(.*?)$/ end if [:start_key] abort 'Invalid --start-key format' unless [:start_key] =~ /^(.*?),(.*?)$/ end if [:start_range_key] abort 'Invalid --start-range-key format' unless [:start_range_key] =~ /^(.*?),(.*?)$/ end create_dynamo_object @ddb.query end |
#scan ⇒ Object
177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 |
# File 'lib/awscli/cli/dynamo/item.rb', line 177 def scan unless [:table_name] abort 'option --table-name is required.' end if [:scan_filter] abort 'Invalid --scan-filter format' unless [:scan_filter] =~ /^(BETWEEN|BEGINS_WITH|EQ|LE|LT|GE|GT),(.*?),(N|S|B|NS|SS|BS),(.*?)$/ end if [:start_key] abort 'Invalid --start-key format' unless [:start_key] =~ /^(.*?),(.*?)$/ end if [:start_range_key] abort 'Invalid --start-range-key format' unless [:start_range_key] =~ /^(.*?),(.*?)$/ end create_dynamo_object @ddb.scan end |
#update ⇒ Object
92 93 94 95 96 97 98 99 100 101 |
# File 'lib/awscli/cli/dynamo/item.rb', line 92 def update unless [:table_name] and [:hash_key] and [:attr_updates] abort 'required options --table-name, --hash-kye, --attr-updates' end if [:expected_exists] abort '--expected-exists only accepts true or false' unless %w(true false).include?([:expected_exists]) end create_dynamo_object @ddb.update end |