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
exchangeUrlPrivateConnectionNameoptionalstringexchange_url_private_connection_nameoptionalstrexchangeUrlPrivateConnectionNameoptionalStringExchangeUrlPrivateConnectionNameoptionalstringExchangeUrlPrivateConnectionNameoptional*string#The name of the private connection to use for OAuth token exchange requests only.
Cannot be specified when PrivateConnectionName is provided.
kmsKeyArnoptionalstringkms_key_arnoptionalstrkmsKeyArnoptionalStringKmsKeyArnoptionalstringKmsKeyArnoptional*string#The ARN of the KMS key to use for encryption.
The display name for the service registration.
privateConnectionNameoptionalstringprivate_connection_nameoptionalstrprivateConnectionNameoptionalStringPrivateConnectionNameoptionalstringPrivateConnectionNameoptional*string#The name of the private connection to use for VPC connectivity.
serviceDetailsoptionalIResolvable | CfnService.ServiceDetailsPropertyservice_detailsoptionaltyping.Union[IResolvable, ServiceDetailsProperty]serviceDetailsoptionalIResolvableServiceDetailsoptionalIResolvableServiceDetailsoptionalinterface{}#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, including GitHub, require replacement when modified
The type of service being registered.
tagsoptionalCfnTag[]tagsoptionaltyping.List[CfnTag]tagsoptionalList<CfnTag>TagsoptionalCfnTag[]Tagsoptional*[]CfnTag#An array of key-value pairs to apply to this resource.
targetUrlPrivateConnectionNameoptionalstringtarget_url_private_connection_nameoptionalstrtargetUrlPrivateConnectionNameoptionalStringTargetUrlPrivateConnectionNameoptionalstringTargetUrlPrivateConnectionNameoptional*string#The name of the private connection to use for API calls (target URL) only.
Cannot be specified when PrivateConnectionName is provided.