56 Commits

Author SHA1 Message Date
Bert Blommers
7693d77333
Remove Py2 support (#3915) 2021-07-26 07:40:39 +01:00
usmangani1
433e4c0733
Fix:Add functionality authorize-cluster-security-group-ingress (#3742)
* Fix:Add functionality  authorize-cluster-security-group-ingress

* Added tests

* Added more test cases
2021-03-10 08:46:13 +00:00
John Flores
791bc77f3a
Add KmsKeyId to Redshift Cluster (#3666)
* Add KmsKeyId to Redshift Cluster

Add the KmsKeyId property when creating a cluster so that it is also
returned when querying the describe_clusters endpoint.

* Run black on updated files

* Add unit test for Redshift KmsKeyId

* Re-run black with correct version
2021-02-08 18:52:47 +00:00
Andrea Amorosi
5a41866f71
Added redshift.get_cluster_credentials (#3611)
* Added redshift.get_cluster_credentials

* Marked endpoint in list

* Removed f string from tests

* Python 2.7 compat changes

* Fixed parameter retrieval

* Formatting

* Removed try/catch in favor of if

* Changed to existing random_string util

Co-authored-by: Andrea Amorosi <aamorosi@amazon.es>
2021-01-25 13:19:50 +00:00
Brian Pandola
dcd034045b
Fix: ClusterType, NumberOfNodes not validated when modifying Redshift cluster (#3513)
By definition, `single-node` clusters can only consist of 1 node. Likewise,
`multi-node` clusters must have 2 or more nodes.

* Ensure `ClusterType` parameter is either `multi-node` or `single-node`.
* Ensure proper validation of `NumberOfNodes` parameter based on `ClusterType`
  parameter.
* Fix existing test case that incorrectly allowed a `multi-node` cluster to
  consist of 1 node.
* Add dedicated test for resizing a cluster from `single-node` to `multi-node`
  and back again.

Behavior and error messages have been verified against a real AWS backend.
2020-12-04 13:22:19 +00:00
Brian Pandola
cf7869d0e2 Add check for UnknownSnapshotCopyRegionFault error 2020-11-24 03:29:52 -08:00
Brian Pandola
49c6e65603 Fix: DeleteCluster behavior with SkipFinalClusterSnapshot
Original code was trying to raise a ClientError directly.  Change to
appropriate Redshift exception class.

* Fix test assertion for `boto`.
* Add test coverage for `boto3`.
2020-11-24 03:29:52 -08:00
Brian Pandola
555be78f6e Fix: redshift:DescribeClusterSnapshots should not raise ClusterNotFoundError
Real AWS backend returns an empty array instead of raising an error.
2020-11-24 03:29:52 -08:00
Brian Pandola
4245497a97
Fix: redshift:EnableSnapshotCopy raises incorrect Exception (#3485)
The previous code was trying to raise a botocore ClientError directly, which
was actually generating a secondary AttributeError because the arguments passed
to ClientError() were incorrect.

This replaces the ClientError() call with a proper moto exception class for
Redshift and fixes the test assertions appropriately.

Supersedes #1957
2020-11-21 10:35:46 +00:00
Adam Richie-Halford
9a9a1d8413
Decentralize cloudformation naming responsibilities (#3201)
* #3127 - Decentralize CF naming responsibilities

* Decentralize CloudFormation naming responsibilities

* Update URLs in cloudformation_resource_type functions

* Fix flake8 errors

* Black formatting

* Add a bunch of imports to populate CloudFormationModel.__subclasses__

* Add noqa to s3 models import statement in cloudformation/parsing.py

* Black formatting

* Remove debugging print statement

Co-authored-by: Bert Blommers <info@bertblommers.nl>
2020-08-01 15:23:36 +01:00
Brian Pandola
55f207050e Add Redshift.ClusterAlreadyExists Error
Closes #2967
2020-05-06 14:28:40 -07:00
gruebel
9d9b620878 Fixed linter errors 2019-12-26 21:03:49 +01:00
gruebel
d7ba355a65 Add missing regions to all services 2019-12-26 17:12:22 +01:00
Fabio Dias
fd9ac4b9a5 ACCOUNT_ID moved to moto.core, MOTO_ACCOUNT_ID env var override 2019-12-16 21:05:29 -05:00
Fabio Dias
b83a750630 Added references to moto.iam.models.ACCOUNT_ID instead of hardcoded id 2019-12-16 19:56:11 -05:00
Asher Foa
96e5b1993d Run black on moto & test directories. 2019-10-31 10:36:05 -07:00
rocky4570
ff27e021bc add enhanced vpc routing option to redshift moto
EnhancedVpcRouting is only available when mock_redshift not mock_redshift_deprecated
2019-09-01 00:34:18 +10:00
Iiro Sulopuisto
24bd99b5c4 Make cluster creation time UTC 2019-07-30 14:16:54 +03:00
Dan Chan
2a5f7e15a7 Updating redshift.describe_cluster_snapshots to return multiple snapshots for cluster_identifier (#2216) 2019-05-23 09:01:47 +01:00
redspart
1fd71fd45a Updated delete_cluster() for redshift (#2186)
* Updated the deprecated decorator to allow the "SkipFinalClusterSnapshot" option that aws supports.

* FIxed logical mistake on the delete_cluster

* Removed an unused exception I put in
2019-05-20 23:56:23 +01:00
Brian Pandola
c6f5e816cc Add ClusterCreateTime to Redshift response
Fixes #1778
2018-08-20 18:48:13 -07:00
Brian Pandola
e1d9c2878f Add support for Redshift.Waiter.ClusterRestored
* Add `restored_from_snapshot` boolean to Cluster metadata.
* Return `RestoreStatus` from describe_db_clusters if cluster was restored from a snapshot.

Fixes #1506
2018-04-24 17:30:17 -07:00
Steve Pulec
4997694fd6
Merge pull request #1488 from andharris/iam-roles
add iam roles to redshift
2018-03-07 09:28:26 -05:00
andrew
e2e1c7347b default to None 2018-03-07 08:38:07 -05:00
Steve Pulec
8a0cf49b7d
Merge branch 'master' into redshift-copy-grants 2018-03-06 22:11:34 -05:00
andrew
894906e0ee remove reliance on iam_backends 2018-02-23 14:52:22 -05:00
andrew
7d3af65f22 fix errors 2018-02-23 14:42:49 -05:00
andrew
6ab416724a WIP: add iam roles to redshift 2018-02-22 14:58:19 -05:00
captainkerk
258c076eef (slow heavy metal music playing) adjust spacing to appease the pep8 gods 2018-01-28 23:16:19 +00:00
captainkerk
4d77aef7e5 adjust spacing, remove unnecessary region_name variable from
SnapshotCopyGrant init
2018-01-28 23:08:03 +00:00
captainkerk
e514b98747 redshift: add copy grant functionality 2018-01-28 22:58:28 +00:00
captainkerk
7130dd5239 rework to follow spec for encrypted/unencrypted clusters 2018-01-28 04:16:21 +00:00
captainkerk
ed06658271 address spacing issues 2018-01-28 04:16:21 +00:00
captainkerk
92798b9a9f improve error handling 2018-01-28 04:16:21 +00:00
captainkerk
d8b124fbf4 added: enable/disable/modify redshift snapshot copy methods 2018-01-28 04:16:21 +00:00
Jack Danger
95a4bd5a7b supporting python 3 2017-10-02 15:25:02 -07:00
Jack Danger
867fc3b7f7 Removing dicttoxml dependency 2017-10-02 15:10:06 -07:00
Brian Pandola
ab595279ad Fix boto/boto3 multi-param discrepancies
boto uses the param.member.N syntax, but boto3 replaces the generic
.member with a more specific identifier.

Example:
boto: ClusterSecurityGroups.member.N
boto3: ClusterSecurityGroups.ClusterSecurityGroupName.N

This commit addresses this issue for the ClusterSecurityGroups, SubnetIds,
and VpcSecurityGroupIds parameters.
2017-09-30 21:51:05 -07:00
Brian Pandola
5bb6b98f6d Implement Redshift Taggable Resources (#1217)
- Implement create_tags, describe_tags, and delete_tags endpoints
- Clusters, Parameter Groups, Security Groups, Snapshots, and Subnet Groups can all be tagged
- Test Suite updated
- Minor clean-up of restore_from_cluster_snapshot endpoint
- Miscellaneous typo fixes
2017-09-27 17:18:28 -07:00
Brian Pandola
0a03a7237e Redshift Updates
- Implement create_cluster_snapshot endpoint
- Implement describe_cluster_snapshots endpoint
- Implement delete_cluster_snapshot endpoint
- Implement restore_from_cluster_snapshot endpoint
- Implement limited support for describe_tags endpoint
- Correctly serialize errors to json (for boto) or xml (for boto3)
- Simulate cluster spin up by returning initial status as 'creating' and subsequent statuses as 'available'
- Fix issue with modify_cluster endpoint where cluster values get set to None when omitted from request
- Add 'Endpoint' key to describe_clusters response syntax
2017-08-09 18:43:21 -07:00
Jack Danger
5011cd28b6 Allow boto3 redshift cluster subnet group creation
Boto3 deviates from the AWS docs in the way subnets are described when
creating a Redshift cluster subnet group.

This entry in botocore nests the SubnetIds under SubnetIdentifier tags:
https://github.com/boto/botocore/blob/develop/botocore/data/redshift/2012-12-01/service-2.json#L5423-L5429
referenced here:
https://github.com/boto/botocore/blob/develop/botocore/data/redshift/2012-12-01/service-2.json#L2296

And the AWS docs do not nest them that way:
https://docs.aws.amazon.com/redshift/latest/APIReference/API_CreateClusterSubnetGroup.html

Fixes #1029
2017-08-02 11:48:12 -07:00
Steve Pulec
e9e49c5916 Fix py3 redshift encoding. 2017-03-15 22:12:16 -04:00
Steve Pulec
3cdb4afad0 Fix redshift responses to work with json or xml. 2017-03-15 21:58:37 -04:00
Steve Pulec
6d422d1f37 Add BaseModel to all models. 2017-03-11 23:41:12 -05:00
Steve Pulec
f37bad0e00 Lints. 2017-02-23 21:37:43 -05:00
Steve Pulec
fde721bed7 Testing new version of decorator. 2017-02-15 22:35:45 -05:00
Steve Pulec
d3df810065 Generalize decorator code. 2017-02-12 00:22:29 -05:00
Steve Pulec
73f03d1ccf Add redshift support for cloudformation. 2015-08-08 13:29:37 -04:00
Jeffrey Gelens
c2f2c16892 Fixed non threadsafe code 2015-03-16 13:13:40 +01:00
Steve Pulec
5bbcc4505f Add cluster parameter groups. 2014-11-23 23:03:10 -05:00