async def unarchive_wave(
self,
wave_id: "capo_mgn.types.wave_id.WaveID",
*,
config_overrides: Optional[AsyncmgnClientConfig] = None,
account_id: Optional["capo_mgn.types.account_id.AccountID"] = None,
) -> "capo_mgn.types.wave.Wave":
"""<p>Unarchive wave.</p>
Args:
wave_id: <p>Wave ID.</p>
account_id: <p>Account ID.</p>
Raises:
capo_mgn.errors.resource_not_found_exception.ResourceNotFoundException: <p>Resource not found exception.</p>
capo_mgn.errors.service_quota_exceeded_exception.ServiceQuotaExceededException: <p>The request could not be completed because it exceeded the service quota.</p>
capo_mgn.errors.uninitialized_account_exception.UninitializedAccountException: <p>Uninitialized account exception.</p>
capo_mgn.errors.UnknownServiceError: The service returned an error code this client does not model.
"""
async def _handler(
req: "AsyncOperationRequest[capo_mgn.types.unarchive_wave_request.UnarchiveWaveRequest]",
) -> AsyncOperationResponse["capo_mgn.types.wave.Wave"]:
import capo_mgn._operations.application_migration_service.unarchive_wave
(
output,
http_response,
) = await capo_mgn._operations.application_migration_service.unarchive_wave.async_unarchive_wave(
req.options, req.input
)
return AsyncOperationResponse(output=output, response=http_response)
def _redact_output(output: "capo_mgn.types.wave.Wave") -> dict[str, Any]:
import capo_mgn.types.wave
return capo_mgn.types.wave.redact_sensitive(output)
interceptors_, options_ = self.operation_options(
config_overrides,
OperationLogging("UnarchiveWave", redact_output=_redact_output),
)
input_: capo_mgn.types.unarchive_wave_request.UnarchiveWaveRequest = {
"wave_id": wave_id
}
if account_id is not None:
input_["account_id"] = account_id
response = await aexecute_pipeline(
AsyncOperationRequest(input=input_, options=options_),
handler=_handler,
interceptors=list(interceptors_),
)
await response.response.aclose()
return response.output