# ServiceDetailsProperty

- Source: Generated code
- Type last changed: v2.274.0 · 20 Oct 2026

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_devopsagent as devopsagent } from 'aws-cdk-lib';

declare const exchangeParameters: any;
const serviceDetailsProperty: devopsagent.CfnService.ServiceDetailsProperty = {
  azureIdentity: {
    clientId: 'clientId',
    tenantId: 'tenantId',
    webIdentityRoleArn: 'webIdentityRoleArn',
    webIdentityTokenAudiences: ['webIdentityTokenAudiences'],
  },
  dynatrace: {
    accountUrn: 'accountUrn',

    // the properties below are optional
    authorizationConfig: {
      oAuthClientCredentials: {
        clientId: 'clientId',
        clientSecret: 'clientSecret',

        // the properties below are optional
        clientName: 'clientName',
        exchangeParameters: exchangeParameters,
      },
    },
  },
  gitHub: {
    appVerification: {
      appVariant: 'appVariant',
      tokenValue: 'tokenValue',

      // the properties below are optional
      organizationName: 'organizationName',
      targetUrl: 'targetUrl',
    },
    directAccess: {
      tokenValue: 'tokenValue',

      // the properties below are optional
      organizationName: 'organizationName',
      targetUrl: 'targetUrl',
    },
  },
  gitLab: {
    targetUrl: 'targetUrl',
    tokenType: 'tokenType',
    tokenValue: 'tokenValue',

    // the properties below are optional
    groupId: 'groupId',
  },
  mcpServer: {
    authorizationConfig: {
      apiKey: {
        apiKeyHeader: 'apiKeyHeader',
        apiKeyName: 'apiKeyName',
        apiKeyValue: 'apiKeyValue',
      },
      bearerToken: {
        tokenName: 'tokenName',
        tokenValue: 'tokenValue',

        // the properties below are optional
        authorizationHeader: 'authorizationHeader',
      },
      oAuthClientCredentials: {
        clientId: 'clientId',
        clientSecret: 'clientSecret',
        exchangeUrl: 'exchangeUrl',

        // the properties below are optional
        clientName: 'clientName',
        exchangeParameters: exchangeParameters,
        scopes: ['scopes'],
      },
    },
    endpoint: 'endpoint',
    name: 'name',

    // the properties below are optional
    description: 'description',
  },
  mcpServerGrafana: {
    authorizationConfig: {
      bearerToken: {
        tokenName: 'tokenName',
        tokenValue: 'tokenValue',

        // the properties below are optional
        authorizationHeader: 'authorizationHeader',
      },
    },
    endpoint: 'endpoint',
    name: 'name',

    // the properties below are optional
    description: 'description',
  },
  mcpServerNewRelic: {
    authorizationConfig: {
      apiKey: {
        accountId: 'accountId',
        apiKey: 'apiKey',
        region: 'region',

        // the properties below are optional
        alertPolicyIds: ['alertPolicyIds'],
        applicationIds: ['applicationIds'],
        entityGuids: ['entityGuids'],
      },
    },
  },
  mcpServerSigV4: {
    authorizationConfig: {
      region: 'region',
      service: 'service',

      // the properties below are optional
      customHeaders: {
        customHeadersKey: 'customHeaders',
      },
      mcpRoleArn: 'mcpRoleArn',
      roleArn: 'roleArn',
    },
    endpoint: 'endpoint',
    name: 'name',

    // the properties below are optional
    description: 'description',
  },
  mcpServerSplunk: {
    authorizationConfig: {
      bearerToken: {
        tokenName: 'tokenName',
        tokenValue: 'tokenValue',

        // the properties below are optional
        authorizationHeader: 'authorizationHeader',
      },
    },
    endpoint: 'endpoint',
    name: 'name',

    // the properties below are optional
    description: 'description',
  },
  pagerDuty: {
    authorizationConfig: {
      oAuthClientCredentials: {
        clientId: 'clientId',
        clientSecret: 'clientSecret',

        // the properties below are optional
        clientName: 'clientName',
        exchangeParameters: exchangeParameters,
      },
    },
    scopes: ['scopes'],
  },
  serviceNow: {
    instanceUrl: 'instanceUrl',

    // the properties below are optional
    authorizationConfig: {
      oAuthClientCredentials: {
        clientId: 'clientId',
        clientSecret: 'clientSecret',

        // the properties below are optional
        clientName: 'clientName',
        exchangeParameters: exchangeParameters,
      },
    },
  },
};
```

## Properties

- `azureIdentity`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnService.AzureIdentityServiceDetailsProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_devopsagent.CfnService.AzureIdentityServiceDetailsProperty.html) — Azure Identity service configuration for federated identity.

- `dynatrace`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnService.DynatraceServiceDetailsProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_devopsagent.CfnService.DynatraceServiceDetailsProperty.html) — Dynatrace service configuration.

- `gitHub`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnService.GitHubDetailsProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_devopsagent.CfnService.GitHubDetailsProperty.html) — GitHub personal access token (PAT) service configuration.

  Exactly one of AppVerification or DirectAccess selects how the token is used

- `gitLab`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnService.GitLabDetailsProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_devopsagent.CfnService.GitLabDetailsProperty.html) — GitLab service configuration.

- `mcpServer`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnService.MCPServerDetailsProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_devopsagent.CfnService.MCPServerDetailsProperty.html) — MCP server configuration.

- `mcpServerGrafana`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnService.MCPServerGrafanaDetailsProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_devopsagent.CfnService.MCPServerGrafanaDetailsProperty.html) — Grafana MCP server configuration.

- `mcpServerNewRelic`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnService.NewRelicServiceDetailsProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_devopsagent.CfnService.NewRelicServiceDetailsProperty.html) — New Relic service configuration.

- `mcpServerSigV4`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnService.MCPServerSigV4DetailsProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_devopsagent.CfnService.MCPServerSigV4DetailsProperty.html) — SigV4-authenticated MCP server configuration.

- `mcpServerSplunk`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnService.MCPServerSplunkDetailsProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_devopsagent.CfnService.MCPServerSplunkDetailsProperty.html) — Splunk MCP server configuration.

- `pagerDuty`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnService.PagerDutyDetailsProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_devopsagent.CfnService.PagerDutyDetailsProperty.html) — PagerDuty service configuration.

- `serviceNow`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnService.ServiceNowServiceDetailsProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_devopsagent.CfnService.ServiceNowServiceDetailsProperty.html) — ServiceNow service configuration.
