Namespace Pulumi.Cloud.Sdk
Classes
ApiClient
HTTP engine for the generated Pulumi Cloud SDK, built on
HttpClient. Generated *Api methods build an
ApiRequest and hand it to Call<T>(ApiRequest);
this class substitutes path parameters, encodes the query string, applies
authentication and headers, serializes the body, performs the request, and
deserializes the 2xx response into the requested type. Non-2xx responses and
transport/serialization failures surface as ApiException.
The public API is synchronous, mirroring the Java SDK; requests are dispatched through the async HttpClient and awaited.
ApiClientConfiguration
Connection settings shared by every generated *Api class.
Host is the API origin (no /api suffix — the
generated resource paths already start with /api/...).
AccessToken supplies the Pulumi access token sent as
Authorization: token <token>; it is a delegate so a rotating
token can be re-read per request. Return null for unauthenticated
requests.
ApiException
Thrown for a non-2xx HTTP response, a transport failure, or a serialization/deserialization error.
ApiRequest
Mutable carrier populated fluently by a generated *Api method before
it hands the request to ApiClient. Holds the HTTP verb, the
templated resource path (/api/.../{param}), the categorized
parameters, the request body, and the negotiated media types.
Json
Shared, pre-configured Newtonsoft.Json settings for the generated SDK.
Newtonsoft.Json.NullValueHandling.Ignore drops unset properties on
serialization (matching the Python/TypeScript reference clients, which omit
unset values on the wire). DateParseHandling.None leaves untyped
JSON (JToken fields) exactly as received — typed
DateTimeOffset properties are still parsed from ISO-8601 by their
declared type. Polymorphic (discriminated-union) models resolve through the
per-type PolymorphicConverter attached by the generator, not
through Newtonsoft's $type metadata, which is therefore disabled.
JsonDiscriminatorAttribute
Names the discriminator property of a discriminated-union hierarchy. Emitted
by the generator on the ROOT of the hierarchy and inherited by every
subtype — the C# analog of Jackson's
@JsonTypeInfo(property = "…").
JsonSubTypeAttribute
Registers a candidate concrete subtype on a polymorphic base — the C# analog
of a single @JsonSubTypes.Type entry. The generator emits one per
concrete type in the base's subtree; the wire value for each comes from that
type's JsonSubTypeNameAttribute.
JsonSubTypeNameAttribute
The discriminator wire value for a concrete type — the C# analog of Jackson's
@JsonTypeName. Read on deserialization to resolve the type and written
on serialization to emit the discriminator.
JsonSubTypeUnknownAttribute
Registers the synthetic fallback subtype for a polymorphic base marked
wildcardSubtype = true in the IDL. Emitted by the generator on the
root of the hierarchy. When the wire discriminator value does not match
any registered JsonSubTypeAttribute, PolymorphicConverter
constructs this subtype instead of failing to deserialize.
PolymorphicConverter
Newtonsoft converter that resolves a discriminated union by reading its discriminator property (at any position in the object) and mapping the value to the concrete type registered via JsonSubTypeAttribute / JsonSubTypeNameAttribute. On write it emits the discriminator for the runtime type. It is attached to a hierarchy's root by the generator and inherited by every subtype.
Recursion is broken with the canonical per-thread CanRead /
CanWrite toggle: after resolving the concrete type, the converter
suppresses itself for exactly the one nested (de)serialization of that type,
so its own members are handled by the default contract while any polymorphic
fields WITHIN it (including recursive references back to the same union) are
still routed through the converter.
ResponseWithHeaders<R, H>
Pairs a deserialized response body with typed response headers, mirroring
apitype.ResponseWithHeaders[R, H] (Go) / ResponseWithHeaders<R, H>
(TypeScript) / ResponseWithHeaders[R, H] (Python). Returned by generated
*Api methods for operations whose response declares response headers.
Declared in the top-level Pulumi.Cloud.Sdk namespace (alongside
ApiClient) so generated code in Pulumi.Cloud.Sdk.Api resolves
it via enclosing-namespace lookup, the same way it already resolves
ApiClient and ApiRequest with no extra using.
Interfaces
IJsonWildcardSubtype
Implemented by a generated "Unknown" fallback subtype (wildcardSubtype = true in the IDL). Populated directly by PolymorphicConverter when no JsonSubTypeAttribute / JsonSubTypeNameAttribute matches the wire discriminator value.