DevOpsAgentService / Client / register_service
register_service¶
- DevOpsAgentService.Client.register_service(**kwargs)¶
This operation registers the specified service
See also: AWS API Documentation
Request Syntax
response = client.register_service( service='dynatrace'|'servicenow'|'pagerduty'|'gitlab'|'eventChannel'|'mcpservernewrelic'|'mcpservergrafana'|'mcpserverdatadog'|'mcpserver'|'mcpserversplunk'|'azureidentity', serviceDetails={ 'dynatrace': { 'accountUrn': 'string', 'authorizationConfig': { 'oAuthClientCredentials': { 'clientName': 'string', 'clientId': 'string', 'exchangeParameters': { 'string': 'string' }, 'clientSecret': 'string' } } }, 'servicenow': { 'instanceUrl': 'string', 'authorizationConfig': { 'oAuthClientCredentials': { 'clientName': 'string', 'clientId': 'string', 'exchangeParameters': { 'string': 'string' }, 'clientSecret': 'string' } } }, 'mcpserverdatadog': { 'name': 'string', 'endpoint': 'string', 'description': 'string', 'authorizationConfig': { 'authorizationDiscovery': { 'returnToEndpoint': 'string' } } }, 'mcpserver': { 'name': 'string', 'endpoint': 'string', 'description': 'string', 'authorizationConfig': { 'oAuthClientCredentials': { 'clientName': 'string', 'clientId': 'string', 'exchangeParameters': { 'string': 'string' }, 'clientSecret': 'string', 'exchangeUrl': 'string', 'scopes': [ 'string', ] }, 'oAuth3LO': { 'clientName': 'string', 'clientId': 'string', 'exchangeParameters': { 'string': 'string' }, 'returnToEndpoint': 'string', 'authorizationUrl': 'string', 'exchangeUrl': 'string', 'clientSecret': 'string', 'supportCodeChallenge': True|False, 'scopes': [ 'string', ] }, 'apiKey': { 'apiKeyName': 'string', 'apiKeyValue': 'string', 'apiKeyHeader': 'string' }, 'bearerToken': { 'tokenName': 'string', 'tokenValue': 'string', 'authorizationHeader': 'string' }, 'authorizationDiscovery': { 'returnToEndpoint': 'string' } } }, 'gitlab': { 'targetUrl': 'string', 'tokenType': 'personal'|'group', 'tokenValue': 'string', 'groupId': 'string' }, 'mcpserversplunk': { 'name': 'string', 'endpoint': 'string', 'description': 'string', 'authorizationConfig': { 'oAuthClientCredentials': { 'clientName': 'string', 'clientId': 'string', 'exchangeParameters': { 'string': 'string' }, 'clientSecret': 'string', 'exchangeUrl': 'string', 'scopes': [ 'string', ] }, 'oAuth3LO': { 'clientName': 'string', 'clientId': 'string', 'exchangeParameters': { 'string': 'string' }, 'returnToEndpoint': 'string', 'authorizationUrl': 'string', 'exchangeUrl': 'string', 'clientSecret': 'string', 'supportCodeChallenge': True|False, 'scopes': [ 'string', ] }, 'apiKey': { 'apiKeyName': 'string', 'apiKeyValue': 'string', 'apiKeyHeader': 'string' }, 'bearerToken': { 'tokenName': 'string', 'tokenValue': 'string', 'authorizationHeader': 'string' }, 'authorizationDiscovery': { 'returnToEndpoint': 'string' } } }, 'mcpservernewrelic': { 'authorizationConfig': { 'apiKey': { 'apiKey': 'string', 'accountId': 'string', 'region': 'US'|'EU', 'applicationIds': [ 'string', ], 'entityGuids': [ 'string', ], 'alertPolicyIds': [ 'string', ] } } }, 'eventChannel': { 'type': 'webhook' }, 'mcpservergrafana': { 'name': 'string', 'endpoint': 'string', 'description': 'string', 'authorizationConfig': { 'oAuthClientCredentials': { 'clientName': 'string', 'clientId': 'string', 'exchangeParameters': { 'string': 'string' }, 'clientSecret': 'string', 'exchangeUrl': 'string', 'scopes': [ 'string', ] }, 'oAuth3LO': { 'clientName': 'string', 'clientId': 'string', 'exchangeParameters': { 'string': 'string' }, 'returnToEndpoint': 'string', 'authorizationUrl': 'string', 'exchangeUrl': 'string', 'clientSecret': 'string', 'supportCodeChallenge': True|False, 'scopes': [ 'string', ] }, 'apiKey': { 'apiKeyName': 'string', 'apiKeyValue': 'string', 'apiKeyHeader': 'string' }, 'bearerToken': { 'tokenName': 'string', 'tokenValue': 'string', 'authorizationHeader': 'string' }, 'authorizationDiscovery': { 'returnToEndpoint': 'string' } } }, 'pagerduty': { 'scopes': [ 'string', ], 'authorizationConfig': { 'oAuthClientCredentials': { 'clientName': 'string', 'clientId': 'string', 'exchangeParameters': { 'string': 'string' }, 'clientSecret': 'string' } } }, 'azureidentity': { 'tenantId': 'string', 'clientId': 'string', 'webIdentityRoleArn': 'string', 'webIdentityTokenAudiences': [ 'string', ] } }, kmsKeyArn='string', privateConnectionName='string', name='string', tags={ 'string': 'string' } )
- Parameters:
service (string) –
[REQUIRED]
Services that can be registered via the post-registration API (excludes OAuth 3LO services).
serviceDetails (dict) –
[REQUIRED]
Service-specific authorization configuration parameters
Note
This is a Tagged Union structure. Only one of the following top level keys can be set:
dynatrace,servicenow,mcpserverdatadog,mcpserver,gitlab,mcpserversplunk,mcpservernewrelic,eventChannel,mcpservergrafana,pagerduty,azureidentity.dynatrace (dict) –
Dynatrace-specific service details.
accountUrn (string) – [REQUIRED]
Dynatrace resource account urn.
authorizationConfig (dict) –
Dynatrace OAuth client credentials configuration. Use this when registering with OAuth client credentials flow.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set:
oAuthClientCredentials.oAuthClientCredentials (dict) –
OAuth client credentials configuration.
clientName (string) –
User friendly OAuth client name specified by end user.
clientId (string) – [REQUIRED]
OAuth client ID for authenticating with the service.
exchangeParameters (dict) –
OAuth token exchange parameters for authenticating with the service.
(string) –
(string) –
Exchange Parameter value for MCP authentication
clientSecret (string) – [REQUIRED]
OAuth client secret for authenticating with the service.
servicenow (dict) –
ServiceNow-specific service details.
instanceUrl (string) – [REQUIRED]
ServiceNow instance URL.
authorizationConfig (dict) –
ServiceNow OAuth client credentials configuration. Use this when registering with OAuth client credentials flow.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set:
oAuthClientCredentials.oAuthClientCredentials (dict) –
OAuth client credentials configuration.
clientName (string) –
User friendly OAuth client name specified by end user.
clientId (string) – [REQUIRED]
OAuth client ID for authenticating with the service.
exchangeParameters (dict) –
OAuth token exchange parameters for authenticating with the service.
(string) –
(string) –
Exchange Parameter value for MCP authentication
clientSecret (string) – [REQUIRED]
OAuth client secret for authenticating with the service.
mcpserverdatadog (dict) –
Datadog MCP server-specific service details.
name (string) – [REQUIRED]
MCP server name.
endpoint (string) – [REQUIRED]
MCP server endpoint URL.
description (string) –
Optional description for the MCP server.
authorizationConfig (dict) – [REQUIRED]
Datadog MCP server authorization configuration (only authorization discovery is supported).
Note
This is a Tagged Union structure. Only one of the following top level keys can be set:
authorizationDiscovery.authorizationDiscovery (dict) –
Datadog MCP server authorization discovery configuration.
returnToEndpoint (string) – [REQUIRED]
The endpoint to return to after OAuth flow completes (must be AWS console domain)
mcpserver (dict) –
MCP server-specific service details.
name (string) – [REQUIRED]
MCP server name.
endpoint (string) – [REQUIRED]
MCP server endpoint URL.
description (string) –
Optional description for the MCP server.
authorizationConfig (dict) – [REQUIRED]
MCP server authorization configuration.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set:
oAuthClientCredentials,oAuth3LO,apiKey,bearerToken,authorizationDiscovery.oAuthClientCredentials (dict) –
MCP server configuration with OAuth client credentials.
clientName (string) –
User friendly OAuth client name specified by end user.
clientId (string) – [REQUIRED]
OAuth client ID for authenticating with the service.
exchangeParameters (dict) –
OAuth token exchange parameters for authenticating with the service.
(string) –
(string) –
Exchange Parameter value for MCP authentication
clientSecret (string) – [REQUIRED]
OAuth client secret for authenticating with the service.
exchangeUrl (string) – [REQUIRED]
OAuth token exchange URL.
scopes (list) –
OAuth scopes for 3LO authentication. The service will always request scope offline_access.
(string) –
oAuth3LO (dict) –
MCP server configuration with OAuth 3LO.
clientName (string) –
User friendly OAuth client name specified by end user.
clientId (string) – [REQUIRED]
OAuth client ID for authenticating with the service.
exchangeParameters (dict) –
OAuth token exchange parameters for authenticating with the service.
(string) –
(string) –
Exchange Parameter value for MCP authentication
returnToEndpoint (string) – [REQUIRED]
The endpoint to return to after OAuth flow completes (must be AWS console domain)
authorizationUrl (string) – [REQUIRED]
OAuth authorization URL for 3LO authentication.
exchangeUrl (string) – [REQUIRED]
OAuth token exchange URL.
clientSecret (string) –
OAuth client secret for authenticating with the service. Required for confidential clients or when PKCE is not supported. Optional for public clients using PKCE.
supportCodeChallenge (boolean) –
Whether the service supports PKCE (Proof Key for Code Exchange) for enhanced security during the OAuth flow.
scopes (list) –
OAuth scopes for 3LO authentication. The service will always request scope offline_access.
(string) –
apiKey (dict) –
MCP server configuration with API key authentication.
apiKeyName (string) – [REQUIRED]
User friendly API key name specified by end user.
apiKeyValue (string) – [REQUIRED]
API key value for authenticating with the service.
apiKeyHeader (string) – [REQUIRED]
HTTP header name to send the API key in requests to the service.
bearerToken (dict) –
MCP server configuration with Bearer token (RFC 6750).
tokenName (string) – [REQUIRED]
User friendly bearer token name specified by end user.
tokenValue (string) – [REQUIRED]
Bearer token value in alphanumeric for authenticating with the service.
authorizationHeader (string) –
HTTP header name to send the bearer token in requests to the service. Defaults to ‘Authorization’ per RFC 6750.
authorizationDiscovery (dict) –
MCP server authorization discovery configuration.
returnToEndpoint (string) – [REQUIRED]
The endpoint to return to after OAuth flow completes (must be AWS console domain)
gitlab (dict) –
GitLab-specific service details.
targetUrl (string) – [REQUIRED]
GitLab instance URL (e.g., https://gitlab.com or self-hosted instance).
tokenType (string) – [REQUIRED]
Type of GitLab access token
tokenValue (string) – [REQUIRED]
GitLab access token value
groupId (string) –
Optional GitLab group ID for group-level access tokens
mcpserversplunk (dict) –
Splunk MCP server-specific service details.
name (string) – [REQUIRED]
MCP server name.
endpoint (string) – [REQUIRED]
MCP server endpoint URL.
description (string) –
Optional description for the MCP server.
authorizationConfig (dict) – [REQUIRED]
MCP server authorization configuration.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set:
oAuthClientCredentials,oAuth3LO,apiKey,bearerToken,authorizationDiscovery.oAuthClientCredentials (dict) –
MCP server configuration with OAuth client credentials.
clientName (string) –
User friendly OAuth client name specified by end user.
clientId (string) – [REQUIRED]
OAuth client ID for authenticating with the service.
exchangeParameters (dict) –
OAuth token exchange parameters for authenticating with the service.
(string) –
(string) –
Exchange Parameter value for MCP authentication
clientSecret (string) – [REQUIRED]
OAuth client secret for authenticating with the service.
exchangeUrl (string) – [REQUIRED]
OAuth token exchange URL.
scopes (list) –
OAuth scopes for 3LO authentication. The service will always request scope offline_access.
(string) –
oAuth3LO (dict) –
MCP server configuration with OAuth 3LO.
clientName (string) –
User friendly OAuth client name specified by end user.
clientId (string) – [REQUIRED]
OAuth client ID for authenticating with the service.
exchangeParameters (dict) –
OAuth token exchange parameters for authenticating with the service.
(string) –
(string) –
Exchange Parameter value for MCP authentication
returnToEndpoint (string) – [REQUIRED]
The endpoint to return to after OAuth flow completes (must be AWS console domain)
authorizationUrl (string) – [REQUIRED]
OAuth authorization URL for 3LO authentication.
exchangeUrl (string) – [REQUIRED]
OAuth token exchange URL.
clientSecret (string) –
OAuth client secret for authenticating with the service. Required for confidential clients or when PKCE is not supported. Optional for public clients using PKCE.
supportCodeChallenge (boolean) –
Whether the service supports PKCE (Proof Key for Code Exchange) for enhanced security during the OAuth flow.
scopes (list) –
OAuth scopes for 3LO authentication. The service will always request scope offline_access.
(string) –
apiKey (dict) –
MCP server configuration with API key authentication.
apiKeyName (string) – [REQUIRED]
User friendly API key name specified by end user.
apiKeyValue (string) – [REQUIRED]
API key value for authenticating with the service.
apiKeyHeader (string) – [REQUIRED]
HTTP header name to send the API key in requests to the service.
bearerToken (dict) –
MCP server configuration with Bearer token (RFC 6750).
tokenName (string) – [REQUIRED]
User friendly bearer token name specified by end user.
tokenValue (string) – [REQUIRED]
Bearer token value in alphanumeric for authenticating with the service.
authorizationHeader (string) –
HTTP header name to send the bearer token in requests to the service. Defaults to ‘Authorization’ per RFC 6750.
authorizationDiscovery (dict) –
MCP server authorization discovery configuration.
returnToEndpoint (string) – [REQUIRED]
The endpoint to return to after OAuth flow completes (must be AWS console domain)
mcpservernewrelic (dict) –
New Relic-specific service details.
authorizationConfig (dict) – [REQUIRED]
New Relic MCP server authorization configuration.
Note
This is a Tagged Union structure. Only one of the following top level keys can be set:
apiKey.apiKey (dict) –
New Relic API Key authentication (apiKey, accountId, region).
apiKey (string) – [REQUIRED]
New Relic User API Key
accountId (string) – [REQUIRED]
New Relic Account ID
region (string) – [REQUIRED]
New Relic region (US or EU)
applicationIds (list) –
List of monitored APM application IDs in New Relic
(string) –
entityGuids (list) –
List of globally unique IDs for New Relic resources (apps, hosts, services)
(string) –
alertPolicyIds (list) –
List of alert policy IDs grouping related conditions
(string) –
eventChannel (dict) –
Event Channel specific service details.
type (string) –
The type of event channel
mcpservergrafana (dict) –
Datadog MCP server-specific service details.
name (string) – [REQUIRED]
MCP server name.
endpoint (string) – [REQUIRED]
MCP server endpoint URL.
description (string) –
Optional description for the MCP server.
authorizationConfig (dict) – [REQUIRED]
Grafana MCP server authorization configuration (experimental).
Note
This is a Tagged Union structure. Only one of the following top level keys can be set:
oAuthClientCredentials,oAuth3LO,apiKey,bearerToken,authorizationDiscovery.oAuthClientCredentials (dict) –
MCP server configuration with OAuth client credentials.
clientName (string) –
User friendly OAuth client name specified by end user.
clientId (string) – [REQUIRED]
OAuth client ID for authenticating with the service.
exchangeParameters (dict) –
OAuth token exchange parameters for authenticating with the service.
(string) –
(string) –
Exchange Parameter value for MCP authentication
clientSecret (string) – [REQUIRED]
OAuth client secret for authenticating with the service.
exchangeUrl (string) – [REQUIRED]
OAuth token exchange URL.
scopes (list) –
OAuth scopes for 3LO authentication. The service will always request scope offline_access.
(string) –
oAuth3LO (dict) –
MCP server configuration with OAuth 3LO.
clientName (string) –
User friendly OAuth client name specified by end user.
clientId (string) – [REQUIRED]
OAuth client ID for authenticating with the service.
exchangeParameters (dict) –
OAuth token exchange parameters for authenticating with the service.
(string) –
(string) –
Exchange Parameter value for MCP authentication
returnToEndpoint (string) – [REQUIRED]
The endpoint to return to after OAuth flow completes (must be AWS console domain)
authorizationUrl (string) – [REQUIRED]
OAuth authorization URL for 3LO authentication.
exchangeUrl (string) – [REQUIRED]
OAuth token exchange URL.
clientSecret (string) –
OAuth client secret for authenticating with the service. Required for confidential clients or when PKCE is not supported. Optional for public clients using PKCE.
supportCodeChallenge (boolean) –
Whether the service supports PKCE (Proof Key for Code Exchange) for enhanced security during the OAuth flow.
scopes (list) –
OAuth scopes for 3LO authentication. The service will always request scope offline_access.
(string) –
apiKey (dict) –
MCP server configuration with API key authentication.
apiKeyName (string) – [REQUIRED]
User friendly API key name specified by end user.
apiKeyValue (string) – [REQUIRED]
API key value for authenticating with the service.
apiKeyHeader (string) – [REQUIRED]
HTTP header name to send the API key in requests to the service.
bearerToken (dict) –
MCP server configuration with Bearer token (RFC 6750).
tokenName (string) – [REQUIRED]
User friendly bearer token name specified by end user.
tokenValue (string) – [REQUIRED]
Bearer token value in alphanumeric for authenticating with the service.
authorizationHeader (string) –
HTTP header name to send the bearer token in requests to the service. Defaults to ‘Authorization’ per RFC 6750.
authorizationDiscovery (dict) –
MCP server authorization discovery configuration.
returnToEndpoint (string) – [REQUIRED]
The endpoint to return to after OAuth flow completes (must be AWS console domain)
pagerduty (dict) –
PagerDuty specific service details.
scopes (list) – [REQUIRED]
PagerDuty scopes.
(string) –
authorizationConfig (dict) – [REQUIRED]
PagerDuty authorization configuration
Note
This is a Tagged Union structure. Only one of the following top level keys can be set:
oAuthClientCredentials.oAuthClientCredentials (dict) –
OAuth client credentials configuration.
clientName (string) –
User friendly OAuth client name specified by end user.
clientId (string) – [REQUIRED]
OAuth client ID for authenticating with the service.
exchangeParameters (dict) –
OAuth token exchange parameters for authenticating with the service.
(string) –
(string) –
Exchange Parameter value for MCP authentication
clientSecret (string) – [REQUIRED]
OAuth client secret for authenticating with the service.
azureidentity (dict) –
Azure integration with AWS Outbound Identity Federation specific service details.
tenantId (string) – [REQUIRED]
The Azure Active Directory tenant ID for the identity.
clientId (string) – [REQUIRED]
The client ID of the service principal or managed identity used for authentication.
webIdentityRoleArn (string) – [REQUIRED]
The role ARN to be assumed by DevOps Agent for requesting Web Identity Token.
webIdentityTokenAudiences (list) – [REQUIRED]
The audiences for the Web Identity Token.
(string) –
kmsKeyArn (string) – The ARN of the AWS Key Management Service (AWS KMS) customer managed key that’s used to encrypt resources.
privateConnectionName (string) – The name of the private connection to use for VPC connectivity.
name (string) – The display name for the service registration.
tags (dict) –
Tags to add to the Service at registration time.
(string) –
Tag key string.
(string) –
Tag value string.
- Return type:
dict
- Returns:
Response Syntax
{ 'serviceId': 'string', 'additionalStep': { 'oauth': { 'authorizationUrl': 'string' } }, 'kmsKeyArn': 'string', 'tags': { 'string': 'string' } }
Response Structure
(dict) –
Output containing the service ID and any additional steps required for registration.
serviceId (string) –
Service ID - present when registration is complete, absent when additional steps are required
additionalStep (dict) –
Indicates if additional steps are required to complete service registration (e.g., 3-legged OAuth)
Note
This is a Tagged Union structure. Only one of the following top level keys will be set:
oauth. If a client receives an unknown member it will setSDK_UNKNOWN_MEMBERas the top level key, which maps to the name or tag of the unknown member. The structure ofSDK_UNKNOWN_MEMBERis as follows:'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}
oauth (dict) –
OAuth authorization step required.
authorizationUrl (string) –
The URL to redirect the user to for OAuth authorization.
kmsKeyArn (string) –
The ARN of the AWS Key Management Service (AWS KMS) customer managed key that’s used to encrypt resources.
tags (dict) –
Tags associated with the registered Service.
(string) –
Tag key string.
(string) –
Tag value string.
Exceptions
DevOpsAgentService.Client.exceptions.ValidationExceptionDevOpsAgentService.Client.exceptions.ContentSizeExceededExceptionDevOpsAgentService.Client.exceptions.ServiceQuotaExceededExceptionDevOpsAgentService.Client.exceptions.ConflictExceptionDevOpsAgentService.Client.exceptions.InternalServerExceptionDevOpsAgentService.Client.exceptions.AccessDeniedExceptionDevOpsAgentService.Client.exceptions.ResourceNotFoundExceptionDevOpsAgentService.Client.exceptions.InvalidParameterExceptionDevOpsAgentService.Client.exceptions.ThrottlingException