vania-janet/multiturn-rag-retrieval-data huggingface dataset:
It outputs patient information:

curl -s -L "http://$HOST/info?id=ef5335dd-db17-491e-8150-20ce24712b06"

Output should look like:

$ curl -L "http://$HOST/info?id=ef5335dd-db17-491e-8150-20ce24712b06"
{"personal":{"name":"Opal Larkin","age":22,"street":"805 Bosco Vale","city":"Lincoln","zipcode":"68336"},"medications":["Cefaclor ","Amoxicillin ","Ibuprofen ","Trinessa ","Mirena ","Naproxen sodium "],"appointments":["2009-01-29 10:46 - GENERAL PRACTICE","1999-07-01 10:46 - GENERAL PRACTICE","2001-12-27 10:46 - GENERAL PRACTICE","2005-01-06 10:46 - GENERAL PRACTICE","2004-01-01 10:46 - GENERAL PRACTICE","1999-09-30 10:46 - GENERAL PRACTICE","2018-10-29 10:46 - GENERAL PRACTICE","2012-02-16 10:46 - GENERAL PRACTICE","2015-11-23 10:46 - GENERAL PRACTICE","2000-03-30 10:46 - GENERAL PRACTICE","1999-04-29 10:46 - GENERAL PRACTICE","2015-01-07 10:46 - GENERAL PRACTICE","1999-02-25 10:46 - GENERAL PRACTICE","2010-07-23 10:46 - GENERAL PRACTICE","2008-01-24 10:46 - GENERAL PRACTICE","2004-05-24 10:46 - GENERAL PRACTICE","1999-01-21 10:46 - GENERAL PRACTICE","2015-03-05 10:46 - GENERAL PRACTICE","2002-06-27 10:46 - GENERAL PRACTICE","2000-06-29 10:46 - GENERAL PRACTICE","2005-01-06 10:46 -
: A JSON string that describes [https://softlayer.github.io/reference/datatypes/SoftLayer_User_Customer/](https://softlayer.github.io/reference/datatypes/SoftLayer_User_Customer/).

Examples:

This command edit a user's details.

ibmcloud sl user detail-edit USER_ID --template '{"firstName": "Test", "lastName": "Testerson"}'





 ibmcloud sl user list 

To list users:

ibmcloud sl user list [OPTIONS]

Command options:

--column
: Column to display. options are: id,username,email,displayName,status,hardwareCount,virtualGuestCount. This option can be specified multiple times.





 ibmcloud sl user permission-edit 

Enable or disable specific user permissions:

ibmcloud sl user permission-edit IDENTIFIER [OPTIONS]

Command options:

--enable
: Enable or disable selected permissions. Accepted inputs are true and false. The default is true.

--permission
: Permission keyName to set, multiple instances allowed. Use keyword ALL to select ALL permissions.

--from-user
: Set permissions to match this user's permissions. Adds and removes the appropriate permissions.





 ibmcloud sl user permissions 

View user permissions:

ibmcloud sl user permissions IDENTIFIER
curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{
"type": "access",
"description": "Hyper Protect Crypto Services",
"subjects": [
{
"attributes":
{
"name": "iam_id",
"value": "IBMid-123453user"
}
]
}'
],
"roles":[
{
"role_id": "crn:v1:bluemix:public:hs-crypto::::serviceRole:Writer"
}
],
"resources":[
{
"attributes":
{
"name": "accountId",
"value": "$ACCOUNT_ID"
},
{
"name": "serviceName",
"value": "hs-crypto"
}
]
}
]
}

SubjectAttribute subjectAttribute = new SubjectAttribute.Builder()
.name("iam_id")
.value("IBMid-123453user")
.build();

PolicySubject policySubjects = new PolicySubject.Builder()
.addAttributes(subjectAttribute)
.build();

PolicyRole policyRoles = new PolicyRole.Builder()
.roleId("crn:v1:bluemix:public:hs-crypto::::serviceRole:Writer")
.build();

ResourceAttribute accountIdResourceAttribute = new ResourceAttribute.Builder()
.name("accountId")
.value("ACCOUNT_ID")
.operator("stringEquals")
.build();
"name": "<INTERMEDIATE-CA-ADMIN>",
"pass": "<INTERMEDIATE-CA-ADMIN-PW>",
"type": "client",
"attrs": {
"hf.Registrar.Roles": "",
"hf.Registrar.DelegateRoles": "",
"hf.Revoker": true,
"hf.IntermediateCA": true,
"hf.GenCRL": true,
"hf.Registrar.Attributes": "",
"hf.AffiliationMgr": true
}
}]
},
"intermediate": {
"parentserver": {
"url": "<PARENT-CA-SERVER-URL>",
"caname": "ca"
},
"tls": {
"enabled": true,
"certfiles": ["<TLS-CERT-FILE>"]
}
}
},
"tlsca": {
"debug": true,
"registry": {
"maxenrollments": -1,
"identities": [{
"name": "<INTERMEDIATE-TLS-CA-ADMIN>",
"pass": "<INTERMEDIATE-TLS-CA-ADMIN-PW>",
"type": "client",
"attrs": {
"hf.Registrar.Roles": "",
"hf.Registrar.DelegateRoles": "",
"hf.Revoker": true,
"hf.IntermediateCA": true,
"hf.GenCRL": true,
"hf.Registrar.Attributes": "",
"hf.AffiliationMgr": true
}
}]
},
"intermediate": {
"parentserver": {
"url": "<PARENT-TLS-CA-SERVER-URL>",
curl -X PATCH "$rias_endpoint/v1/shares/432f1a4d-4aac-4ba1-922c-76fdbcbeb1e3?version=2023-07-11&generation=2&maturity=beta" -H "Authorization: $iam_token" -d '{
-d '{
"profile": {
"name": "dp2"
},
}'
{: codeblock}
3. Verify that the profile was updated by listing your file shares again.
POST https://iam.cloud.ibm.com/identity/token

Header
: <-- <ul> -->

* Content-Type: application/x-www-form-urlencoded
* Authorization: Basic Yng6Yng=Yng6Yng= equals the URL-encoded authorization for the username bx and the password bx.

<-- </ul> -->

Body for IBM Cloud username and password
: <-- <ul> -->

* grant_type: password
* response_type: cloud_iam uaa
* username: Your IBM Cloud username.
* password: Your IBM Cloud password.
* uaa_client_ID: cf
* uaa_client_secret: Add the uaa_client_secret key with no value specified.
* bss_account: The IBM Cloud account ID that you retrieved in the previous step.

<-- </ul> -->

Body for IBM Cloud API keys
: <-- <ul> -->

* grant_type: urn:ibm:params:oauth:grant-type:apikey
* response_type: cloud_iam uaa
* apikey: Your IBM Cloud API key.
* uaa_client_ID: cf
* uaa_client_secret: Add the uaa_client_secret key with no value specified.
* bss_account: The IBM Cloud account ID that you retrieved in the previous step.

<-- </ul> -->

Body for IBM Cloud one-time passcode
: <-- <ul> -->

* grant_type: urn:ibm:params:oauth:grant-type:passcode
* response_type: cloud_iam uaa
* passcode: Your IBM Cloud passcode.
* uaa_client_ID: cf
* uaa_client_secret:
* bss_account: The IBM Cloud account ID that you retrieved in the previous step. Add the uaa_client_secret key with no value specified.
ibmcloud iam access-groups [-u USER_NAME | -s SERVICE_ID_NAME | -p (PROFILE_NAME | PROFILE_ID)] [--output FORMAT] [-q, --quiet]



 Command options 

-u
: List access groups the user belongs to. This option is exclusive to '-s' and '-p'.

-s
: List access groups the service ID belongs to. This option is exclusive to '-u' and '-p'.

-p
: List access groups the trusted profile belongs to. This option is exclusive to '-s' and '-u'.

--output FORMAT
: Specify output format. Only 'JSON' is supported.

-q, --quiet
: Suppress verbose output.





 Examples 

List all access groups:

ibmcloud iam access-groups

List all access groups the trusted profile test_profile belongs to:

ibmcloud iam access-groups -p test_profile







 ibmcloud iam access-group 

Show details of an access group:

ibmcloud iam access-group GROUP_NAME [--id]



 Command options 

-id
: Show the ID only.





 Examples 

Show details of access group example_group:

ibmcloud iam access-group example_group







 ibmcloud iam access-group-create 

Create an access group:

ibmcloud iam access-group-create GROUP_NAME [-d, --description DESCRIPTION]



 Command options 

-d, --description
: Description of access group.





 Examples 

Create an access group example_group:

ibmcloud iam access-group-create example_group -d "example access group"







 ibmcloud iam access-group-update 

Update an access group:

ibmcloud iam access-group-update GROUP_NAME [-n, --name NEW_NAME] [-d, --description NEW_DESCRIPTION] [-f, --force]



 Command options 

-n, --name
: New access group name.

-d, --description
curl -X PUT -H "Authorization: {iam_token}" -H "Accept: application/json" -H "Content-Type: application/json" -d '{"members": [ {"iam_id": "IBMid-user1", "type": "user"}, {"iam_id": "iam-ServiceId-123", "type": "service"} ]}' "{base_url}/groups/{access_group_id}/members"

AddGroupMembersRequestMembersItem member1 = new AddGroupMembersRequestMembersItem.Builder()
.iamId("IBMid-user1")
.type("user")
.build();
AddGroupMembersRequestMembersItem member2 = new AddGroupMembersRequestMembersItem.Builder()
.iamId("iam-ServiceId-123")
.type("service")
.build();
AddMembersToAccessGroupOptions addMembersToAccessGroupOptions = new AddMembersToAccessGroupOptions.Builder()
.accessGroupId(testGroupId)
.addMembers(member1)
.addMembers(member2)
.build();
Response<AddGroupMembersResponse> response = service.addMembersToAccessGroup(addMembersToAccessGroupOptions).execute();
AddGroupMembersResponse addGroupMembersResponse = response.getResult();

System.out.println(addGroupMembersResponse);

member1 = AddGroupMembersRequestMembersItem(
iam_id='IBMid-user1', type='user')
member2 = AddGroupMembersRequestMembersItem(
iam_id='iam-ServiceId-123', type='service')
members = [member1, member2]
"value": "1234567890987654321"
},
{
"name": "serviceName",
"value": "directlink"
}]
}]

SubjectAttribute subjectAttribute = new SubjectAttribute.Builder()
.name("iam_id")
.value("IBMid-123453user")
.build();

PolicySubject policySubjects = new PolicySubject.Builder()
.addAttributes(subjectAttribute)
.build();

PolicyRole policyRoles = new PolicyRole.Builder()
.roleId("crn:v1:bluemix:public:directlink::::serviceRole:Writer")
.build();

ResourceAttribute accountIdResourceAttribute = new ResourceAttribute.Builder()
.name("accountId")
.value("ACCOUNT_ID")
.operator("stringEquals")
.build();

ResourceAttribute serviceNameResourceAttribute = new ResourceAttribute.Builder()
.name("serviceName")
.value("directlink")
.operator("stringEquals")
.build();

PolicyResource policyResources = new PolicyResource.Builder()
.addAttributes(accountIdResourceAttribute)
.addAttributes(serviceNameResourceAttribute)
.build();

CreatePolicyOptions options = new CreatePolicyOptions.Builder()
.type("access")
.subjects(Arrays.asList(policySubjects))
.roles(Arrays.asList(policyRoles))
.resources(Arrays.asList(policyResources))
.build();
[Fail over](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-failover) to the replica share makes it the new, writeable primary share. For more information, see [About file share replication](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-replication).





 Supplemental IDs and Groups for file shares 

When a process runs on Unix and Linux, the operating system identifies a user with a user ID (UID) and group with a group ID (GID). These IDs determine which system resources a user or group can access. For example, if the file storage user ID is 12345 and its group ID is 6789, then the mount on the host node and in the container must have those same IDs. The container’s main process must match one or both of those IDs to access the file share.

with the API, you can set these attributes for controlling access to your file shares when you create a file share. The API provides an initial owner property where you can set the UID and GID values. Wherever you mount the file share, the root folder where you mount it uses that UID or GID owner. For more information, see [Add supplemental IDs when you create a file share](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-create&interface=apifs-add-supplemental-id-api).





 Tags for file shares 

File Storage for VPC is enabled for Global Searching and Tagging (GhoST). You can create and apply [user tags](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-vpc-about&interface=uifs-about-user-tags) and [access management tags](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-vpc-about&interface=uifs-about-mgt-tags) to file shares to better control and organize your file storage resources across the VPC. User tags can be added from the file service UI, CLI, or API.
"url": "https://icaadmin:icaadminpw@nb535a5-rootca.org1Cluster.us-south.containers.appdomain.cloud:7054",
"caname": "ca"
},
"tls": {
"enabled": true,
"certfiles": ["LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNvRENDQWtXZ0F3SUJBZ0lRWXZYRUgzUktMUVNiUnZTdnRLWUJDVEFLQmdncWhrak9QUVFEQWpDQnB6RUwKTUFrR0ExVUVCaE1DVlZNeEZ6QVZCZ05WQkFnVERrNXZjblJvSUVOaGNtOXNhVzVoTVE4d0RRWURWUVFIRXdaRQpkWEpvWVcweEREQUtCZ05WQkFvVEEwbENUVEVUTUJFR0ExVUJVaHAKVkM1VE5OVzNqRzJkVVZwUUlkSmEvMWtDSVFEMGE0QWRzazJ0RlhDRFp1RFB0VG5lTkNZWnBDSzMxL2MrUTFLTQozLzVGdEE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCga1"]
}
}
},
"tlsca": {
"debug": true,
"registry": {
"maxenrollments": -1,
"identities": [{
"name": "itlscaadmin",
"pass": "itlscaadminpw",
"type": "client",
"attrs": {
"hf.Registrar.Roles": "",
"hf.Registrar.DelegateRoles": "",
"hf.Revoker": true,
"hf.IntermediateCA": true,
"hf.GenCRL": true,
"hf.Registrar.Attributes": "",
"hf.AffiliationMgr": true
}
}]
},
"intermediate": {
"parentserver": {
"url": "https://itlscaadmin:itlscaadminpw@nb535a5-rootca.org1Cluster.us-south.containers.appdomain.cloud:7054",
"caname": "tlsca"
},
"tls": {
"enabled": true,
"certfiles": ["LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNvRENDQWtXZ0F3SUJBZ0lRWXZYRUgzUktMUVNiUnZTdnRLWUJDVEFLQmdncWhrak9QUVFEQWpDQnB6RUwKTUFrR0ExVUVCaE1DVlZNeEZ6QVZCZ05WQkFnVERrNXZjblJvSUVOaGNtOXNhVzVoTVE4d0RRWURWUVFIRXdaRQpkWEpvWVcweEREQUtCZ05WQkFvVEEwbENUVEVUTUJFR0ExVUJVaHAKVkM1VE5OVzNqRzJkVVZwUUlkSmEvMWtDSVFEMGE0QWRzazJ0RlhDRFp1RFB0VG5lTkNZWnBDSzMxL2MrUTFLTQozLzVGdEE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCga1"]
}
}
}
}
Show more





 Part Three: Actions you perform on the intermediate CA 

You've registered the intermediate CA and intermediate TLS CA identities with the root CA and have built the JSON for the CA override. You are now ready to deploy the intermediate CA.



1.
"value": "AccessGroupId-PublicAccess"
}
]
}
],
"roles":[
{
"role_id": "crn:v1:bluemix:public:iam::::role:Administrator"
}
],
"resources":[
{
"attributes":
{
"name": "accountId",
"value": "$ACCOUNT_ID"
},
{
"name": "serviceName",
"value": "$SERVICE_NAME"
},
]
}
]
}'

SubjectAttribute subjectAttribute = new SubjectAttribute.Builder()
.name("access_group_id")
.value(AccessGroupId-PublicAccess)
.build();

PolicySubject policySubjects = new PolicySubject.Builder()
.addAttributes(subjectAttribute)
.build();

PolicyRole policyRoles = new PolicyRole.Builder()
.roleId("crn:v1:bluemix:public:iam::::role:Administrator")
.build();

ResourceAttribute accountIdResourceAttribute = new ResourceAttribute.Builder()
.name("accountId")
.value(exampleAccountId)
.operator("stringEquals")
.build();

ResourceAttribute serviceNameResourceAttribute = new ResourceAttribute.Builder()
.name("serviceName")
.value("exampleServiceName")
.operator("stringEquals")
.build();

PolicyResource policyResources = new PolicyResource.Builder()
.addAttributes(accountIdResourceAttribute)
ibmcloud cdb deployment-user-password "es-akshay-res-717-new" ibm_cloud_7052ee45_d702_4073_aea2_a5435989568e

ibmcloud cdb deployment-user-password "es-akshay-res-717-new" ibm_cloud_29075661_76d0_405a_9619_480eb7a173d4

ibmcloud cdb deployment-user-password "es-akshay-res-717-new" ibm_cloud_eb148643_099a_4334_a88a_f2e5e1f8ccdd

OK
Show more





 Update Elasticsearch user passwords 

To update user passwords, run the following command for each user. You are then prompted to enter the new password for that user.

ibmcloud cdb deployment-user-password "example-deployment" <your-user-1>

The deployment-user-password command needs to be run for each user.
"last_modified_at": "2021-04-09T14:36:30.505Z",
"last_modified_by_id": "IBMid-310000JVN5",
"last_permit_at": null,
"last_permit_frequency": 0,
"state": "active" <-- policy is active again
}

For more information, see Restore a deleted policy by ID]] ! ! ! .
<-- </ol> --><-- </section "class="ph" id="section-iam-audit-policies-restore" "> --><-- <section "id="section-audit-policies-next-steps" "> --> Next steps Gain insight on the access assignments in your account from different perspectives. View Auditing access to resources]] ! ! ! !
.roleId("crn:v1:bluemix:public:hs-crypto::::serviceRole:Writer")
.build();

ResourceAttribute accountIdResourceAttribute = new ResourceAttribute.Builder()
.name("accountId")
.value("ACCOUNT_ID")
.operator("stringEquals")
.build();

ResourceAttribute serviceNameResourceAttribute = new ResourceAttribute.Builder()
.name("serviceName")
.value("hs-crypto")
.operator("stringEquals")
.build();

PolicyResource policyResources = new PolicyResource.Builder()
.addAttributes(accountIdResourceAttribute)
.addAttributes(serviceNameResourceAttribute)
.build();

CreatePolicyOptions options = new CreatePolicyOptions.Builder()
.type("access")
.subjects(Arrays.asList(policySubjects))
.roles(Arrays.asList(policyRoles))
.resources(Arrays.asList(policyResources))
.build();

Response<Policy> response = service.createPolicy(options).execute();
Policy policy = response.getResult();

System.out.println(policy);

policy_subjects = PolicySubject(
attributes=[SubjectAttribute(name='iam_id', value='IBMid-123453user')])
policy_roles = PolicyRole(
role_id='crn:v1:bluemix:public:hs-crypto::::serviceRole:Writer')
account_id_resource_attribute = ResourceAttribute(
name='accountId', value='ACCOUNT_ID')
service_name_resource_attribute = ResourceAttribute(
"crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:390086ac-76fa-4094-8cf3-c0829bd69526:key:264fadc3-7667-4b25-916e-5825fe70de0b"
}

 show key details using the alias as identifier - a state of "1" is "active"
$ ibmcloud kp key show example-alias-1 --output json

{
"id": "264fadc3-7667-4b25-916e-5825fe70de0b",
"name": "root-key-with-alias",
"type": "application/vnd.ibm.kms.key+json",
"algorithmType": "AES",
"createdBy": "user id ...<redacted>...",
"creationDate": "2020-06-09T21:21:55Z",
"lastUpdateDate": "2020-06-09T21:21:55Z",
"keyVersion": {
"id": "264fadc3-7667-4b25-916e-5825fe70de0b",
"creationDate": "2020-06-09T21:21:55Z"
},
"extractable": false,
"state": 1,
...
"crn": "crn:v1:bluemix:public:kms:us-south:a/ea998d3389c3473aa0987652b46fb146:390086ac-76fa-4094-8cf3-c0829bd69526:key:264fadc3-7667-4b25-916e-5825fe70de0b"
Attributes: []iampolicymanagementv1.ResourceAttribute{
accountIDResourceAttribute, serviceNameResourceAttribute}
}

options := iamPolicyManagementService.NewCreatePolicyOptions(
"access",
[]iampolicymanagementv1.PolicySubject{policySubjects},
[]iampolicymanagementv1.PolicyRole{policyRoles},
[]iampolicymanagementv1.PolicyResource{policyResources},
)

policy, response, err := iamPolicyManagementService.CreatePolicy(options)
if err != nil {
panic(err)
}
b, _ := json.MarshalIndent(policy, "", " ")
fmt.Println(string(b))

const policySubjects = [
{
attributes:
{
name: 'iam_id',
value: 'IBMid-123453user',
},
],
},
];
const policyRoles = [
{
role_id: 'crn:v1:bluemix:public:directlink::::serviceRole:Writer',
},
];
const accountIdResourceAttribute = {
name: 'accountId',
value: 'ACCOUNT_ID',
operator: 'stringEquals',
};
const serviceNameResourceAttribute = {
name: 'serviceName',
value: 'directlink',
operator: 'stringEquals',
};
const policyResources = [
{
attributes: accountIdResourceAttribute, serviceNameResourceAttribute]
},
];
const params = {
type: 'access',
Examples 

List all account policies under current account:

ibmcloud iam account-policies

List all authorization policies under current account. Provides the same list as ibmcloud iam authorization-policies:

ibmcloud iam account-policies -t auth

List all access policies under current account. Provides the same list as ibmcloud iam access-policies:

ibmcloud iam account-policies -t access







 ibmcloud iam authorization-policy-create 

Create an authorization policy to allow a service instance access to another service instance:

ibmcloud iam authorization-policy-create { SOURCE_SERVICE_NAME TARGET_SERVICE_NAME ROLE_NAME1,ROLE_NAME2... [--source-service-instance-name SOURCE_SERVICE_INSTANCE_NAME | --source-service-instance-id SOURCE_SERVICE_INSTANCE_ID] [--source-service-account ACCOUNT_GUID] [--source-resource-group-id RESOURCE_GROUP_ID] [--source-resource-type RESOURCE_TYPE] [--source-resource RESOURCE] [--target-service-instance-name TARGET_SERVICE_INSTANCE_NAME | --target-service-instance-id TARGET_SERVICE_INSTANCE_ID] [--target-resource-group-id RESOURCE_GROUP_ID] [--target-resource-type RESOURCE_TYPE] [--target-resource RESOURCE] | --file JSON_FILE } [--output FORMAT] [-q, --quiet]



 Command options 

SOURCE_SERVICE_NAME
: The source service that can be authorized to access. To find the service's name, run the ibmcloud catalog service-marketplace command.

TARGET_SERVICE_NAME
: The target service that the source service can be authorized to access. To find the service's name, run the ibmcloud catalog service-marketplace command.

ROLE_NAME1,ROLE_NAME2...
: The roles that provide access for the source service.

--source-service-instance-name SOURCE_SERVICE_INSTANCE_NAME
: Source service instance name, mutually exclusive with --source-service-instance-id and --source-service-account.
[Fail over](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-failover) to the replica share makes it the new, writeable primary share. For more information, see [About file share replication](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-replication).





 Supplemental IDs and Groups for file shares 

When a process runs on Unix and Linux, the operating system identifies a user with a user ID (UID) and group with a group ID (GID). These IDs determine which system resources a user or group can access. For example, if the file storage user ID is 12345 and its group ID is 6789, then the mount on the host node and in the container must have those same IDs. The container’s main process must match one or both of those IDs to access the file share.

with the API, you can set these attributes for controlling access to your file shares when you create a file share. The API provides an initial owner property where you can set the UID and GID values. Wherever you mount the file share, the root folder where you mount it uses that UID or GID owner. For more information, see [Add supplemental IDs when you create a file share](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-create&interface=apifs-add-supplemental-id-api).





 Tags for file shares 

File Storage for VPC is enabled for Global Searching and Tagging (GhoST). You can create and apply [user tags](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-vpc-aboutfs-about-user-tags) and [access management tags](https://cloud.ibm.com/docs/vpc?topic=vpc-file-storage-vpc-aboutfs-about-mgt-tags) to file shares to better control and organize your file storage resources across the VPC. User tags can be added from the file service UI, CLI, or API.
RoleID: &viewerRoleID,
}

attributeModel := &usermanagementv1.Attribute{
Name: core.StringPtr("accountId"),
Value: &accountID,
}

attributeModel2 := &usermanagementv1.Attribute{
Name: core.StringPtr("resourceGroupId"),
Value: core.StringPtr(""),
}

resourceModel := &usermanagementv1.Resource{
Attributes: []usermanagementv1.Attribute{attributeModel, attributeModel2},
}

inviteUserIamPolicyModel := &usermanagementv1.InviteUserIamPolicy{
Type: core.StringPtr("access"),
Roles: []usermanagementv1.Role{roleModel},
Resources: []usermanagementv1.Resource{resourceModel},
}

inviteUsersOptions := &usermanagementv1.InviteUsersOptions{
AccountID: &accountID,
Users: []usermanagementv1.InviteUser{inviteUserModel},
IamPolicy: []usermanagementv1.InviteUserIamPolicy{inviteUserIamPolicyModel},
AccessGroups: []string{accessGroupID},
}

invitedUserList, response, err := userManagementAdminService.InviteUsers(inviteUsersOptions)
if err != nil {
panic(err)
}
b, _ := json.MarshalIndent(invitedUserList, "", " ")
fmt.Println(string(b))

const inviteUserModel = {
email: memberEmail,
account_role: 'Member',
};

const roleModel = {
role_id: viewerRoleId,
};

const attributeModel = {
name: 'accountId',
value: accountId,
};