Exchanges a DC1 Reserved Node for a DC2 Reserved Node with no changes to the configuration (term, payment type, or number of nodes) and no additional costs.
Parameters:
-
reserved_node_id
(Optional[String], default:
None
)
–
A string representing the node identifier of the DC1 Reserved Node to be exchanged.
-
target_reserved_node_offering_id
(Optional[String], default:
None
)
–
The unique identifier of the DC2 Reserved Node offering to be used for the exchange. You can obtain the value for the parameter by calling GetReservedNodeExchangeOfferings
Raises:
Source code in docs_src/capo_redshift/_services/async_redshift.py
| async def accept_reserved_node_exchange(
self,
*,
config_overrides: Optional[AsyncRedshiftClientConfig] = None,
reserved_node_id: Optional["capo_redshift.types.string.String"] = None,
target_reserved_node_offering_id: Optional[
"capo_redshift.types.string.String"
] = None,
) -> "capo_redshift.types.accept_reserved_node_exchange_output_message.AcceptReservedNodeExchangeOutputMessage":
"""<p>Exchanges a DC1 Reserved Node for a DC2 Reserved Node with no changes to the configuration (term, payment type, or number of nodes) and no additional costs. </p>
Args:
reserved_node_id: <p>A string representing the node identifier of the DC1 Reserved Node to be exchanged.</p>
target_reserved_node_offering_id: <p>The unique identifier of the DC2 Reserved Node offering to be used for the exchange. You can obtain the value for the parameter by calling <a>GetReservedNodeExchangeOfferings</a> </p>
Raises:
capo_redshift.errors.dependent_service_unavailable_fault.DependentServiceUnavailableFault: <p>Your request cannot be completed because a dependent internal service is temporarily unavailable. Wait 30 to 60 seconds and try again.</p>
capo_redshift.errors.invalid_reserved_node_state_fault.InvalidReservedNodeStateFault: <p>Indicates that the Reserved Node being exchanged is not in an active state.</p>
capo_redshift.errors.reserved_node_already_exists_fault.ReservedNodeAlreadyExistsFault: <p>User already has a reservation with the given identifier.</p>
capo_redshift.errors.reserved_node_already_migrated_fault.ReservedNodeAlreadyMigratedFault: <p>Indicates that the reserved node has already been exchanged.</p>
capo_redshift.errors.reserved_node_not_found_fault.ReservedNodeNotFoundFault: <p>The specified reserved compute node not found.</p>
capo_redshift.errors.reserved_node_offering_not_found_fault.ReservedNodeOfferingNotFoundFault: <p>Specified offering does not exist.</p>
capo_redshift.errors.unsupported_operation_fault.UnsupportedOperationFault: <p>The requested operation isn't supported.</p>
capo_redshift.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
async def _handler(
req: "AsyncOperationRequest[capo_redshift.types.accept_reserved_node_exchange_input_message.AcceptReservedNodeExchangeInputMessage]",
) -> AsyncOperationResponse[
"capo_redshift.types.accept_reserved_node_exchange_output_message.AcceptReservedNodeExchangeOutputMessage"
]:
import capo_redshift._operations.redshift_service_version20121201.accept_reserved_node_exchange
(
output,
http_response,
) = await capo_redshift._operations.redshift_service_version20121201.accept_reserved_node_exchange.async_accept_reserved_node_exchange(
req.options, req.input
)
return AsyncOperationResponse(output=output, response=http_response)
interceptors_, options_ = self.operation_options(
config_overrides, OperationLogging("AcceptReservedNodeExchange")
)
input_: capo_redshift.types.accept_reserved_node_exchange_input_message.AcceptReservedNodeExchangeInputMessage = {}
if reserved_node_id is not None:
input_["reserved_node_id"] = reserved_node_id
if target_reserved_node_offering_id is not None:
input_["target_reserved_node_offering_id"] = (
target_reserved_node_offering_id
)
response = await aexecute_pipeline(
AsyncOperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
await response.response.aclose()
return response.output
|