ByCloud Docs
GuidesCLIAPISDK

Go SDK

IAM

Users, service accounts, groups, roles, policies, and authorization

52 methods

POST

AssumeRole()

Assume role

Parameters

role_id

string

required
duration_seconds

integer

- Credential validity duration (15 min to 12 hours)

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.AssumeRole(ctx, &bycloud.AssumeRoleParams{
Role_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

ListGroups()

List groups

Parameters

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

name

string

- Filter by name (exact match or prefix with *)

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.ListGroups(ctx)
if err != nil {
panic(err)
}
fmt.Println(result)
}
POST

CreateGroup()

Create group

Parameters

name

string

required
description

string

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.CreateGroup(ctx, &bycloud.CreateGroupParams{
Name: "developers",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

GetGroup()

Get group

Parameters

group_id

string

required

- Group ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.GetGroup(ctx, &bycloud.GetGroupParams{
Group_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
PATCH

UpdateGroup()

Update group

Parameters

group_id

string

required

- Group ID

name

string

description

string

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.UpdateGroup(ctx, &bycloud.UpdateGroupParams{
Group_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
DELETE

DeleteGroup()

Delete group

Parameters

group_id

string

required

- Group ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.DeleteGroup(ctx, &bycloud.DeleteGroupParams{
Group_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

ListGroupPolicies()

List group policies

Parameters

group_id

string

required

- Group ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.ListGroupPolicies(ctx, &bycloud.ListGroupPoliciesParams{
Group_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
POST

AttachGroupPolicy()

Attach policy to group

Parameters

group_id

string

required

- Group ID

policy_id

string

required

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.AttachGroupPolicy(ctx, &bycloud.AttachGroupPolicyParams{
Group_id: "550e8400-e29b-41d4-a716-446655440000",
Policy_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
DELETE

DetachGroupPolicy()

Detach policy from group

Parameters

group_id

string

required

- Group ID

policy_id

string

required

- Policy ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.DetachGroupPolicy(ctx, &bycloud.DetachGroupPolicyParams{
Group_id: "550e8400-e29b-41d4-a716-446655440000",
Policy_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

ListGroupServiceAccounts()

List group service accounts

Parameters

group_id

string

required

- Group ID

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.ListGroupServiceAccounts(ctx, &bycloud.ListGroupServiceAccountsParams{
Group_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

ListGroupUsers()

List group users

Parameters

group_id

string

required

- Group ID

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.ListGroupUsers(ctx, &bycloud.ListGroupUsersParams{
Group_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

ListPolicies()

List policies

Parameters

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

name

string

- Filter by name (exact match or prefix with *)

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.ListPolicies(ctx)
if err != nil {
panic(err)
}
fmt.Println(result)
}
POST

CreatePolicy()

Create policy

Parameters

name

string

required
description

string

document

object

required

- IAM-style policy document

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.CreatePolicy(ctx, &bycloud.CreatePolicyParams{
Name: "S3BucketAccess",
Document: [object Object],
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

GetPolicy()

Get policy

Parameters

policy_id

string

required

- Policy ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.GetPolicy(ctx, &bycloud.GetPolicyParams{
Policy_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
PATCH

UpdatePolicy()

Update policy

Parameters

policy_id

string

required

- Policy ID

name

string

description

string

document

object

- IAM-style policy document

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.UpdatePolicy(ctx, &bycloud.UpdatePolicyParams{
Policy_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
DELETE

DeletePolicy()

Delete policy

Parameters

policy_id

string

required

- Policy ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.DeletePolicy(ctx, &bycloud.DeletePolicyParams{
Policy_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

ListPolicyGroups()

List groups with policy

Parameters

policy_id

string

required

- Policy ID

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.ListPolicyGroups(ctx, &bycloud.ListPolicyGroupsParams{
Policy_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

ListPolicyRoles()

List roles with policy

Parameters

policy_id

string

required

- Policy ID

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.ListPolicyRoles(ctx, &bycloud.ListPolicyRolesParams{
Policy_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

ListPolicyServiceAccounts()

List service accounts with policy

Parameters

policy_id

string

required

- Policy ID

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.ListPolicyServiceAccounts(ctx, &bycloud.ListPolicyServiceAccountsParams{
Policy_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

ListPolicyUsers()

List users with policy

Parameters

policy_id

string

required

- Policy ID

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.ListPolicyUsers(ctx, &bycloud.ListPolicyUsersParams{
Policy_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

ListRoles()

List roles

Parameters

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

name

string

- Filter by name (exact match or prefix with *)

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.ListRoles(ctx)
if err != nil {
panic(err)
}
fmt.Println(result)
}
POST

CreateRole()

Create role

Parameters

name

string

required
description

string

trust_policy

object

- Defines who/what can assume this role using CRN patterns

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.CreateRole(ctx, &bycloud.CreateRoleParams{
Name: "S3ReadOnly",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

GetRole()

Get role

Parameters

role_id

string

required

- Role ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.GetRole(ctx, &bycloud.GetRoleParams{
Role_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
PATCH

UpdateRole()

Update role

Parameters

role_id

string

required

- Role ID

name

string

description

string

trust_policy

object

- Defines who/what can assume this role using CRN patterns

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.UpdateRole(ctx, &bycloud.UpdateRoleParams{
Role_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
DELETE

DeleteRole()

Delete role

Parameters

role_id

string

required

- Role ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.DeleteRole(ctx, &bycloud.DeleteRoleParams{
Role_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

ListRolePolicies()

List role policies

Parameters

role_id

string

required

- Role ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.ListRolePolicies(ctx, &bycloud.ListRolePoliciesParams{
Role_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
POST

AttachRolePolicy()

Attach policy to role

Parameters

role_id

string

required

- Role ID

policy_id

string

required

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.AttachRolePolicy(ctx, &bycloud.AttachRolePolicyParams{
Role_id: "550e8400-e29b-41d4-a716-446655440000",
Policy_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
DELETE

DetachRolePolicy()

Detach policy from role

Parameters

role_id

string

required

- Role ID

policy_id

string

required

- Policy ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.DetachRolePolicy(ctx, &bycloud.DetachRolePolicyParams{
Role_id: "550e8400-e29b-41d4-a716-446655440000",
Policy_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

ListServiceAccounts()

List service accounts

Parameters

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

name

string

- Filter by name (exact match or prefix with *)

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.ListServiceAccounts(ctx)
if err != nil {
panic(err)
}
fmt.Println(result)
}
POST

CreateServiceAccount()

Create service account

Parameters

name

string

required
display_name

string

description

string

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.CreateServiceAccount(ctx, &bycloud.CreateServiceAccountParams{
Name: "ci-cd-pipeline",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

GetServiceAccount()

Get service account

Parameters

service_account_id

string

required

- Service Account ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.GetServiceAccount(ctx, &bycloud.GetServiceAccountParams{
Service_account_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
PATCH

UpdateServiceAccount()

Update service account

Parameters

service_account_id

string

required

- Service Account ID

display_name

string

description

string

enabled

boolean

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.UpdateServiceAccount(ctx, &bycloud.UpdateServiceAccountParams{
Service_account_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
DELETE

DeleteServiceAccount()

Delete service account

Parameters

service_account_id

string

required

- Service Account ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.DeleteServiceAccount(ctx, &bycloud.DeleteServiceAccountParams{
Service_account_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

ListServiceAccountCredentials()

List credentials

Parameters

service_account_id

string

required

- Service Account ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.ListServiceAccountCredentials(ctx, &bycloud.ListServiceAccountCredentialsParams{
Service_account_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
POST

CreateServiceAccountCredential()

Create credential

Parameters

service_account_id

string

required

- Service Account ID

name

string

required
expires_at

string

- Optional expiration date

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.CreateServiceAccountCredential(ctx, &bycloud.CreateServiceAccountCredentialParams{
Service_account_id: "550e8400-e29b-41d4-a716-446655440000",
Name: "production-key",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
DELETE

DeleteServiceAccountCredential()

Delete credential

Parameters

service_account_id

string

required

- Service Account ID

credential_id

string

required

- Credential ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.DeleteServiceAccountCredential(ctx, &bycloud.DeleteServiceAccountCredentialParams{
Service_account_id: "550e8400-e29b-41d4-a716-446655440000",
Credential_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

ListServiceAccountGroups()

List service account groups

Parameters

service_account_id

string

required

- Service Account ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.ListServiceAccountGroups(ctx, &bycloud.ListServiceAccountGroupsParams{
Service_account_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
POST

AddServiceAccountToGroup()

Add service account to group

Parameters

service_account_id

string

required

- Service Account ID

group_id

string

required

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.AddServiceAccountToGroup(ctx, &bycloud.AddServiceAccountToGroupParams{
Service_account_id: "550e8400-e29b-41d4-a716-446655440000",
Group_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
DELETE

RemoveServiceAccountFromGroup()

Remove service account from group

Parameters

service_account_id

string

required

- Service Account ID

group_id

string

required

- Group ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.RemoveServiceAccountFromGroup(ctx, &bycloud.RemoveServiceAccountFromGroupParams{
Service_account_id: "550e8400-e29b-41d4-a716-446655440000",
Group_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

ListServiceAccountPolicies()

List service account policies

Parameters

service_account_id

string

required

- Service Account ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.ListServiceAccountPolicies(ctx, &bycloud.ListServiceAccountPoliciesParams{
Service_account_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
POST

AttachServiceAccountPolicy()

Attach policy to service account

Parameters

service_account_id

string

required

- Service Account ID

policy_id

string

required

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.AttachServiceAccountPolicy(ctx, &bycloud.AttachServiceAccountPolicyParams{
Service_account_id: "550e8400-e29b-41d4-a716-446655440000",
Policy_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
DELETE

DetachServiceAccountPolicy()

Detach policy from service account

Parameters

service_account_id

string

required

- Service Account ID

policy_id

string

required

- Policy ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.DetachServiceAccountPolicy(ctx, &bycloud.DetachServiceAccountPolicyParams{
Service_account_id: "550e8400-e29b-41d4-a716-446655440000",
Policy_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

ListUsers()

List users

Parameters

limit

integer

- Maximum number of items to return

marker

string

- ID of the last item from the previous page (for pagination)

name

string

- Filter by name (exact match or prefix with *)

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.ListUsers(ctx)
if err != nil {
panic(err)
}
fmt.Println(result)
}
POST

AddUser()

Add user to organization

Parameters

email

string

required

- Email of the platform user to add

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.AddUser(ctx, &bycloud.AddUserParams{
Email: "john.doe@acme.com",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

GetUser()

Get user

Parameters

user_id

string

required

- User ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.GetUser(ctx, &bycloud.GetUserParams{
User_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
DELETE

RemoveUser()

Remove user from organization

Parameters

user_id

string

required

- User ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.RemoveUser(ctx, &bycloud.RemoveUserParams{
User_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

ListUserGroups()

List user groups

Parameters

user_id

string

required

- User ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.ListUserGroups(ctx, &bycloud.ListUserGroupsParams{
User_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
POST

AddUserToGroup()

Add user to group

Parameters

user_id

string

required

- User ID

group_id

string

required

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.AddUserToGroup(ctx, &bycloud.AddUserToGroupParams{
User_id: "550e8400-e29b-41d4-a716-446655440000",
Group_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
DELETE

RemoveUserFromGroup()

Remove user from group

Parameters

user_id

string

required

- User ID

group_id

string

required

- Group ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.RemoveUserFromGroup(ctx, &bycloud.RemoveUserFromGroupParams{
User_id: "550e8400-e29b-41d4-a716-446655440000",
Group_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
GET

ListUserPolicies()

List user policies

Parameters

user_id

string

required

- User ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.ListUserPolicies(ctx, &bycloud.ListUserPoliciesParams{
User_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
POST

AttachUserPolicy()

Attach policy to user

Parameters

user_id

string

required

- User ID

policy_id

string

required

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.AttachUserPolicy(ctx, &bycloud.AttachUserPolicyParams{
User_id: "550e8400-e29b-41d4-a716-446655440000",
Policy_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}
DELETE

DetachUserPolicy()

Detach policy from user

Parameters

user_id

string

required

- User ID

policy_id

string

required

- Policy ID

Example

package main
import (
"context"
"fmt"
"github.com/bycoded/bycloud-go"
)
func main() {
client := bycloud.New(bycloud.WithToken("YOUR_ACCESS_TOKEN"))
ctx := context.Background()
result, err := client.Iam.DetachUserPolicy(ctx, &bycloud.DetachUserPolicyParams{
User_id: "550e8400-e29b-41d4-a716-446655440000",
Policy_id: "550e8400-e29b-41d4-a716-446655440000",
})
if err != nil {
panic(err)
}
fmt.Println(result)
}