arm-agent-base-type-lifecycle-operations
@azure-tools/typespec-azure-resource-manager/arm-agent-base-type-lifecycle-operationsConversation and Response child resources of an Agent must define create, read, update, and delete lifecycle operations.
❌ Incorrect
Section titled “❌ Incorrect”@armProviderNamespacenamespace Microsoft.Contoso;
model MyAgent is Agent<MyAgentProperties> { ...ResourceNameParameter<MyAgent>;}
model MyConversation is AgentConversation<MyConversationProperties, MyAgent> { ...ResourceNameParameter<MyConversation>;}
@armResourceOperationsinterface Conversations { get is ArmResourceRead<MyConversation>; // Missing createOrUpdate, update, and delete}✅ Correct
Section titled “✅ Correct”@armProviderNamespacenamespace Microsoft.Contoso;
model MyAgent is Agent<MyAgentProperties> { ...ResourceNameParameter<MyAgent>;}
model MyConversation is AgentConversation<MyConversationProperties, MyAgent> { ...ResourceNameParameter<MyConversation>;}
@armResourceOperationsinterface Conversations { get is ArmResourceRead<MyConversation>; createOrUpdate is ArmResourceCreateOrReplaceAsync<MyConversation>; update is ArmCustomPatchSync< MyConversation, Azure.ResourceManager.Foundations.ResourceUpdateModel<MyConversation, MyConversationProperties> >; delete is ArmResourceDeleteWithoutOkAsync<MyConversation>; listByAgent is ArmResourceListByParent<MyConversation>;}Reviewer advice
Section titled “Reviewer advice”Impacts the API and generated SDKs: Conversation and Response child resources of an Agent that omit create, read, update, or delete operations produce an incomplete resource lifecycle. Ask the author to define the full lifecycle operations for each child resource using standard ARM operation templates. Do not accept a suppression unless the missing operation is genuinely not supported by the service.