github.com/gophercloud/gophercloud@v1.11.0/openstack/identity/v3/extensions/federation/doc.go (about) 1 /* 2 Package federation provides information and interaction with OS-FEDERATION API for the 3 Openstack Identity service. 4 5 Example to List Mappings 6 7 allPages, err := federation.ListMappings(identityClient).AllPages() 8 if err != nil { 9 panic(err) 10 } 11 allMappings, err := federation.ExtractMappings(allPages) 12 if err != nil { 13 panic(err) 14 } 15 16 Example to Create Mappings 17 18 createOpts := federation.CreateMappingOpts{ 19 Rules: []federation.MappingRule{ 20 { 21 Local: []federation.RuleLocal{ 22 { 23 User: &federation.RuleUser{ 24 Name: "{0}", 25 }, 26 }, 27 { 28 Group: &federation.Group{ 29 ID: "0cd5e9", 30 }, 31 }, 32 }, 33 Remote: []federation.RuleRemote{ 34 { 35 Type: "UserName", 36 }, 37 { 38 Type: "orgPersonType", 39 NotAnyOf: []string{ 40 "Contractor", 41 "Guest", 42 }, 43 }, 44 }, 45 }, 46 }, 47 } 48 49 createdMapping, err := federation.CreateMapping(identityClient, "ACME", createOpts).Extract() 50 if err != nil { 51 panic(err) 52 } 53 54 Example to Get a Mapping 55 56 mapping, err := federation.GetMapping(identityClient, "ACME").Extract() 57 if err != nil { 58 panic(err) 59 } 60 61 Example to Update a Mapping 62 63 updateOpts := federation.UpdateMappingOpts{ 64 Rules: []federation.MappingRule{ 65 { 66 Local: []federation.RuleLocal{ 67 { 68 User: &federation.RuleUser{ 69 Name: "{0}", 70 }, 71 }, 72 { 73 Group: &federation.Group{ 74 ID: "0cd5e9", 75 }, 76 }, 77 }, 78 Remote: []federation.RuleRemote{ 79 { 80 Type: "UserName", 81 }, 82 { 83 Type: "orgPersonType", 84 AnyOneOf: []string{ 85 "Contractor", 86 "SubContractor", 87 }, 88 }, 89 }, 90 }, 91 }, 92 } 93 updatedMapping, err := federation.UpdateMapping(identityClient, "ACME", updateOpts).Extract() 94 if err != nil { 95 panic(err) 96 } 97 98 Example to Delete a Mapping 99 100 err := federation.DeleteMapping(identityClient, "ACME").ExtractErr() 101 if err != nil { 102 panic(err) 103 } 104 */ 105 package federation