Date: Thu, 28 Mar 2024 15:10:57 +0000 (UTC) Message-ID: <893381148.6563.1711638657137@ip-10-10-7-29.ec2.internal> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_6562_126035746.1711638657135" ------=_Part_6562_126035746.1711638657135 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
Assign or remove attributes and values of attribute assignments. T= hese attributes can be on groups, stems, members, memberships (immediate or= any), attribute definitions, or on assignments of attributes (one level de= ep).
You can lookup attributes by attribute definition name, or attribute def= inition id
All assignments will be filtered for security based on the logged in or = acted as user (security rules are on attribute framework wiki)
The returned data will include the attribute assignments, value(s) on th= ose assignments, and a normalized list of references (owner objects e.g. gr= oup/stem/etc, attribute definitions, attribute names, etc), if things chang= ed or were already assigned, etc
You can assign attributes to multiple owners, definitions, actions, etc<= /p>
attributeAssignType is a required field, must be: group, member, stem, a= ny_mem, imm_mem, attr_def, group_asgn, mem_asgn, stem_asgn, any_mem_asgn, i= mm_mem_asgn, attr_def_asgn
attributeAssignOperation is required and is the operation to perform for= attribute on owners, from enum AttributeAssignOperation: assign_attr, add_= attr, remove_attr, replace_attrs. In this case, assigning an attribut= e will not assign if already there. add_attr will add this assignment= even if it is already there (attribute definition must allow multi assignm= ents)
attributeAssignValueOperation is required if passing values to assign.&n= bsp; It is the operation to perform for attribute value on attribute assign= ments: assign_value, add_value, remove_value, replace_values. Like th= e attribute assign operation, assign_value will assign if not there, or ign= ore if already there. add_value will add even if assigned. And = replace_values will remove orphans not in the assign list.
WebServ= ice: connecting to URL: 'http://localhost:8080/grouper-ws/servicesRest/2.6.= 0/attributeAssignments' ################ REQUEST START (indented) ############### POST /grouper-ws/servicesRest/2.6.0/attributeAssignments HTTP/1.1 Connection: close Authorization: Basic xxxxxxxxxxxxxxxx User-Agent: Jakarta Commons-HttpClient/3.1 Host: localhost:8080 Content-Length: 311 Content-Type: application/json; charset=3DUTF-8 { "WsRestAssignAttributesRequest":{ "attributeAssignOperation":"assign_attr", "attributeAssignType":"any_mem", "wsAttributeDefNameLookups":[ { "name":"test:attr" } ] , "wsOwnerMembershipAnyLookups":[ { "wsGroupLookup":{ "groupName":"etc:wsGroup" }, "wsSubjectLookup":{ "subjectId":"GrouperSystem", "subjectSourceId":"g:isa" } } ] } } ################ REQUEST END ############### ################ RESPONSE START (indented) ############### HTTP/1.1 200 OK Set-Cookie: JSESSIONID=3Dxxxxxxxxxxxx; HttpOnly X-Grouper-resultCode: SUCCESS X-Grouper-success: T X-Grouper-resultCode2: NONE Content-Type: application/json;charset=3DUTF-8 Content-Length: 2253 Date: Tue, 11 Oct 2022 17:45:37 GMT Connection: close { "WsAssignAttributesResults":{ "resultMetadata":{ "success":"T", "resultCode":"SUCCESS", "resultMessage":", Found 1 results." }, "wsMemberships":[ ] , "wsStems":[ ] , "wsAttributeDefs":[ { "attributeDefType":"attr", "assignToAttributeDef":"F", "assignToStemAssignment":"F", "extension":"attrDef", "assignToMemberAssignment":"F", "assignToEffectiveMembership":"F", "uuid":"77c905289a374962b779a74d579cb2cd", "assignToImmediateMembershipAssignment":"F", "assignToEffectiveMembershipAssignment":"F", "assignToStem":"F", "assignToGroupAssignment":"F", "assignToMember":"F", "multiAssignable":"F", "valueType":"marker", "name":"test:attrDef", "assignToAttributeDefAssignment":"F", "idIndex":"10080", "multiValued":"F", "assignToGroup":"F", "assignToImmediateMembership":"F" } ] , "responseMetadata":{ "serverVersion":"2.6.0", "millis":"653" }, "wsGroups":[ { "extension":"wsGroup", "displayName":"etc:wsGroup", "description":"wsGroup", "uuid":"bd7831a9c01e435bba1a628f0feef150", "enabled":"T", "displayExtension":"wsGroup", "name":"etc:wsGroup", "typeOfGroup":"group", "idIndex":"10068" } ] , "wsAttributeDefNames":[ { "attributeDefId":"77c905289a374962b779a74d579cb2cd", "displayExtension":"attr", "extension":"attr", "displayName":"test:attr", "name":"test:attr", "attributeDefName":"test:attrDef", "idIndex":"10298", "uuid":"16c46d4aca6c4ef7aaf02209a31c3242" } ] , "wsAttributeAssignResults":[ { "deleted":"F", "wsAttributeAssigns":[ { "attributeAssignDelegatable":"FALSE", "ownerMemberSourceId":"g:isa", "disallowed":"F", "createdOn":"2022/10/11 13:45:36.844", "enabled":"T", "attributeAssignType":"any_mem", "attributeDefId":"77c905289a374962b779a74d579cb2cd", "lastUpdated":"2022/10/11 13:45:36.844", "attributeAssignActionId":"de9ea3d237cb4fe09124791f43fc9b31", "ownerGroupName":"etc:wsGroup", "id":"bdb45214baad436c8402630e6571f059", "ownerGroupId":"bd7831a9c01e435bba1a628f0feef150", "ownerMemberSubjectId":"GrouperSystem", "ownerMemberId":"585c7be534fe4926bbe9c571a36d2e22", "attributeDefName":"test:attrDef", "attributeDefNameName":"test:attr", "attributeAssignActionName":"assign", "attributeDefNameId":"16c46d4aca6c4ef7aaf02209a31c3242", "attributeAssignActionType":"immediate" } ] , "valuesChanged":"F", "changed":"T" } ] , "wsSubjects":[ { "sourceId":"g:isa", "success":"T", "name":"GrouperSysAdmin", "resultCode":"SUCCESS", "id":"GrouperSystem" } ] } } ################ RESPONSE END ###############
If this= is an assignment on an assignment, you first need to query to get the attr= ibute assign id where the value is [mchyzer@flash pennGroupsClient-2.3.0]$ java -jar grouperClient.jar --opera= tion=3DgetAttributeAssignmentsWs --attributeAssignType=3Dgroup --includeAss= ignmentsOnAssignments=3Dtrue --ownerGroupNames=3Da:b:c:groupName --debug=3D= true POST /grouperWs/servicesRest/v2_3_000/attributeAssignments HTTP/1.1 Connection: close Authorization: Basic xxxxxxxxxxxxxxxx User-Agent: Jakarta Commons-HttpClient/3.1 Host: grouperws.apps.upenn.edu:-1 Content-Length: 321 Content-Type: text/xml; charset=3DUTF-8 <WsRestGetAttributeAssignmentsRequest> <attributeAssignType>group</attributeAssignType> <wsOwnerGroupLookups> <WsGroupLookup> <groupName>a:b:c:groupName</groupName> </WsGroupLookup> </wsOwnerGroupLookups> <includeAssignmentsOnAssignments>T</includeAssignmentsOnAssignme= nts> </WsRestGetAttributeAssignmentsRequest> ################ RESPONSE START (indented) ############### HTTP/1.1 200 OK Date: Mon, 23 Apr 2018 12:43:25 GMT Set-Cookie: JSESSIONID=3Dxxxxxxxxxxxx; Path=3D/grouperWs X-Grouper-resultCode: SUCCESS X-Grouper-success: T X-Grouper-resultCode2: NONE Content-Type: text/xml;charset=3DUTF-8 Vary: Accept-Encoding Connection: close Transfer-Encoding: chunked Set-Cookie: BIGipServerPFA-grouperws_pool=3D3810792620.20480.0000; expires= =3DMon, 23-Apr-2018 18:43:26 GMT; path=3D/; Httponly; Secure <WsGetAttributeAssignmentsResults> <WsAttributeDefName> <idIndex>12892</idIndex> <extension>legacyAttribute_grouperLoaderQuartzCron</extensio= n> <displayExtension>legacyAttribute_grouperLoaderQuartzCron</d= isplayExtension> <displayName>etc:legacy:attribute:legacyAttribute_grouperLoader= QuartzCron</displayName> <name>etc:legacy:attribute:legacyAttribute_grouperLoaderQuartzC= ron</name> <uuid>ff79e20c06314ee380bb492def9de796</uuid> <attributeDefId>ef7039cf58b34783b6b012cc4799073e</attributeD= efId> <attributeDefName>etc:legacy:attribute:legacyAttributeDef_group= erLoader</attributeDefName> </WsAttributeDefName> <WsAttributeAssign> <disallowed>F</disallowed> <attributeAssignActionType>immediate</attributeAssignActionT= ype> <attributeAssignDelegatable>FALSE</attributeAssignDelegatabl= e> <attributeAssignActionId>d459f64e432e4820a4b79de775fd0ab1</a= ttributeAssignActionId> <attributeAssignActionName>assign</attributeAssignActionName= > <attributeAssignType>group_asgn</attributeAssignType> <attributeDefNameId>ff79e20c06314ee380bb492def9de796</attrib= uteDefNameId> <attributeDefNameName>etc:legacy:attribute:legacyAttribute_grou= perLoaderQuartzCron</attributeDefNameName> <attributeDefId>ef7039cf58b34783b6b012cc4799073e</attributeD= efId> <attributeDefName>etc:legacy:attribute:legacyAttributeDef_group= erLoader</attributeDefName> <wsAttributeAssignValues> <WsAttributeAssignValue> <id>285dd3e3e3bf4f78955a67395de7e8df</id> <valueSystem>0 15 7 * * ?</valueSystem> </WsAttributeAssignValue> </wsAttributeAssignValues> <createdOn>2016/07/09 23:06:37.253</createdOn> <enabled>T</enabled> <id>781992a9dc0e4b58a0202e9b24e94f87</id> <lastUpdated>2016/07/09 23:06:37.253</lastUpdated> <ownerAttributeAssignId>ddf1e57538af4b3aaf4b0673b5803511</ow= nerAttributeAssignId> </WsAttributeAssign> </wsAttributeAssigns> <resultMetadata> <resultCode>SUCCESS</resultCode> <resultMessage>, Found 11 results. </resultMessage> <success>T</success> </resultMetadata> <responseMetadata> <resultWarnings></resultWarnings> <millis>590</millis> <serverVersion>2.3.0</serverVersion> </responseMetadata> <wsGroups> <WsGroup> <extension>groupName</extension> <typeOfGroup>group</typeOfGroup> <displayExtension>groupName</displayExtension> <displayName>a:b:c:groupName</displayName> <name> a:b:c:groupName </name> <uuid>d836336699e24404a442a1cfb2027a6c</uuid> <idIndex>194760</idIndex> </WsGroup> </wsGroups> <wsStems/> <wsMemberships/> <wsSubjects/> </WsGetAttributeAssignmentsResults> #################################################### Then assign the value: [mchyzer@flash pennGroupsClient-2.3.0]$ java -jar grouperClient.jar --opera= tion=3DassignAttributesWs --attributeAssignOperation=3Dassign_attr --attrib= uteAssignType=3Dgroup_asgn --ownerAttributeAssignUuids=3Dddf1e57538af4b3aaf= 4b0673b5803511 --attributeDefNameNames=3Dpenn:etc:legacy:attribute:legacyAt= tribute_grouperLoaderQuartzCron --attributeAssignValueOperation=3Dreplace_v= alues --values0System=3D"0 16 7 * * ?" --debug=3Dtrue ################ REQUEST START (indented) ############### POST /grouperWs/servicesRest/v2_3_000/attributeAssignments HTTP/1.1 Connection: close Authorization: Basic xxxxxxxxxxxxxxxx User-Agent: Jakarta Commons-HttpClient/3.1 Host: grouperws.apps.upenn.edu:-1 Content-Length: 707 Content-Type: text/xml; charset=3DUTF-8 <WsRestAssignAttributesRequest> <attributeAssignOperation>assign_attr</attributeAssignOperation&= gt; <attributeAssignValueOperation>replace_values</attributeAssignVa= lueOperation> <wsOwnerAttributeAssignLookups> <WsAttributeAssignLookup> <uuid>ddf1e57538af4b3aaf4b0673b5803511</uuid> </WsAttributeAssignLookup> </wsOwnerAttributeAssignLookups> <values> <WsAttributeAssignValue> <valueSystem>0 16 7 * * ?</valueSystem> </WsAttributeAssignValue> </values> <attributeAssignType>group_asgn</attributeAssignType> <wsAttributeDefNameLookups> <WsAttributeDefNameLookup> <name>penn:etc:legacy:attribute:legacyAttribute_grouperLoaderQu= artzCron</name> </WsAttributeDefNameLookup> </wsAttributeDefNameLookups> </WsRestAssignAttributesRequest> ################ REQUEST END ############### ################ RESPONSE START (indented) ############### HTTP/1.1 200 OK Date: Mon, 23 Apr 2018 13:09:14 GMT Set-Cookie: JSESSIONID=3Dxxxxxxxxxxxx; Path=3D/grouperWs X-Grouper-resultCode: SUCCESS X-Grouper-success: T X-Grouper-resultCode2: NONE Content-Type: text/xml;charset=3DUTF-8 Vary: Accept-Encoding Connection: close Transfer-Encoding: chunked Set-Cookie: BIGipServerPFA-grouperws_pool=3D3861124268.20480.0000; expires= =3DMon, 23-Apr-2018 19:09:15 GMT; path=3D/; Httponly; Secure <WsAssignAttributesResults> <wsAttributeDefs> <WsAttributeDef> <idIndex>10046</idIndex> <extension>legacyAttributeDef_grouperLoader</extension> <name>etc:legacy:attribute:legacyAttributeDef_grouperLoader<= /name> <uuid>ef7039cf58b34783b6b012cc4799073e</uuid> <attributeDefType>attr</attributeDefType> <multiAssignable>F</multiAssignable> <multiValued>F</multiValued> <valueType>string</valueType> <assignToAttributeDef>F</assignToAttributeDef> <assignToAttributeDefAssignment>F</assignToAttributeDefAssig= nment> <assignToEffectiveMembership>F</assignToEffectiveMembership&= gt; <assignToEffectiveMembershipAssignment>F</assignToEffectiveM= embershipAssignment> <assignToGroup>F</assignToGroup> <assignToGroupAssignment>F</assignToGroupAssignment> <assignToImmediateMembership>F</assignToImmediateMembership&= gt; <assignToImmediateMembershipAssignment>F</assignToImmediateM= embershipAssignment> <assignToMember>F</assignToMember> <assignToMemberAssignment>F</assignToMemberAssignment> <assignToStem>F</assignToStem> <assignToStemAssignment>F</assignToStemAssignment> </WsAttributeDef> </wsAttributeDefs> <wsAttributeDefNames> <WsAttributeDefName> <idIndex>12892</idIndex> <extension>legacyAttribute_grouperLoaderQuartzCron</extensio= n> <displayExtension>legacyAttribute_grouperLoaderQuartzCron</d= isplayExtension> <displayName>etc:legacy:attribute:legacyAttribute_grouperLoader= QuartzCron</displayName> <name>etc:legacy:attribute:legacyAttribute_grouperLoaderQuartzC= ron</name> <uuid>ff79e20c06314ee380bb492def9de796</uuid> <attributeDefId>ef7039cf58b34783b6b012cc4799073e</attributeD= efId> <attributeDefName>etc:legacy:attribute:legacyAttributeDef_group= erLoader</attributeDefName> </WsAttributeDefName> </wsAttributeDefNames> <wsAttributeAssignResults> <WsAssignAttributeResult> <wsAttributeAssignValueResults> <WsAttributeAssignValueResult> <changed>T</changed> <deleted>T</deleted> <wsAttributeAssignValue> <id>285dd3e3e3bf4f78955a67395de7e8df</id> <valueSystem>0 15 7 * * ?</valueSystem> </wsAttributeAssignValue> </WsAttributeAssignValueResult> <WsAttributeAssignValueResult> <changed>T</changed> <deleted>F</deleted> <wsAttributeAssignValue> <id>4b6c8b5df143448994ceaf6aed68856c</id> <valueSystem>0 16 7 * * ?</valueSystem> </wsAttributeAssignValue> </WsAttributeAssignValueResult> </wsAttributeAssignValueResults> <wsAttributeAssigns> <WsAttributeAssign> <disallowed>F</disallowed> <attributeAssignActionType>immediate</attributeAssignAct= ionType> <attributeAssignDelegatable>FALSE</attributeAssignDelega= table> <attributeAssignActionId>d459f64e432e4820a4b79de775fd0ab1&l= t;/attributeAssignActionId> <attributeAssignActionName>assign</attributeAssignAction= Name> <attributeAssignType>group_asgn</attributeAssignType> <attributeDefNameId>ff79e20c06314ee380bb492def9de796</at= tributeDefNameId> <attributeDefNameName>etc:legacy:attribute:legacyAttribute_= grouperLoaderQuartzCron</attributeDefNameName> <attributeDefId>ef7039cf58b34783b6b012cc4799073e</attrib= uteDefId> <attributeDefName>etc:legacy:attribute:legacyAttributeDef_g= rouperLoader</attributeDefName> <wsAttributeAssignValues> <WsAttributeAssignValue> <id>4b6c8b5df143448994ceaf6aed68856c</id> <valueSystem>0 16 7 * * ?</valueSystem> </WsAttributeAssignValue> </wsAttributeAssignValues> <createdOn>2016/07/09 23:06:37.253</createdOn> <enabled>T</enabled> <id>781992a9dc0e4b58a0202e9b24e94f87</id> <lastUpdated>2016/07/09 23:06:37.253</lastUpdated> <ownerAttributeAssignId>ddf1e57538af4b3aaf4b0673b5803511<= ;/ownerAttributeAssignId> </WsAttributeAssign> </wsAttributeAssigns> <changed>F</changed> <valuesChanged>T</valuesChanged> <deleted>F</deleted> </WsAssignAttributeResult> </wsAttributeAssignResults> <resultMetadata> <resultCode>SUCCESS</resultCode> <resultMessage>, Found 1 results. </resultMessage> <success>T</success> </resultMetadata> <responseMetadata> <resultWarnings></resultWarnings> <millis>1216</millis> <serverVersion>2.3.0</serverVersion> </responseMetadata> <wsGroups/> <wsStems/> <wsMemberships/> <wsSubjects/> </WsAssignAttributesResults>
Example of assigning an attribute to an att= ribute
[mchyze= r@flash pennGroupsClient-2.5.0]$ java -jar grouperClient-2.5.36.jar --opera= tion=3DassignAttributesWs --attributeAssignType=3Dgroup --attributeAssignOp= eration=3Dassign_attr --ownerGroupNames=3Dtest:testGroup --attributeDefName= Names=3Dtest:testGroupAttrMarker --debug=3Dtrue Reading resource: grouper.client.properties, from: /home/mchyzer/grouper/pe= nnGroupsClient-2.5.0/grouper.client.properties WebService: connecting as user: 'fast/medley.isc-seo.upenn.edu' WebService: connecting to URL: 'https://grouperWs.apps.upenn.edu/grouperWs/= servicesRest/2.5.36/attributeAssignments' ################ REQUEST START (indented) ############### POST /grouperWs/servicesRest/2.5.36/attributeAssignments HTTP/1.1 Connection: close Authorization: Basic xxxxxxxxxxxxxxxx User-Agent: Jakarta Commons-HttpClient/3.1 Host: grouperWs.apps.upenn.edu:-1 Content-Length: 431 Content-Type: text/xml; charset=3DUTF-8 <WsRestAssignAttributesRequest> <attributeAssignOperation>assign_attr</attributeAssignOperation&= gt; <attributeAssignType>group</attributeAssignType> <wsAttributeDefNameLookups> <WsAttributeDefNameLookup> <name>test:testGroupAttrMarker</name> </WsAttributeDefNameLookup> </wsAttributeDefNameLookups> <wsOwnerGroupLookups> <WsGroupLookup> <groupName>test:testGroup</groupName> </WsGroupLookup> </wsOwnerGroupLookups> </WsRestAssignAttributesRequest> ################ REQUEST END ############### ################ RESPONSE START (indented) ############### HTTP/1.1 200 OK Date: Thu, 22 Oct 2020 17:02:29 GMT Content-Type: application/xml;charset=3DUTF-8 Transfer-Encoding: chunked Connection: close Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips Strict-Transport-Security: max-age=3D15768000 X-Grouper-resultCode: SUCCESS X-Grouper-success: T X-Grouper-resultCode2: NONE <WsAssignAttributesResults> <wsAttributeDefs> <WsAttributeDef> <idIndex>10415</idIndex> <extension>testGroupAttrMarkerDef</extension> <name>test:testGroupAttrMarkerDef</name> <uuid>b80e9e8c13f54093ab297aeea7b23974</uuid> <attributeDefType>attr</attributeDefType> <multiAssignable>F</multiAssignable> <multiValued>F</multiValued> <valueType>marker</valueType> <assignToAttributeDef>F</assignToAttributeDef> <assignToAttributeDefAssignment>F</assignToAttributeDefAssig= nment> <assignToEffectiveMembership>F</assignToEffectiveMembership&= gt; <assignToEffectiveMembershipAssignment>F</assignToEffectiveM= embershipAssignment> <assignToGroup>F</assignToGroup> <assignToGroupAssignment>F</assignToGroupAssignment> <assignToImmediateMembership>F</assignToImmediateMembership&= gt; <assignToImmediateMembershipAssignment>F</assignToImmediateM= embershipAssignment> <assignToMember>F</assignToMember> <assignToMemberAssignment>F</assignToMemberAssignment> <assignToStem>F</assignToStem> <assignToStemAssignment>F</assignToStemAssignment> </WsAttributeDef> </wsAttributeDefs> <wsAttributeDefNames> <WsAttributeDefName> <idIndex>30234</idIndex> <extension>testGroupAttrMarker</extension> <displayExtension>testGroupAttrMarker</displayExtension> <displayName>test:testGroupAttrMarker</displayName> <name>test:testGroupAttrMarker</name> <uuid>ba2c76b810ce4881a9db8c0bd871a53e</uuid> <attributeDefId>b80e9e8c13f54093ab297aeea7b23974</attributeD= efId> <attributeDefName>test:testGroupAttrMarkerDef</attributeDefN= ame> </WsAttributeDefName> </wsAttributeDefNames> <wsAttributeAssignResults> <WsAssignAttributeResult> <wsAttributeAssigns> <WsAttributeAssign> <disallowed>F</disallowed> <attributeAssignActionType>immediate</attributeAssignAct= ionType> <attributeAssignDelegatable>FALSE</attributeAssignDelega= table> <attributeAssignActionId>b43313a40f064697b14c38e60afce22b&l= t;/attributeAssignActionId> <attributeAssignActionName>assign</attributeAssignAction= Name> <attributeAssignType>group</attributeAssignType> <attributeDefNameId>ba2c76b810ce4881a9db8c0bd871a53e</at= tributeDefNameId> <attributeDefNameName>test:testGroupAttrMarker</attribut= eDefNameName> <attributeDefId>b80e9e8c13f54093ab297aeea7b23974</attrib= uteDefId> <attributeDefName>test:testGroupAttrMarkerDef</attribute= DefName> <createdOn>2020/10/22 13:02:21.773</createdOn> <enabled>T</enabled> <id>8ee4ff556a6a46c1b650de26100699d0</id> <lastUpdated>2020/10/22 13:02:21.773</lastUpdated> <ownerGroupId>dbfa18c3-a025-47b6-a9a0-be5ac02e8270</owne= rGroupId> <ownerGroupName>test:testGroup</ownerGroupName> </WsAttributeAssign> </wsAttributeAssigns> <changed>F</changed> <valuesChanged>F</valuesChanged> <deleted>F</deleted> </WsAssignAttributeResult> </wsAttributeAssignResults> <resultMetadata> <resultCode>SUCCESS</resultCode> <resultMessage>, Found 1 results. </resultMessage> <success>T</success> </resultMetadata> <responseMetadata> <resultWarnings></resultWarnings> <millis>62</millis> <serverVersion>2.5.35</serverVersion> </responseMetadata> <wsGroups> <WsGroup> <extension>testGroup</extension> <typeOfGroup>group</typeOfGroup> <displayExtension>testGroup</displayExtension> <description>testGroup</description> <displayName>test:testGroup</displayName> <name>test:testGroup</name> <uuid>dbfa18c3-a025-47b6-a9a0-be5ac02e8270</uuid> <alternateName>testdd:testGroupdd</alternateName> <idIndex>197979</idIndex> <enabled>T</enabled> </WsGroup> </wsGroups> <wsStems/> <wsMemberships/> <wsSubjects/> </WsAssignAttributesResults> ################ RESPONSE END ############### Output template: Index: ${index}: attributeAssignType: ${wsAttributeAssign.= attributeAssignType}, owner: ${ownerName}, attributeDefNameName: ${wsAttrib= uteDefName.name}, action: ${wsAttributeAssign.attributeAssignActionName}, v= alues: ${valuesString}, enabled: ${wsAttributeAssign.enabled}, id: ${wsAttr= ibuteAssign.id}, changed: ${wsAssignAttributeResult.changed}, deleted: ${ws= AssignAttributeResult.deleted}, valuesChanged: ${wsAssignAttributeResult.va= luesChanged}, available variables: wsAssignAttributesResults, grouperClient= Utils, index, wsAttributeAssignment Index: 0: attributeAssignType: group, owner: test:testGroup, attributeDefNa= meName: test:testGroupAttrMarker, action: assign, values: none, enabled: T,= id: 8ee4ff556a6a46c1b650de26100699d0, changed: F, deleted: F, valuesChange= d: F Elapsed time: 1111ms [mchyzer@flash pennGroupsClient-2.5.0]$=20 [mchyzer@flash pennGroupsClient-2.5.0]$ java -jar grouperClient-2.5.36.jar = --operation=3DassignAttributesWs --attributeAssignType=3Dgroup_asgn --attri= buteAssignOperation=3Dassign_attr --ownerAttributeAssignUuids=3D8ee4ff556a6= a46c1b650de26100699d0 --attributeDefNameNames=3Dtest:testGroupAttr --debug= =3Dtrue Reading resource: grouper.client.properties, from: /home/mchyzer/grouper/pe= nnGroupsClient-2.5.0/grouper.client.properties WebService: connecting as user: 'fast/medley.isc-seo.upenn.edu' WebService: connecting to URL: 'https://grouperWs.apps.upenn.edu/grouperWs/= servicesRest/2.5.36/attributeAssignments' ################ REQUEST START (indented) ############### POST /grouperWs/servicesRest/2.5.36/attributeAssignments HTTP/1.1 Connection: close Authorization: Basic xxxxxxxxxxxxxxxx User-Agent: Jakarta Commons-HttpClient/3.1 Host: grouperWs.apps.upenn.edu:-1 Content-Length: 478 Content-Type: text/xml; charset=3DUTF-8 <WsRestAssignAttributesRequest> <attributeAssignOperation>assign_attr</attributeAssignOperation&= gt; <wsOwnerAttributeAssignLookups> <WsAttributeAssignLookup> <uuid>8ee4ff556a6a46c1b650de26100699d0</uuid> </WsAttributeAssignLookup> </wsOwnerAttributeAssignLookups> <attributeAssignType>group_asgn</attributeAssignType> <wsAttributeDefNameLookups> <WsAttributeDefNameLookup> <name>test:testGroupAttr</name> </WsAttributeDefNameLookup> </wsAttributeDefNameLookups> </WsRestAssignAttributesRequest> ################ REQUEST END ############### ################ RESPONSE START (indented) ############### HTTP/1.1 200 OK Date: Thu, 22 Oct 2020 17:07:47 GMT Content-Type: application/xml;charset=3DUTF-8 Transfer-Encoding: chunked Connection: close Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips Strict-Transport-Security: max-age=3D15768000 X-Grouper-resultCode: SUCCESS X-Grouper-success: T X-Grouper-resultCode2: NONE <WsAssignAttributesResults> <wsAttributeDefs> <WsAttributeDef> <idIndex>10416</idIndex> <extension>testGroupAttrDef</extension> <name>test:testGroupAttrDef</name> <uuid>ffa61e0293e54619bb0fd557673ead84</uuid> <attributeDefType>attr</attributeDefType> <multiAssignable>F</multiAssignable> <multiValued>F</multiValued> <valueType>string</valueType> <assignToAttributeDef>F</assignToAttributeDef> <assignToAttributeDefAssignment>F</assignToAttributeDefAssig= nment> <assignToEffectiveMembership>F</assignToEffectiveMembership&= gt; <assignToEffectiveMembershipAssignment>F</assignToEffectiveM= embershipAssignment> <assignToGroup>F</assignToGroup> <assignToGroupAssignment>F</assignToGroupAssignment> <assignToImmediateMembership>F</assignToImmediateMembership&= gt; <assignToImmediateMembershipAssignment>F</assignToImmediateM= embershipAssignment> <assignToMember>F</assignToMember> <assignToMemberAssignment>F</assignToMemberAssignment> <assignToStem>F</assignToStem> <assignToStemAssignment>F</assignToStemAssignment> </WsAttributeDef> </wsAttributeDefs> <wsAttributeDefNames> <WsAttributeDefName> <idIndex>30235</idIndex> <extension>testGroupAttr</extension> <displayExtension>testGroupAttr</displayExtension> <displayName>test:testGroupAttr</displayName> <name>test:testGroupAttr</name> <uuid>bda1e2f99f3f49b2911275315bbf0350</uuid> <attributeDefId>ffa61e0293e54619bb0fd557673ead84</attributeD= efId> <attributeDefName>test:testGroupAttrDef</attributeDefName>= ; </WsAttributeDefName> </wsAttributeDefNames> <wsAttributeAssignResults> <WsAssignAttributeResult> <wsAttributeAssigns> <WsAttributeAssign> <disallowed>F</disallowed> <attributeAssignActionType>immediate</attributeAssignAct= ionType> <attributeAssignDelegatable>FALSE</attributeAssignDelega= table> <attributeAssignActionId>326b49d96bfe4e71a147559d99bed6d1&l= t;/attributeAssignActionId> <attributeAssignActionName>assign</attributeAssignAction= Name> <attributeAssignType>group_asgn</attributeAssignType> <attributeDefNameId>bda1e2f99f3f49b2911275315bbf0350</at= tributeDefNameId> <attributeDefNameName>test:testGroupAttr</attributeDefNa= meName> <attributeDefId>ffa61e0293e54619bb0fd557673ead84</attrib= uteDefId> <attributeDefName>test:testGroupAttrDef</attributeDefNam= e> <createdOn>2020/10/22 13:07:47.223</createdOn> <enabled>T</enabled> <id>d2bdb490a64b42598e061a21df13184a</id> <lastUpdated>2020/10/22 13:07:47.223</lastUpdated> <ownerAttributeAssignId>8ee4ff556a6a46c1b650de26100699d0<= ;/ownerAttributeAssignId> </WsAttributeAssign> </wsAttributeAssigns> <changed>T</changed> <valuesChanged>F</valuesChanged> <deleted>F</deleted> </WsAssignAttributeResult> </wsAttributeAssignResults> <resultMetadata> <resultCode>SUCCESS</resultCode> <resultMessage>, Found 1 results. </resultMessage> <success>T</success> </resultMetadata> <responseMetadata> <resultWarnings></resultWarnings> <millis>192</millis> <serverVersion>2.5.35</serverVersion> </responseMetadata> <wsGroups/> <wsStems/> <wsMemberships/> <wsSubjects/> </WsAssignAttributesResults> ################ RESPONSE END ############### Output template: Index: ${index}: attributeAssignType: ${wsAttributeAssign.= attributeAssignType}, owner: ${ownerName}, attributeDefNameName: ${wsAttrib= uteDefName.name}, action: ${wsAttributeAssign.attributeAssignActionName}, v= alues: ${valuesString}, enabled: ${wsAttributeAssign.enabled}, id: ${wsAttr= ibuteAssign.id}, changed: ${wsAssignAttributeResult.changed}, deleted: ${ws= AssignAttributeResult.deleted}, valuesChanged: ${wsAssignAttributeResult.va= luesChanged}, available variables: wsAssignAttributesResults, grouperClient= Utils, index, wsAttributeAssignment Index: 0: attributeAssignType: group_asgn, owner: 8ee4ff556a6a46c1b650de261= 00699d0, attributeDefNameName: test:testGroupAttr, action: assign, values: = none, enabled: T, id: d2bdb490a64b42598e061a21df13184a, changed: T, deleted= : F, valuesChanged: F Elapsed time: 1917ms [mchyzer@flash pennGroupsClient-2.5.0]$
Make a string def
= p>
Make a string name
= p>
Make a group and let your principal assign
= p>
Allow principal to assign the attribute
= p>
Replace the values
[mchyze= r@flash pennGroupsClient-2.6.0]$ java -jar grouperClient-2.6.0.jar --operat= ion=3DassignAttributesWs --attributeAssignType=3Dgroup --attributeAssignOpe= ration=3Dassign_attr --attributeDefNameNames=3Dtest:isc:ait:mchyzer:someStr= ing --ownerGroupNames=3Dtest:isc:ait:mchyzer:testMchyzer --attributeAssignV= alueOperation=3Dreplace_values --values0System=3Dsome --values1System=3Dval= --values2System=3Danother --debug=3Dtrue=20 Reading resource: grouper.client.properties, from: /home/mchyzer/grouper/pe= nnGroupsClient-2.6.0/grouper.client.properties WebService: connecting as user: 'fast/medley.isc-seo.upenn.edu' WebService: connecting to URL: 'https://grouperWs.apps.upenn.edu/grouperWs/= servicesRest/2.6.0/attributeAssignments' ################ REQUEST START (indented) ############### POST /grouperWs/servicesRest/2.6.0/attributeAssignments HTTP/1.1 Connection: close Authorization: Basic xxxxxxxxxxxxxxxx User-Agent: Jakarta Commons-HttpClient/3.1 Host: grouperWs.apps.upenn.edu:-1 Content-Length: 792 Content-Type: text/xml; charset=3DUTF-8 <WsRestAssignAttributesRequest> <attributeAssignOperation>assign_attr</attributeAssignOperation&= gt; <attributeAssignValueOperation>replace_values</attributeAssignVa= lueOperation> <values> <WsAttributeAssignValue> <valueSystem>some</valueSystem> </WsAttributeAssignValue> <WsAttributeAssignValue> <valueSystem>val</valueSystem> </WsAttributeAssignValue> <WsAttributeAssignValue> <valueSystem>another</valueSystem> </WsAttributeAssignValue> </values> <attributeAssignType>group</attributeAssignType> <wsAttributeDefNameLookups> <WsAttributeDefNameLookup> <name>test:isc:ait:mchyzer:someString</name> </WsAttributeDefNameLookup> </wsAttributeDefNameLookups> <wsOwnerGroupLookups> <WsGroupLookup> <groupName>test:isc:ait:mchyzer:testMchyzer</groupName> </WsGroupLookup> </wsOwnerGroupLookups> </WsRestAssignAttributesRequest> ################ REQUEST END ############### ################ RESPONSE START (indented) ############### HTTP/1.1 200 OK Date: Mon, 14 Mar 2022 20:17:21 GMT Content-Type: application/xml;charset=3DUTF-8 Transfer-Encoding: chunked Connection: close Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips Strict-Transport-Security: max-age=3D15768000 X-Grouper-resultCode: SUCCESS X-Grouper-success: T X-Grouper-resultCode2: NONE <WsAssignAttributesResults> <wsAttributeDefs> <WsAttributeDef> <idIndex>10521</idIndex> <extension>someStringDef</extension> <name>test:isc:ait:mchyzer:someStringDef</name> <uuid>9fd502bef5224ee6bd1397f30065b232</uuid> <attributeDefType>attr</attributeDefType> <multiAssignable>F</multiAssignable> <multiValued>T</multiValued> <valueType>string</valueType> <assignToAttributeDef>F</assignToAttributeDef> <assignToAttributeDefAssignment>F</assignToAttributeDefAssig= nment> <assignToEffectiveMembership>F</assignToEffectiveMembership&= gt; <assignToEffectiveMembershipAssignment>F</assignToEffectiveM= embershipAssignment> <assignToGroup>F</assignToGroup> <assignToGroupAssignment>F</assignToGroupAssignment> <assignToImmediateMembership>F</assignToImmediateMembership&= gt; <assignToImmediateMembershipAssignment>F</assignToImmediateM= embershipAssignment> <assignToMember>F</assignToMember> <assignToMemberAssignment>F</assignToMemberAssignment> <assignToStem>F</assignToStem> <assignToStemAssignment>F</assignToStemAssignment> </WsAttributeDef> </wsAttributeDefs> <wsAttributeDefNames> <WsAttributeDefName> <idIndex>61289</idIndex> <extension>someString</extension> <displayExtension>someString</displayExtension> <displayName>test:isc:ait:mchyzer:someString</displayName>= ; <name>test:isc:ait:mchyzer:someString</name> <uuid>82eae611fa324734924a76b611fa29c4</uuid> <attributeDefId>9fd502bef5224ee6bd1397f30065b232</attributeD= efId> <attributeDefName>test:isc:ait:mchyzer:someStringDef</attrib= uteDefName> </WsAttributeDefName> </wsAttributeDefNames> <wsAttributeAssignResults> <WsAssignAttributeResult> <wsAttributeAssignValueResults> <WsAttributeAssignValueResult> <changed>T</changed> <deleted>F</deleted> <wsAttributeAssignValue> <id>64dacb6a42684b1085b441699a8125e2</id> <valueSystem>another</valueSystem> </wsAttributeAssignValue> </WsAttributeAssignValueResult> <WsAttributeAssignValueResult> <changed>T</changed> <deleted>F</deleted> <wsAttributeAssignValue> <id>087026f749ff42bcbe1daebe42a5054a</id> <valueSystem>some</valueSystem> </wsAttributeAssignValue> </WsAttributeAssignValueResult> <WsAttributeAssignValueResult> <changed>T</changed> <deleted>F</deleted> <wsAttributeAssignValue> <id>33dfac0f15b34b52bd6a62be901c71a6</id> <valueSystem>val</valueSystem> </wsAttributeAssignValue> </WsAttributeAssignValueResult> </wsAttributeAssignValueResults> <wsAttributeAssigns> <WsAttributeAssign> <disallowed>F</disallowed> <attributeAssignActionType>immediate</attributeAssignAct= ionType> <attributeAssignDelegatable>FALSE</attributeAssignDelega= table> <attributeAssignActionId>73fb98ab652a490b9c7bde464ad674b8&l= t;/attributeAssignActionId> <attributeAssignActionName>assign</attributeAssignAction= Name> <attributeAssignType>group</attributeAssignType> <attributeDefNameId>82eae611fa324734924a76b611fa29c4</at= tributeDefNameId> <attributeDefNameName>test:isc:ait:mchyzer:someString</a= ttributeDefNameName> <attributeDefId>9fd502bef5224ee6bd1397f30065b232</attrib= uteDefId> <attributeDefName>test:isc:ait:mchyzer:someStringDef</at= tributeDefName> <wsAttributeAssignValues> <WsAttributeAssignValue> <id>64dacb6a42684b1085b441699a8125e2</id> <valueSystem>another</valueSystem> </WsAttributeAssignValue> <WsAttributeAssignValue> <id>087026f749ff42bcbe1daebe42a5054a</id> <valueSystem>some</valueSystem> </WsAttributeAssignValue> <WsAttributeAssignValue> <id>33dfac0f15b34b52bd6a62be901c71a6</id> <valueSystem>val</valueSystem> </WsAttributeAssignValue> </wsAttributeAssignValues> <createdOn>2022/03/14 16:17:21.402</createdOn> <enabled>T</enabled> <id>7e5d962178284c798c5bbf514c3bcd9a</id> <lastUpdated>2022/03/14 16:17:21.402</lastUpdated> <ownerGroupId>7c4d9d393ff24a29b160b6d36865292f</ownerGro= upId> <ownerGroupName>test:isc:ait:mchyzer:testMchyzer</ownerG= roupName> </WsAttributeAssign> </wsAttributeAssigns> <changed>T</changed> <valuesChanged>T</valuesChanged> <deleted>F</deleted> </WsAssignAttributeResult> </wsAttributeAssignResults> <resultMetadata> <resultCode>SUCCESS</resultCode> <resultMessage>, Found 1 results. </resultMessage> <success>T</success> </resultMetadata> <responseMetadata> <resultWarnings></resultWarnings> <millis>375</millis> <serverVersion>2.6.5</serverVersion> </responseMetadata> <wsGroups> <WsGroup> <extension>testMchyzer</extension> <typeOfGroup>group</typeOfGroup> <displayExtension>testMchyzer</displayExtension> <displayName>test:isc:ait:mchyzer:testMchyzer</displayName&g= t; <name>test:isc:ait:mchyzer:testMchyzer</name> <uuid>7c4d9d393ff24a29b160b6d36865292f</uuid> <idIndex>116332</idIndex> <enabled>T</enabled> </WsGroup> </wsGroups> <wsStems/> <wsMemberships/> <wsSubjects/> </WsAssignAttributesResults> ################ RESPONSE END ############### Output template: Index: ${index}: attributeAssignType: ${wsAttributeAssign.= attributeAssignType}, owner: ${ownerName}, attributeDefNameName: ${wsAttrib= uteDefName.name}, action: ${wsAttributeAssign.attributeAssignActionName}, v= alues: ${valuesString}, enabled: ${wsAttributeAssign.enabled}, id: ${wsAttr= ibuteAssign.id}, changed: ${wsAssignAttributeResult.changed}, deleted: ${ws= AssignAttributeResult.deleted}, valuesChanged: ${wsAssignAttributeResult.va= luesChanged}, available variables: wsAssignAttributesResults, grouperClient= Utils, index, wsAttributeAssignment Index: 0: attributeAssignType: group, owner: test:isc:ait:mchyzer:testMchyz= er, attributeDefNameName: test:isc:ait:mchyzer:someString, action: assign, = values: another,some,val, enabled: T, id: 7e5d962178284c798c5bbf514c3bcd9a,= changed: T, deleted: F, valuesChanged: T Elapsed time: 1346ms [mchyzer@flash pennGroupsClient-2.6.0]$
See the values
= p>
Replace the values again
[mchyze= r@flash pennGroupsClient-2.6.0]$ java -jar grouperClient-2.6.0.jar --operat= ion=3DassignAttributesWs --attributeAssignType=3Dgroup --attributeAssignOpe= ration=3Dassign_attr --attributeDefNameNames=3Dtest:isc:ait:mchyzer:someStr= ing --ownerGroupNames=3Dtest:isc:ait:mchyzer:testMchyzer --attributeAssignV= alueOperation=3Dreplace_values --values0System=3Dsome --values2System=3Dano= ther1 --debug=3Dtrue