package
1.0.0-beta.23
Repository: https://github.com/last9/datadog-api-client-go.git
Documentation: pkg.go.dev

# README

Go API client for datadog

Collection of all Datadog Public endpoints.

Overview

This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec from a remote server, you can easily generate an API client.

  • API version: 1.0
  • Package version: 0.1.0
  • Build package: org.openapitools.codegen.languages.GoClientCodegen For more information, please visit https://www.datadoghq.com/support/

Installation

Install the following dependencies:

go get github.com/stretchr/testify/assert
go get golang.org/x/oauth2
go get golang.org/x/net/context

Put the package under your project folder and add the following in import:

import sw "./datadog"

To use a proxy, set the environment variable HTTP_PROXY:

os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")

Configuration of Server URL

Default configuration comes with Servers field that contains server objects as defined in the OpenAPI specification.

Select Server Configuration

For using other server than the one defined on index 0 set context value sw.ContextServerIndex of type int.

ctx := context.WithValue(context.Background(), sw.ContextServerIndex, 1)

Templated Server URL

Templated server URL is formatted using default variables from configuration or from context value sw.ContextServerVariables of type map[string]string.

ctx := context.WithValue(context.Background(), sw.ContextServerVariables, map[string]string{
	"basePath": "v2",
})

Note, enum values are always validated and all unused variables are silently ignored.

URLs Configuration per Operation

Each operation can use different server URL defined using OperationServers map in the Configuration. An operation is uniquely identifield by "{classname}Service.{nickname}" string. Similar rules for overriding default operation server index and variables applies by using sw.ContextOperationServerIndices and sw.ContextOperationServerVariables context maps.

ctx := context.WithValue(context.Background(), sw.ContextOperationServerIndices, map[string]int{
	"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), sw.ContextOperationServerVariables, map[string]map[string]string{
	"{classname}Service.{nickname}": {
		"port": "8443",
	},
})

Documentation for API Endpoints

All URIs are relative to https://api.datadoghq.com

ClassMethodHTTP requestDescription
DashboardListsApiCreateDashboardListItemsPost /api/v2/dashboard/lists/manual/{dashboard_list_id}/dashboardsAdd Items to a Dashboard List
DashboardListsApiDeleteDashboardListItemsDelete /api/v2/dashboard/lists/manual/{dashboard_list_id}/dashboardsDelete items from a dashboard list
DashboardListsApiGetDashboardListItemsGet /api/v2/dashboard/lists/manual/{dashboard_list_id}/dashboardsGet items of a Dashboard List
DashboardListsApiUpdateDashboardListItemsPut /api/v2/dashboard/lists/manual/{dashboard_list_id}/dashboardsUpdate items of a dashboard list
IncidentServicesApiCreateIncidentServicePost /api/v2/servicesCreate a new incident service
IncidentServicesApiDeleteIncidentServiceDelete /api/v2/services/{service_id}Delete an existing incident service
IncidentServicesApiGetIncidentServiceGet /api/v2/services/{service_id}Get details of an incident service
IncidentServicesApiListIncidentServicesGet /api/v2/servicesGet a list of all incident services
IncidentServicesApiUpdateIncidentServicePatch /api/v2/services/{service_id}Update an existing incident service
IncidentTeamsApiCreateIncidentTeamPost /api/v2/teamsCreate a new incident team
IncidentTeamsApiDeleteIncidentTeamDelete /api/v2/teams/{team_id}Delete an existing incident team
IncidentTeamsApiGetIncidentTeamGet /api/v2/teams/{team_id}Get details of an incident team
IncidentTeamsApiListIncidentTeamsGet /api/v2/teamsGet a list of all incident teams
IncidentTeamsApiUpdateIncidentTeamPatch /api/v2/teams/{team_id}Update an existing incident team
IncidentsApiCreateIncidentPost /api/v2/incidentsCreate an incident
IncidentsApiDeleteIncidentDelete /api/v2/incidents/{incident_id}Delete an existing incident
IncidentsApiGetIncidentGet /api/v2/incidents/{incident_id}Get the details of an incident
IncidentsApiListIncidentsGet /api/v2/incidentsGet a list of incidents
IncidentsApiUpdateIncidentPatch /api/v2/incidents/{incident_id}Update an existing incident
KeyManagementApiCreateAPIKeyPost /api/v2/api_keysCreate an API key
KeyManagementApiCreateCurrentUserApplicationKeyPost /api/v2/current_user/application_keysCreate an application key for current user
KeyManagementApiDeleteAPIKeyDelete /api/v2/api_keys/{api_key_id}Delete an API key
KeyManagementApiDeleteApplicationKeyDelete /api/v2/application_keys/{app_key_id}Delete an application key
KeyManagementApiDeleteCurrentUserApplicationKeyDelete /api/v2/current_user/application_keys/{app_key_id}Delete an application key owned by current user
KeyManagementApiGetAPIKeyGet /api/v2/api_keys/{api_key_id}Get API key
KeyManagementApiGetCurrentUserApplicationKeyGet /api/v2/current_user/application_keys/{app_key_id}Get one application key owned by current user
KeyManagementApiListAPIKeysGet /api/v2/api_keysGet all API keys
KeyManagementApiListApplicationKeysGet /api/v2/application_keysGet all application keys
KeyManagementApiListCurrentUserApplicationKeysGet /api/v2/current_user/application_keysGet all application keys owned by current user
KeyManagementApiUpdateAPIKeyPatch /api/v2/api_keys/{api_key_id}Edit an API key
KeyManagementApiUpdateApplicationKeyPatch /api/v2/application_keys/{app_key_id}Edit an application key
KeyManagementApiUpdateCurrentUserApplicationKeyPatch /api/v2/current_user/application_keys/{app_key_id}Edit an application key owned by current user
LogsApiAggregateLogsPost /api/v2/logs/analytics/aggregateAggregate events
LogsApiListLogsPost /api/v2/logs/events/searchSearch logs
LogsApiListLogsGetGet /api/v2/logs/eventsGet a list of logs
LogsArchivesApiAddReadRoleToArchivePost /api/v2/logs/config/archives/{archive_id}/readersGrant role to an archive
LogsArchivesApiCreateLogsArchivePost /api/v2/logs/config/archivesCreate an archive
LogsArchivesApiDeleteLogsArchiveDelete /api/v2/logs/config/archives/{archive_id}Delete an archive
LogsArchivesApiGetLogsArchiveGet /api/v2/logs/config/archives/{archive_id}Get an archive
LogsArchivesApiGetLogsArchiveOrderGet /api/v2/logs/config/archive-orderGet archive order
LogsArchivesApiListArchiveReadRolesGet /api/v2/logs/config/archives/{archive_id}/readersList read roles for an archive
LogsArchivesApiListLogsArchivesGet /api/v2/logs/config/archivesGet all archives
LogsArchivesApiRemoveRoleFromArchiveDelete /api/v2/logs/config/archives/{archive_id}/readersRevoke role from an archive
LogsArchivesApiUpdateLogsArchivePut /api/v2/logs/config/archives/{archive_id}Update an archive
LogsArchivesApiUpdateLogsArchiveOrderPut /api/v2/logs/config/archive-orderUpdate archive order
LogsMetricsApiCreateLogsMetricPost /api/v2/logs/config/metricsCreate a log-based metric
LogsMetricsApiDeleteLogsMetricDelete /api/v2/logs/config/metrics/{metric_id}Delete a log-based metric
LogsMetricsApiGetLogsMetricGet /api/v2/logs/config/metrics/{metric_id}Get a log-based metric
LogsMetricsApiListLogsMetricsGet /api/v2/logs/config/metricsGet all log-based metrics
LogsMetricsApiUpdateLogsMetricPatch /api/v2/logs/config/metrics/{metric_id}Update a log-based metric
MetricsApiCreateTagConfigurationPost /api/v2/metrics/{metric_name}/tagsCreate a tag configuration
MetricsApiDeleteTagConfigurationDelete /api/v2/metrics/{metric_name}/tagsDelete a tag configuration
MetricsApiListTagConfigurationByNameGet /api/v2/metrics/{metric_name}/tagsList tag configuration by name
MetricsApiListTagConfigurationsGet /api/v2/metricsList tag configurations
MetricsApiListTagsByMetricNameGet /api/v2/metrics/{metric_name}/all-tagsList tags by metric name
MetricsApiListVolumesByMetricNameGet /api/v2/metrics/{metric_name}/volumesList distinct metric volumes by metric name
MetricsApiUpdateTagConfigurationPatch /api/v2/metrics/{metric_name}/tagsUpdate a tag configuration
ProcessesApiListProcessesGet /api/v2/processesGet all processes
RolesApiAddPermissionToRolePost /api/v2/roles/{role_id}/permissionsGrant permission to a role
RolesApiAddUserToRolePost /api/v2/roles/{role_id}/usersAdd a user to a role
RolesApiCreateRolePost /api/v2/rolesCreate role
RolesApiDeleteRoleDelete /api/v2/roles/{role_id}Delete role
RolesApiGetRoleGet /api/v2/roles/{role_id}Get a role
RolesApiListPermissionsGet /api/v2/permissionsList permissions
RolesApiListRolePermissionsGet /api/v2/roles/{role_id}/permissionsList permissions for a role
RolesApiListRoleUsersGet /api/v2/roles/{role_id}/usersGet all users of a role
RolesApiListRolesGet /api/v2/rolesList roles
RolesApiRemovePermissionFromRoleDelete /api/v2/roles/{role_id}/permissionsRevoke permission
RolesApiRemoveUserFromRoleDelete /api/v2/roles/{role_id}/usersRemove a user from a role
RolesApiUpdateRolePatch /api/v2/roles/{role_id}Update a role
SecurityMonitoringApiCreateSecurityFilterPost /api/v2/security_monitoring/configuration/security_filtersCreate a security filter
SecurityMonitoringApiCreateSecurityMonitoringRulePost /api/v2/security_monitoring/rulesCreate a detection rule
SecurityMonitoringApiDeleteSecurityFilterDelete /api/v2/security_monitoring/configuration/security_filters/{security_filter_id}Delete a security filter
SecurityMonitoringApiDeleteSecurityMonitoringRuleDelete /api/v2/security_monitoring/rules/{rule_id}Delete an existing rule
SecurityMonitoringApiGetSecurityFilterGet /api/v2/security_monitoring/configuration/security_filters/{security_filter_id}Get a security filter
SecurityMonitoringApiGetSecurityMonitoringRuleGet /api/v2/security_monitoring/rules/{rule_id}Get a rule's details
SecurityMonitoringApiListSecurityFiltersGet /api/v2/security_monitoring/configuration/security_filtersGet all security filters
SecurityMonitoringApiListSecurityMonitoringRulesGet /api/v2/security_monitoring/rulesList rules
SecurityMonitoringApiListSecurityMonitoringSignalsGet /api/v2/security_monitoring/signalsGet a quick list of security signals
SecurityMonitoringApiSearchSecurityMonitoringSignalsPost /api/v2/security_monitoring/signals/searchGet a list of security signals
SecurityMonitoringApiUpdateSecurityFilterPatch /api/v2/security_monitoring/configuration/security_filters/{security_filter_id}Update a security filter
SecurityMonitoringApiUpdateSecurityMonitoringRulePut /api/v2/security_monitoring/rules/{rule_id}Update an existing rule
UsersApiCreateUserPost /api/v2/usersCreate a user
UsersApiDisableUserDelete /api/v2/users/{user_id}Disable a user
UsersApiGetInvitationGet /api/v2/user_invitations/{user_invitation_uuid}Get a user invitation
UsersApiGetUserGet /api/v2/users/{user_id}Get user details
UsersApiListUserOrganizationsGet /api/v2/users/{user_id}/orgsGet a user organization
UsersApiListUserPermissionsGet /api/v2/users/{user_id}/permissionsGet a user permissions
UsersApiListUsersGet /api/v2/usersList all users
UsersApiSendInvitationsPost /api/v2/user_invitationsSend invitation emails
UsersApiUpdateUserPatch /api/v2/users/{user_id}Update a user

Documentation For Models

Documentation For Authorization

apiKeyAuth

  • Type: API key
  • API key parameter name: DD-API-KEY
  • Location: HTTP header

Note, each API key must be added to a map of map[string]APIKey where the key is: DD-API-KEY and passed in as the auth context for each request.

appKeyAuth

  • Type: API key
  • API key parameter name: DD-APPLICATION-KEY
  • Location: HTTP header

Note, each API key must be added to a map of map[string]APIKey where the key is: DD-APPLICATION-KEY and passed in as the auth context for each request.

Documentation for Utility Methods

Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:

  • PtrBool
  • PtrInt
  • PtrInt32
  • PtrInt64
  • PtrFloat
  • PtrFloat32
  • PtrFloat64
  • PtrString
  • PtrTime

Author

[email protected]