aws-sdk 1.12.0 → 1.13.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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -2
  3. data/bin/aws-rb +18 -0
  4. data/lib/aws/api_config/{CloudFront-2012-07-01.yml → CloudFront-2013-05-12.yml} +73 -23
  5. data/lib/aws/api_config/{RDS-2013-02-12.yml → RDS-2013-05-15.yml} +92 -5
  6. data/lib/aws/api_config/Redshift-2012-12-01.yml +188 -12
  7. data/lib/aws/api_config/STS-2011-06-15.yml +10 -0
  8. data/lib/aws/auto_scaling/client.rb +6 -0
  9. data/lib/aws/cloud_formation/client.rb +6 -0
  10. data/lib/aws/cloud_front/client.rb +37 -1
  11. data/lib/aws/cloud_search/client.rb +6 -0
  12. data/lib/aws/cloud_watch/client.rb +6 -0
  13. data/lib/aws/core.rb +15 -20
  14. data/lib/aws/core/client.rb +36 -0
  15. data/lib/aws/core/credential_providers.rb +45 -0
  16. data/lib/aws/core/region_collection.rb +4 -1
  17. data/lib/aws/data_pipeline/client.rb +6 -0
  18. data/lib/aws/direct_connect/client.rb +6 -0
  19. data/lib/aws/dynamo_db/client.rb +35 -1249
  20. data/lib/aws/dynamo_db/client/v20111205.rb +1266 -0
  21. data/lib/aws/dynamo_db/client/v20120810.rb +1409 -0
  22. data/lib/aws/dynamo_db/client_base.rb +1 -0
  23. data/lib/aws/dynamo_db/client_v2.rb +25 -1396
  24. data/lib/aws/ec2/client.rb +6 -0
  25. data/lib/aws/elastic_beanstalk/client.rb +6 -0
  26. data/lib/aws/elastic_transcoder/client.rb +6 -0
  27. data/lib/aws/elasticache/client.rb +6 -0
  28. data/lib/aws/elb/client.rb +6 -0
  29. data/lib/aws/emr/client.rb +6 -0
  30. data/lib/aws/glacier/client.rb +14 -8
  31. data/lib/aws/iam/client.rb +6 -0
  32. data/lib/aws/import_export/client.rb +6 -0
  33. data/lib/aws/ops_works/client.rb +6 -0
  34. data/lib/aws/rds/client.rb +83 -18
  35. data/lib/aws/record/abstract_base.rb +19 -22
  36. data/lib/aws/record/attributes.rb +5 -1
  37. data/lib/aws/record/hash_model.rb +50 -6
  38. data/lib/aws/record/model.rb +26 -0
  39. data/lib/aws/record/validator.rb +1 -1
  40. data/lib/aws/redshift/client.rb +186 -53
  41. data/lib/aws/route_53/client.rb +6 -0
  42. data/lib/aws/route_53/hosted_zone.rb +1 -1
  43. data/lib/aws/route_53/resource_record_set.rb +3 -3
  44. data/lib/aws/s3/client.rb +4 -1
  45. data/lib/aws/s3/presigned_post.rb +18 -21
  46. data/lib/aws/simple_db/client.rb +6 -0
  47. data/lib/aws/simple_email_service/client.rb +6 -0
  48. data/lib/aws/simple_email_service/identity.rb +1 -1
  49. data/lib/aws/simple_workflow/client.rb +24 -18
  50. data/lib/aws/sns/client.rb +6 -0
  51. data/lib/aws/sqs/client.rb +21 -15
  52. data/lib/aws/storage_gateway/client.rb +6 -0
  53. data/lib/aws/sts/client.rb +57 -38
  54. data/lib/aws/support/client.rb +6 -0
  55. data/lib/aws/version.rb +1 -1
  56. metadata +6 -4
@@ -50,7 +50,11 @@ module AWS
50
50
 
51
51
  # @return Returns the default value for this attribute.
52
52
  def default_value
53
- options[:default_value]
53
+ if options[:default_value].is_a?(Proc)
54
+ options[:default_value].call
55
+ else
56
+ options[:default_value]
57
+ end
54
58
  end
55
59
 
56
60
  # @return [String] Returns the name this attribute will use
@@ -21,6 +21,17 @@ module AWS
21
21
 
22
22
  extend AbstractBase
23
23
 
24
+ def self.inherited(sub_class)
25
+ sub_class.string_attr :id,
26
+ :hash_key => true,
27
+ :default_hash_key_attribute => true
28
+ end
29
+
30
+ # @return [String,nil]
31
+ def hash_key
32
+ self[self.class.hash_key]
33
+ end
34
+
24
35
  class << self
25
36
 
26
37
  # Creates the DynamoDB table that is configured for this class.
@@ -69,7 +80,7 @@ module AWS
69
80
  table_name = dynamo_db_table_name(options[:shard_name])
70
81
 
71
82
  create_opts = {}
72
- create_opts[:hash_key] = { :id => :string }
83
+ create_opts[:hash_key] = { hash_key => :string }
73
84
 
74
85
  dynamo_db.tables.create(
75
86
  table_name,
@@ -83,20 +94,54 @@ module AWS
83
94
  # @api private
84
95
  def dynamo_db_table shard_name = nil
85
96
  table = dynamo_db.tables[dynamo_db_table_name(shard_name)]
86
- table.hash_key = [:id, :string]
97
+ table.hash_key = [hash_key, :string]
87
98
  table
88
99
  end
89
100
 
90
- protected
101
+ # @api private
102
+ def hash_key
103
+ hash_key_attribute.name
104
+ end
105
+
106
+ # @api private
107
+ def hash_key_attribute
108
+ @hash_key_attribute
109
+ end
110
+
111
+ private
112
+
113
+ def set_hash_key_attribute(attribute)
114
+ if
115
+ hash_key_attribute and
116
+ hash_key_attribute.options[:default_hash_key_attribute]
117
+ then
118
+ remove_attribute(hash_key_attribute)
119
+ end
120
+ @hash_key_attribute = attribute
121
+ end
122
+
91
123
  def dynamo_db_table_name shard_name = nil
92
124
  "#{Record.table_prefix}#{self.shard_name(shard_name)}"
93
125
  end
94
126
 
95
- protected
96
127
  def dynamo_db
97
128
  AWS::DynamoDB.new
98
129
  end
99
130
 
131
+ def add_attribute(attribute)
132
+ set_hash_key_attribute(attribute) if attribute.options[:hash_key]
133
+ super(attribute)
134
+ end
135
+
136
+ end
137
+
138
+ private
139
+
140
+ def populate_id
141
+ hash_key = self.class.hash_key_attribute
142
+ if hash_key.options[:default_hash_key_attribute]
143
+ self[hash_key.name] = UUIDTools::UUID.random_create.to_s.downcase
144
+ end
100
145
  end
101
146
 
102
147
  # @return [DynamoDB::Item] Returns a reference to the item as stored in
@@ -116,8 +161,7 @@ module AWS
116
161
 
117
162
  private
118
163
  def create_storage
119
- attributes = serialize_attributes.merge('id' => @_id)
120
- dynamo_db_table.items.create(attributes, opt_lock_conditions)
164
+ dynamo_db_table.items.create(serialize_attributes, opt_lock_conditions)
121
165
  end
122
166
 
123
167
  private
@@ -273,6 +273,22 @@ module AWS
273
273
 
274
274
  extend AbstractBase
275
275
 
276
+ # The id for each record is auto-generated. The default strategy
277
+ # generates uuid strings.
278
+ # @return [String] Returns the id string (uuid) for this record. Retuns
279
+ # nil if this is a new record that has not been persisted yet.
280
+ def id
281
+ @_id
282
+ end
283
+
284
+ # @return [Hash] A hash with attribute names as hash keys (strings) and
285
+ # attribute values (of mixed types) as hash values.
286
+ def attributes
287
+ attributes = super
288
+ attributes['id'] = id if persisted?
289
+ attributes
290
+ end
291
+
276
292
  class << self
277
293
 
278
294
  # Creates the SimpleDB domain that is configured for this class.
@@ -374,6 +390,16 @@ module AWS
374
390
  data
375
391
  end
376
392
 
393
+ def hydrate(id, data)
394
+ @_id = id
395
+ super
396
+ end
397
+
398
+ # @api private
399
+ def populate_id
400
+ @_id = UUIDTools::UUID.random_create.to_s.downcase
401
+ end
402
+
377
403
  # @api private
378
404
  protected
379
405
  def create_storage
@@ -25,7 +25,7 @@ module AWS
25
25
 
26
26
  @options = attribute_names.last.is_a?(Hash) ? attribute_names.pop : {}
27
27
 
28
- @attribute_names = attribute_names
28
+ @attribute_names = attribute_names.map(&:to_s)
29
29
 
30
30
  reject_unknown_options
31
31
 
@@ -17,9 +17,15 @@ module AWS
17
17
  # Client class for Amazon Redshift.
18
18
  class Client < Core::QueryClient
19
19
 
20
+ API_VERSION = '2012-12-01'
21
+
20
22
  # @api private
21
23
  CACHEABLE_REQUESTS = Set[]
22
24
 
25
+ end
26
+
27
+ class Client::V20121201 < Client
28
+
23
29
  # client methods #
24
30
 
25
31
  # @!method authorize_cluster_security_group_ingress(options = {})
@@ -50,6 +56,44 @@ module AWS
50
56
  # * `:status` - (String)
51
57
  # * `:cidrip` - (String)
52
58
 
59
+ # @!method authorize_snapshot_access(options = {})
60
+ # Calls the AuthorizeSnapshotAccess API operation.
61
+ # @param [Hash] options
62
+ #
63
+ # * `:snapshot_identifier` - *required* - (String) The identifier of
64
+ # the snapshot the account is authorized to restore.
65
+ # * `:account_with_restore_access` - *required* - (String) The
66
+ # identifier of the AWS customer account authorized to restore the
67
+ # specified snapshot.
68
+ # @return [Core::Response]
69
+ # The #data method of the response object returns
70
+ # a hash with the following structure:
71
+ #
72
+ # * `:snapshot_identifier` - (String)
73
+ # * `:cluster_identifier` - (String)
74
+ # * `:snapshot_create_time` - (Time)
75
+ # * `:status` - (String)
76
+ # * `:port` - (Integer)
77
+ # * `:availability_zone` - (String)
78
+ # * `:cluster_create_time` - (Time)
79
+ # * `:master_username` - (String)
80
+ # * `:cluster_version` - (String)
81
+ # * `:snapshot_type` - (String)
82
+ # * `:node_type` - (String)
83
+ # * `:number_of_nodes` - (Integer)
84
+ # * `:db_name` - (String)
85
+ # * `:vpc_id` - (String)
86
+ # * `:encrypted` - (Boolean)
87
+ # * `:accounts_with_restore_access` - (Array<Hash>)
88
+ # * `:account_id` - (String)
89
+ # * `:owner_account` - (String)
90
+ # * `:total_backup_size_in_mega_bytes` - (Numeric)
91
+ # * `:actual_incremental_backup_size_in_mega_bytes` - (Numeric)
92
+ # * `:backup_progress_in_mega_bytes` - (Numeric)
93
+ # * `:current_backup_rate_in_mega_bytes_per_second` - (Numeric)
94
+ # * `:estimated_seconds_to_completion` - (Integer)
95
+ # * `:elapsed_time_in_seconds` - (Integer)
96
+
53
97
  # @!method copy_cluster_snapshot(options = {})
54
98
  # Calls the CopyClusterSnapshot API operation.
55
99
  # @param [Hash] options
@@ -82,6 +126,16 @@ module AWS
82
126
  # * `:number_of_nodes` - (Integer)
83
127
  # * `:db_name` - (String)
84
128
  # * `:vpc_id` - (String)
129
+ # * `:encrypted` - (Boolean)
130
+ # * `:accounts_with_restore_access` - (Array<Hash>)
131
+ # * `:account_id` - (String)
132
+ # * `:owner_account` - (String)
133
+ # * `:total_backup_size_in_mega_bytes` - (Numeric)
134
+ # * `:actual_incremental_backup_size_in_mega_bytes` - (Numeric)
135
+ # * `:backup_progress_in_mega_bytes` - (Numeric)
136
+ # * `:current_backup_rate_in_mega_bytes_per_second` - (Numeric)
137
+ # * `:estimated_seconds_to_completion` - (Integer)
138
+ # * `:elapsed_time_in_seconds` - (Integer)
85
139
 
86
140
  # @!method create_cluster(options = {})
87
141
  # Calls the CreateCluster API operation.
@@ -122,19 +176,21 @@ module AWS
122
176
  # * `:master_user_password` - *required* - (String) The password
123
177
  # associated with the master user account for the cluster that is
124
178
  # being created. Constraints: Must be between 8 and 64 characters in
125
- # length. Must contain at least one uppercase letter. Must contain
126
- # one lowercase letter. Must contain one number.
179
+ # length. Must contain at least one uppercase letter. Must contain at
180
+ # least one lowercase letter. Must contain one number. Can be any
181
+ # printable ASCII character (ASCII code 33 to 126) except ' (single
182
+ # quote), " (double quote), \, /, @, or space.
127
183
  # * `:cluster_security_groups` - (Array<String>) A list of security
128
184
  # groups to be associated with this cluster. Default: The default
129
185
  # cluster security group for Amazon Redshift.
130
186
  # * `:vpc_security_group_ids` - (Array<String>) A list of Virtual
131
- # Private Cloud (VPC) security groups to associate with the cluster.
132
- # Default: The default VPC security group is associated. Type: String
133
- # list
134
- # * `:cluster_subnet_group_name` - (String) A cluster subnet group to
135
- # be associated with this cluster. If this parameter is not provided
136
- # the resulting cluster will be deployed outside virtual private
137
- # cloud (VPC).
187
+ # Private Cloud (VPC) security groups to be associated with the
188
+ # cluster. Default: The default VPC security group is associated with
189
+ # the cluster.
190
+ # * `:cluster_subnet_group_name` - (String) The name of a cluster
191
+ # subnet group to be associated with this cluster. If this parameter
192
+ # is not provided the resulting cluster will be deployed outside
193
+ # virtual private cloud (VPC).
138
194
  # * `:availability_zone` - (String) The EC2 Availability Zone (AZ) in
139
195
  # which you want Amazon Redshift to provision the cluster. For
140
196
  # example, if you have several EC2 instances running in a specific
@@ -151,11 +207,9 @@ module AWS
151
207
  # occurring on a random day of the week. The following list shows the
152
208
  # time blocks for each region from which the default maintenance
153
209
  # windows are assigned. US-East (Northern Virginia) Region:
154
- # 03:00-11:00 UTC US-West (Northern California) Region: 06:00-14:00
155
- # UTC EU (Ireland) Region: 22:00-06:00 UTC Asia Pacific (Singapore)
156
- # Region: 14:00-22:00 UTC Asia Pacific (Tokyo) Region: 17:00-03:00
157
- # UTC Valid Days: Mon | Tue | Wed | Thu | Fri | Sat | Sun
158
- # Constraints: Minimum 30-minute window.
210
+ # 03:00-11:00 UTC US-West (Oregon) Region 06:00-14:00 UTC Valid Days:
211
+ # Mon | Tue | Wed | Thu | Fri | Sat | Sun Constraints: Minimum
212
+ # 30-minute window.
159
213
  # * `:cluster_parameter_group_name` - (String) The name of the
160
214
  # parameter group to be associated with this cluster. Default: The
161
215
  # default Amazon Redshift cluster parameter group. For information
@@ -174,7 +228,7 @@ module AWS
174
228
  # incoming connections. The cluster is accessible only via the JDBC
175
229
  # and ODBC connection strings. Part of the connection string requires
176
230
  # the port on which the cluster will listen for incoming connections.
177
- # Default: 5439 Valid Values: 1150-65535 ???
231
+ # Default: 5439 Valid Values: 1150-65535
178
232
  # * `:cluster_version` - (String) The version of the Amazon Redshift
179
233
  # engine software that you want to deploy on the cluster. The version
180
234
  # selected runs on all the nodes in the cluster. Constraints: Only
@@ -197,6 +251,8 @@ module AWS
197
251
  # 100.
198
252
  # * `:publicly_accessible` - (Boolean) If `true` , the cluster can be
199
253
  # accessed from a public network.
254
+ # * `:encrypted` - (Boolean) If `true` , the data in cluster is
255
+ # encrypted at rest. Default: `false`
200
256
  # @return [Core::Response]
201
257
  # The #data method of the response object returns
202
258
  # a hash with the following structure:
@@ -236,6 +292,7 @@ module AWS
236
292
  # * `:allow_version_upgrade` - (Boolean)
237
293
  # * `:number_of_nodes` - (Integer)
238
294
  # * `:publicly_accessible` - (Boolean)
295
+ # * `:encrypted` - (Boolean)
239
296
 
240
297
  # @!method create_cluster_parameter_group(options = {})
241
298
  # Calls the CreateClusterParameterGroup API operation.
@@ -324,6 +381,16 @@ module AWS
324
381
  # * `:number_of_nodes` - (Integer)
325
382
  # * `:db_name` - (String)
326
383
  # * `:vpc_id` - (String)
384
+ # * `:encrypted` - (Boolean)
385
+ # * `:accounts_with_restore_access` - (Array<Hash>)
386
+ # * `:account_id` - (String)
387
+ # * `:owner_account` - (String)
388
+ # * `:total_backup_size_in_mega_bytes` - (Numeric)
389
+ # * `:actual_incremental_backup_size_in_mega_bytes` - (Numeric)
390
+ # * `:backup_progress_in_mega_bytes` - (Numeric)
391
+ # * `:current_backup_rate_in_mega_bytes_per_second` - (Numeric)
392
+ # * `:estimated_seconds_to_completion` - (Integer)
393
+ # * `:elapsed_time_in_seconds` - (Integer)
327
394
 
328
395
  # @!method create_cluster_subnet_group(options = {})
329
396
  # Calls the CreateClusterSubnetGroup API operation.
@@ -414,6 +481,7 @@ module AWS
414
481
  # * `:allow_version_upgrade` - (Boolean)
415
482
  # * `:number_of_nodes` - (Integer)
416
483
  # * `:publicly_accessible` - (Boolean)
484
+ # * `:encrypted` - (Boolean)
417
485
 
418
486
  # @!method delete_cluster_parameter_group(options = {})
419
487
  # Calls the DeleteClusterParameterGroup API operation.
@@ -458,6 +526,16 @@ module AWS
458
526
  # * `:number_of_nodes` - (Integer)
459
527
  # * `:db_name` - (String)
460
528
  # * `:vpc_id` - (String)
529
+ # * `:encrypted` - (Boolean)
530
+ # * `:accounts_with_restore_access` - (Array<Hash>)
531
+ # * `:account_id` - (String)
532
+ # * `:owner_account` - (String)
533
+ # * `:total_backup_size_in_mega_bytes` - (Numeric)
534
+ # * `:actual_incremental_backup_size_in_mega_bytes` - (Numeric)
535
+ # * `:backup_progress_in_mega_bytes` - (Numeric)
536
+ # * `:current_backup_rate_in_mega_bytes_per_second` - (Numeric)
537
+ # * `:estimated_seconds_to_completion` - (Integer)
538
+ # * `:elapsed_time_in_seconds` - (Integer)
461
539
 
462
540
  # @!method delete_cluster_subnet_group(options = {})
463
541
  # Calls the DeleteClusterSubnetGroup API operation.
@@ -593,6 +671,11 @@ module AWS
593
671
  # * `:marker` - (String) An optional marker returned by a previous
594
672
  # DescribeClusterSnapshots request to indicate the first snapshot
595
673
  # that the request will return.
674
+ # * `:owner_account` - (String) The AWS customer account used to create
675
+ # or copy the snapshot. Use this field to filter the results to
676
+ # snapshots owned by a particular account. To describe snapshots you
677
+ # own, either specify your AWS customer account, or do not specify
678
+ # the parameter.
596
679
  # @return [Core::Response]
597
680
  # The #data method of the response object returns
598
681
  # a hash with the following structure:
@@ -613,6 +696,16 @@ module AWS
613
696
  # * `:number_of_nodes` - (Integer)
614
697
  # * `:db_name` - (String)
615
698
  # * `:vpc_id` - (String)
699
+ # * `:encrypted` - (Boolean)
700
+ # * `:accounts_with_restore_access` - (Array<Hash>)
701
+ # * `:account_id` - (String)
702
+ # * `:owner_account` - (String)
703
+ # * `:total_backup_size_in_mega_bytes` - (Numeric)
704
+ # * `:actual_incremental_backup_size_in_mega_bytes` - (Numeric)
705
+ # * `:backup_progress_in_mega_bytes` - (Numeric)
706
+ # * `:current_backup_rate_in_mega_bytes_per_second` - (Numeric)
707
+ # * `:estimated_seconds_to_completion` - (Integer)
708
+ # * `:elapsed_time_in_seconds` - (Integer)
616
709
 
617
710
  # @!method describe_cluster_subnet_groups(options = {})
618
711
  # Calls the DescribeClusterSubnetGroups API operation.
@@ -629,7 +722,7 @@ module AWS
629
722
  # than 100.
630
723
  # * `:marker` - (String) An optional marker returned by a previous
631
724
  # DescribeClusterSubnetGroups request to indicate the first cluster
632
- # subnet group that the request will return.
725
+ # subnet group that the current request will return.
633
726
  # @return [Core::Response]
634
727
  # The #data method of the response object returns
635
728
  # a hash with the following structure:
@@ -734,6 +827,7 @@ module AWS
734
827
  # * `:allow_version_upgrade` - (Boolean)
735
828
  # * `:number_of_nodes` - (Integer)
736
829
  # * `:publicly_accessible` - (Boolean)
830
+ # * `:encrypted` - (Boolean)
737
831
 
738
832
  # @!method describe_default_cluster_parameters(options = {})
739
833
  # Calls the DescribeDefaultClusterParameters API operation.
@@ -802,7 +896,7 @@ module AWS
802
896
  # Wikipedia page. Example: 2009-07-08T18:00Z
803
897
  # * `:duration` - (Integer) The number of minutes prior to the time of
804
898
  # the request for which to retrieve events. For example, if the
805
- # request is sent at 18:00 and you specify a druration of 60, then
899
+ # request is sent at 18:00 and you specify a duration of 60, then
806
900
  # only events which have occurred after 17:00 will be returned.
807
901
  # Default: 60
808
902
  # * `:max_records` - (Integer) The maximum number of records to include
@@ -863,11 +957,6 @@ module AWS
863
957
  #
864
958
  # * `:reserved_node_offering_id` - (String) The unique identifier for
865
959
  # the offering.
866
- # * `:node_type` - (String) The node type you can purchase. For more
867
- # information about managing parameter groups, go to Working with
868
- # Clusters in the Amazon Redshift Management Guide.
869
- # * `:duration` - (String) The duration, in seconds, for which the
870
- # offering will reserve the node.
871
960
  # * `:max_records` - (Integer) The maximum number of records to include
872
961
  # in the response. If more records exist than the specified
873
962
  # MaxRecords value, a marker is included in the response so that the
@@ -899,13 +988,7 @@ module AWS
899
988
  # Calls the DescribeReservedNodes API operation.
900
989
  # @param [Hash] options
901
990
  #
902
- # * `:reserved_node_id` - (String) Customer specified identifier for
903
- # the node reservation.
904
- # * `:reserved_node_offering_id` - (String) The reserved node offering
905
- # identifier.
906
- # * `:node_type` - (String) The node type reserved.
907
- # * `:duration` - (String) Duration, in seconds, for which the node is
908
- # reserved.
991
+ # * `:reserved_node_id` - (String) Identifier for the node reservation.
909
992
  # * `:max_records` - (Integer) The maximum number of records to include
910
993
  # in the response. If more records exist than the specified
911
994
  # MaxRecords value, a marker is included in the response so that the
@@ -941,8 +1024,8 @@ module AWS
941
1024
  #
942
1025
  # * `:cluster_identifier` - *required* - (String) The unique identifier
943
1026
  # of a cluster whose resize progress you are requesting. This
944
- # parameter isn't case sensitive. The default is that all clusters
945
- # defined for an account are returned.
1027
+ # parameter isn't case-sensitive. By default, resize operations for
1028
+ # all clusters defined for an AWS account are returned.
946
1029
  # @return [Core::Response]
947
1030
  # The #data method of the response object returns
948
1031
  # a hash with the following structure:
@@ -970,23 +1053,27 @@ module AWS
970
1053
  # the progress of the resize request. Valid Values: multi-node |
971
1054
  # single-node
972
1055
  # * `:node_type` - (String) The new node type of the cluster. If you
973
- # specify a new node type you must also specify the number of nodes
974
- # parameter also. When you submit your cluster resize request, your
975
- # existing cluster goes into a read-only mode. After Amazon Redshift
976
- # provisions a new cluster based on your resize requirements, there
977
- # will be outage for a period while the old cluster is deleted and
978
- # your connection is switched to the new cluster. You can use
1056
+ # specify a new node type, you must also specify the number of nodes
1057
+ # parameter also. When you submit your request to resize a cluster,
1058
+ # Amazon Redshift sets access permissions for the cluster to
1059
+ # read-only. After Amazon Redshift provisions a new cluster according
1060
+ # to your resize requirements, there will be a temporary outage while
1061
+ # the old cluster is deleted and your connection is switched to the
1062
+ # new cluster. When the new connection is complete, the original
1063
+ # access permissions for the cluster are restored. You can use the
979
1064
  # DescribeResize to track the progress of the resize request. Valid
980
1065
  # Values: dw.hs1.xlarge | dw.hs1.8xlarge
981
1066
  # * `:number_of_nodes` - (Integer) The new number of nodes of the
982
1067
  # cluster. If you specify a new number of nodes, you must also
983
- # specify the node type parameter also. When you submit your cluster
984
- # resize request, your existing cluster goes into a read-only mode.
985
- # After Amazon Redshift provisions a new cluster based on your resize
986
- # requirements, there will be outage for a period while the old
987
- # cluster is deleted and your connection is switched to the new
988
- # cluster. You can use DescribeResize to track the progress of the
989
- # resize request. Valid Values: Integer greater than 0
1068
+ # specify the node type parameter also. When you submit your request
1069
+ # to resize a cluster, Amazon Redshift sets access permissions for
1070
+ # the cluster to read-only. After Amazon Redshift provisions a new
1071
+ # cluster according to your resize requirements, there will be a
1072
+ # temporary outage while the old cluster is deleted and your
1073
+ # connection is switched to the new cluster. When the new connection
1074
+ # is complete, the original access permissions for the cluster are
1075
+ # restored. You can use DescribeResize to track the progress of the
1076
+ # resize request. Valid Values: Integer greater than 0.
990
1077
  # * `:cluster_security_groups` - (Array<String>) A list of cluster
991
1078
  # security groups to be authorized on this cluster. This change is
992
1079
  # asynchronously applied as soon as possible. Security groups
@@ -995,7 +1082,8 @@ module AWS
995
1082
  # to 255 alphanumeric characters or hyphens First character must be a
996
1083
  # letter Cannot end with a hyphen or contain two consecutive hyphens
997
1084
  # * `:vpc_security_group_ids` - (Array<String>) A list of Virtual
998
- # Private Cloud (VPC) security groups to associate with the cluster.
1085
+ # Private Cloud (VPC) security groups to be associated with the
1086
+ # cluster.
999
1087
  # * `:master_user_password` - (String) The new password for the cluster
1000
1088
  # master user. This change is asynchronously applied as soon as
1001
1089
  # possible. Between the time of the request and the completion of the
@@ -1005,8 +1093,10 @@ module AWS
1005
1093
  # regain access to the master user account for a cluster if the
1006
1094
  # password is lost. Default: Uses existing setting. Constraints: Must
1007
1095
  # be between 8 and 64 characters in length. Must contain at least one
1008
- # uppercase letter. Must contain one lowercase letter. Must contain
1009
- # one number.
1096
+ # uppercase letter. Must contain at least one lowercase letter. Must
1097
+ # contain one number. Can be any printable ASCII character (ASCII
1098
+ # code 33 to 126) except ' (single quote), " (double quote), \, /, @,
1099
+ # or space.
1010
1100
  # * `:cluster_parameter_group_name` - (String) The name of the cluster
1011
1101
  # parameter group to apply to this cluster. This change is applied
1012
1102
  # only after the cluster is rebooted. To reboot a cluster use
@@ -1038,8 +1128,8 @@ module AWS
1038
1128
  # cluster parameter group in the cluster parameter group family for
1039
1129
  # the new version must be specified. The new cluster parameter group
1040
1130
  # can be the default for that cluster parameter group family. For
1041
- # more information about managing parameter groups, go to Working
1042
- # with Parameter Groups in the Amazon Redshift Management Guide.
1131
+ # more information about managing parameter groups, go to Amazon
1132
+ # Redshift Parameter Groups in the Amazon Redshift Management Guide.
1043
1133
  # Example: 1.0
1044
1134
  # * `:allow_version_upgrade` - (Boolean) If `true` , upgrades will be
1045
1135
  # applied automatically to the cluster during the maintenance window.
@@ -1083,6 +1173,7 @@ module AWS
1083
1173
  # * `:allow_version_upgrade` - (Boolean)
1084
1174
  # * `:number_of_nodes` - (Integer)
1085
1175
  # * `:publicly_accessible` - (Boolean)
1176
+ # * `:encrypted` - (Boolean)
1086
1177
 
1087
1178
  # @!method modify_cluster_parameter_group(options = {})
1088
1179
  # Calls the ModifyClusterParameterGroup API operation.
@@ -1120,9 +1211,9 @@ module AWS
1120
1211
  # @param [Hash] options
1121
1212
  #
1122
1213
  # * `:cluster_subnet_group_name` - *required* - (String) The name of
1123
- # the parameter group to be modified.
1124
- # * `:description` - (String) The name of the parameter group to be
1125
- # modified.
1214
+ # the subnet group to be modified.
1215
+ # * `:description` - (String) A text description of the subnet group to
1216
+ # be modified.
1126
1217
  # * `:subnet_ids` - *required* - (Array<String>) An array of VPC subnet
1127
1218
  # IDs. A maximum of 20 subnets can be modified in a single request.
1128
1219
  # @return [Core::Response]
@@ -1145,7 +1236,6 @@ module AWS
1145
1236
  #
1146
1237
  # * `:reserved_node_offering_id` - *required* - (String) The unique
1147
1238
  # identifier of the reserved node offering you want to purchase.
1148
- # * `:reserved_node_id` - (String)
1149
1239
  # * `:node_count` - (Integer) The number of reserved nodes you want to
1150
1240
  # purchase. Default: 1
1151
1241
  # @return [Core::Response]
@@ -1212,6 +1302,7 @@ module AWS
1212
1302
  # * `:allow_version_upgrade` - (Boolean)
1213
1303
  # * `:number_of_nodes` - (Integer)
1214
1304
  # * `:publicly_accessible` - (Boolean)
1305
+ # * `:encrypted` - (Boolean)
1215
1306
 
1216
1307
  # @!method reset_cluster_parameter_group(options = {})
1217
1308
  # Calls the ResetClusterParameterGroup API operation.
@@ -1275,6 +1366,9 @@ module AWS
1275
1366
  # group name where you want the cluster restored.
1276
1367
  # * `:publicly_accessible` - (Boolean) If `true` , the cluster can be
1277
1368
  # accessed from a public network.
1369
+ # * `:owner_account` - (String) The AWS customer account used to create
1370
+ # or copy the snapshot. Required if you are restoring a snapshot you
1371
+ # do not own, optional if you own the snapshot.
1278
1372
  # @return [Core::Response]
1279
1373
  # The #data method of the response object returns
1280
1374
  # a hash with the following structure:
@@ -1314,6 +1408,7 @@ module AWS
1314
1408
  # * `:allow_version_upgrade` - (Boolean)
1315
1409
  # * `:number_of_nodes` - (Integer)
1316
1410
  # * `:publicly_accessible` - (Boolean)
1411
+ # * `:encrypted` - (Boolean)
1317
1412
 
1318
1413
  # @!method revoke_cluster_security_group_ingress(options = {})
1319
1414
  # Calls the RevokeClusterSecurityGroupIngress API operation.
@@ -1349,6 +1444,44 @@ module AWS
1349
1444
  # * `:status` - (String)
1350
1445
  # * `:cidrip` - (String)
1351
1446
 
1447
+ # @!method revoke_snapshot_access(options = {})
1448
+ # Calls the RevokeSnapshotAccess API operation.
1449
+ # @param [Hash] options
1450
+ #
1451
+ # * `:snapshot_identifier` - *required* - (String) The identifier of
1452
+ # the snapshot that the account can no longer access.
1453
+ # * `:account_with_restore_access` - *required* - (String) The
1454
+ # identifier of the AWS customer account that can no longer restore
1455
+ # the specified snapshot.
1456
+ # @return [Core::Response]
1457
+ # The #data method of the response object returns
1458
+ # a hash with the following structure:
1459
+ #
1460
+ # * `:snapshot_identifier` - (String)
1461
+ # * `:cluster_identifier` - (String)
1462
+ # * `:snapshot_create_time` - (Time)
1463
+ # * `:status` - (String)
1464
+ # * `:port` - (Integer)
1465
+ # * `:availability_zone` - (String)
1466
+ # * `:cluster_create_time` - (Time)
1467
+ # * `:master_username` - (String)
1468
+ # * `:cluster_version` - (String)
1469
+ # * `:snapshot_type` - (String)
1470
+ # * `:node_type` - (String)
1471
+ # * `:number_of_nodes` - (Integer)
1472
+ # * `:db_name` - (String)
1473
+ # * `:vpc_id` - (String)
1474
+ # * `:encrypted` - (Boolean)
1475
+ # * `:accounts_with_restore_access` - (Array<Hash>)
1476
+ # * `:account_id` - (String)
1477
+ # * `:owner_account` - (String)
1478
+ # * `:total_backup_size_in_mega_bytes` - (Numeric)
1479
+ # * `:actual_incremental_backup_size_in_mega_bytes` - (Numeric)
1480
+ # * `:backup_progress_in_mega_bytes` - (Numeric)
1481
+ # * `:current_backup_rate_in_mega_bytes_per_second` - (Numeric)
1482
+ # * `:estimated_seconds_to_completion` - (Integer)
1483
+ # * `:elapsed_time_in_seconds` - (Integer)
1484
+
1352
1485
  # end client methods #
1353
1486
 
1354
1487
  define_client_methods('2012-12-01')