## Update User Group `client.IAM.UserGroups.Update(ctx, userGroupID, params) (*UserGroupUpdateResponse, error)` **put** `/accounts/{account_id}/iam/user_groups/{user_group_id}` Modify an existing user group. ### Parameters - `userGroupID string` User Group identifier tag. - `params UserGroupUpdateParams` - `AccountID param.Field[string]` Path param: Account identifier tag. - `Name param.Field[string]` Body param: Name of the User group. - `Policies param.Field[[]UserGroupUpdateParamsPolicy]` Body param: Policies attached to the User group - `ID string` Policy identifier. - `Access UserGroupUpdateParamsPoliciesAccess` Allow or deny operations against the resources. - `const UserGroupUpdateParamsPoliciesAccessAllow UserGroupUpdateParamsPoliciesAccess = "allow"` - `const UserGroupUpdateParamsPoliciesAccessDeny UserGroupUpdateParamsPoliciesAccess = "deny"` - `PermissionGroups []UserGroupUpdateParamsPoliciesPermissionGroup` A set of permission groups that are specified to the policy. - `ID string` Permission Group identifier tag. - `ResourceGroups []UserGroupUpdateParamsPoliciesResourceGroup` A set of resource groups that are specified to the policy. - `ID string` Resource Group identifier tag. ### Returns - `type UserGroupUpdateResponse struct{…}` A group of policies resources. - `ID string` User Group identifier tag. - `CreatedOn Time` Timestamp for the creation of the user group - `ModifiedOn Time` Last time the user group was modified. - `Name string` Name of the user group. - `Policies []UserGroupUpdateResponsePolicy` Policies attached to the User group - `ID string` Policy identifier. - `Access UserGroupUpdateResponsePoliciesAccess` Allow or deny operations against the resources. - `const UserGroupUpdateResponsePoliciesAccessAllow UserGroupUpdateResponsePoliciesAccess = "allow"` - `const UserGroupUpdateResponsePoliciesAccessDeny UserGroupUpdateResponsePoliciesAccess = "deny"` - `PermissionGroups []UserGroupUpdateResponsePoliciesPermissionGroup` A set of permission groups that are specified to the policy. - `ID string` Identifier of the permission group. - `Meta UserGroupUpdateResponsePoliciesPermissionGroupsMeta` Attributes associated to the permission group. - `Key string` - `Value string` - `Name string` Name of the permission group. - `ResourceGroups []UserGroupUpdateResponsePoliciesResourceGroup` A list of resource groups that the policy applies to. - `ID string` Identifier of the resource group. - `Scope []UserGroupUpdateResponsePoliciesResourceGroupsScope` The scope associated to the resource group - `Key string` This is a combination of pre-defined resource name and identifier (like Account ID etc.) - `Objects []UserGroupUpdateResponsePoliciesResourceGroupsScopeObject` A list of scope objects for additional context. - `Key string` This is a combination of pre-defined resource name and identifier (like Zone ID etc.) - `Meta UserGroupUpdateResponsePoliciesResourceGroupsMeta` Attributes associated to the resource group. - `Key string` - `Value string` - `Name string` Name of the resource group. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/iam" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"), option.WithAPIEmail("user@example.com"), ) userGroup, err := client.IAM.UserGroups.Update( context.TODO(), "023e105f4ecef8ad9ca31a8372d0c353", iam.UserGroupUpdateParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", userGroup.ID) } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "id": "023e105f4ecef8ad9ca31a8372d0c353", "created_on": "2024-03-01T12:21:02.0000Z", "modified_on": "2024-03-01T12:21:02.0000Z", "name": "My New User Group", "policies": [ { "id": "f267e341f3dd4697bd3b9f71dd96247f", "access": "allow", "permission_groups": [ { "id": "c8fed203ed3043cba015a93ad1616f1f", "meta": { "key": "key", "value": "value" }, "name": "Zone Read" }, { "id": "82e64a83756745bbbb1c9c2701bf816b", "meta": { "key": "key", "value": "value" }, "name": "Magic Network Monitoring" } ], "resource_groups": [ { "id": "6d7f2f5f5b1d4a0e9081fdc98d432fd1", "scope": [ { "key": "com.cloudflare.api.account.eb78d65290b24279ba6f44721b3ea3c4", "objects": [ { "key": "com.cloudflare.api.account.zone.23f8d65290b24279ba6f44721b3eaad5" } ] } ], "meta": { "key": "key", "value": "value" }, "name": "com.cloudflare.api.account.eb78d65290b24279ba6f44721b3ea3c4" } ] } ] } } ```