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/elb/config.rb
CHANGED
data/lib/aws/elb/errors.rb
CHANGED
|
@@ -25,13 +25,11 @@ module AWS
|
|
|
25
25
|
|
|
26
26
|
# Returns an {EC2::Instance} object with 3 extra methods added:
|
|
27
27
|
#
|
|
28
|
-
# *
|
|
28
|
+
# * `#load_balancer`
|
|
29
|
+
# * `#remove_from_load_balancer`
|
|
30
|
+
# * `#elb_health`
|
|
29
31
|
#
|
|
30
|
-
#
|
|
31
|
-
#
|
|
32
|
-
# * +#elb_health+
|
|
33
|
-
#
|
|
34
|
-
# See {#health} for more information about what +#elb_health+ returns.
|
|
32
|
+
# See {#health} for more information about what `#elb_health` returns.
|
|
35
33
|
#
|
|
36
34
|
# @return [EC2::Instance] Return an EC2::Instance object with additional
|
|
37
35
|
# methods added.
|
|
@@ -63,13 +61,10 @@ module AWS
|
|
|
63
61
|
# Returns an array of instance health descriptions. Each description
|
|
64
62
|
# is a hash with the following entries:
|
|
65
63
|
#
|
|
66
|
-
# *
|
|
67
|
-
#
|
|
68
|
-
# *
|
|
69
|
-
#
|
|
70
|
-
# * +:state+ - Specifies the current state of the instance.
|
|
71
|
-
#
|
|
72
|
-
# * +:reason_code+ - Provides information about the cause of
|
|
64
|
+
# * `:instance` - The {EC2::Instance} being described.
|
|
65
|
+
# * `:description` - Provides a description of the instance.
|
|
66
|
+
# * `:state` - Specifies the current state of the instance.
|
|
67
|
+
# * `:reason_code` - Provides information about the cause of
|
|
73
68
|
# OutOfService instances. Specifically, it indicates whether the
|
|
74
69
|
# cause is Elastic Load Balancing or the instance behind the
|
|
75
70
|
# load balancer.
|
|
@@ -77,27 +72,27 @@ module AWS
|
|
|
77
72
|
# You can get the health of all instances for this load balancer
|
|
78
73
|
# by passing no arguments to this method:
|
|
79
74
|
#
|
|
80
|
-
#
|
|
81
|
-
#
|
|
82
|
-
#
|
|
83
|
-
#
|
|
84
|
-
#
|
|
85
|
-
#
|
|
86
|
-
#
|
|
75
|
+
# # get the health of all instances in the collection
|
|
76
|
+
# load_balancer.instances.health.each do |instance_health|
|
|
77
|
+
# puts "Instance: " + instance_health[:instance].id
|
|
78
|
+
# puts "description: " + instance_health[:description]
|
|
79
|
+
# puts "state: " + instance_health[:state]
|
|
80
|
+
# puts "reason code: " + instance_health[:reason_code]
|
|
81
|
+
# end
|
|
87
82
|
#
|
|
88
83
|
# If you want the health of a specific list of instances, pass
|
|
89
84
|
# instance ids or instance objects to this method:
|
|
90
85
|
#
|
|
91
|
-
#
|
|
92
|
-
#
|
|
86
|
+
# # get the health for a few specific instances
|
|
87
|
+
# load_balancer.instances.health('i-12345', 'i-67890').each{|h| ... }
|
|
93
88
|
#
|
|
94
|
-
#
|
|
89
|
+
# ## Health for a Single Instance
|
|
95
90
|
#
|
|
96
91
|
# If you want the health of a single instance you can use the {#[]}
|
|
97
92
|
# instead:
|
|
98
93
|
#
|
|
99
|
-
#
|
|
100
|
-
#
|
|
94
|
+
# load_balancer.instances['i-123456'].elb_health
|
|
95
|
+
# # => { :state => ..., :reason_code => ..., :description => ... }
|
|
101
96
|
#
|
|
102
97
|
# @param [String,EC2::Instance] instances A list of instances to
|
|
103
98
|
# receive health information for.
|
data/lib/aws/elb/listener.rb
CHANGED
|
@@ -140,9 +140,9 @@ module AWS
|
|
|
140
140
|
|
|
141
141
|
# Returns true if this listener exists.
|
|
142
142
|
#
|
|
143
|
-
#
|
|
144
|
-
#
|
|
145
|
-
#
|
|
143
|
+
# load_balancer = ELB.new.load_balancers['my-load-balancer']
|
|
144
|
+
# listener = load_balancer.listeners[80] # port 80
|
|
145
|
+
# listener.exists?
|
|
146
146
|
#
|
|
147
147
|
# @return [Boolean] Returns true if the load balancer has a listener
|
|
148
148
|
# on this port.
|
|
@@ -51,17 +51,17 @@ module AWS
|
|
|
51
51
|
#
|
|
52
52
|
# This property cannot be modified for the life of the load balacner.
|
|
53
53
|
#
|
|
54
|
-
# NOTE: If the front-end protocol is HTTP or HTTPS,
|
|
54
|
+
# NOTE: If the front-end protocol is HTTP or HTTPS, `:instance_protocol`
|
|
55
55
|
# has to be at the same protocol layer, i.e., HTTP or HTTPS. Likewise,
|
|
56
|
-
# if the front-end protocol is TCP or SSL,
|
|
56
|
+
# if the front-end protocol is TCP or SSL, `:instance_protocol` has
|
|
57
57
|
# to be TCP or SSL.
|
|
58
58
|
#
|
|
59
|
-
# NOTE: If there is another listener with the same
|
|
60
|
-
# whose
|
|
61
|
-
# listener's
|
|
62
|
-
# or SSL. If there is another listener with the same
|
|
63
|
-
# whose
|
|
64
|
-
#
|
|
59
|
+
# NOTE: If there is another listener with the same `:instance_port`
|
|
60
|
+
# whose `:instance_protocol` is secure, i.e., HTTPS or SSL, the
|
|
61
|
+
# listener's `:instance_protocol` has to be secure, i.e., HTTPS
|
|
62
|
+
# or SSL. If there is another listener with the same `:instance_port`
|
|
63
|
+
# whose `:instance_protocol` is HTTP or TCP, the listener's
|
|
64
|
+
# `:instance_protocol` must be either HTTP or TCP.
|
|
65
65
|
#
|
|
66
66
|
# * :tcp, 'TCP'
|
|
67
67
|
# * :http, 'HTTP'
|
|
@@ -21,24 +21,24 @@ module AWS
|
|
|
21
21
|
#
|
|
22
22
|
# @attr_reader [String] canonical_hosted_zone_name Provides the name of
|
|
23
23
|
# the Amazon Route 53 hosted zone that is associated with the load
|
|
24
|
-
# balancer. For more information:
|
|
24
|
+
# balancer. For more information: [using-domain-names-with-elb.html](http://docs.amazonwebservices.com/ElasticLoadBalancing/latest/DeveloperGuide/index.html?using-domain-names-with-elb.html).
|
|
25
25
|
#
|
|
26
26
|
# @attr_reader [String] canonical_hosted_zone_name_id Provides the ID of
|
|
27
27
|
# the Amazon Route 53 hosted zone name that is associated with the
|
|
28
|
-
# load balancer. For more information:
|
|
28
|
+
# load balancer. For more information: [using-domain-names-with-elb.html](http://docs.amazonwebservices.com/ElasticLoadBalancing/latest/DeveloperGuide/index.html?using-domain-names-with-elb.html).
|
|
29
29
|
#
|
|
30
30
|
# @attr_reader [String] dns_name Specifies the external DNS name
|
|
31
31
|
# associated with this load balancer.
|
|
32
32
|
#
|
|
33
33
|
# @attr_reader [Hash] policy_descriptions Returns a hash of
|
|
34
|
-
#
|
|
35
|
-
# and
|
|
34
|
+
# `:app_cookie_stickiness_policies`, `:lb_cookie_stickiness_policies`
|
|
35
|
+
# and `:other_policies`. See also {#policies}.
|
|
36
36
|
#
|
|
37
37
|
# @attr_reader [String,nil] scheme Specifies the type of LoadBalancer.
|
|
38
38
|
# This attribute it set only for LoadBalancers attached to an Amazon VPC.
|
|
39
39
|
# If the Scheme is 'internet-facing', the LoadBalancer has a publicly
|
|
40
40
|
# resolvable DNS name that resolves to public IP addresses.
|
|
41
|
-
# If the Scheme is 'internal', the LoadBalancer has a publicly
|
|
41
|
+
# If the Scheme is 'internal', the LoadBalancer has a publicly
|
|
42
42
|
# resolvable DNS name that resolves to private IP addresses.
|
|
43
43
|
#
|
|
44
44
|
# @attr_reader [Array<String>] subnet_ids Provides a list of VPC subnet IDs
|
|
@@ -47,11 +47,11 @@ module AWS
|
|
|
47
47
|
# @attr_reader [Hash] health_check
|
|
48
48
|
# Returns a hash of the various health probes conducted on the
|
|
49
49
|
# load balancer instances. The following entries are returned:
|
|
50
|
-
# *
|
|
51
|
-
# *
|
|
52
|
-
# *
|
|
53
|
-
# *
|
|
54
|
-
# *
|
|
50
|
+
# * `:healthy_threshold`
|
|
51
|
+
# * `:unhealthy_threshold`
|
|
52
|
+
# * `:interval`
|
|
53
|
+
# * `:target`
|
|
54
|
+
# * `:timeout`
|
|
55
55
|
# See {#configure_health_check} for more details on what each of the
|
|
56
56
|
# configuration values mean.
|
|
57
57
|
#
|
|
@@ -115,11 +115,11 @@ module AWS
|
|
|
115
115
|
#
|
|
116
116
|
# @example enable an availability zone
|
|
117
117
|
#
|
|
118
|
-
# load_balancer.availability_zones.enable('us-
|
|
118
|
+
# load_balancer.availability_zones.enable('us-west-2b')
|
|
119
119
|
#
|
|
120
120
|
# @example disable an availability zone
|
|
121
121
|
#
|
|
122
|
-
# load_balancer.availability_zones.disable('us-
|
|
122
|
+
# load_balancer.availability_zones.disable('us-west-2b')
|
|
123
123
|
#
|
|
124
124
|
# @example list enabled availability zoens
|
|
125
125
|
#
|
|
@@ -176,7 +176,7 @@ module AWS
|
|
|
176
176
|
#
|
|
177
177
|
# @option options [Integer] :timeout Specifies the amount of time, in
|
|
178
178
|
# seconds, during which no response means a failed health probe.
|
|
179
|
-
# This value must be less than the
|
|
179
|
+
# This value must be less than the `:interval` value.
|
|
180
180
|
#
|
|
181
181
|
# @option options [String] :target Specifies the instance being checked.
|
|
182
182
|
#
|
|
@@ -234,9 +234,8 @@ module AWS
|
|
|
234
234
|
# just pass the load balancer as a source to the various
|
|
235
235
|
# authorize and revoke methods of {EC2::SecurityGroup}:
|
|
236
236
|
#
|
|
237
|
-
#
|
|
238
|
-
#
|
|
239
|
-
# security_group.revoke_ingress(load_balancer)
|
|
237
|
+
# security_group.authorize_ingress(load_balancer)
|
|
238
|
+
# security_group.revoke_ingress(load_balancer)
|
|
240
239
|
#
|
|
241
240
|
# @return [Hash] Returns a hash that can be passed to the following
|
|
242
241
|
# {EC2::SecurityGroup} methods as a source:
|
|
@@ -28,14 +28,14 @@ module AWS
|
|
|
28
28
|
# An example that creates a load balancer in two availability zones
|
|
29
29
|
# with a single listener:
|
|
30
30
|
#
|
|
31
|
-
#
|
|
32
|
-
#
|
|
33
|
-
#
|
|
34
|
-
#
|
|
35
|
-
#
|
|
36
|
-
#
|
|
37
|
-
#
|
|
38
|
-
#
|
|
31
|
+
# load_balancer = elb.load_balancers.create('my-load-balancer',
|
|
32
|
+
# :availability_zones => %w(us-west-2a us-west-2b),
|
|
33
|
+
# :listeners => [{
|
|
34
|
+
# :port => 80,
|
|
35
|
+
# :protocol => :http,
|
|
36
|
+
# :instance_port => 80,
|
|
37
|
+
# :instance_protocol => :http,
|
|
38
|
+
# }])
|
|
39
39
|
#
|
|
40
40
|
# @param [String] name The name of your load balancer. The name must
|
|
41
41
|
# be unique within your set of load balancers.
|
|
@@ -46,21 +46,33 @@ module AWS
|
|
|
46
46
|
# one or more availability zones. Values may be availability zone
|
|
47
47
|
# name strings, or {AWS::EC2::AvailabilityZone} objects.
|
|
48
48
|
#
|
|
49
|
-
# @option options [required,Array<Hash>] :listeners An array of load
|
|
50
|
-
# balancer listener options
|
|
51
|
-
#
|
|
52
|
-
#
|
|
53
|
-
#
|
|
54
|
-
#
|
|
55
|
-
#
|
|
56
|
-
#
|
|
57
|
-
#
|
|
58
|
-
#
|
|
59
|
-
#
|
|
60
|
-
#
|
|
61
|
-
#
|
|
62
|
-
#
|
|
63
|
-
#
|
|
49
|
+
# @option options [required,Array<Hash>] :listeners An array of load
|
|
50
|
+
# balancer listener options:
|
|
51
|
+
# * `:protocol` - *required* - (String) Specifies the LoadBalancer
|
|
52
|
+
# transport protocol to use for routing - HTTP, HTTPS, TCP or SSL.
|
|
53
|
+
# This property cannot be modified for the life of the
|
|
54
|
+
# LoadBalancer.
|
|
55
|
+
# * `:load_balancer_port` - *required* - (Integer) Specifies the
|
|
56
|
+
# external LoadBalancer port number. This property cannot be
|
|
57
|
+
# modified for the life of the LoadBalancer.
|
|
58
|
+
# * `:instance_protocol` - (String) Specifies the protocol to use for
|
|
59
|
+
# routing traffic to back-end instances - HTTP, HTTPS, TCP, or SSL.
|
|
60
|
+
# This property cannot be modified for the life of the
|
|
61
|
+
# LoadBalancer. If the front-end protocol is HTTP or HTTPS,
|
|
62
|
+
# InstanceProtocol has to be at the same protocol layer, i.e., HTTP
|
|
63
|
+
# or HTTPS. Likewise, if the front-end protocol is TCP or SSL,
|
|
64
|
+
# InstanceProtocol has to be TCP or SSL. If there is another
|
|
65
|
+
# listener with the same InstancePort whose InstanceProtocol is
|
|
66
|
+
# secure, i.e., HTTPS or SSL, the listener's InstanceProtocol has
|
|
67
|
+
# to be secure, i.e., HTTPS or SSL. If there is another listener
|
|
68
|
+
# with the same InstancePort whose InstanceProtocol is HTTP or TCP,
|
|
69
|
+
# the listener's InstanceProtocol must be either HTTP or TCP.
|
|
70
|
+
# * `:instance_port` - *required* - (Integer) Specifies the TCP port
|
|
71
|
+
# on which the instance server is listening. This property cannot
|
|
72
|
+
# be modified for the life of the LoadBalancer.
|
|
73
|
+
# * `:ssl_certificate_id` - (String) The ARN string of the server
|
|
74
|
+
# certificate. To get the ARN of the server certificate, call the
|
|
75
|
+
# AWS Identity and Access Management UploadServerCertificate API.
|
|
64
76
|
#
|
|
65
77
|
# @option options [Array] :subnets An list of VPC subets to attach the
|
|
66
78
|
# load balancer to. This can be an array of subnet ids (strings) or
|
|
@@ -70,7 +82,7 @@ module AWS
|
|
|
70
82
|
# your load balancer within your VPC. This can be an array of
|
|
71
83
|
# security group ids or {EC2::SecurityGroup} objects. VPC only.
|
|
72
84
|
#
|
|
73
|
-
# @option options [String] :scheme ('internal' The type of a load
|
|
85
|
+
# @option options [String] :scheme ('internal' The type of a load
|
|
74
86
|
# balancer. Accepts 'internet-facing' or 'internal'. VPC only.
|
|
75
87
|
#
|
|
76
88
|
def create name, options = {}
|
|
@@ -66,7 +66,7 @@ module AWS
|
|
|
66
66
|
|
|
67
67
|
# Useful for determining if a policy with the given name exists:
|
|
68
68
|
#
|
|
69
|
-
#
|
|
69
|
+
# load_balancer.policies['my-policy-name'].exists? # => true/false
|
|
70
70
|
#
|
|
71
71
|
# @return [Boolean] Returns true this policy's load balancer has a
|
|
72
72
|
# policy with this name.
|
|
@@ -31,17 +31,17 @@ module AWS
|
|
|
31
31
|
# the front-end listener, or the back-end application server,
|
|
32
32
|
# depending on your policy type.
|
|
33
33
|
#
|
|
34
|
-
#
|
|
34
|
+
# ## Applying Policies
|
|
35
35
|
#
|
|
36
36
|
# To apply a policy to a front-end listener:
|
|
37
37
|
#
|
|
38
|
-
#
|
|
39
|
-
#
|
|
38
|
+
# # each listener may only have a single policy
|
|
39
|
+
# load_balancer.listener[80].policy = listener_policy
|
|
40
40
|
#
|
|
41
41
|
# To apply a policy to backend instance port
|
|
42
42
|
#
|
|
43
|
-
#
|
|
44
|
-
#
|
|
43
|
+
# # back end servers can have multiple policies per instance port
|
|
44
|
+
# load_balancer.backend_server_policies.add(80, back_end_policy)
|
|
45
45
|
#
|
|
46
46
|
# @param [String] name The name of the policy being created. The name
|
|
47
47
|
# must be unique within the set of policies for this load balancer.
|
data/lib/aws/emr.rb
CHANGED
|
@@ -21,40 +21,42 @@ module AWS
|
|
|
21
21
|
# MapReduce.
|
|
22
22
|
#
|
|
23
23
|
# To use Amazon Elastic MapReduce you must first
|
|
24
|
-
#
|
|
24
|
+
# [sign up here](http://aws.amazon.com/elasticmapreduce/)
|
|
25
25
|
#
|
|
26
26
|
# For more information about Amazon Elastic MapReduce, see:
|
|
27
27
|
#
|
|
28
|
-
# *
|
|
29
|
-
# *
|
|
28
|
+
# * [Amazon Elastic MapReduce](http://aws.amazon.com/elasticmapreduce/)
|
|
29
|
+
# * [Amazon Elastic MapReduce Documentation](http://aws.amazon.com/documentation/elasticmapreduce/)
|
|
30
30
|
#
|
|
31
|
-
#
|
|
31
|
+
# ## Credentials
|
|
32
32
|
#
|
|
33
33
|
# You can setup default credentials for all AWS services via
|
|
34
34
|
# AWS.config:
|
|
35
35
|
#
|
|
36
|
-
#
|
|
37
|
-
#
|
|
38
|
-
#
|
|
36
|
+
# AWS.config(
|
|
37
|
+
# :access_key_id => 'YOUR_ACCESS_KEY_ID',
|
|
38
|
+
# :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
|
|
39
39
|
#
|
|
40
40
|
# Or you can set them directly on the EMR interface:
|
|
41
41
|
#
|
|
42
|
-
#
|
|
43
|
-
#
|
|
44
|
-
#
|
|
42
|
+
# emr = AWS::EMR.new(
|
|
43
|
+
# :access_key_id => 'YOUR_ACCESS_KEY_ID',
|
|
44
|
+
# :secret_access_key => 'YOUR_SECRET_ACCESS_KEY')
|
|
45
45
|
#
|
|
46
|
-
#
|
|
46
|
+
# # Job Flows
|
|
47
47
|
#
|
|
48
48
|
# The {#job_flows} method returns a collection you use to interact
|
|
49
49
|
# with your job flows.
|
|
50
50
|
#
|
|
51
|
-
#
|
|
52
|
-
# job_flow = emr.job_flows.create(...)
|
|
51
|
+
# emr = AWS::EMR.new
|
|
53
52
|
#
|
|
54
|
-
#
|
|
55
|
-
#
|
|
56
|
-
#
|
|
57
|
-
#
|
|
53
|
+
# # creating a job flow
|
|
54
|
+
# job_flow = emr.job_flows.create(...)
|
|
55
|
+
#
|
|
56
|
+
# # enumerating job flows
|
|
57
|
+
# emr.job_flows.each do |job_flow|
|
|
58
|
+
# puts job_flow.id
|
|
59
|
+
# end
|
|
58
60
|
#
|
|
59
61
|
# See {JobFlowCollection} and {JobFlow} for more information on working
|
|
60
62
|
# with job flows.
|
|
@@ -63,18 +65,18 @@ module AWS
|
|
|
63
65
|
# @return [Client] the low-level EMR client object
|
|
64
66
|
class EMR
|
|
65
67
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
autoload :Request, 'request'
|
|
74
|
-
end
|
|
68
|
+
autoload :Client, 'aws/emr/client'
|
|
69
|
+
autoload :Errors, 'aws/emr/errors'
|
|
70
|
+
autoload :InstanceGroup, 'aws/emr/instance_group'
|
|
71
|
+
autoload :InstanceGroupCollection, 'aws/emr/instance_group_collection'
|
|
72
|
+
autoload :JobFlow, 'aws/emr/job_flow'
|
|
73
|
+
autoload :JobFlowCollection, 'aws/emr/job_flow_collection'
|
|
74
|
+
autoload :Request, 'aws/emr/request'
|
|
75
75
|
|
|
76
76
|
include Core::ServiceInterface
|
|
77
77
|
|
|
78
|
+
endpoint_prefix 'elasticmapreduce'
|
|
79
|
+
|
|
78
80
|
# @return [JobFlowCollection] Returns a collection that represents all
|
|
79
81
|
# job flows.
|
|
80
82
|
def job_flows
|
data/lib/aws/emr/client.rb
CHANGED
|
@@ -25,157 +25,165 @@ module AWS
|
|
|
25
25
|
# @!method add_instance_groups(options = {})
|
|
26
26
|
# Calls the AddInstanceGroups API operation.
|
|
27
27
|
# @param [Hash] options
|
|
28
|
-
# *
|
|
28
|
+
# * `:instance_groups` - *required* - (Array<Hash>) Instance Groups to
|
|
29
29
|
# add.
|
|
30
|
-
# *
|
|
31
|
-
# *
|
|
32
|
-
# to create a cluster node.
|
|
33
|
-
#
|
|
34
|
-
#
|
|
35
|
-
# *
|
|
30
|
+
# * `:name` - (String) Friendly name given to the instance group.
|
|
31
|
+
# * `:market` - (String) Market type of the Amazon EC2 instances used
|
|
32
|
+
# to create a cluster node. Valid values include:
|
|
33
|
+
# * `ON_DEMAND`
|
|
34
|
+
# * `SPOT`
|
|
35
|
+
# * `:instance_role` - *required* - (String) The role of the instance
|
|
36
|
+
# group in the cluster. Valid values include:
|
|
37
|
+
# * `MASTER`
|
|
38
|
+
# * `CORE`
|
|
39
|
+
# * `TASK`
|
|
40
|
+
# * `:bid_price` - (String) Bid price for each Amazon EC2 instance in
|
|
36
41
|
# the instance group when launching nodes as Spot Instances,
|
|
37
42
|
# expressed in USD.
|
|
38
|
-
# *
|
|
43
|
+
# * `:instance_type` - *required* - (String) The Amazon EC2 instance
|
|
39
44
|
# type for all instances in the instance group.
|
|
40
|
-
# *
|
|
45
|
+
# * `:instance_count` - *required* - (Integer) Target number of
|
|
41
46
|
# instances for the instance group.
|
|
42
|
-
# *
|
|
47
|
+
# * `:job_flow_id` - *required* - (String) Job flow in which to add the
|
|
43
48
|
# instance groups.
|
|
44
49
|
# @return [Core::Response]
|
|
45
50
|
# The #data method of the response object returns
|
|
46
51
|
# a hash with the following structure:
|
|
47
|
-
# *
|
|
48
|
-
# *
|
|
52
|
+
# * `:job_flow_id` - (String)
|
|
53
|
+
# * `:instance_group_ids` - (Array<String>)
|
|
49
54
|
|
|
50
55
|
# @!method add_job_flow_steps(options = {})
|
|
51
56
|
# Calls the AddJobFlowSteps API operation.
|
|
52
57
|
# @param [Hash] options
|
|
53
|
-
# *
|
|
58
|
+
# * `:job_flow_id` - *required* - (String) A string that uniquely
|
|
54
59
|
# identifies the job flow. This identifier is returned by RunJobFlow
|
|
55
60
|
# and can also be obtained from DescribeJobFlows.
|
|
56
|
-
# *
|
|
61
|
+
# * `:steps` - *required* - (Array<Hash>) A list of StepConfig to be
|
|
57
62
|
# executed by the job flow.
|
|
58
|
-
# *
|
|
59
|
-
# *
|
|
60
|
-
# the job flow step fails.
|
|
61
|
-
#
|
|
63
|
+
# * `:name` - *required* - (String) The name of the job flow step.
|
|
64
|
+
# * `:action_on_failure` - (String) Specifies the action to take if
|
|
65
|
+
# the job flow step fails. Valid values include:
|
|
66
|
+
# * `TERMINATE_JOB_FLOW`
|
|
67
|
+
# * `CANCEL_AND_WAIT`
|
|
68
|
+
# * `CONTINUE`
|
|
69
|
+
# * `:hadoop_jar_step` - *required* - (Hash) Specifies the JAR file
|
|
62
70
|
# used for the job flow step.
|
|
63
|
-
# *
|
|
71
|
+
# * `:properties` - (Array<Hash>) A list of Java properties that
|
|
64
72
|
# are set when the step runs. You can use these properties to
|
|
65
73
|
# pass key value pairs to your main function.
|
|
66
|
-
# *
|
|
67
|
-
# *
|
|
68
|
-
# *
|
|
74
|
+
# * `:key` - (String) The unique identifier of a key value pair.
|
|
75
|
+
# * `:value` - (String) The value part of the identified key.
|
|
76
|
+
# * `:jar` - *required* - (String) A path to a JAR file run during
|
|
69
77
|
# the step.
|
|
70
|
-
# *
|
|
78
|
+
# * `:main_class` - (String) The name of the main class in the
|
|
71
79
|
# specified Java file. If not specified, the JAR file should
|
|
72
80
|
# specify a Main-Class in its manifest file.
|
|
73
|
-
# *
|
|
81
|
+
# * `:args` - (Array<String>) A list of command line arguments
|
|
74
82
|
# passed to the JAR file's main function when executed.
|
|
75
83
|
# @return [Core::Response]
|
|
76
84
|
|
|
77
85
|
# @!method describe_job_flows(options = {})
|
|
78
86
|
# Calls the DescribeJobFlows API operation.
|
|
79
87
|
# @param [Hash] options
|
|
80
|
-
# *
|
|
88
|
+
# * `:created_after` - (String<ISO8601 datetime>) Return only job flows
|
|
81
89
|
# created after this date and time.
|
|
82
|
-
# *
|
|
90
|
+
# * `:created_before` - (String<ISO8601 datetime>) Return only job
|
|
83
91
|
# flows created before this date and time.
|
|
84
|
-
# *
|
|
92
|
+
# * `:job_flow_ids` - (Array<String>) Return only job flows whose job
|
|
85
93
|
# flow ID is contained in this list.
|
|
86
|
-
# *
|
|
94
|
+
# * `:job_flow_states` - (Array<String>) Return only job flows whose
|
|
87
95
|
# state is contained in this list.
|
|
88
96
|
# @return [Core::Response]
|
|
89
97
|
# The #data method of the response object returns
|
|
90
98
|
# a hash with the following structure:
|
|
91
|
-
# *
|
|
92
|
-
# *
|
|
93
|
-
# *
|
|
94
|
-
# *
|
|
95
|
-
# *
|
|
96
|
-
# *
|
|
97
|
-
# *
|
|
98
|
-
# *
|
|
99
|
-
# *
|
|
100
|
-
# *
|
|
101
|
-
# *
|
|
102
|
-
# *
|
|
103
|
-
# *
|
|
104
|
-
# *
|
|
105
|
-
# *
|
|
106
|
-
# *
|
|
107
|
-
# *
|
|
108
|
-
# *
|
|
109
|
-
# *
|
|
110
|
-
# *
|
|
111
|
-
# *
|
|
112
|
-
# *
|
|
113
|
-
# *
|
|
114
|
-
# *
|
|
115
|
-
# *
|
|
116
|
-
# *
|
|
117
|
-
# *
|
|
118
|
-
# *
|
|
119
|
-
# *
|
|
120
|
-
# *
|
|
121
|
-
# *
|
|
122
|
-
# *
|
|
123
|
-
# *
|
|
124
|
-
# *
|
|
125
|
-
# *
|
|
126
|
-
# *
|
|
127
|
-
# *
|
|
128
|
-
# *
|
|
129
|
-
# *
|
|
130
|
-
# *
|
|
131
|
-
# *
|
|
132
|
-
# *
|
|
133
|
-
# *
|
|
134
|
-
# *
|
|
135
|
-
# *
|
|
136
|
-
# *
|
|
137
|
-
# *
|
|
138
|
-
# *
|
|
139
|
-
# *
|
|
140
|
-
# *
|
|
141
|
-
# *
|
|
142
|
-
# *
|
|
143
|
-
# *
|
|
144
|
-
# *
|
|
145
|
-
# *
|
|
146
|
-
# *
|
|
147
|
-
# *
|
|
148
|
-
# *
|
|
149
|
-
# *
|
|
150
|
-
# *
|
|
151
|
-
# *
|
|
152
|
-
# *
|
|
153
|
-
# *
|
|
154
|
-
# *
|
|
155
|
-
# *
|
|
156
|
-
# *
|
|
157
|
-
# *
|
|
99
|
+
# * `:job_flows` - (Array<Hash>)
|
|
100
|
+
# * `:job_flow_id` - (String)
|
|
101
|
+
# * `:name` - (String)
|
|
102
|
+
# * `:log_uri` - (String)
|
|
103
|
+
# * `:ami_version` - (String)
|
|
104
|
+
# * `:execution_status_detail` - (Hash)
|
|
105
|
+
# * `:state` - (String)
|
|
106
|
+
# * `:creation_date_time` - (Time)
|
|
107
|
+
# * `:start_date_time` - (Time)
|
|
108
|
+
# * `:ready_date_time` - (Time)
|
|
109
|
+
# * `:end_date_time` - (Time)
|
|
110
|
+
# * `:last_state_change_reason` - (String)
|
|
111
|
+
# * `:instances` - (Hash)
|
|
112
|
+
# * `:master_instance_type` - (String)
|
|
113
|
+
# * `:master_public_dns_name` - (String)
|
|
114
|
+
# * `:master_instance_id` - (String)
|
|
115
|
+
# * `:slave_instance_type` - (String)
|
|
116
|
+
# * `:instance_count` - (Integer)
|
|
117
|
+
# * `:instance_groups` - (Array<Hash>)
|
|
118
|
+
# * `:instance_group_id` - (String)
|
|
119
|
+
# * `:name` - (String)
|
|
120
|
+
# * `:market` - (String)
|
|
121
|
+
# * `:instance_role` - (String)
|
|
122
|
+
# * `:bid_price` - (String)
|
|
123
|
+
# * `:instance_type` - (String)
|
|
124
|
+
# * `:instance_request_count` - (Integer)
|
|
125
|
+
# * `:instance_running_count` - (Integer)
|
|
126
|
+
# * `:state` - (String)
|
|
127
|
+
# * `:last_state_change_reason` - (String)
|
|
128
|
+
# * `:creation_date_time` - (Time)
|
|
129
|
+
# * `:start_date_time` - (Time)
|
|
130
|
+
# * `:ready_date_time` - (Time)
|
|
131
|
+
# * `:end_date_time` - (Time)
|
|
132
|
+
# * `:normalized_instance_hours` - (Integer)
|
|
133
|
+
# * `:ec2_key_name` - (String)
|
|
134
|
+
# * `:ec2_subnet_id` - (String)
|
|
135
|
+
# * `:placement` - (Hash)
|
|
136
|
+
# * `:availability_zone` - (String)
|
|
137
|
+
# * `:keep_job_flow_alive_when_no_steps` - (Boolean)
|
|
138
|
+
# * `:termination_protected` - (Boolean)
|
|
139
|
+
# * `:hadoop_version` - (String)
|
|
140
|
+
# * `:steps` - (Array<Hash>)
|
|
141
|
+
# * `:step_config` - (Hash)
|
|
142
|
+
# * `:name` - (String)
|
|
143
|
+
# * `:action_on_failure` - (String)
|
|
144
|
+
# * `:hadoop_jar_step` - (Hash)
|
|
145
|
+
# * `:properties` - (Array<Hash>)
|
|
146
|
+
# * `:key` - (String)
|
|
147
|
+
# * `:value` - (String)
|
|
148
|
+
# * `:jar` - (String)
|
|
149
|
+
# * `:main_class` - (String)
|
|
150
|
+
# * `:args` - (Array<String>)
|
|
151
|
+
# * `:execution_status_detail` - (Hash)
|
|
152
|
+
# * `:state` - (String)
|
|
153
|
+
# * `:creation_date_time` - (Time)
|
|
154
|
+
# * `:start_date_time` - (Time)
|
|
155
|
+
# * `:end_date_time` - (Time)
|
|
156
|
+
# * `:last_state_change_reason` - (String)
|
|
157
|
+
# * `:bootstrap_actions` - (Array<Hash>)
|
|
158
|
+
# * `:bootstrap_action_config` - (Hash)
|
|
159
|
+
# * `:name` - (String)
|
|
160
|
+
# * `:script_bootstrap_action` - (Hash)
|
|
161
|
+
# * `:path` - (String)
|
|
162
|
+
# * `:args` - (Array<String>)
|
|
163
|
+
# * `:supported_products` - (Array<String>)
|
|
164
|
+
# * `:visible_to_all_users` - (Boolean)
|
|
165
|
+
# * `:job_flow_role` - (String)
|
|
158
166
|
|
|
159
167
|
# @!method modify_instance_groups(options = {})
|
|
160
168
|
# Calls the ModifyInstanceGroups API operation.
|
|
161
169
|
# @param [Hash] options
|
|
162
|
-
# *
|
|
163
|
-
# *
|
|
170
|
+
# * `:instance_groups` - (Array<Hash>) Instance groups to change.
|
|
171
|
+
# * `:instance_group_id` - *required* - (String) Unique ID of the
|
|
164
172
|
# instance group to expand or shrink.
|
|
165
|
-
# *
|
|
173
|
+
# * `:instance_count` - *required* - (Integer) Target size for the
|
|
166
174
|
# instance group.
|
|
167
175
|
# @return [Core::Response]
|
|
168
176
|
|
|
169
177
|
# @!method run_job_flow(options = {})
|
|
170
178
|
# Calls the RunJobFlow API operation.
|
|
171
179
|
# @param [Hash] options
|
|
172
|
-
# *
|
|
173
|
-
# *
|
|
180
|
+
# * `:name` - *required* - (String) The name of the job flow.
|
|
181
|
+
# * `:log_uri` - (String) Specifies the location in Amazon S3 to write
|
|
174
182
|
# the log files of the job flow. If a value is not provided, logs are
|
|
175
183
|
# not created.
|
|
176
|
-
# *
|
|
184
|
+
# * `:additional_info` - (String) A JSON string for selecting
|
|
177
185
|
# additional features.
|
|
178
|
-
# *
|
|
186
|
+
# * `:ami_version` - (String) The version of the Amazon Machine Image
|
|
179
187
|
# (AMI) to use when launching Amazon EC2 instances in the job flow.
|
|
180
188
|
# The following values are valid: "latest" (uses the latest AMI) The
|
|
181
189
|
# version number of the AMI to use, for example, "2.0" If this value
|
|
@@ -187,47 +195,52 @@ module AWS
|
|
|
187
195
|
# the AMI versions currently supported by Amazon ElasticMapReduce, go
|
|
188
196
|
# to AMI Versions Supported in Elastic MapReduce in the Amazon
|
|
189
197
|
# Elastic MapReduce Developer's Guide.
|
|
190
|
-
# *
|
|
198
|
+
# * `:instances` - *required* - (Hash) A specification of the number
|
|
191
199
|
# and type of Amazon EC2 instances on which to run the job flow.
|
|
192
|
-
# *
|
|
200
|
+
# * `:master_instance_type` - (String) The EC2 instance type of the
|
|
193
201
|
# master node.
|
|
194
|
-
# *
|
|
202
|
+
# * `:slave_instance_type` - (String) The EC2 instance type of the
|
|
195
203
|
# slave nodes.
|
|
196
|
-
# *
|
|
204
|
+
# * `:instance_count` - (Integer) The number of Amazon EC2 instances
|
|
197
205
|
# used to execute the job flow.
|
|
198
|
-
# *
|
|
206
|
+
# * `:instance_groups` - (Array<Hash>) Configuration for the job
|
|
199
207
|
# flow's instance groups.
|
|
200
|
-
# *
|
|
201
|
-
# *
|
|
202
|
-
# used to create a cluster node.
|
|
203
|
-
#
|
|
204
|
-
#
|
|
205
|
-
# *
|
|
208
|
+
# * `:name` - (String) Friendly name given to the instance group.
|
|
209
|
+
# * `:market` - (String) Market type of the Amazon EC2 instances
|
|
210
|
+
# used to create a cluster node. Valid values include:
|
|
211
|
+
# * `ON_DEMAND`
|
|
212
|
+
# * `SPOT`
|
|
213
|
+
# * `:instance_role` - *required* - (String) The role of the
|
|
214
|
+
# instance group in the cluster. Valid values include:
|
|
215
|
+
# * `MASTER`
|
|
216
|
+
# * `CORE`
|
|
217
|
+
# * `TASK`
|
|
218
|
+
# * `:bid_price` - (String) Bid price for each Amazon EC2 instance
|
|
206
219
|
# in the instance group when launching nodes as Spot Instances,
|
|
207
220
|
# expressed in USD.
|
|
208
|
-
# *
|
|
221
|
+
# * `:instance_type` - *required* - (String) The Amazon EC2
|
|
209
222
|
# instance type for all instances in the instance group.
|
|
210
|
-
# *
|
|
223
|
+
# * `:instance_count` - *required* - (Integer) Target number of
|
|
211
224
|
# instances for the instance group.
|
|
212
|
-
# *
|
|
225
|
+
# * `:ec2_key_name` - (String) Specifies the name of the Amazon EC2
|
|
213
226
|
# key pair that can be used to ssh to the master node as the user
|
|
214
227
|
# called "hadoop."
|
|
215
|
-
# *
|
|
228
|
+
# * `:placement` - (Hash) Specifies the Availability Zone the job
|
|
216
229
|
# flow will run in.
|
|
217
|
-
# *
|
|
230
|
+
# * `:availability_zone` - *required* - (String) The Amazon EC2
|
|
218
231
|
# Availability Zone for the job flow.
|
|
219
|
-
# *
|
|
232
|
+
# * `:keep_job_flow_alive_when_no_steps` - (Boolean) Specifies
|
|
220
233
|
# whether the job flow should terminate after completing all steps.
|
|
221
|
-
# *
|
|
234
|
+
# * `:termination_protected` - (Boolean) Specifies whether to lock
|
|
222
235
|
# the job flow to prevent the Amazon EC2 instances from being
|
|
223
236
|
# terminated by API call, user intervention, or in the event of a
|
|
224
237
|
# job flow error.
|
|
225
|
-
# *
|
|
238
|
+
# * `:hadoop_version` - (String) Specifies the Hadoop version for the
|
|
226
239
|
# job flow. Valid inputs are "0.18", "0.20", or "0.20.205". If you
|
|
227
240
|
# do not set this value, the default of 0.18 is used, unless the
|
|
228
241
|
# AmiVersion parameter is set in the RunJobFlow call, in which case
|
|
229
242
|
# the default version of Hadoop for that AMI version is used.
|
|
230
|
-
# *
|
|
243
|
+
# * `:ec2_subnet_id` - (String) To launch the job flow in Amazon
|
|
231
244
|
# Virtual Private Cloud (Amazon VPC), set this parameter to the
|
|
232
245
|
# identifier of the Amazon VPC subnet where you want the job flow
|
|
233
246
|
# to launch. If you do not specify this value, the job flow is
|
|
@@ -236,65 +249,68 @@ module AWS
|
|
|
236
249
|
# quadruple extra large (cc1.4xlarge) instances. Thus you cannot
|
|
237
250
|
# specify the cc1.4xlarge instance type for nodes of a job flow
|
|
238
251
|
# launched in a Amazon VPC.
|
|
239
|
-
# *
|
|
252
|
+
# * `:steps` - (Array<Hash>) A list of steps to be executed by the job
|
|
240
253
|
# flow.
|
|
241
|
-
# *
|
|
242
|
-
# *
|
|
243
|
-
# the job flow step fails.
|
|
244
|
-
#
|
|
254
|
+
# * `:name` - *required* - (String) The name of the job flow step.
|
|
255
|
+
# * `:action_on_failure` - (String) Specifies the action to take if
|
|
256
|
+
# the job flow step fails. Valid values include:
|
|
257
|
+
# * `TERMINATE_JOB_FLOW`
|
|
258
|
+
# * `CANCEL_AND_WAIT`
|
|
259
|
+
# * `CONTINUE`
|
|
260
|
+
# * `:hadoop_jar_step` - *required* - (Hash) Specifies the JAR file
|
|
245
261
|
# used for the job flow step.
|
|
246
|
-
# *
|
|
262
|
+
# * `:properties` - (Array<Hash>) A list of Java properties that
|
|
247
263
|
# are set when the step runs. You can use these properties to
|
|
248
264
|
# pass key value pairs to your main function.
|
|
249
|
-
# *
|
|
250
|
-
# *
|
|
251
|
-
# *
|
|
265
|
+
# * `:key` - (String) The unique identifier of a key value pair.
|
|
266
|
+
# * `:value` - (String) The value part of the identified key.
|
|
267
|
+
# * `:jar` - *required* - (String) A path to a JAR file run during
|
|
252
268
|
# the step.
|
|
253
|
-
# *
|
|
269
|
+
# * `:main_class` - (String) The name of the main class in the
|
|
254
270
|
# specified Java file. If not specified, the JAR file should
|
|
255
271
|
# specify a Main-Class in its manifest file.
|
|
256
|
-
# *
|
|
272
|
+
# * `:args` - (Array<String>) A list of command line arguments
|
|
257
273
|
# passed to the JAR file's main function when executed.
|
|
258
|
-
# *
|
|
274
|
+
# * `:bootstrap_actions` - (Array<Hash>) A list of bootstrap actions
|
|
259
275
|
# that will be run before Hadoop is started on the cluster nodes.
|
|
260
|
-
# *
|
|
261
|
-
# *
|
|
276
|
+
# * `:name` - *required* - (String) The name of the bootstrap action.
|
|
277
|
+
# * `:script_bootstrap_action` - *required* - (Hash) The script run
|
|
262
278
|
# by the bootstrap action.
|
|
263
|
-
# *
|
|
279
|
+
# * `:path` - *required* - (String) Location of the script to run
|
|
264
280
|
# during a bootstrap action. Can be either a location in Amazon
|
|
265
281
|
# S3 or on a local file system.
|
|
266
|
-
# *
|
|
282
|
+
# * `:args` - (Array<String>) A list of command line arguments to
|
|
267
283
|
# pass to the bootstrap action script.
|
|
268
|
-
# *
|
|
284
|
+
# * `:supported_products` - (Array<String>) A list of strings that
|
|
269
285
|
# indicates third-party software to use with the job flow. For more
|
|
270
286
|
# information, go to Use Third Party Applications with Amazon EMR.
|
|
271
287
|
# Currently supported values are: "karmasphere-enterprise-utility" -
|
|
272
288
|
# tag the job flow for management by Karmasphere. "mapr-m3" - launch
|
|
273
289
|
# the job flow using MapR M3 Edition. "mapr-m5" - launch the job flow
|
|
274
290
|
# using MapR M5 Edition.
|
|
275
|
-
# *
|
|
291
|
+
# * `:visible_to_all_users` - (Boolean) Whether the job flow is visible
|
|
276
292
|
# to all IAM users of the AWS account associated with the job flow.
|
|
277
|
-
# If this value is set to
|
|
293
|
+
# If this value is set to `true` , all IAM users of that AWS account
|
|
278
294
|
# can view and (if they have the proper policy permissions set)
|
|
279
|
-
# manage the job flow. If it is set to
|
|
295
|
+
# manage the job flow. If it is set to `false` , only the IAM user
|
|
280
296
|
# that created the job flow can view and manage it.
|
|
281
|
-
# *
|
|
297
|
+
# * `:job_flow_role` - (String) An IAM role for the job flow. The EC2
|
|
282
298
|
# instances of the job flow assume this role. The default role is
|
|
283
299
|
# EMRJobflowDefault. In order to use the default role, you must have
|
|
284
300
|
# already created it using the CLI.
|
|
285
301
|
# @return [Core::Response]
|
|
286
302
|
# The #data method of the response object returns
|
|
287
303
|
# a hash with the following structure:
|
|
288
|
-
# *
|
|
304
|
+
# * `:job_flow_id` - (String)
|
|
289
305
|
|
|
290
306
|
# @!method set_termination_protection(options = {})
|
|
291
307
|
# Calls the SetTerminationProtection API operation.
|
|
292
308
|
# @param [Hash] options
|
|
293
|
-
# *
|
|
309
|
+
# * `:job_flow_ids` - *required* - (Array<String>) A list of strings
|
|
294
310
|
# that uniquely identify the job flows to protect. This identifier is
|
|
295
311
|
# returned by RunJobFlow and can also be obtained from
|
|
296
312
|
# DescribeJobFlows .
|
|
297
|
-
# *
|
|
313
|
+
# * `:termination_protected` - *required* - (Boolean) A Boolean that
|
|
298
314
|
# indicates whether to protect the job flow and prevent the Amazon
|
|
299
315
|
# EC2 instances in the cluster from shutting down due to API calls,
|
|
300
316
|
# user intervention, or job-flow error.
|
|
@@ -303,9 +319,9 @@ module AWS
|
|
|
303
319
|
# @!method set_visible_to_all_users(options = {})
|
|
304
320
|
# Calls the SetVisibleToAllUsers API operation.
|
|
305
321
|
# @param [Hash] options
|
|
306
|
-
# *
|
|
322
|
+
# * `:job_flow_ids` - *required* - (Array<String>) Identifiers of the
|
|
307
323
|
# job flows to receive the new visibility setting.
|
|
308
|
-
# *
|
|
324
|
+
# * `:visible_to_all_users` - *required* - (Boolean) Whether the
|
|
309
325
|
# specified job flows are visible to all IAM users of the AWS account
|
|
310
326
|
# associated with the job flow. If this value is set to True, all IAM
|
|
311
327
|
# users of that AWS account can view and, if they have the proper IAM
|
|
@@ -317,7 +333,7 @@ module AWS
|
|
|
317
333
|
# @!method terminate_job_flows(options = {})
|
|
318
334
|
# Calls the TerminateJobFlows API operation.
|
|
319
335
|
# @param [Hash] options
|
|
320
|
-
# *
|
|
336
|
+
# * `:job_flow_ids` - *required* - (Array<String>) A list of job flows
|
|
321
337
|
# to be shutdown.
|
|
322
338
|
# @return [Core::Response]
|
|
323
339
|
|