Skip to content

arm-agent-base-type-lifecycle-operations

Full name
@azure-tools/typespec-azure-resource-manager/arm-agent-base-type-lifecycle-operations

Conversation and Response child resources of an Agent must define create, read, update, and delete lifecycle operations.

@armProviderNamespace
namespace Microsoft.Contoso;
model MyAgent is Agent<MyAgentProperties> {
...ResourceNameParameter<MyAgent>;
}
model MyConversation is AgentConversation<MyConversationProperties, MyAgent> {
...ResourceNameParameter<MyConversation>;
}
@armResourceOperations
interface Conversations {
get is ArmResourceRead<MyConversation>;
// Missing createOrUpdate, update, and delete
}
@armProviderNamespace
namespace Microsoft.Contoso;
model MyAgent is Agent<MyAgentProperties> {
...ResourceNameParameter<MyAgent>;
}
model MyConversation is AgentConversation<MyConversationProperties, MyAgent> {
...ResourceNameParameter<MyConversation>;
}
@armResourceOperations
interface 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>;
}

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.