patch-envelope
@azure-tools/typespec-azure-resource-manager/patch-envelopePatch envelope properties should match the resource properties. If a resource defines envelope properties such as identity, managedBy, plan, sku, or tags, these properties must also be present in the PATCH request body so they can be updated.
โ Incorrect
Section titled โโ Incorrectโmodel FooResource is TrackedResource<FooProperties> { ...ResourceNameParameter<Foo>; ...ManagedServiceIdentityProperty;}
model PatchFoo { properties?: PatchFooProperties;}
model PatchFooProperties { name?: string;}
@armResourceOperationsinterface FooResources { // update model is missing the 'identity' envelope property update is ArmCustomPatchAsync<FooResource, PatchFoo>;}โ Correct
Section titled โโ Correctโmodel FooResource is TrackedResource<FooProperties> { ...ResourceNameParameter<Foo>; ...ManagedServiceIdentityProperty;}
model PatchFoo { ...ManagedServiceIdentityProperty; properties?: PatchFooProperties;}
model PatchFooProperties { name?: string;}
@armResourceOperationsinterface FooResources { update is ArmCustomPatchAsync<FooResource, PatchFoo>;}