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