AssignRoleToUser
Method Details​
Description: Assign Role To User
Required Roles: Check proto file for roles
Parameters:
Email
(string) (required): The email address of the user to assign a role toGroup
(string) (required): The name of the group in which the user is to be assigned the given roleRole
(enum) (required): Role is the role to assign to the user
Returns: User
Method Type: Unknown
Code Examples​
- Go
- Python
- Java
- Protobuf
package main
import (
"context"
"log"
userv1 "github.com/meshtrade/api/go/iam/user/v1"
)
func main() {
ctx := context.Background()
// Default configuration is used and credentials come from MESH_API_CREDENTIALS
// environment variable or default discovery methods. Zero config required
// unless you want custom configuration.
service, err := userv1.NewUserService()
if err != nil {
log.Fatalf("Failed to create service: %v", err)
}
defer service.Close()
// Create request with service-specific parameters
request := &userv1.AssignRoleToUserRequest{
// FIXME: Populate service-specific request fields
}
// Call the AssignRoleToUser method
user, err := service.AssignRoleToUser(ctx, request)
if err != nil {
log.Fatalf("AssignRoleToUser failed: %v", err)
}
// FIXME: Add relevant response object usage
log.Printf("AssignRoleToUser successful: %+v", user)
}
from meshtrade.iam.user.v1 import (
AssignRoleToUserRequest,
UserService,
)
def main():
# Default configuration is used and credentials come from MESH_API_CREDENTIALS
# environment variable or default discovery methods. Zero config required
# unless you want custom configuration.
service = UserService()
with service:
# Create request with service-specific parameters
request = AssignRoleToUserRequest(
# FIXME: Populate service-specific request fields
)
# Call the AssignRoleToUser method
user = service.assign_role_to_user(request)
# FIXME: Add relevant response object usage
print("AssignRoleToUser successful:", user)
if __name__ == "__main__":
main()
import co.meshtrade.api.iam.user.v1.UserService;
import co.meshtrade.api.iam.user.v1.Service.AssignRoleToUserRequest;
import co.meshtrade.api.iam.user.v1.User.User;
import java.util.Optional;
public class AssignRoleToUserExample {
public static void main(String[] args) {
// Default configuration is used and credentials come from MESH_API_CREDENTIALS
// environment variable or default discovery methods. Zero config required
// unless you want custom configuration.
try (UserService service = new UserService()) {
// Create request with service-specific parameters
AssignRoleToUserRequest request = AssignRoleToUserRequest.newBuilder()
// FIXME: Populate service-specific request fields
.build();
// Call the AssignRoleToUser method
User user = service.assignRoleToUser(request, Optional.empty());
// FIXME: Add relevant response object usage
System.out.println("AssignRoleToUser successful: " + user);
} catch (Exception e) {
System.err.println("AssignRoleToUser failed: " + e.getMessage());
e.printStackTrace();
}
}
}
syntax = "proto3";
package meshtrade.iam.user.v1;
import "buf/validate/validate.proto";
import "meshtrade/iam/role/v1/role.proto";
import "meshtrade/iam/user/v1/user.proto";
import "meshtrade/option/v1/method_type.proto";
option go_package = "github.com/meshtrade/api/go/iam/user/v1;userv1";
option java_package = "co.meshtrade.api.iam.user.v1";
// Service defines the RPC methods for interacting with the user resource,
service UserService {
// Assign Role To User
rpc AssignRoleToUser(AssignRoleToUserRequest) returns (meshtrade.iam.user.v1.User) {
option (meshtrade.option.v1.method_type) = METHOD_TYPE_WRITE;
option (meshtrade.iam.role.v1.roles) = {
roles: [ROLE_IAM_ADMIN]
};
}
}
message AssignRoleToUserRequest {
// The email address of the user to assign a role to
string email = 1 [(buf.validate.field) = {
string: {
min_len: 1
max_len: 254
pattern: "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$"
}
cel: {
id: "email.required"
message: "email is required and must be a valid email address"
expression: "size(this) > 0"
}
}];
// The name of the group in which the user is to be assigned the given role
string group = 2 [(buf.validate.field) = {
string: {
min_len: 1
max_len: 255
}
cel: {
id: "group.required"
message: "group name is required and must be between 1 and 255 characters"
expression: "size(this) > 0 && size(this) <= 255"
}
}];
// Role is the role to assign to the user
meshtrade.iam.role.v1.Role role = 3 [(buf.validate.field) = {
enum: {
defined_only: true
not_in: [0]
}
cel: {
id: "role.required"
message: "role is required and must be a valid role type (not UNSPECIFIED)"
expression: "int(this) != 0"
}
}];
}
Advanced Configuration​
For advanced client configuration options (custom endpoints, TLS settings, timeouts), see the SDK Configuration Guide.
Other Methods​
- Iam User v1 Method List - For Other methods