-
Notifications
You must be signed in to change notification settings - Fork 53
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
GCP integration - add new auth method support (#229)
- Loading branch information
Showing
4 changed files
with
105 additions
and
2 deletions.
There are no files selected for viewing
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 |
---|---|---|
@@ -0,0 +1,17 @@ | ||
/* | ||
* Integrations API | ||
* | ||
* APIs for creating, retrieving, updating, and deleting SignalFx integrations to the systems you use.<br> An integration provides SignalFx with information from the external system that you're connecting to. You'll need to retrieve this information from the external system before you use the API. Each external system is different, so to see a summary of its requirements and procedures, view its request body description. # Authentication To create, update, delete, or validate an integration, you need to authenticate your request using a session token associated with a SignalFx administrator. To **retrieve** an integration, your session token doesn't need to be associated with an administrator. You can also retrieve integrations using an org token.<br> In the web UI, session tokens are known as <strong>user access</strong> tokens, and org tokens are known as <strong>access tokens</strong>. <br> To learn more about authentication tokens, see the topic [Authentication Tokens](https://developers.signalfx.com/administration/access_tokens_overview.html) in the Developers Guide. # Supported service types SignalFx offers integrations for the following:<br> * Data collection from other monitoring systems such as AWS CloudWatch * Authentication using your existing Single Sign-On (**SSO**) system * Sending alerts using your preferred messaging, chat, or incident management service <br> To use one of these integrations, you first register it with SignalFx. After that, you configure the integration to communicate between the system you're using and SignalFx. ## Data collection SignalFx integrations APIs support data collection for the following services:<br> * Amazon Web Services (**AWS**) * Google Cloud Platform (**GCP**) * Microsoft Azure * NewRelic ## Authentication using SSO SignalFx integration APIs support SAML-based SSO integrations for the following services:<br> * Microsoft Active Directory Federation Services (**ADFS**) * Bitium * Okta * OneLogin * PingOne ## Alerts using message, chat, or incident management services SignalFx integration APIs support alert notifications using the following services: <br> * BigPanda * Office 365 * Opsgenie * PagerDuty * ServiceNow * Slack * VictorOps * Webhook * xMatters<br> **NOTE:** You can't create Office 365 integrations using the API, and your ability to update them in a **PUT** request is limited, but you can retrieve their data or delete them. To create an Office 365 integration, use the the web UI. <br> # Viewing request body documentation The *request* body format for the following operations depends on the type of integration you use:<br> * POST `/integration` * PUT `/integration/{id}`<br> The *response* body format for the following operations also depends on the type of integration you use:<br> * GET `/integration` * GET `/integration/{id}` <br> To see the request or response body format for an integration: <br> 1. Find the endpoint and method. 2. For a request body, find the section *REQUEST BODY SCHEMA*. For a response body, find the section *RESPONSE SCHEMA*. 3. Scroll down to the `type` property. 4. At the end of the description for `type`, find the dropdown box that contains the integration type. By default, it's set to *AWSCloudWatch*. 5. To see a complete list of integrations, click the down arrow. A list with a vertical scroll bar appears. 6. Select the integration type from the list. The request body properties for this integration type now appear. | ||
* | ||
* API version: 3.3.1 | ||
* Generated by: OpenAPI Generator (https://openapi-generator.tech) | ||
*/ | ||
|
||
package integration | ||
|
||
type GCPAuthMethod string | ||
|
||
const ( | ||
SERVICE_ACCOUNT_KEY GCPAuthMethod = "SERVICE_ACCOUNT_KEY" | ||
WORKLOAD_IDENTITY_FEDERATION GCPAuthMethod = "WORKLOAD_IDENTITY_FEDERATION" | ||
) |
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
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
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 |
---|---|---|
@@ -0,0 +1,18 @@ | ||
/* | ||
* Integrations API | ||
* | ||
* APIs for creating, retrieving, updating, and deleting SignalFx integrations to the systems you use.<br> An integration provides SignalFx with information from the external system that you're connecting to. You'll need to retrieve this information from the external system before you use the API. Each external system is different, so to see a summary of its requirements and procedures, view its request body description. # Authentication To create, update, delete, or validate an integration, you need to authenticate your request using a session token associated with a SignalFx administrator. To **retrieve** an integration, your session token doesn't need to be associated with an administrator. You can also retrieve integrations using an org token.<br> In the web UI, session tokens are known as <strong>user access</strong> tokens, and org tokens are known as <strong>access tokens</strong>. <br> To learn more about authentication tokens, see the topic [Authentication Tokens](https://developers.signalfx.com/administration/access_tokens_overview.html) in the Developers Guide. # Supported service types SignalFx offers integrations for the following:<br> * Data collection from other monitoring systems such as AWS CloudWatch * Authentication using your existing Single Sign-On (**SSO**) system * Sending alerts using your preferred messaging, chat, or incident management service <br> To use one of these integrations, you first register it with SignalFx. After that, you configure the integration to communicate between the system you're using and SignalFx. ## Data collection SignalFx integrations APIs support data collection for the following services:<br> * Amazon Web Services (**AWS**) * Google Cloud Platform (**GCP**) * Microsoft Azure * NewRelic ## Authentication using SSO SignalFx integration APIs support SAML-based SSO integrations for the following services:<br> * Microsoft Active Directory Federation Services (**ADFS**) * Bitium * Okta * OneLogin * PingOne ## Alerts using message, chat, or incident management services SignalFx integration APIs support alert notifications using the following services: <br> * BigPanda * Office 365 * Opsgenie * PagerDuty * ServiceNow * Slack * VictorOps * Webhook * xMatters<br> **NOTE:** You can't create Office 365 integrations using the API, and your ability to update them in a **PUT** request is limited, but you can retrieve their data or delete them. To create an Office 365 integration, use the the web UI. <br> # Viewing request body documentation The *request* body format for the following operations depends on the type of integration you use:<br> * POST `/integration` * PUT `/integration/{id}`<br> The *response* body format for the following operations also depends on the type of integration you use:<br> * GET `/integration` * GET `/integration/{id}` <br> To see the request or response body format for an integration: <br> 1. Find the endpoint and method. 2. For a request body, find the section *REQUEST BODY SCHEMA*. For a response body, find the section *RESPONSE SCHEMA*. 3. Scroll down to the `type` property. 4. At the end of the description for `type`, find the dropdown box that contains the integration type. By default, it's set to *AWSCloudWatch*. 5. To see a complete list of integrations, click the down arrow. A list with a vertical scroll bar appears. 6. Select the integration type from the list. The request body properties for this integration type now appear. | ||
* | ||
* API version: 3.3.1 | ||
* Generated by: OpenAPI Generator (https://openapi-generator.tech) | ||
*/ | ||
|
||
package integration | ||
|
||
// Properties of a GCP project, in the form of a JSON object. Contains the GCP project ID and Workload Identity Federation configuration file for a GCP project that you want SignalFx to monitor. | ||
type GCPProjectWIFConfig struct { | ||
// GCP project ID you specified when you created your GCP project | ||
ProjectId string `json:"projectId,omitempty"` | ||
// Workload Identity Federation configuration file generated for the project. This property is a JSON string; you must properly escape special characters before you send it to SignalFx. | ||
WIFConfig string `json:"wifConfig,omitempty"` | ||
} |