Class: AWSCDK::DevOpsAgent::CfnAssociation::ServiceConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
dev_ops_agent/cfn_association.rb

Overview

The configuration that directs how Agent Space interacts with the given service.

You can specify only one configuration type per association.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(aws: nil, azure: nil, dynatrace: nil, event_channel: nil, git_hub: nil, git_lab: nil, mcp_server: nil, mcp_server_datadog: nil, mcp_server_grafana: nil, mcp_server_new_relic: nil, mcp_server_sig_v4: nil, mcp_server_splunk: nil, pager_duty: nil, service_now: nil, slack: nil, source_aws: nil) ⇒ ServiceConfigurationProperty

Returns a new instance of ServiceConfigurationProperty.

Parameters:



1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
# File 'dev_ops_agent/cfn_association.rb', line 1388

def initialize(aws: nil, azure: nil, dynatrace: nil, event_channel: nil, git_hub: nil, git_lab: nil, mcp_server: nil, mcp_server_datadog: nil, mcp_server_grafana: nil, mcp_server_new_relic: nil, mcp_server_sig_v4: nil, mcp_server_splunk: nil, pager_duty: nil, service_now: nil, slack: nil, source_aws: nil)
  @aws = aws.is_a?(Hash) ? ::AWSCDK::DevOpsAgent::CfnAssociation::AWSConfigurationProperty.new(**aws.transform_keys(&:to_sym)) : aws
  Jsii::Type.check_type(@aws, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kZXZvcHNhZ2VudC5DZm5Bc3NvY2lhdGlvbi5BV1NDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "aws") unless @aws.nil?
  @azure = azure.is_a?(Hash) ? ::AWSCDK::DevOpsAgent::CfnAssociation::AzureConfigurationProperty.new(**azure.transform_keys(&:to_sym)) : azure
  Jsii::Type.check_type(@azure, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kZXZvcHNhZ2VudC5DZm5Bc3NvY2lhdGlvbi5BenVyZUNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "azure") unless @azure.nil?
  @dynatrace = dynatrace.is_a?(Hash) ? ::AWSCDK::DevOpsAgent::CfnAssociation::DynatraceConfigurationProperty.new(**dynatrace.transform_keys(&:to_sym)) : dynatrace
  Jsii::Type.check_type(@dynatrace, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kZXZvcHNhZ2VudC5DZm5Bc3NvY2lhdGlvbi5EeW5hdHJhY2VDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "dynatrace") unless @dynatrace.nil?
  @event_channel = event_channel.is_a?(Hash) ? ::AWSCDK::DevOpsAgent::CfnAssociation::EventChannelConfigurationProperty.new(**event_channel.transform_keys(&:to_sym)) : event_channel
  Jsii::Type.check_type(@event_channel, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kZXZvcHNhZ2VudC5DZm5Bc3NvY2lhdGlvbi5FdmVudENoYW5uZWxDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "eventChannel") unless @event_channel.nil?
  @git_hub = git_hub.is_a?(Hash) ? ::AWSCDK::DevOpsAgent::CfnAssociation::GitHubConfigurationProperty.new(**git_hub.transform_keys(&:to_sym)) : git_hub
  Jsii::Type.check_type(@git_hub, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kZXZvcHNhZ2VudC5DZm5Bc3NvY2lhdGlvbi5HaXRIdWJDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "gitHub") unless @git_hub.nil?
  @git_lab = git_lab.is_a?(Hash) ? ::AWSCDK::DevOpsAgent::CfnAssociation::GitLabConfigurationProperty.new(**git_lab.transform_keys(&:to_sym)) : git_lab
  Jsii::Type.check_type(@git_lab, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kZXZvcHNhZ2VudC5DZm5Bc3NvY2lhdGlvbi5HaXRMYWJDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "gitLab") unless @git_lab.nil?
  @mcp_server = mcp_server.is_a?(Hash) ? ::AWSCDK::DevOpsAgent::CfnAssociation::MCPServerConfigurationProperty.new(**mcp_server.transform_keys(&:to_sym)) : mcp_server
  Jsii::Type.check_type(@mcp_server, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kZXZvcHNhZ2VudC5DZm5Bc3NvY2lhdGlvbi5NQ1BTZXJ2ZXJDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "mcpServer") unless @mcp_server.nil?
  @mcp_server_datadog = mcp_server_datadog.is_a?(Hash) ? ::AWSCDK::DevOpsAgent::CfnAssociation::MCPServerDatadogConfigurationProperty.new(**mcp_server_datadog.transform_keys(&:to_sym)) : mcp_server_datadog
  Jsii::Type.check_type(@mcp_server_datadog, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kZXZvcHNhZ2VudC5DZm5Bc3NvY2lhdGlvbi5NQ1BTZXJ2ZXJEYXRhZG9nQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "mcpServerDatadog") unless @mcp_server_datadog.nil?
  @mcp_server_grafana = mcp_server_grafana.is_a?(Hash) ? ::AWSCDK::DevOpsAgent::CfnAssociation::MCPServerGrafanaConfigurationProperty.new(**mcp_server_grafana.transform_keys(&:to_sym)) : mcp_server_grafana
  Jsii::Type.check_type(@mcp_server_grafana, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kZXZvcHNhZ2VudC5DZm5Bc3NvY2lhdGlvbi5NQ1BTZXJ2ZXJHcmFmYW5hQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "mcpServerGrafana") unless @mcp_server_grafana.nil?
  @mcp_server_new_relic = mcp_server_new_relic.is_a?(Hash) ? ::AWSCDK::DevOpsAgent::CfnAssociation::MCPServerNewRelicConfigurationProperty.new(**mcp_server_new_relic.transform_keys(&:to_sym)) : mcp_server_new_relic
  Jsii::Type.check_type(@mcp_server_new_relic, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kZXZvcHNhZ2VudC5DZm5Bc3NvY2lhdGlvbi5NQ1BTZXJ2ZXJOZXdSZWxpY0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "mcpServerNewRelic") unless @mcp_server_new_relic.nil?
  @mcp_server_sig_v4 = mcp_server_sig_v4.is_a?(Hash) ? ::AWSCDK::DevOpsAgent::CfnAssociation::MCPServerSigV4ConfigurationProperty.new(**mcp_server_sig_v4.transform_keys(&:to_sym)) : mcp_server_sig_v4
  Jsii::Type.check_type(@mcp_server_sig_v4, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kZXZvcHNhZ2VudC5DZm5Bc3NvY2lhdGlvbi5NQ1BTZXJ2ZXJTaWdWNENvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "mcpServerSigV4") unless @mcp_server_sig_v4.nil?
  @mcp_server_splunk = mcp_server_splunk.is_a?(Hash) ? ::AWSCDK::DevOpsAgent::CfnAssociation::MCPServerSplunkConfigurationProperty.new(**mcp_server_splunk.transform_keys(&:to_sym)) : mcp_server_splunk
  Jsii::Type.check_type(@mcp_server_splunk, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kZXZvcHNhZ2VudC5DZm5Bc3NvY2lhdGlvbi5NQ1BTZXJ2ZXJTcGx1bmtDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "mcpServerSplunk") unless @mcp_server_splunk.nil?
  @pager_duty = pager_duty.is_a?(Hash) ? ::AWSCDK::DevOpsAgent::CfnAssociation::PagerDutyConfigurationProperty.new(**pager_duty.transform_keys(&:to_sym)) : pager_duty
  Jsii::Type.check_type(@pager_duty, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kZXZvcHNhZ2VudC5DZm5Bc3NvY2lhdGlvbi5QYWdlckR1dHlDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "pagerDuty") unless @pager_duty.nil?
  @service_now = service_now.is_a?(Hash) ? ::AWSCDK::DevOpsAgent::CfnAssociation::ServiceNowConfigurationProperty.new(**service_now.transform_keys(&:to_sym)) : service_now
  Jsii::Type.check_type(@service_now, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kZXZvcHNhZ2VudC5DZm5Bc3NvY2lhdGlvbi5TZXJ2aWNlTm93Q29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "serviceNow") unless @service_now.nil?
  @slack = slack.is_a?(Hash) ? ::AWSCDK::DevOpsAgent::CfnAssociation::SlackConfigurationProperty.new(**slack.transform_keys(&:to_sym)) : slack
  Jsii::Type.check_type(@slack, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kZXZvcHNhZ2VudC5DZm5Bc3NvY2lhdGlvbi5TbGFja0NvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "slack") unless @slack.nil?
  @source_aws = source_aws.is_a?(Hash) ? ::AWSCDK::DevOpsAgent::CfnAssociation::SourceAWSConfigurationProperty.new(**source_aws.transform_keys(&:to_sym)) : source_aws
  Jsii::Type.check_type(@source_aws, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19kZXZvcHNhZ2VudC5DZm5Bc3NvY2lhdGlvbi5Tb3VyY2VBd3NDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "sourceAws") unless @source_aws.nil?
end

Instance Attribute Details

#awsAWSCDK::IResolvable, ... (readonly)

Configuration for AWS monitor account integration.

Specifies the account ID, assumable role ARN, and resources to be monitored in the primary monitoring account.



1429
1430
1431
# File 'dev_ops_agent/cfn_association.rb', line 1429

def aws
  @aws
end

#azureAWSCDK::IResolvable, ... (readonly)

Azure subscription integration configuration.



1434
1435
1436
# File 'dev_ops_agent/cfn_association.rb', line 1434

def azure
  @azure
end

#dynatraceAWSCDK::IResolvable, ... (readonly)

Configuration for Dynatrace monitoring integration.

Specifies the environment ID, resources to monitor, and webhook settings to enable the Agent Space to access Dynatrace metrics, traces, and logs.



1441
1442
1443
# File 'dev_ops_agent/cfn_association.rb', line 1441

def dynatrace
  @dynatrace
end

#event_channelAWSCDK::IResolvable, ... (readonly)

Configuration for Event Channel integration.

Specifies webhook settings to enable the Agent Space to receive and process real-time events from external systems.



1448
1449
1450
# File 'dev_ops_agent/cfn_association.rb', line 1448

def event_channel
  @event_channel
end

#git_hubAWSCDK::IResolvable, ... (readonly)

Configuration for GitHub repository integration.

Specifies the repository name, repository ID, owner, and owner type to enable the Agent Space to access code, pull requests, and issues.



1455
1456
1457
# File 'dev_ops_agent/cfn_association.rb', line 1455

def git_hub
  @git_hub
end

#git_labAWSCDK::IResolvable, ... (readonly)

Configuration for GitLab project integration.

Specifies the project ID, project path, instance identifier, and webhook settings to enable the Agent Space to access code, merge requests, and issues.



1462
1463
1464
# File 'dev_ops_agent/cfn_association.rb', line 1462

def git_lab
  @git_lab
end

#mcp_serverAWSCDK::IResolvable, ... (readonly)

Configuration for custom MCP (Model Context Protocol) server integration.

Specifies the server name, endpoint URL, available tools, description, and webhook settings to enable the Agent Space to interact with custom MCP servers.



1469
1470
1471
# File 'dev_ops_agent/cfn_association.rb', line 1469

def mcp_server
  @mcp_server
end

#mcp_server_datadogAWSCDK::IResolvable, ... (readonly)

Configuration for Datadog MCP server integration.

Specifies the server name, endpoint URL, optional description, and webhook settings to enable the Agent Space to query metrics, traces, and logs from Datadog.



1476
1477
1478
# File 'dev_ops_agent/cfn_association.rb', line 1476

def mcp_server_datadog
  @mcp_server_datadog
end

#mcp_server_grafanaAWSCDK::IResolvable, ... (readonly)

Grafana MCP server configuration.



1481
1482
1483
# File 'dev_ops_agent/cfn_association.rb', line 1481

def mcp_server_grafana
  @mcp_server_grafana
end

#mcp_server_new_relicAWSCDK::IResolvable, ... (readonly)

Configuration for New Relic MCP server integration.

Specifies the New Relic account ID and MCP endpoint URL to enable the Agent Space to query metrics, traces, and logs from New Relic.



1488
1489
1490
# File 'dev_ops_agent/cfn_association.rb', line 1488

def mcp_server_new_relic
  @mcp_server_new_relic
end

#mcp_server_sig_v4AWSCDK::IResolvable, ... (readonly)

SigV4-authenticated MCP server configuration.



1493
1494
1495
# File 'dev_ops_agent/cfn_association.rb', line 1493

def mcp_server_sig_v4
  @mcp_server_sig_v4
end

#mcp_server_splunkAWSCDK::IResolvable, ... (readonly)

Configuration for Splunk MCP server integration.

Specifies the server name, endpoint URL, optional description, and webhook settings to enable the Agent Space to query logs, metrics, and events from Splunk.



1500
1501
1502
# File 'dev_ops_agent/cfn_association.rb', line 1500

def mcp_server_splunk
  @mcp_server_splunk
end

#pager_dutyAWSCDK::IResolvable, ... (readonly)

PagerDuty integration configuration.



1505
1506
1507
# File 'dev_ops_agent/cfn_association.rb', line 1505

def pager_duty
  @pager_duty
end

#service_nowAWSCDK::IResolvable, ... (readonly)

Configuration for ServiceNow instance integration.

Specifies the instance URL, instance ID, and webhook settings to enable the Agent Space to create, update, and manage ServiceNow incidents and change requests.



1512
1513
1514
# File 'dev_ops_agent/cfn_association.rb', line 1512

def service_now
  @service_now
end

#slackAWSCDK::IResolvable, ... (readonly)

Configuration for Slack workspace integration.

Specifies the workspace ID, workspace name, and transmission targets to enable the Agent Space to send notifications to designated Slack channels.



1519
1520
1521
# File 'dev_ops_agent/cfn_association.rb', line 1519

def slack
  @slack
end

#source_awsAWSCDK::IResolvable, ... (readonly)

Configuration for AWS source account integration.

Specifies the account ID, assumable role ARN, and resources to be monitored in the source account.



1526
1527
1528
# File 'dev_ops_agent/cfn_association.rb', line 1526

def source_aws
  @source_aws
end

Class Method Details

.jsii_propertiesObject



1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
# File 'dev_ops_agent/cfn_association.rb', line 1528

def self.jsii_properties
  {
    :aws => "aws",
    :azure => "azure",
    :dynatrace => "dynatrace",
    :event_channel => "eventChannel",
    :git_hub => "gitHub",
    :git_lab => "gitLab",
    :mcp_server => "mcpServer",
    :mcp_server_datadog => "mcpServerDatadog",
    :mcp_server_grafana => "mcpServerGrafana",
    :mcp_server_new_relic => "mcpServerNewRelic",
    :mcp_server_sig_v4 => "mcpServerSigV4",
    :mcp_server_splunk => "mcpServerSplunk",
    :pager_duty => "pagerDuty",
    :service_now => "serviceNow",
    :slack => "slack",
    :source_aws => "sourceAws",
  }
end

Instance Method Details

#to_jsiiObject



1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
# File 'dev_ops_agent/cfn_association.rb', line 1549

def to_jsii
  result = {}
  result.merge!({
    "aws" => @aws,
    "azure" => @azure,
    "dynatrace" => @dynatrace,
    "eventChannel" => @event_channel,
    "gitHub" => @git_hub,
    "gitLab" => @git_lab,
    "mcpServer" => @mcp_server,
    "mcpServerDatadog" => @mcp_server_datadog,
    "mcpServerGrafana" => @mcp_server_grafana,
    "mcpServerNewRelic" => @mcp_server_new_relic,
    "mcpServerSigV4" => @mcp_server_sig_v4,
    "mcpServerSplunk" => @mcp_server_splunk,
    "pagerDuty" => @pager_duty,
    "serviceNow" => @service_now,
    "slack" => @slack,
    "sourceAws" => @source_aws,
  })
  result.compact
end