Repository navigation
Conversation
Spplatten
requested review from
davidc6,
makr11st and
mikemadden42
as code owners
November 12, 2026 03:50
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
get_external_assetsrejects an entire response when an IP or DNS service hasstatus_code: null, as reported in #214. Represent the service status code asOption<i32>so unknown values remain distinct from numeric zero.Fixes #214.
Changes
None, and integers asSome(code).status_codekey:Noneserializes as JSON null.new(..., status_code: i32, ...)constructor signature bywrapping its argument in
Some.portunchanged: the report establishes null status codes, not null ports.get_external_assetsmethod for both IP and DNS assets.Checklist
Additional Notes
Compatibility: the public field changes from
i32toOption<i32>, so directfield reads, writes, and struct literals may need updates. The constructor's
integer argument remains source-compatible. The derived default status changes
from zero to
None.Generated source: the model is generated, but the source OpenAPI specification
is not tracked in this repository (
swagger**and/specsare ignored). Pleasecarry the nullable status-code correction into the maintained specification before
regeneration. This PR does not claim to update that unavailable specification.
Evidence: all fixtures are synthetic. The HTTP tests bind only to a local mock
server and do not use Falcon credentials. Live API behavior has not been independently
validated; the null response shape comes from the issue report.
Validation on Windows with Rust 1.98.0:
cargo test --locked --all-features --all-targets: 18 passed, zero failed,including all eight new regression tests. Example targets compile; live examples
and the credential-dependent doctest were not executed.
6106cef85514d8b849fc29cfce3ff5e0dc00b197:four of the eight new tests fail (null, missing field, IP response, DNS response);
the four existing-behavior controls pass. Both HTTP failures reproduce
invalid type: null, expected i32using the real SDK method.cargo clippy --locked --all-features --test external_asset_status_code --test exposure_management_api_test -- '-Dwarnings' '-Aclippy::single-match-else' '-Adeprecated': passed.cargo fmt --checkand staged/unstagedgit diff --check: passed.The local Windows build used CMake/Ninja, AWS-LC's portable C path
(
AWS_LC_SYS_NO_ASM=1), embedded MSVC debug information (_CL_=/Z7), andCARGO_PROFILE_DEV_DEBUG=0to work around native build failures in the executionenvironment. Cargo's cache and build output were placed under the workspace's
ignored
targetdirectory. No dependency or TLS feature changes are includedin the contribution.