Skip to content
v2.274.0

CfnServiceProps Struct ​

Properties for defining a CfnService.

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 cfnServiceProps: devopsagent.CfnServiceProps = {
  serviceType: 'serviceType',

  // the properties below are optional
  exchangeUrlPrivateConnectionName: 'exchangeUrlPrivateConnectionName',
  kmsKeyArn: 'kmsKeyArn',
  name: 'name',
  privateConnectionName: 'privateConnectionName',
  serviceDetails: {
    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,
        },
      },
    },
  },
  tags: [{
    key: 'key',
    value: 'value',
  }],
  targetUrlPrivateConnectionName: 'targetUrlPrivateConnectionName',
};

Properties ​

exchangeUrlPrivateConnectionNamestringexchange_url_private_connection_namestrexchangeUrlPrivateConnectionNameStringExchangeUrlPrivateConnectionNamestringExchangeUrlPrivateConnectionName*string#
The name of the private connection to use for OAuth token exchange requests only.

Cannot be specified when PrivateConnectionName is provided.

kmsKeyArnstringkms_key_arnstrkmsKeyArnStringKmsKeyArnstringKmsKeyArn*string#
The ARN of the KMS key to use for encryption.
namestringnamestrnameStringNamestringName*string#
The display name for the service registration.
privateConnectionNamestringprivate_connection_namestrprivateConnectionNameStringPrivateConnectionNamestringPrivateConnectionName*string#
The name of the private connection to use for VPC connectivity.
serviceDetailsIResolvable | CfnService.ServiceDetailsPropertyservice_detailstyping.Union[IResolvable, ServiceDetailsProperty]serviceDetailsIResolvableServiceDetailsIResolvableServiceDetailsinterface{}#
Service-specific configuration details - MCPServerSigV4 supports in-place updates;
notes

GitLab (TokenValue), MCPServer (ApiKey or BearerToken credential rotation), MCPServerNewRelic (ApiKey rotation), and MCPServerGrafana (BearerToken rotation) support in-place credential rotation; all other service types and fields require replacement when modified

serviceTypestringservice_typestrserviceTypeStringServiceTypestringServiceType*stringrequired#
The type of service being registered.
tagsCfnTag[]tagstyping.List[CfnTag]tagsList<CfnTag>TagsCfnTag[]Tags*[]CfnTag#
An array of key-value pairs to apply to this resource.
targetUrlPrivateConnectionNamestringtarget_url_private_connection_namestrtargetUrlPrivateConnectionNameStringTargetUrlPrivateConnectionNamestringTargetUrlPrivateConnectionName*string#
The name of the private connection to use for API calls (target URL) only.

Cannot be specified when PrivateConnectionName is provided.