in sharedlibraries/iam/iam.go [48:72]
func NewIAMClient(ctx context.Context, opts ...option.ClientOption) (*IAM, error) {
computeService, err := compute.NewService(ctx, opts...)
if err != nil {
return nil, fmt.Errorf("error creating GCE client: %w", err)
}
smClient, err := secretmanager.NewClient(ctx, opts...)
if err != nil {
return nil, fmt.Errorf("error creating secret manager client: %w", err)
}
crmService, err := cloudresourcemanager.NewService(ctx, opts...)
if err != nil {
return nil, fmt.Errorf("error creating cloud resource manager client: %w", err)
}
storageClient, err := storage.NewClient(ctx, opts...)
if err != nil {
return nil, fmt.Errorf("error creating storage client: %w", err)
}
return &IAM{
instancesService: computeService.Instances,
disksService: computeService.Disks,
projectsService: crmService.Projects,
smClient: smClient,
storageClient: storageClient,
}, nil
}