-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #2 from moira-alert/feature/move-on-go-swagger
feature: move on go swagger
- Loading branch information
Showing
346 changed files
with
37,338 additions
and
16,075 deletions.
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,151 +1,119 @@ | ||
# Go API client for swagger | ||
# Go client for Moira | ||
|
||
This is an API description for [Moira Alert API](https://moira.readthedocs.io/en/latest/overview.html) Check us out on [Github](https://github.com/moira-alert) or look up our [guide](https://moira.readthedocs.io) on getting started with Moira | ||
If you're new here, better check out our main [README](https://github.com/moira-alert/moira/blob/master/README.md) | ||
|
||
## Overview | ||
This API client was generated by the [swagger-codegen](https://github.com/swagger-api/swagger-codegen) project. By using the [swagger-spec](https://github.com/swagger-api/swagger-spec) from a remote server, you can easily generate an API client. | ||
|
||
- API version: master | ||
- Package version: 1.0.0 | ||
- Build package: io.swagger.codegen.v3.generators.go.GoClientCodegen | ||
This API client was generated by the [go-swagger](https://github.com/go-swagger/go-swagger) tool | ||
|
||
Our current documentation is available on [swaggerhub](https://app.swaggerhub.com/apis/Moira/moira-alert/master) and on [our website](https://moira.skbkontur.ru/api/swagger/index.html) | ||
|
||
## Installation | ||
Put the package under your project folder and add the following in import: | ||
|
||
Add the following in import: | ||
|
||
```golang | ||
|
||
import "github.com/moira-alert/client-go" | ||
|
||
``` | ||
|
||
## Getting started | ||
|
||
Initialize Moira client: | ||
|
||
```golang | ||
import "./swagger" | ||
import ( | ||
httptransport "github.com/go-openapi/runtime/client" | ||
"github.com/go-openapi/strfmt" | ||
"github.com/moira-alert/client-go/pkg/client" | ||
) | ||
|
||
func main() { | ||
config := client.DefaultTransportConfig(). | ||
WithBasePath("api"). | ||
WithHost("moira.skbkontur.ru"). | ||
WithSchemes([]string{"https"}) | ||
|
||
transport := httptransport.New(config.Host, config.BasePath, config.Schemes) | ||
transport.Transport = newTransport() // Write a function here that creates an object that satisfies the http.RoundTripper interface | ||
|
||
client := client.New(transport, strfmt.Default) | ||
} | ||
``` | ||
|
||
## Documentation for API Endpoints | ||
|
||
All URIs are relative to */api* | ||
|
||
Class | Method | HTTP request | Description | ||
------------ | ------------- | ------------- | ------------- | ||
*ConfigApi* | [**GetWebConfig**](docs/ConfigApi.md#getwebconfig) | **Get** /config | Get available configuration | ||
*ContactApi* | [**CreateNewContact**](docs/ContactApi.md#createnewcontact) | **Put** /contact | Creates a new contact notification for the current user | ||
*ContactApi* | [**GetAllContacts**](docs/ContactApi.md#getallcontacts) | **Get** /contact | Gets all Moira contacts | ||
*ContactApi* | [**GetContactById**](docs/ContactApi.md#getcontactbyid) | **Get** /contact/{contactID} | Get contact by ID | ||
*ContactApi* | [**GetContactEventsById**](docs/ContactApi.md#getcontacteventsbyid) | **Get** /contact/{contactID}/events | Get contact events by ID with time range | ||
*ContactApi* | [**RemoveContact**](docs/ContactApi.md#removecontact) | **Delete** /contact/{contactID} | Deletes notification contact for the current user and remove the contact ID from all subscriptions | ||
*ContactApi* | [**SendTestContactNotification**](docs/ContactApi.md#sendtestcontactnotification) | **Post** /contact/{contactID}/test | Push a test notification to verify that the contact is properly set up | ||
*ContactApi* | [**UpdateContact**](docs/ContactApi.md#updatecontact) | **Put** /contact/{contactID} | Updates an existing notification contact to the values passed in the request body | ||
*EventApi* | [**DeleteAllEvents**](docs/EventApi.md#deleteallevents) | **Delete** /event/all | Deletes all notification events | ||
*EventApi* | [**GetEventsList**](docs/EventApi.md#geteventslist) | **Get** /event/{triggerID} | Gets all trigger events for current page and their count | ||
*HealthApi* | [**GetNotifierState**](docs/HealthApi.md#getnotifierstate) | **Get** /health/notifier | Get notifier state | ||
*NotificationApi* | [**DeleteNotification**](docs/NotificationApi.md#deletenotification) | **Delete** /notification | Delete a notification by id | ||
*NotificationApi* | [**GetNotifications**](docs/NotificationApi.md#getnotifications) | **Get** /notification | Gets a paginated list of notifications, all notifications are fetched if end = -1 and start = 0 | ||
*PatternApi* | [**DeletePattern**](docs/PatternApi.md#deletepattern) | **Delete** /pattern/{pattern} | Deletes a Moira pattern | ||
*PatternApi* | [**GetAllPatterns**](docs/PatternApi.md#getallpatterns) | **Get** /pattern | Get all patterns | ||
*SubscriptionApi* | [**CreateSubscription**](docs/SubscriptionApi.md#createsubscription) | **Put** /subscription | Create a new subscription | ||
*SubscriptionApi* | [**GetUserSubscriptions**](docs/SubscriptionApi.md#getusersubscriptions) | **Get** /subscription | Get all subscriptions | ||
*SubscriptionApi* | [**RemoveSubscription**](docs/SubscriptionApi.md#removesubscription) | **Delete** /subscription/{subscriptionID} | Delete a subscription | ||
*SubscriptionApi* | [**SendTestNotification**](docs/SubscriptionApi.md#sendtestnotification) | **Put** /subscription/{subscriptionID}/test | Send a test notification for a subscription | ||
*SubscriptionApi* | [**UpdateSubscription**](docs/SubscriptionApi.md#updatesubscription) | **Put** /subscription/{subscriptionID} | Update a subscription | ||
*TagApi* | [**GetAllTags**](docs/TagApi.md#getalltags) | **Get** /tag | Get all tags | ||
*TagApi* | [**GetAllTagsAndSubscriptions**](docs/TagApi.md#getalltagsandsubscriptions) | **Get** /tag/stats | Get all tags and their subscriptions | ||
*TagApi* | [**RemoveTag**](docs/TagApi.md#removetag) | **Delete** /tag/{tag} | Remove a tag | ||
*TeamApi* | [**AddTeamUsers**](docs/TeamApi.md#addteamusers) | **Post** /teams/{teamID}/users | Add users to a team | ||
*TeamApi* | [**CreateTeam**](docs/TeamApi.md#createteam) | **Post** /teams | Create a new team | ||
*TeamApi* | [**DeleteTeam**](docs/TeamApi.md#deleteteam) | **Delete** /teams/{teamID} | Delete a team | ||
*TeamApi* | [**DeleteTeamUser**](docs/TeamApi.md#deleteteamuser) | **Delete** /teams/{teamID}/users/{teamUserID} | Delete a user from a team | ||
*TeamApi* | [**GetAllTeams**](docs/TeamApi.md#getallteams) | **Get** /teams | Get all teams | ||
*TeamApi* | [**GetTeam**](docs/TeamApi.md#getteam) | **Get** /teams/{teamID} | Get a team by ID | ||
*TeamApi* | [**GetTeamSettings**](docs/TeamApi.md#getteamsettings) | **Get** /teams/{teamID}/settings | Get team settings | ||
*TeamApi* | [**GetTeamUsers**](docs/TeamApi.md#getteamusers) | **Get** /teams/{teamID}/users | Get users of a team | ||
*TeamApi* | [**SetTeamUsers**](docs/TeamApi.md#setteamusers) | **Put** /teams/{teamID}/users | Set users of a team | ||
*TeamApi* | [**UpdateTeam**](docs/TeamApi.md#updateteam) | **Patch** /teams/{teamID} | Update existing team | ||
*TeamContactApi* | [**CreateNewTeamContact**](docs/TeamContactApi.md#createnewteamcontact) | **Post** /teams/{teamID}/contacts | Create a new team contact | ||
*TeamSubscriptionApi* | [**CreateNewTeamSubscription**](docs/TeamSubscriptionApi.md#createnewteamsubscription) | **Post** /teams/{teamID}/subscriptions | Create a new team subscription | ||
*TriggerApi* | [**CreateTrigger**](docs/TriggerApi.md#createtrigger) | **Put** /trigger | Create a new trigger | ||
*TriggerApi* | [**DeleteTriggerMetric**](docs/TriggerApi.md#deletetriggermetric) | **Delete** /trigger/{triggerID}/metrics | Delete metric from last check and all trigger pattern metrics | ||
*TriggerApi* | [**DeleteTriggerNodataMetrics**](docs/TriggerApi.md#deletetriggernodatametrics) | **Delete** /trigger/{triggerID}/metrics/nodata | Delete all metrics from last data which are in NODATA state. It also deletes all trigger patterns of those metrics | ||
*TriggerApi* | [**DeleteTriggerThrottling**](docs/TriggerApi.md#deletetriggerthrottling) | **Delete** /trigger/{triggerID}/throttling | Deletes throttling for a trigger | ||
*TriggerApi* | [**GetAllTriggers**](docs/TriggerApi.md#getalltriggers) | **Get** /trigger | Get all triggers | ||
*TriggerApi* | [**GetTrigger**](docs/TriggerApi.md#gettrigger) | **Get** /trigger/{triggerID} | Get an existing trigger | ||
*TriggerApi* | [**GetTriggerDump**](docs/TriggerApi.md#gettriggerdump) | **Get** /trigger/{triggerID}/dump | Get trigger dump | ||
*TriggerApi* | [**GetTriggerMetrics**](docs/TriggerApi.md#gettriggermetrics) | **Get** /trigger/{triggerID}/metrics | Get metrics associated with certain trigger | ||
*TriggerApi* | [**GetTriggerState**](docs/TriggerApi.md#gettriggerstate) | **Get** /trigger/{triggerID}/state | Get the trigger state as at last check | ||
*TriggerApi* | [**GetTriggerThrottling**](docs/TriggerApi.md#gettriggerthrottling) | **Get** /trigger/{triggerID}/throttling | Get a trigger with its throttling i.e its next allowed message time | ||
*TriggerApi* | [**RemoveTrigger**](docs/TriggerApi.md#removetrigger) | **Delete** /trigger/{triggerID} | Remove trigger | ||
*TriggerApi* | [**RenderTriggerMetrics**](docs/TriggerApi.md#rendertriggermetrics) | **Get** /trigger/{triggerID}/render | Render trigger metrics plot | ||
*TriggerApi* | [**SearchTriggers**](docs/TriggerApi.md#searchtriggers) | **Get** /trigger/search | Search triggers. Replaces the deprecated `page` path | ||
*TriggerApi* | [**SetTriggerMaintenance**](docs/TriggerApi.md#settriggermaintenance) | **Put** /trigger/{triggerID}/setMaintenance | Set metrics and the trigger itself to maintenance mode | ||
*TriggerApi* | [**TriggerCheck**](docs/TriggerApi.md#triggercheck) | **Put** /trigger/check | Validates trigger target | ||
*TriggerApi* | [**TriggerPagersPagerIDDelete**](docs/TriggerApi.md#triggerpagerspageriddelete) | **Delete** /trigger/pagers/{pagerID} | Delete triggers pager | ||
*TriggerApi* | [**UpdateTrigger**](docs/TriggerApi.md#updatetrigger) | **Put** /trigger/{triggerID} | Update existing trigger | ||
*UserApi* | [**GetUserName**](docs/UserApi.md#getusername) | **Get** /user | Gets the username of the authenticated user if it is available | ||
*UserApi* | [**GetUserSettings**](docs/UserApi.md#getusersettings) | **Get** /user/settings | Get the user's contacts and subscriptions | ||
|
||
## Documentation For Models | ||
|
||
- [AllOfdtoProblemOfTargetType_](docs/AllOfdtoProblemOfTargetType_.md) | ||
- [AllOfdtoTriggerModelSched](docs/AllOfdtoTriggerModelSched.md) | ||
- [AllOfdtoTriggerSched](docs/AllOfdtoTriggerSched.md) | ||
- [ApiErrorForbiddenExample](docs/ApiErrorForbiddenExample.md) | ||
- [ApiErrorInternalServerExample](docs/ApiErrorInternalServerExample.md) | ||
- [ApiErrorInvalidRequestExample](docs/ApiErrorInvalidRequestExample.md) | ||
- [ApiErrorNotFoundExample](docs/ApiErrorNotFoundExample.md) | ||
- [ApiErrorRemoteServerUnavailableExample](docs/ApiErrorRemoteServerUnavailableExample.md) | ||
- [ApiErrorRenderExample](docs/ApiErrorRenderExample.md) | ||
- [DtoContact](docs/DtoContact.md) | ||
- [DtoContactEventItem](docs/DtoContactEventItem.md) | ||
- [DtoContactEventItemList](docs/DtoContactEventItemList.md) | ||
- [DtoContactList](docs/DtoContactList.md) | ||
- [DtoEventsList](docs/DtoEventsList.md) | ||
- [DtoMessageResponse](docs/DtoMessageResponse.md) | ||
- [DtoNotificationDeleteResponse](docs/DtoNotificationDeleteResponse.md) | ||
- [DtoNotificationsList](docs/DtoNotificationsList.md) | ||
- [DtoNotifierState](docs/DtoNotifierState.md) | ||
- [DtoPatternData](docs/DtoPatternData.md) | ||
- [DtoPatternList](docs/DtoPatternList.md) | ||
- [DtoPatternMetrics](docs/DtoPatternMetrics.md) | ||
- [DtoProblemOfTarget](docs/DtoProblemOfTarget.md) | ||
- [DtoSaveTeamResponse](docs/DtoSaveTeamResponse.md) | ||
- [DtoSaveTriggerResponse](docs/DtoSaveTriggerResponse.md) | ||
- [DtoSubscription](docs/DtoSubscription.md) | ||
- [DtoSubscriptionList](docs/DtoSubscriptionList.md) | ||
- [DtoTagStatistics](docs/DtoTagStatistics.md) | ||
- [DtoTagsData](docs/DtoTagsData.md) | ||
- [DtoTagsStatistics](docs/DtoTagsStatistics.md) | ||
- [DtoTeamMembers](docs/DtoTeamMembers.md) | ||
- [DtoTeamModel](docs/DtoTeamModel.md) | ||
- [DtoTeamSettings](docs/DtoTeamSettings.md) | ||
- [DtoThrottlingResponse](docs/DtoThrottlingResponse.md) | ||
- [DtoTreeOfProblems](docs/DtoTreeOfProblems.md) | ||
- [DtoTrigger](docs/DtoTrigger.md) | ||
- [DtoTriggerCheck](docs/DtoTriggerCheck.md) | ||
- [DtoTriggerCheckResponse](docs/DtoTriggerCheckResponse.md) | ||
- [DtoTriggerDump](docs/DtoTriggerDump.md) | ||
- [DtoTriggerMaintenance](docs/DtoTriggerMaintenance.md) | ||
- [DtoTriggerModel](docs/DtoTriggerModel.md) | ||
- [DtoTriggersList](docs/DtoTriggersList.md) | ||
- [DtoTriggersSearchResultDeleteResponse](docs/DtoTriggersSearchResultDeleteResponse.md) | ||
- [DtoTypeOfProblem](docs/DtoTypeOfProblem.md) | ||
- [DtoUser](docs/DtoUser.md) | ||
- [DtoUserSettings](docs/DtoUserSettings.md) | ||
- [DtoUserTeams](docs/DtoUserTeams.md) | ||
- [HandlerConfigurationResponse](docs/HandlerConfigurationResponse.md) | ||
- [HandlerContactExample](docs/HandlerContactExample.md) | ||
- [MoiraCheckData](docs/MoiraCheckData.md) | ||
- [MoiraContactData](docs/MoiraContactData.md) | ||
- [MoiraEventInfo](docs/MoiraEventInfo.md) | ||
- [MoiraMaintenanceInfo](docs/MoiraMaintenanceInfo.md) | ||
- [MoiraMetricState](docs/MoiraMetricState.md) | ||
- [MoiraMetricValue](docs/MoiraMetricValue.md) | ||
- [MoiraNotificationEvent](docs/MoiraNotificationEvent.md) | ||
- [MoiraPlottingData](docs/MoiraPlottingData.md) | ||
- [MoiraScheduleData](docs/MoiraScheduleData.md) | ||
- [MoiraScheduleDataDay](docs/MoiraScheduleDataDay.md) | ||
- [MoiraScheduledNotification](docs/MoiraScheduledNotification.md) | ||
- [MoiraSubscriptionData](docs/MoiraSubscriptionData.md) | ||
- [MoiraTrigger](docs/MoiraTrigger.md) | ||
- [MoiraTriggerCheck](docs/MoiraTriggerCheck.md) | ||
- [MoiraTriggerData](docs/MoiraTriggerData.md) | ||
|
||
## Documentation For Authorization | ||
Endpoints do not require authorization. | ||
|
||
|
||
## Author | ||
|
||
opensource@skbkontur.com | ||
## Examples | ||
|
||
## Trigger | ||
|
||
**Get all Triggers:** | ||
```golang | ||
client := client.New(transport, strfmt.Default) | ||
|
||
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) | ||
defer cancel() | ||
|
||
response, err := client.Trigger.GetAllTriggers(&trigger.GetAllTriggersParams{Context: ctx}) | ||
|
||
if err != nil { | ||
log.Fatal(err) | ||
} | ||
|
||
for _, trigger := range response.Payload.List { | ||
log.Println(trigger) | ||
} | ||
``` | ||
|
||
## Contact | ||
|
||
**Create new contact:** | ||
```golang | ||
client := client.New(transport, strfmt.Default) | ||
|
||
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) | ||
defer cancel() | ||
|
||
contactDto := models.DtoContact{ | ||
Type: "telegram", | ||
Value: "@moira_team", | ||
} | ||
|
||
response, err := client.Contact.CreateNewContact(&contact.CreateNewContactParams{ | ||
Contact: &contactDto, | ||
Context: ctx, | ||
}) | ||
|
||
if err != nil { | ||
log.Fatal(err) | ||
} | ||
|
||
log.Println(response.Payload) | ||
``` | ||
|
||
## Subscription | ||
|
||
**Update existing subscription:** | ||
```golang | ||
client := client.New(transport, strfmt.Default) | ||
|
||
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) | ||
defer cancel() | ||
|
||
subscriptionDto := &models.DtoSubscription{ | ||
Tags: []string{"test"}, | ||
Contacts: []string{"9fe937b0-721f-4b40-b849-ad1623f910a1"}, | ||
Enabled: false, | ||
} | ||
|
||
response, err := client.Subscription.UpdateSubscription(&subscription.UpdateSubscriptionParams{ | ||
Subscription: subscriptionDto, | ||
SubscriptionID: "2438f803-b278-47ee-91fb-e4345208dfde", | ||
Context: ctx, | ||
}) | ||
|
||
if err != nil { | ||
log.Fatal(err) | ||
} | ||
|
||
log.Println(response.Payload) | ||
``` |
Oops, something went wrong.