rework to follow spec for encrypted/unencrypted clusters
This commit is contained in:
parent
ed06658271
commit
7130dd5239
3 changed files with 32 additions and 3 deletions
|
|
@ -4,6 +4,7 @@ import copy
|
|||
import datetime
|
||||
|
||||
import boto.redshift
|
||||
from botocore.exceptions import ClientError
|
||||
from moto.compat import OrderedDict
|
||||
from moto.core import BaseBackend, BaseModel
|
||||
from moto.core.utils import iso_8601_datetime_with_milliseconds
|
||||
|
|
@ -430,6 +431,12 @@ class RedshiftBackend(BaseBackend):
|
|||
cluster_identifier = kwargs['cluster_identifier']
|
||||
cluster = self.clusters[cluster_identifier]
|
||||
if not hasattr(cluster, 'cluster_snapshot_copy_status'):
|
||||
if cluster.encrypted == 'true' and kwargs['snapshot_copy_grant_name'] is None:
|
||||
raise ClientError(
|
||||
'InvalidParameterValue',
|
||||
'SnapshotCopyGrantName is required for Snapshot Copy '
|
||||
'on KMS encrypted clusters.'
|
||||
)
|
||||
status = {
|
||||
'DestinationRegion': kwargs['destination_region'],
|
||||
'RetentionPeriod': kwargs['retention_period'],
|
||||
|
|
|
|||
|
|
@ -506,7 +506,7 @@ class RedshiftResponse(BaseResponse):
|
|||
snapshot_copy_kwargs = {
|
||||
'cluster_identifier': self._get_param('ClusterIdentifier'),
|
||||
'destination_region': self._get_param('DestinationRegion'),
|
||||
'retention_period': self._get_param('RetentionPeriod'),
|
||||
'retention_period': self._get_param('RetentionPeriod', 7),
|
||||
'snapshot_copy_grant_name': self._get_param('SnapshotCopyGrantName'),
|
||||
}
|
||||
cluster = self.redshift_backend.enable_snapshot_copy(**snapshot_copy_kwargs)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue