aws-sdk 1.12.0 → 1.13.0

Sign up to get free protection for your applications and to get access to all the features.
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')