func oAuthClientRun()

in cobra/controller/oAuthClient.go [95:148]


func oAuthClientRun(cmd *cobra.Command, args []string) error {

	token := dao.GetOrganizationToken(profile)
	client := aid.GetTFEClient(token)

	fArg := args[0]
	switch fArg {
	case "list":
		organization := dao.GetOrganization(profile)
		list, err := oAuthClientList(client, organization)
		if err == nil {
			aid.PrintOAuthClientList(list)
		} else {
			return fmt.Errorf("no o-auth-clients was found")
		}

	case "create":
		organization := dao.GetOrganization(profile)
		options := aid.GetOAuthClientCreateOptions(cmd)
		oAuthClient, err := oAuthClientCreate(client, organization, options)

		if err == nil && oAuthClient.ID != "" {
			fmt.Println(aid.ToJSON(oAuthClient))
		} else {
			return fmt.Errorf("unable to create o-auth-client\n%v", err)
		}
	case "read":
		id, err := cmd.Flags().GetString("id")
		if err != nil {
			return fmt.Errorf("unable to get flag id\n%v", err)
		}

		oAuthClient, err := oAuthClientRead(client, id)
		if err == nil {
			fmt.Println(aid.ToJSON(oAuthClient))
		} else {
			return fmt.Errorf("o-auth-client %s not found\n%v", id, err)
		}
	case "delete":
		id, err := cmd.Flags().GetString("id")
		if err != nil {
			return fmt.Errorf("unable to get flag id\n%v", err)
		}

		err = oAuthClientDelete(client, id)
		if err == nil {
			fmt.Printf("o-auth-client %s deleted successfully\n", id)
		} else {
			return fmt.Errorf("unable to delete o-auth-client %s\n%v", id, err)
		}
	}

	return nil
}