aws-sdk 1.8.5 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.yardopts +1 -0
- data/README.rdoc +8 -0
- data/lib/aws-sdk.rb +39 -35
- data/lib/aws/api_config/CloudFront-2012-07-01.yml +2398 -0
- data/lib/aws/api_config/DirectConnect-2012-10-25.yml +475 -0
- data/lib/aws/api_config/DynamoDB-2011-12-05.yml +8 -0
- data/lib/aws/api_config/DynamoDB-2012-08-10.yml +1516 -0
- data/lib/aws/api_config/OpsWorks-2013-02-18.yml +2 -2
- data/lib/aws/auto_scaling.rb +44 -44
- data/lib/aws/auto_scaling/activity.rb +1 -1
- data/lib/aws/auto_scaling/activity_collection.rb +14 -15
- data/lib/aws/auto_scaling/client.rb +277 -277
- data/lib/aws/auto_scaling/config.rb +1 -1
- data/lib/aws/auto_scaling/group.rb +35 -36
- data/lib/aws/auto_scaling/group_collection.rb +10 -10
- data/lib/aws/auto_scaling/group_options.rb +19 -19
- data/lib/aws/auto_scaling/instance.rb +27 -27
- data/lib/aws/auto_scaling/instance_collection.rb +10 -10
- data/lib/aws/auto_scaling/launch_configuration.rb +3 -3
- data/lib/aws/auto_scaling/launch_configuration_collection.rb +1 -1
- data/lib/aws/auto_scaling/notification_configuration.rb +2 -2
- data/lib/aws/auto_scaling/notification_configuration_collection.rb +37 -38
- data/lib/aws/auto_scaling/scaling_policy.rb +3 -3
- data/lib/aws/auto_scaling/scaling_policy_collection.rb +6 -6
- data/lib/aws/auto_scaling/scaling_policy_options.rb +8 -7
- data/lib/aws/auto_scaling/scheduled_action.rb +3 -3
- data/lib/aws/auto_scaling/scheduled_action_collection.rb +28 -28
- data/lib/aws/auto_scaling/tag_collection.rb +30 -28
- data/lib/aws/cloud_formation.rb +95 -94
- data/lib/aws/cloud_formation/client.rb +136 -133
- data/lib/aws/cloud_formation/config.rb +1 -1
- data/lib/aws/cloud_formation/stack.rb +37 -37
- data/lib/aws/cloud_formation/stack_collection.rb +28 -27
- data/lib/aws/cloud_formation/stack_event.rb +9 -11
- data/lib/aws/cloud_formation/stack_output.rb +1 -1
- data/lib/aws/cloud_formation/stack_resource.rb +6 -6
- data/lib/aws/cloud_formation/stack_resource_collection.rb +11 -12
- data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +11 -11
- data/lib/aws/cloud_formation/stack_summary_collection.rb +39 -39
- data/lib/aws/cloud_front.rb +21 -21
- data/lib/aws/cloud_front/client.rb +853 -652
- data/lib/aws/cloud_front/request.rb +3 -0
- data/lib/aws/cloud_search.rb +22 -22
- data/lib/aws/cloud_search/client.rb +322 -315
- data/lib/aws/cloud_search/config.rb +1 -1
- data/lib/aws/cloud_watch.rb +39 -39
- data/lib/aws/cloud_watch/alarm.rb +55 -37
- data/lib/aws/cloud_watch/alarm_collection.rb +18 -18
- data/lib/aws/cloud_watch/alarm_history_item_collection.rb +2 -2
- data/lib/aws/cloud_watch/client.rb +360 -146
- data/lib/aws/cloud_watch/config.rb +1 -1
- data/lib/aws/cloud_watch/metric.rb +15 -15
- data/lib/aws/cloud_watch/metric_alarm_collection.rb +17 -17
- data/lib/aws/cloud_watch/metric_collection.rb +16 -16
- data/lib/aws/cloud_watch/metric_statistics.rb +11 -11
- data/lib/aws/core.rb +243 -225
- data/lib/aws/core/async_handle.rb +13 -13
- data/lib/aws/core/cacheable.rb +14 -15
- data/lib/aws/core/client.rb +40 -15
- data/lib/aws/core/collection.rb +42 -46
- data/lib/aws/core/collection/with_limit_and_next_token.rb +1 -1
- data/lib/aws/core/collection/with_next_token.rb +1 -1
- data/lib/aws/core/configuration.rb +97 -133
- data/lib/aws/core/credential_providers.rb +16 -16
- data/lib/aws/core/data.rb +23 -23
- data/lib/aws/core/http/connection_pool.rb +348 -0
- data/lib/aws/core/http/net_http_handler.rb +17 -26
- data/lib/aws/core/http/patch.rb +102 -0
- data/lib/aws/core/http/request.rb +13 -19
- data/lib/aws/core/http/response.rb +2 -2
- data/lib/aws/core/lazy_error_classes.rb +17 -17
- data/lib/aws/core/log_formatter.rb +70 -104
- data/lib/aws/core/options/json_serializer.rb +1 -1
- data/lib/aws/core/options/validator.rb +4 -4
- data/lib/aws/core/page_result.rb +8 -8
- data/lib/aws/core/policy.rb +49 -49
- data/lib/aws/core/region.rb +72 -0
- data/lib/aws/core/region_collection.rb +106 -0
- data/lib/aws/core/resource.rb +5 -5
- data/lib/aws/core/response.rb +20 -17
- data/lib/aws/core/rest_request_builder.rb +4 -4
- data/lib/aws/core/service_interface.rb +24 -2
- data/lib/aws/core/signature/version_3.rb +2 -2
- data/lib/aws/core/uri_escape.rb +1 -1
- data/lib/aws/core/xml/frame_stack.rb +1 -1
- data/lib/aws/core/xml/grammar.rb +3 -4
- data/lib/aws/core/xml/sax_handlers/libxml.rb +2 -2
- data/lib/aws/core/xml/sax_handlers/nokogiri.rb +3 -3
- data/lib/aws/core/xml/sax_handlers/rexml.rb +5 -5
- data/lib/aws/core/xml/stub.rb +9 -9
- data/lib/aws/data_pipeline.rb +21 -21
- data/lib/aws/data_pipeline/client.rb +189 -133
- data/lib/aws/data_pipeline/config.rb +1 -1
- data/lib/aws/direct_connect.rb +74 -0
- data/lib/aws/direct_connect/client.rb +253 -0
- data/lib/aws/direct_connect/config.rb +18 -0
- data/lib/aws/direct_connect/errors.rb +22 -0
- data/lib/aws/direct_connect/request.rb +27 -0
- data/lib/aws/dynamo_db.rb +71 -69
- data/lib/aws/dynamo_db/attribute_collection.rb +53 -58
- data/lib/aws/dynamo_db/batch_get.rb +23 -23
- data/lib/aws/dynamo_db/batch_write.rb +43 -43
- data/lib/aws/dynamo_db/binary.rb +9 -9
- data/lib/aws/dynamo_db/client.rb +494 -509
- data/lib/aws/dynamo_db/client_base.rb +91 -0
- data/lib/aws/dynamo_db/client_v2.rb +825 -0
- data/lib/aws/dynamo_db/config.rb +1 -1
- data/lib/aws/dynamo_db/item.rb +10 -10
- data/lib/aws/dynamo_db/item_collection.rb +75 -75
- data/lib/aws/dynamo_db/table.rb +85 -85
- data/lib/aws/dynamo_db/table_collection.rb +13 -13
- data/lib/aws/ec2.rb +132 -142
- data/lib/aws/ec2/attachment.rb +31 -36
- data/lib/aws/ec2/attachment_collection.rb +1 -1
- data/lib/aws/ec2/availability_zone.rb +4 -4
- data/lib/aws/ec2/client.rb +2272 -2125
- data/lib/aws/ec2/config.rb +1 -1
- data/lib/aws/ec2/customer_gateway.rb +6 -6
- data/lib/aws/ec2/customer_gateway_collection.rb +6 -6
- data/lib/aws/ec2/dhcp_options.rb +3 -3
- data/lib/aws/ec2/dhcp_options_collection.rb +10 -10
- data/lib/aws/ec2/elastic_ip.rb +15 -15
- data/lib/aws/ec2/elastic_ip_collection.rb +11 -15
- data/lib/aws/ec2/export_task.rb +4 -4
- data/lib/aws/ec2/export_task_collection.rb +11 -11
- data/lib/aws/ec2/filtered_collection.rb +6 -8
- data/lib/aws/ec2/image.rb +46 -40
- data/lib/aws/ec2/image_collection.rb +44 -52
- data/lib/aws/ec2/instance.rb +64 -62
- data/lib/aws/ec2/instance_collection.rb +47 -50
- data/lib/aws/ec2/internet_gateway.rb +6 -6
- data/lib/aws/ec2/internet_gateway/attachment.rb +13 -13
- data/lib/aws/ec2/internet_gateway_collection.rb +3 -3
- data/lib/aws/ec2/key_pair.rb +3 -3
- data/lib/aws/ec2/key_pair_collection.rb +12 -12
- data/lib/aws/ec2/network_acl.rb +39 -39
- data/lib/aws/ec2/network_acl/association.rb +2 -2
- data/lib/aws/ec2/network_acl/entry.rb +22 -22
- data/lib/aws/ec2/network_acl_collection.rb +2 -2
- data/lib/aws/ec2/network_interface.rb +13 -4
- data/lib/aws/ec2/network_interface/attachment.rb +3 -3
- data/lib/aws/ec2/network_interface_collection.rb +5 -5
- data/lib/aws/ec2/permission_collection.rb +1 -1
- data/lib/aws/ec2/region.rb +6 -6
- data/lib/aws/ec2/region_collection.rb +1 -1
- data/lib/aws/ec2/reserved_instances_collection.rb +2 -2
- data/lib/aws/ec2/reserved_instances_offering_collection.rb +2 -2
- data/lib/aws/ec2/resource_tag_collection.rb +5 -5
- data/lib/aws/ec2/route_table.rb +14 -14
- data/lib/aws/ec2/route_table/association.rb +22 -22
- data/lib/aws/ec2/route_table/route.rb +8 -8
- data/lib/aws/ec2/route_table_collection.rb +3 -3
- data/lib/aws/ec2/security_group.rb +39 -41
- data/lib/aws/ec2/security_group_collection.rb +19 -21
- data/lib/aws/ec2/snapshot.rb +3 -3
- data/lib/aws/ec2/snapshot_collection.rb +11 -12
- data/lib/aws/ec2/subnet.rb +2 -2
- data/lib/aws/ec2/subnet_collection.rb +17 -17
- data/lib/aws/ec2/tag_collection.rb +1 -1
- data/lib/aws/ec2/tagged_collection.rb +7 -7
- data/lib/aws/ec2/tagged_item.rb +10 -10
- data/lib/aws/ec2/volume.rb +16 -16
- data/lib/aws/ec2/volume_collection.rb +9 -12
- data/lib/aws/ec2/vpc.rb +6 -6
- data/lib/aws/ec2/vpc_collection.rb +10 -10
- data/lib/aws/ec2/vpn_connection.rb +4 -4
- data/lib/aws/ec2/vpn_connection/telemetry.rb +1 -1
- data/lib/aws/ec2/vpn_connection_collection.rb +6 -6
- data/lib/aws/ec2/vpn_gateway.rb +2 -2
- data/lib/aws/ec2/vpn_gateway_collection.rb +5 -5
- data/lib/aws/elastic_beanstalk.rb +12 -12
- data/lib/aws/elastic_beanstalk/client.rb +376 -368
- data/lib/aws/elastic_beanstalk/config.rb +1 -1
- data/lib/aws/elastic_transcoder.rb +5 -5
- data/lib/aws/elastic_transcoder/client.rb +283 -283
- data/lib/aws/elastic_transcoder/config.rb +1 -1
- data/lib/aws/elasticache.rb +12 -12
- data/lib/aws/elasticache/client.rb +484 -479
- data/lib/aws/elasticache/config.rb +1 -1
- data/lib/aws/elb.rb +23 -23
- data/lib/aws/elb/availability_zone_collection.rb +34 -34
- data/lib/aws/elb/backend_server_policy_collection.rb +24 -24
- data/lib/aws/elb/client.rb +153 -153
- data/lib/aws/elb/config.rb +1 -1
- data/lib/aws/elb/errors.rb +1 -1
- data/lib/aws/elb/instance_collection.rb +20 -25
- data/lib/aws/elb/listener.rb +3 -3
- data/lib/aws/elb/listener_collection.rb +8 -8
- data/lib/aws/elb/load_balancer.rb +15 -16
- data/lib/aws/elb/load_balancer_collection.rb +36 -24
- data/lib/aws/elb/load_balancer_policy.rb +1 -1
- data/lib/aws/elb/load_balancer_policy_collection.rb +5 -5
- data/lib/aws/emr.rb +28 -26
- data/lib/aws/emr/client.rb +165 -149
- data/lib/aws/emr/config.rb +1 -1
- data/lib/aws/emr/instance_group.rb +1 -1
- data/lib/aws/emr/instance_group_collection.rb +1 -1
- data/lib/aws/emr/job_flow.rb +27 -26
- data/lib/aws/emr/job_flow_collection.rb +34 -34
- data/lib/aws/errors.rb +7 -7
- data/lib/aws/glacier.rb +21 -21
- data/lib/aws/glacier/archive_collection.rb +2 -2
- data/lib/aws/glacier/client.rb +139 -140
- data/lib/aws/glacier/config.rb +1 -1
- data/lib/aws/glacier/vault.rb +2 -2
- data/lib/aws/glacier/vault_collection.rb +1 -1
- data/lib/aws/iam.rb +133 -144
- data/lib/aws/iam/access_key.rb +17 -17
- data/lib/aws/iam/access_key_collection.rb +22 -22
- data/lib/aws/iam/account_alias_collection.rb +2 -2
- data/lib/aws/iam/client.rb +429 -420
- data/lib/aws/iam/collection.rb +1 -1
- data/lib/aws/iam/config.rb +2 -2
- data/lib/aws/iam/group.rb +8 -8
- data/lib/aws/iam/group_collection.rb +16 -16
- data/lib/aws/iam/group_policy_collection.rb +6 -6
- data/lib/aws/iam/group_user_collection.rb +3 -3
- data/lib/aws/iam/mfa_device.rb +1 -1
- data/lib/aws/iam/mfa_device_collection.rb +9 -9
- data/lib/aws/iam/policy_collection.rb +4 -4
- data/lib/aws/iam/resource.rb +2 -2
- data/lib/aws/iam/server_certificate.rb +1 -1
- data/lib/aws/iam/server_certificate_collection.rb +15 -15
- data/lib/aws/iam/signing_certificate.rb +29 -29
- data/lib/aws/iam/signing_certificate_collection.rb +23 -23
- data/lib/aws/iam/user.rb +33 -38
- data/lib/aws/iam/user_collection.rb +27 -27
- data/lib/aws/iam/user_group_collection.rb +3 -3
- data/lib/aws/iam/user_policy_collection.rb +6 -6
- data/lib/aws/iam/virtual_mfa_device.rb +12 -12
- data/lib/aws/iam/virtual_mfa_device_collection.rb +4 -4
- data/lib/aws/import_export.rb +22 -21
- data/lib/aws/import_export/client.rb +47 -43
- data/lib/aws/ops_works.rb +5 -5
- data/lib/aws/ops_works/client.rb +484 -438
- data/lib/aws/ops_works/config.rb +1 -1
- data/lib/aws/rails.rb +34 -34
- data/lib/aws/rds.rb +18 -18
- data/lib/aws/rds/client.rb +1286 -1277
- data/lib/aws/rds/config.rb +1 -1
- data/lib/aws/rds/db_instance.rb +15 -4
- data/lib/aws/rds/db_snapshot.rb +1 -1
- data/lib/aws/record.rb +50 -24
- data/lib/aws/record/abstract_base.rb +52 -60
- data/lib/aws/record/attributes.rb +79 -79
- data/lib/aws/record/conversion.rb +1 -1
- data/lib/aws/record/dirty_tracking.rb +69 -67
- data/lib/aws/record/errors.rb +21 -21
- data/lib/aws/record/exceptions.rb +2 -2
- data/lib/aws/record/hash_model.rb +20 -21
- data/lib/aws/record/hash_model/attributes.rb +13 -15
- data/lib/aws/record/hash_model/finder_methods.rb +46 -46
- data/lib/aws/record/hash_model/scope.rb +31 -31
- data/lib/aws/record/model.rb +136 -136
- data/lib/aws/record/model/attributes.rb +57 -59
- data/lib/aws/record/model/finder_methods.rb +67 -67
- data/lib/aws/record/model/scope.rb +48 -49
- data/lib/aws/record/naming.rb +1 -1
- data/lib/aws/record/scope.rb +23 -19
- data/lib/aws/record/validations.rb +253 -271
- data/lib/aws/record/validator.rb +3 -3
- data/lib/aws/record/validators/acceptance.rb +1 -3
- data/lib/aws/record/validators/block.rb +1 -3
- data/lib/aws/record/validators/confirmation.rb +1 -3
- data/lib/aws/record/validators/count.rb +2 -4
- data/lib/aws/record/validators/exclusion.rb +2 -4
- data/lib/aws/record/validators/format.rb +2 -4
- data/lib/aws/record/validators/inclusion.rb +1 -3
- data/lib/aws/record/validators/length.rb +5 -7
- data/lib/aws/record/validators/method.rb +1 -3
- data/lib/aws/record/validators/numericality.rb +6 -8
- data/lib/aws/record/validators/presence.rb +1 -3
- data/lib/aws/redshift.rb +14 -14
- data/lib/aws/redshift/client.rb +596 -592
- data/lib/aws/redshift/config.rb +1 -1
- data/lib/aws/route_53.rb +30 -30
- data/lib/aws/route_53/change_batch.rb +7 -7
- data/lib/aws/route_53/client.rb +188 -152
- data/lib/aws/route_53/hosted_zone.rb +4 -4
- data/lib/aws/route_53/hosted_zone_collection.rb +7 -7
- data/lib/aws/route_53/resource_record_set.rb +10 -10
- data/lib/aws/route_53/resource_record_set_collection.rb +6 -6
- data/lib/aws/s3.rb +79 -79
- data/lib/aws/s3/access_control_list.rb +44 -36
- data/lib/aws/s3/acl_options.rb +51 -51
- data/lib/aws/s3/bucket.rb +146 -146
- data/lib/aws/s3/bucket_collection.rb +21 -21
- data/lib/aws/s3/bucket_lifecycle_configuration.rb +81 -82
- data/lib/aws/s3/bucket_tag_collection.rb +4 -2
- data/lib/aws/s3/cipher_io.rb +5 -4
- data/lib/aws/s3/client.rb +89 -84
- data/lib/aws/s3/client/xml.rb +1 -1
- data/lib/aws/s3/config.rb +7 -1
- data/lib/aws/s3/cors_rule.rb +2 -0
- data/lib/aws/s3/cors_rule_collection.rb +42 -40
- data/lib/aws/s3/data_options.rb +16 -11
- data/lib/aws/s3/encryption_utils.rb +2 -2
- data/lib/aws/s3/errors.rb +7 -7
- data/lib/aws/s3/multipart_upload.rb +30 -33
- data/lib/aws/s3/multipart_upload_collection.rb +8 -6
- data/lib/aws/s3/object_collection.rb +35 -35
- data/lib/aws/s3/object_metadata.rb +6 -6
- data/lib/aws/s3/object_version.rb +4 -4
- data/lib/aws/s3/object_version_collection.rb +15 -15
- data/lib/aws/s3/policy.rb +2 -2
- data/lib/aws/s3/prefixed_collection.rb +9 -5
- data/lib/aws/s3/presigned_post.rb +39 -37
- data/lib/aws/s3/request.rb +11 -11
- data/lib/aws/s3/s3_object.rb +210 -200
- data/lib/aws/s3/tree.rb +25 -27
- data/lib/aws/s3/tree/child_collection.rb +3 -3
- data/lib/aws/s3/tree/leaf_node.rb +2 -2
- data/lib/aws/s3/tree/parent.rb +1 -1
- data/lib/aws/s3/website_configuration.rb +13 -13
- data/lib/aws/simple_db.rb +83 -83
- data/lib/aws/simple_db/attribute.rb +9 -7
- data/lib/aws/simple_db/attribute_collection.rb +22 -13
- data/lib/aws/simple_db/client.rb +107 -107
- data/lib/aws/simple_db/config.rb +7 -1
- data/lib/aws/simple_db/consistent_read_option.rb +5 -5
- data/lib/aws/simple_db/domain.rb +4 -2
- data/lib/aws/simple_db/domain_collection.rb +4 -4
- data/lib/aws/simple_db/domain_metadata.rb +5 -5
- data/lib/aws/simple_db/errors.rb +9 -9
- data/lib/aws/simple_db/item.rb +5 -5
- data/lib/aws/simple_db/item_collection.rb +83 -81
- data/lib/aws/simple_db/item_data.rb +4 -4
- data/lib/aws/simple_db/put_attributes.rb +3 -3
- data/lib/aws/simple_email_service.rb +140 -140
- data/lib/aws/simple_email_service/client.rb +82 -76
- data/lib/aws/simple_email_service/config.rb +1 -2
- data/lib/aws/simple_email_service/email_address_collection.rb +3 -3
- data/lib/aws/simple_email_service/identity.rb +8 -8
- data/lib/aws/simple_email_service/quotas.rb +8 -6
- data/lib/aws/simple_workflow.rb +106 -106
- data/lib/aws/simple_workflow/activity_task.rb +15 -22
- data/lib/aws/simple_workflow/activity_task_collection.rb +15 -15
- data/lib/aws/simple_workflow/activity_type.rb +23 -23
- data/lib/aws/simple_workflow/activity_type_collection.rb +23 -23
- data/lib/aws/simple_workflow/client.rb +1004 -956
- data/lib/aws/simple_workflow/config.rb +1 -1
- data/lib/aws/simple_workflow/count.rb +5 -5
- data/lib/aws/simple_workflow/decision_task.rb +129 -129
- data/lib/aws/simple_workflow/decision_task_collection.rb +59 -59
- data/lib/aws/simple_workflow/domain.rb +11 -11
- data/lib/aws/simple_workflow/domain_collection.rb +26 -26
- data/lib/aws/simple_workflow/history_event.rb +32 -32
- data/lib/aws/simple_workflow/history_event_collection.rb +3 -3
- data/lib/aws/simple_workflow/option_formatters.rb +5 -5
- data/lib/aws/simple_workflow/request.rb +1 -1
- data/lib/aws/simple_workflow/resource.rb +1 -1
- data/lib/aws/simple_workflow/type.rb +8 -8
- data/lib/aws/simple_workflow/type_collection.rb +15 -15
- data/lib/aws/simple_workflow/workflow_execution.rb +70 -72
- data/lib/aws/simple_workflow/workflow_execution_collection.rb +130 -130
- data/lib/aws/simple_workflow/workflow_type.rb +27 -25
- data/lib/aws/simple_workflow/workflow_type_collection.rb +20 -20
- data/lib/aws/sns.rb +25 -25
- data/lib/aws/sns/client.rb +55 -55
- data/lib/aws/sns/config.rb +1 -1
- data/lib/aws/sns/policy.rb +1 -1
- data/lib/aws/sns/subscription.rb +7 -7
- data/lib/aws/sns/subscription_collection.rb +5 -5
- data/lib/aws/sns/topic.rb +49 -49
- data/lib/aws/sns/topic_collection.rb +2 -2
- data/lib/aws/sns/topic_subscription_collection.rb +5 -5
- data/lib/aws/sqs.rb +20 -20
- data/lib/aws/sqs/client.rb +78 -78
- data/lib/aws/sqs/config.rb +1 -1
- data/lib/aws/sqs/errors.rb +12 -12
- data/lib/aws/sqs/queue.rb +66 -67
- data/lib/aws/sqs/queue_collection.rb +16 -8
- data/lib/aws/sqs/received_message.rb +7 -6
- data/lib/aws/storage_gateway.rb +21 -21
- data/lib/aws/storage_gateway/client.rb +269 -202
- data/lib/aws/storage_gateway/config.rb +1 -1
- data/lib/aws/sts.rb +10 -8
- data/lib/aws/sts/client.rb +35 -35
- data/lib/aws/sts/session.rb +3 -3
- data/lib/aws/version.rb +1 -2
- metadata +23 -21
- data/lib/aws/core/autoloader.rb +0 -64
- data/lib/net/http/connection_pool.rb +0 -226
- data/lib/net/http/connection_pool/connection.rb +0 -189
- data/lib/net/http/connection_pool/session.rb +0 -126
data/lib/aws/s3/tree.rb
CHANGED
|
@@ -22,33 +22,33 @@ module AWS
|
|
|
22
22
|
#
|
|
23
23
|
# Given you have a bucket with the following keys:
|
|
24
24
|
#
|
|
25
|
-
#
|
|
26
|
-
#
|
|
27
|
-
#
|
|
28
|
-
#
|
|
29
|
-
#
|
|
30
|
-
#
|
|
31
|
-
#
|
|
25
|
+
# README.txt
|
|
26
|
+
# videos/wedding.mpg
|
|
27
|
+
# videos/family_reunion.mpg
|
|
28
|
+
# photos/2010/house.jpg
|
|
29
|
+
# photos/2011/fall/leaves.jpg
|
|
30
|
+
# photos/2011/summer/vacation.jpg
|
|
31
|
+
# photos/2011/summer/family.jpg
|
|
32
32
|
#
|
|
33
33
|
# You might like to explore the contents of this bucket as a tree:
|
|
34
34
|
#
|
|
35
|
-
#
|
|
35
|
+
# tree = bucket.as_tree
|
|
36
36
|
#
|
|
37
|
-
#
|
|
38
|
-
#
|
|
37
|
+
# directories = tree.children.select(&:branch?).collect(&:prefix)
|
|
38
|
+
# #=> ['photos', 'videos']
|
|
39
39
|
#
|
|
40
|
-
#
|
|
41
|
-
#
|
|
40
|
+
# files = tree.children.select(&:leaf?).collect(&:key)
|
|
41
|
+
# #=> ['README.txt']
|
|
42
42
|
#
|
|
43
43
|
# If you want to start further down, pass a prefix to {Bucket#as_tree}:
|
|
44
44
|
#
|
|
45
|
-
#
|
|
45
|
+
# tree = bucket.as_tree(:prefix => 'photos/2011')
|
|
46
46
|
#
|
|
47
|
-
#
|
|
48
|
-
#
|
|
47
|
+
# directories = tree.children.select(&:branch?).collect(&:prefix)
|
|
48
|
+
# #=> ['photos/20011/fall', 'photos/20011/summer']
|
|
49
49
|
#
|
|
50
|
-
#
|
|
51
|
-
#
|
|
50
|
+
# files = tree.children.select(&:leaf?).collect(&:key)
|
|
51
|
+
# #=> []
|
|
52
52
|
#
|
|
53
53
|
# All non-leaf nodes ({Tree} and {Tree::BranchNode} instances)
|
|
54
54
|
# have a {Tree::Parent#children} method that provides access to
|
|
@@ -58,11 +58,11 @@ module AWS
|
|
|
58
58
|
# non-leaf nodes are common prefixes to multiple keys
|
|
59
59
|
# (directories) and leaf nodes are object keys.
|
|
60
60
|
#
|
|
61
|
-
# You can continue crawling the tree using the
|
|
61
|
+
# You can continue crawling the tree using the `children`
|
|
62
62
|
# collection on each branch node, which will contain the branch
|
|
63
63
|
# nodes and leaf nodes below it.
|
|
64
64
|
#
|
|
65
|
-
# You can construct a Tree object using the
|
|
65
|
+
# You can construct a Tree object using the `as_tree` method of
|
|
66
66
|
# any of the following classes:
|
|
67
67
|
#
|
|
68
68
|
# * {Bucket} or {ObjectCollection} (for {S3Object} leaf nodes)
|
|
@@ -77,13 +77,11 @@ module AWS
|
|
|
77
77
|
# using.
|
|
78
78
|
class Tree
|
|
79
79
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
autoload :Parent, 'parent'
|
|
86
|
-
end
|
|
80
|
+
autoload :BranchNode, 'aws/s3/tree/branch_node'
|
|
81
|
+
autoload :ChildCollection, 'aws/s3/tree/child_collection'
|
|
82
|
+
autoload :LeafNode, 'aws/s3/tree/leaf_node'
|
|
83
|
+
autoload :Node, 'aws/s3/tree/node'
|
|
84
|
+
autoload :Parent, 'aws/s3/tree/parent'
|
|
87
85
|
|
|
88
86
|
include Parent
|
|
89
87
|
|
|
@@ -95,7 +93,7 @@ module AWS
|
|
|
95
93
|
# tree.
|
|
96
94
|
#
|
|
97
95
|
# @option options [String] :prefix (nil) Set prefix to choose
|
|
98
|
-
# where the top of the tree will be. A value of
|
|
96
|
+
# where the top of the tree will be. A value of `nil` means
|
|
99
97
|
# that the tree will include all objects in the collection.
|
|
100
98
|
#
|
|
101
99
|
# @option options [String] :delimiter ('/') The string that
|
|
@@ -23,9 +23,9 @@ module AWS
|
|
|
23
23
|
# @private
|
|
24
24
|
def initialize parent, collection, options = {}
|
|
25
25
|
|
|
26
|
-
options = {
|
|
26
|
+
options = {
|
|
27
27
|
:prefix => nil,
|
|
28
|
-
:delimiter => '/',
|
|
28
|
+
:delimiter => '/',
|
|
29
29
|
:append => true,
|
|
30
30
|
}.merge(options)
|
|
31
31
|
|
|
@@ -58,7 +58,7 @@ module AWS
|
|
|
58
58
|
attr_reader :delimiter
|
|
59
59
|
|
|
60
60
|
# @return [Boolean] Returns true if the tree is set to auto-append
|
|
61
|
-
# the delimiter to the prefix when the prefix does not end with
|
|
61
|
+
# the delimiter to the prefix when the prefix does not end with
|
|
62
62
|
# the delimiter.
|
|
63
63
|
def append?
|
|
64
64
|
@append
|
|
@@ -64,7 +64,7 @@ module AWS
|
|
|
64
64
|
end
|
|
65
65
|
end
|
|
66
66
|
|
|
67
|
-
# @return [ObjectVersion] Returns the object version this leaf
|
|
67
|
+
# @return [ObjectVersion] Returns the object version this leaf
|
|
68
68
|
# node represents.
|
|
69
69
|
def version
|
|
70
70
|
if @member.kind_of?(ObjectVersion)
|
|
@@ -74,7 +74,7 @@ module AWS
|
|
|
74
74
|
end
|
|
75
75
|
end
|
|
76
76
|
|
|
77
|
-
# @return [MultipartUpload] Returns the object version this leaf
|
|
77
|
+
# @return [MultipartUpload] Returns the object version this leaf
|
|
78
78
|
# node represents.
|
|
79
79
|
def upload
|
|
80
80
|
if @member.kind_of?(MultipartUpload)
|
data/lib/aws/s3/tree/parent.rb
CHANGED
|
@@ -46,7 +46,7 @@ module AWS
|
|
|
46
46
|
attr_reader :collection
|
|
47
47
|
|
|
48
48
|
# A tree may have a prefix of where in the bucket to be based
|
|
49
|
-
# from. A value of
|
|
49
|
+
# from. A value of `nil` means that the tree will include all
|
|
50
50
|
# objects in the collection.
|
|
51
51
|
#
|
|
52
52
|
# @return [String,nil]
|
|
@@ -22,13 +22,13 @@ module AWS
|
|
|
22
22
|
# Describes the redirect behavior for every request to this
|
|
23
23
|
# bucket's website endpoint. If this element is present, no
|
|
24
24
|
# other options are are allowed.
|
|
25
|
-
# *
|
|
25
|
+
# * `:host_name` - (*required*, String)
|
|
26
26
|
# Name of the host where requests will be redirected.
|
|
27
|
-
# *
|
|
27
|
+
# * `:protocol` - (String)
|
|
28
28
|
# Protocol to use (http, https) when redirecting requests. The
|
|
29
29
|
# default is the protocol that is used in the original request.
|
|
30
30
|
# @option options [Hash] :index_document
|
|
31
|
-
# *
|
|
31
|
+
# * `:suffix` - (*required*, String) - A suffix that is appended to
|
|
32
32
|
# a request that is for a directory on the website endpoint
|
|
33
33
|
# (e.g. if the suffix is index.html and you make a request to
|
|
34
34
|
# samplebucket/images/ the data that is returned will be for
|
|
@@ -36,18 +36,18 @@ module AWS
|
|
|
36
36
|
# The suffix must not be empty and must not include a
|
|
37
37
|
# slash character.
|
|
38
38
|
# @option options [Hash] :error_document
|
|
39
|
-
# *
|
|
39
|
+
# * `:key` - (*required*, String) - The object key name to use
|
|
40
40
|
# when a 4XX class error occurs.
|
|
41
41
|
# @option options [Array<Hash>] :routing_rules
|
|
42
|
-
# *
|
|
43
|
-
# *
|
|
44
|
-
# *
|
|
45
|
-
# *
|
|
46
|
-
# *
|
|
47
|
-
# *
|
|
48
|
-
# *
|
|
49
|
-
# *
|
|
50
|
-
# *
|
|
42
|
+
# * `:redirect` - (*required*, Hash)
|
|
43
|
+
# * `:host_name` - (String)
|
|
44
|
+
# * `:protocol` - (String)
|
|
45
|
+
# * `:replace_key_prefix_with` - (String)
|
|
46
|
+
# * `:replace_key_with` - (String)
|
|
47
|
+
# * `:http_redirect_code` - (String)
|
|
48
|
+
# * `:condition` - (Hash)
|
|
49
|
+
# * `:key_prefix_equals` - (String)
|
|
50
|
+
# * `:http_error_code_returned_equals` - (String)
|
|
51
51
|
def initialize options = {}
|
|
52
52
|
@options = deep_copy(options)
|
|
53
53
|
if @options.empty?
|
data/lib/aws/simple_db.rb
CHANGED
|
@@ -18,30 +18,30 @@ module AWS
|
|
|
18
18
|
|
|
19
19
|
# This class is the starting point for working with Amazon SimpleDB.
|
|
20
20
|
#
|
|
21
|
-
# To use Amazon SimpleDB you must first
|
|
22
|
-
#
|
|
21
|
+
# To use Amazon SimpleDB you must first
|
|
22
|
+
# [sign up here](http://aws.amazon.com/simpledb/).
|
|
23
23
|
#
|
|
24
24
|
# For more information about Amazon SimpleDB:
|
|
25
25
|
#
|
|
26
|
-
# *
|
|
27
|
-
# *
|
|
26
|
+
# * [Amazon SimpleDB](http://aws.amazon.com/simpledb/)
|
|
27
|
+
# * [Amazon SimpleDB Documentation](http://aws.amazon.com/documentation/simpledb/)
|
|
28
28
|
#
|
|
29
|
-
#
|
|
29
|
+
# # Credentials
|
|
30
30
|
#
|
|
31
|
-
# You can setup default credentials for all AWS services via
|
|
31
|
+
# You can setup default credentials for all AWS services via
|
|
32
32
|
# AWS.config:
|
|
33
33
|
#
|
|
34
|
-
#
|
|
35
|
-
#
|
|
36
|
-
#
|
|
37
|
-
#
|
|
34
|
+
# AWS.config(
|
|
35
|
+
# :access_key_id => 'YOUR_ACCESS_KEY_ID',
|
|
36
|
+
# :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
|
|
37
|
+
#
|
|
38
38
|
# Or you can set them directly on the SimpleDB interface:
|
|
39
39
|
#
|
|
40
|
-
#
|
|
41
|
-
#
|
|
42
|
-
#
|
|
40
|
+
# sdb = AWS::SimpleDB.new(
|
|
41
|
+
# :access_key_id => 'YOUR_ACCESS_KEY_ID',
|
|
42
|
+
# :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
|
|
43
43
|
#
|
|
44
|
-
#
|
|
44
|
+
# # Understanding the SimpleDB Interface
|
|
45
45
|
#
|
|
46
46
|
# SimpleDB stores data in a hierarchy of:
|
|
47
47
|
#
|
|
@@ -49,66 +49,66 @@ module AWS
|
|
|
49
49
|
#
|
|
50
50
|
# These are modeled with the following classes:
|
|
51
51
|
#
|
|
52
|
-
# * {DomainCollection}
|
|
53
|
-
# * {Domain}
|
|
54
|
-
# * {ItemCollection}
|
|
55
|
-
# * {Item}
|
|
56
|
-
# * {AttributeCollection}
|
|
57
|
-
# * {Attribute}
|
|
52
|
+
# * {DomainCollection}
|
|
53
|
+
# * {Domain}
|
|
54
|
+
# * {ItemCollection}
|
|
55
|
+
# * {Item}
|
|
56
|
+
# * {AttributeCollection}
|
|
57
|
+
# * {Attribute}
|
|
58
58
|
#
|
|
59
59
|
# The collection classes listed above make it easy to enumerate,
|
|
60
60
|
# the objects they represent. They also make it easy to perform
|
|
61
61
|
# bulk operations on all objects in that collection.
|
|
62
62
|
#
|
|
63
|
-
#
|
|
63
|
+
# # Domains
|
|
64
64
|
#
|
|
65
65
|
# Domains are like database tables. A domain must exist before you can
|
|
66
66
|
# write to it. To create a domain:
|
|
67
67
|
#
|
|
68
|
-
#
|
|
69
|
-
#
|
|
68
|
+
# sdb = SimpleDB.new
|
|
69
|
+
# domain = sdb.domains.create('mydomain')
|
|
70
70
|
#
|
|
71
71
|
# For more information about working with domains see {DomainCollection}
|
|
72
72
|
# and {Domain}.
|
|
73
73
|
#
|
|
74
|
-
#
|
|
74
|
+
# # Items & Attributes
|
|
75
75
|
#
|
|
76
|
-
# Items exist in SimpleDB when they have attributes. You can delete an
|
|
76
|
+
# Items exist in SimpleDB when they have attributes. You can delete an
|
|
77
77
|
# item by removing all of its attributes. You create an item by adding
|
|
78
78
|
# an attribute to it.
|
|
79
79
|
#
|
|
80
80
|
# The following example illustrates how you can reference an item that
|
|
81
81
|
# does not exist yet:
|
|
82
82
|
#
|
|
83
|
-
#
|
|
83
|
+
# sdb = SimpleDB.new
|
|
84
84
|
#
|
|
85
|
-
#
|
|
86
|
-
#
|
|
87
|
-
#
|
|
88
|
-
#
|
|
85
|
+
# # this domain is empty, it has no items
|
|
86
|
+
# domain = sdb.domains.create('newdomain')
|
|
87
|
+
# domain.items.collect(&:name)
|
|
88
|
+
# #=> []
|
|
89
89
|
#
|
|
90
|
-
#
|
|
91
|
-
#
|
|
92
|
-
#
|
|
93
|
-
#
|
|
90
|
+
# # this item doesn't exist yet, so it has no attributes
|
|
91
|
+
# item = domain.items['newitem']
|
|
92
|
+
# item.attributes.collect(&:name)
|
|
93
|
+
# #=> []
|
|
94
94
|
#
|
|
95
|
-
#
|
|
96
|
-
#
|
|
97
|
-
#
|
|
98
|
-
#
|
|
95
|
+
# # the item has no attributes
|
|
96
|
+
# tags = item.attributes['tags']
|
|
97
|
+
# tags.values
|
|
98
|
+
# #=> []
|
|
99
99
|
#
|
|
100
100
|
# To create the item in SimpleDB you just need to add an attribute.
|
|
101
101
|
#
|
|
102
|
-
#
|
|
102
|
+
# tags.add %w(first new)
|
|
103
103
|
#
|
|
104
|
-
#
|
|
105
|
-
#
|
|
104
|
+
# domain.items.collect(&:name)
|
|
105
|
+
# #=> ['newitem']
|
|
106
106
|
#
|
|
107
|
-
#
|
|
108
|
-
#
|
|
107
|
+
# item.attributes.collect(&:name)
|
|
108
|
+
# #=> ['tags']
|
|
109
109
|
#
|
|
110
|
-
#
|
|
111
|
-
#
|
|
110
|
+
# tags.values
|
|
111
|
+
# #=> ['first', 'new']
|
|
112
112
|
#
|
|
113
113
|
# For more information about working with items and attributes, see:
|
|
114
114
|
#
|
|
@@ -117,53 +117,53 @@ module AWS
|
|
|
117
117
|
# * {AttributeCollection}
|
|
118
118
|
# * {Attribute}
|
|
119
119
|
#
|
|
120
|
-
#
|
|
120
|
+
# # Lazy Execution
|
|
121
121
|
#
|
|
122
122
|
# Requests are not made until necessary. This means you can drill down
|
|
123
123
|
# all the way to an attribute, by name, without making any requests
|
|
124
124
|
# to SimpleDB.
|
|
125
125
|
#
|
|
126
|
-
#
|
|
127
|
-
#
|
|
128
|
-
#
|
|
126
|
+
# # makes no request to SimpleDB
|
|
127
|
+
# sdb = SimpleDB.new
|
|
128
|
+
# colors = sdb.domains['mydomain'].items['car'].attributes['colors']
|
|
129
129
|
#
|
|
130
|
-
#
|
|
131
|
-
#
|
|
130
|
+
# # one request to get the values for 'colors'
|
|
131
|
+
# puts colors.values
|
|
132
132
|
#
|
|
133
|
-
#
|
|
134
|
-
#
|
|
133
|
+
# # one request to add blue and green
|
|
134
|
+
# colors.add 'blue', 'green'
|
|
135
135
|
#
|
|
136
|
-
#
|
|
137
|
-
#
|
|
136
|
+
# # one request to delete the colors attribute
|
|
137
|
+
# colors.delete
|
|
138
138
|
#
|
|
139
139
|
# @!attribute [r] client
|
|
140
140
|
# @return [Client] the low-level SimpleDB client object
|
|
141
141
|
class SimpleDB
|
|
142
142
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
autoload :Request, 'request'
|
|
159
|
-
end
|
|
143
|
+
autoload :Attribute, 'aws/simple_db/attribute'
|
|
144
|
+
autoload :AttributeCollection, 'aws/simple_db/attribute_collection'
|
|
145
|
+
autoload :Client, 'aws/simple_db/client'
|
|
146
|
+
autoload :ConsistentReadOption, 'aws/simple_db/consistent_read_option'
|
|
147
|
+
autoload :DeleteAttributes, 'aws/simple_db/delete_attributes'
|
|
148
|
+
autoload :Domain, 'aws/simple_db/domain'
|
|
149
|
+
autoload :DomainCollection, 'aws/simple_db/domain_collection'
|
|
150
|
+
autoload :DomainMetadata, 'aws/simple_db/domain_metadata'
|
|
151
|
+
autoload :Errors, 'aws/simple_db/errors'
|
|
152
|
+
autoload :ExpectConditionOption, 'aws/simple_db/expect_condition_option'
|
|
153
|
+
autoload :Item, 'aws/simple_db/item'
|
|
154
|
+
autoload :ItemCollection, 'aws/simple_db/item_collection'
|
|
155
|
+
autoload :ItemData, 'aws/simple_db/item_data'
|
|
156
|
+
autoload :PutAttributes, 'aws/simple_db/put_attributes'
|
|
157
|
+
autoload :Request, 'aws/simple_db/request'
|
|
160
158
|
|
|
161
159
|
include Core::ServiceInterface
|
|
162
160
|
|
|
161
|
+
endpoint_prefix 'sdb'
|
|
162
|
+
|
|
163
163
|
# Returns a collection object that represents the domains in your
|
|
164
164
|
# account.
|
|
165
165
|
#
|
|
166
|
-
# @return [DomainCollection] Returns a collection representing all your
|
|
166
|
+
# @return [DomainCollection] Returns a collection representing all your
|
|
167
167
|
# domains.
|
|
168
168
|
def domains
|
|
169
169
|
DomainCollection.new(:config => config)
|
|
@@ -172,22 +172,22 @@ module AWS
|
|
|
172
172
|
# Call this method with a block. Code executed inside the block
|
|
173
173
|
# make consistent reads until the block ends.
|
|
174
174
|
#
|
|
175
|
-
#
|
|
176
|
-
#
|
|
177
|
-
#
|
|
175
|
+
# AWS::SimpleDB.consistent_reads do
|
|
176
|
+
# # ...
|
|
177
|
+
# end
|
|
178
178
|
#
|
|
179
|
-
#
|
|
179
|
+
# ### Other Modes
|
|
180
180
|
#
|
|
181
181
|
# You can also use this same function to disable consistent reads inside
|
|
182
|
-
# a block. This is useful if you have consistent reads enabled by
|
|
182
|
+
# a block. This is useful if you have consistent reads enabled by
|
|
183
183
|
# default:
|
|
184
184
|
#
|
|
185
|
-
#
|
|
186
|
-
#
|
|
187
|
-
#
|
|
188
|
-
#
|
|
185
|
+
# AWS::SimpleDB.consistent_reads(false) do
|
|
186
|
+
# # ...
|
|
187
|
+
# end
|
|
188
|
+
#
|
|
189
189
|
# @param [Boolean] state (true) When true, all SimpleDB read operations
|
|
190
|
-
# will be consistent reads inside the block. When false, all
|
|
190
|
+
# will be consistent reads inside the block. When false, all
|
|
191
191
|
# reads operations will not be consistent reads. The previous state
|
|
192
192
|
# will be restored after the block executes.
|
|
193
193
|
# @return Returns the final block value.
|
|
@@ -39,9 +39,11 @@ module AWS
|
|
|
39
39
|
# Sets all values for this attribute, replacing current values.
|
|
40
40
|
#
|
|
41
41
|
# @example Setting a list of values
|
|
42
|
+
#
|
|
42
43
|
# attributes['colors'].set 'red', 'blue', 'green'
|
|
43
44
|
#
|
|
44
45
|
# @example Setting an array of values
|
|
46
|
+
#
|
|
45
47
|
# attributes['colors'].set ['red', 'blue']
|
|
46
48
|
#
|
|
47
49
|
# @param [String] values A list of attribute values to set.
|
|
@@ -51,7 +53,7 @@ module AWS
|
|
|
51
53
|
nil
|
|
52
54
|
end
|
|
53
55
|
|
|
54
|
-
# Appends values to this attribute. Duplicate values are ignored
|
|
56
|
+
# Appends values to this attribute. Duplicate values are ignored
|
|
55
57
|
# by SimpleDB.
|
|
56
58
|
#
|
|
57
59
|
# @example Adding a list of values
|
|
@@ -81,7 +83,7 @@ module AWS
|
|
|
81
83
|
# item.attributes['color'].delete('red', 'blue')
|
|
82
84
|
#
|
|
83
85
|
# @param values One ore more values to remove from this attribute.
|
|
84
|
-
# If values is empty, then all attribute values are deleted
|
|
86
|
+
# If values is empty, then all attribute values are deleted
|
|
85
87
|
# (which deletes this attribute).
|
|
86
88
|
# @return [nil]
|
|
87
89
|
def delete *values
|
|
@@ -96,14 +98,14 @@ module AWS
|
|
|
96
98
|
nil
|
|
97
99
|
end
|
|
98
100
|
|
|
99
|
-
# Yields once for each value on this attribute.
|
|
101
|
+
# Yields once for each value on this attribute.
|
|
100
102
|
#
|
|
101
103
|
# @yield [attribute_value] Yields once for each domain in the account.
|
|
102
104
|
# @yieldparam [String] attribute_value
|
|
103
|
-
# @param [Hash] options
|
|
105
|
+
# @param [Hash] options
|
|
104
106
|
# @option options [Boolean] :consistent_read (false) A consistent read
|
|
105
107
|
# returns values that reflects all writes that received a successful
|
|
106
|
-
# response prior to the read.
|
|
108
|
+
# response prior to the read.
|
|
107
109
|
# @return [nil]
|
|
108
110
|
def each options = {}, &block
|
|
109
111
|
|
|
@@ -127,10 +129,10 @@ module AWS
|
|
|
127
129
|
# item.attributes['ratings'].values
|
|
128
130
|
# #=> ['5', '3', '4']
|
|
129
131
|
#
|
|
130
|
-
# @param [Hash] options
|
|
132
|
+
# @param [Hash] options
|
|
131
133
|
# @option options [Boolean] :consistent_read (false) A consistent read
|
|
132
134
|
# returns values that reflects all writes that received a successful
|
|
133
|
-
# response prior to the read.
|
|
135
|
+
# response prior to the read.
|
|
134
136
|
# @return [Array<String>] An array of attribute values
|
|
135
137
|
def values options = {}
|
|
136
138
|
values = []
|