How do we attach VPC's in other accounts to Transit Gateway

We have around 10 Accounts in AWS with VPC in each account. We would want to attach VPC’s in other accounts to transit Gateway and all of the VPS’s are in the same region. How can we achieve this with terraform? Is there a way that we can create a role(may be admin role) and assume role with terraform? Since we have many accounts, how can we achieve requester and acceptor functionality.

It would be great if you could provide examples to achieve the same.

Note that user is authorized for a specific session and once session is over, user needs to get the new access key, secret key and session token.