Verify at least one dest config is specified (#4363)
This commit is contained in:
parent
25d5db2063
commit
e6b18bcb92
@ -77,11 +77,12 @@ def find_destination_config_in_args(api_args):
|
||||
if name in destination_names and arg_value:
|
||||
configs.append((DESTINATION_TYPES_TO_NAMES[name], arg_value))
|
||||
|
||||
# Only a single destination configuration is allowed.
|
||||
if len(configs) > 1:
|
||||
# One and only one destination configuration is allowed.
|
||||
if len(configs) != 1:
|
||||
raise InvalidArgumentException(
|
||||
"Exactly one destination configuration is supported for a Firehose"
|
||||
)
|
||||
|
||||
return configs[0]
|
||||
|
||||
|
||||
|
@ -143,6 +143,16 @@ def test_create_delivery_stream_failures():
|
||||
in err["Message"]
|
||||
)
|
||||
|
||||
# At least one destination configuration is required.
|
||||
with pytest.raises(ClientError) as exc:
|
||||
client.create_delivery_stream(DeliveryStreamName=f"{failure_name}_2manyconfigs")
|
||||
err = exc.value.response["Error"]
|
||||
assert err["Code"] == "InvalidArgumentException"
|
||||
assert (
|
||||
"Exactly one destination configuration is supported for a Firehose"
|
||||
in err["Message"]
|
||||
)
|
||||
|
||||
# Provide a Kinesis source configuration, but use DirectPut stream type.
|
||||
with pytest.raises(ClientError) as exc:
|
||||
client.create_delivery_stream(
|
||||
|
Loading…
Reference in New Issue
Block a user