datadog.SoftwareCatalog
Explore with Pulumi AI
Provides a Datadog Software Catalog Entity resource. This can be used to create and manage entities in Datadog Software Catalog using the YAML/JSON definition.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as datadog from "@pulumi/datadog";
// v3 service entity 
const serviceV3 = new datadog.SoftwareCatalog("service_v3", {entity: `apiVersion: v3
kind: service
metadata:
  name: shopping-cart
  displayName: Shopping Cart
  inheritFrom: service:otherService
  tags:
    - tag:value
  links:
    - name: shopping-cart runbook
      type: runbook
      url: https://runbook/shopping-cart
    - name: shopping-cart architecture
      provider: gdoc
      url: https://google.drive/shopping-cart-architecture
      type: doc
    - name: shopping-cart Wiki
      provider: wiki
      url: https://wiki/shopping-cart
      type: doc
    - name: shopping-cart source code
      provider: github
      url: http://github/shopping-cart
      type: repo
  contacts:
    - name: Support Email
      type: email
      contact: team@shopping.com
    - name: Support Slack
      type: slack
      contact: https://www.slack.com/archives/shopping-cart
  owner: myteam
  additionalOwners:
    - name: opsTeam
      type: operator
integrations:
  pagerduty:
    serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
  opsgenie:
    serviceURL: https://www.opsgenie.com/service/shopping-cart
    region: US
extensions:
  datadoghq.com/shopping-cart:
    customField: customValue
spec:
  lifecycle: production
  tier: "1"
  type: web
  languages:
    - go
    - python
  dependsOn:
    - service:serviceA
    - service:serviceB
datadog:
  performanceData:
    tags:
      - 'service:shopping-cart'
      - 'hostname:shopping-cart'
  events:
    - name: "deployment events"
      query: "app:myapp AND type:github"
    - name: "event type B"
      query: "app:myapp AND type:github"
  logs:
    - name: "critical logs"
      query: "app:myapp AND type:github"
    - name: "ops logs"
      query: "app:myapp AND type:github"
  pipelines:
    fingerprints:
      - fp1
      - fp2
  codeLocations:
    - repositoryURL: http://github/shopping-cart.git
      paths:
        - baz/*.c
        - bat/**/*
        - ../plop/*.java
    - repositoryURL: http://github/shopping-cart-2.git
      paths:
        - baz/*.c
        - bat/**/*
        - ../plop/*.java
`});
// v3 datastore entity 
const datastoreV3 = new datadog.SoftwareCatalog("datastore_v3", {entity: `apiVersion: v3
kind: datastore
metadata:
  name: shopping-cart-db
  tags:
    - tag:value
  links:
    - name: shopping-cart-db runbook
      type: runbook
      url: https://runbook/shopping-cart
  contacts:
    - name: Support Email
      type: email
      contact: team@shopping.com
    - name: Support Slack
      type: slack
      contact: https://www.slack.com/archives/shopping-cart
  owner: myteam
  additionalOwners:
    - name: opsTeam
      type: operator
integrations:
  pagerduty:
    serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
  opsgenie:
    serviceURL: https://www.opsgenie.com/service/shopping-cart
    region: US
extensions:
  datadoghq.com/shopping-cart-db:
    customField: customValue
spec:
  lifecycle: production
  tier: "1"
  type: "postgres"
datadog:
  performanceData:
    tags: ['tag:random']
`});
// v3 queue entity 
const queueV3 = new datadog.SoftwareCatalog("queue_v3", {entity: `apiVersion: v3
kind: queue
metadata:
  name: order-queue
  tags:
    - tag:value
  links:
    - name: order-queue runbook
      type: runbook
      url: https://runbook/order-queue
  contacts:
    - name: Support Email
      type: email
      contact: team@shopping.com
    - name: Support Slack
      type: slack
      contact: https://www.slack.com/archives/shopping-cart
  owner: myteam
  additionalOwners:
    - name: opsTeam
      type: operator
integrations:
  pagerduty:
    serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
  opsgenie:
    serviceURL: https://www.opsgenie.com/service/shopping-cart
    region: US
extensions:
  datadoghq.com/order-queue:
    customField: customValue
spec:
  lifecycle: production
  tier: "1"
  type: kafka
datadog:
  performanceData:
    tags: ['tag:random']
`});
// v3 system entity 
const systemV3 = new datadog.SoftwareCatalog("system_v3", {entity: `apiVersion: v3
kind: system
metadata:
  name: shopping-system
  displayName: Shopping System
  tags:
    - tag:value
  links:
    - name: shopping-system runbook
      type: runbook
      url: https://runbook/shopping-system
  contacts:
    - name: Support Email
      type: email
      contact: team@shopping.com
    - name: Support Slack
      type: slack
      contact: https://www.slack.com/archives/shopping-cart
  owner: myteam
  additionalOwners:
    - name: opsTeam
      type: operator
integrations:
  pagerduty:
    serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
  opsgenie:
    serviceURL: https://www.opsgenie.com/service/shopping-cart
    region: US
spec:
  components:
    - service:shopping-cart
    - queue:order-queue
    - database:shopping-cart-db
extensions:
  datadoghq.com/shopping-system:
    customField: customValue
datadog:
  events:
    - name: "deployment events"
      query: "app:myapp AND type:github"
    - name: "event type B"
      query: "app:myapp AND type:github"
  logs:
    - name: "critical logs"
      query: "app:myapp AND type:github"
    - name: "ops logs"
      query: "app:myapp AND type:github"
`});
import pulumi
import pulumi_datadog as datadog
# v3 service entity 
service_v3 = datadog.SoftwareCatalog("service_v3", entity="""apiVersion: v3
kind: service
metadata:
  name: shopping-cart
  displayName: Shopping Cart
  inheritFrom: service:otherService
  tags:
    - tag:value
  links:
    - name: shopping-cart runbook
      type: runbook
      url: https://runbook/shopping-cart
    - name: shopping-cart architecture
      provider: gdoc
      url: https://google.drive/shopping-cart-architecture
      type: doc
    - name: shopping-cart Wiki
      provider: wiki
      url: https://wiki/shopping-cart
      type: doc
    - name: shopping-cart source code
      provider: github
      url: http://github/shopping-cart
      type: repo
  contacts:
    - name: Support Email
      type: email
      contact: team@shopping.com
    - name: Support Slack
      type: slack
      contact: https://www.slack.com/archives/shopping-cart
  owner: myteam
  additionalOwners:
    - name: opsTeam
      type: operator
integrations:
  pagerduty:
    serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
  opsgenie:
    serviceURL: https://www.opsgenie.com/service/shopping-cart
    region: US
extensions:
  datadoghq.com/shopping-cart:
    customField: customValue
spec:
  lifecycle: production
  tier: "1"
  type: web
  languages:
    - go
    - python
  dependsOn:
    - service:serviceA
    - service:serviceB
datadog:
  performanceData:
    tags:
      - 'service:shopping-cart'
      - 'hostname:shopping-cart'
  events:
    - name: "deployment events"
      query: "app:myapp AND type:github"
    - name: "event type B"
      query: "app:myapp AND type:github"
  logs:
    - name: "critical logs"
      query: "app:myapp AND type:github"
    - name: "ops logs"
      query: "app:myapp AND type:github"
  pipelines:
    fingerprints:
      - fp1
      - fp2
  codeLocations:
    - repositoryURL: http://github/shopping-cart.git
      paths:
        - baz/*.c
        - bat/**/*
        - ../plop/*.java
    - repositoryURL: http://github/shopping-cart-2.git
      paths:
        - baz/*.c
        - bat/**/*
        - ../plop/*.java
""")
# v3 datastore entity 
datastore_v3 = datadog.SoftwareCatalog("datastore_v3", entity="""apiVersion: v3
kind: datastore
metadata:
  name: shopping-cart-db
  tags:
    - tag:value
  links:
    - name: shopping-cart-db runbook
      type: runbook
      url: https://runbook/shopping-cart
  contacts:
    - name: Support Email
      type: email
      contact: team@shopping.com
    - name: Support Slack
      type: slack
      contact: https://www.slack.com/archives/shopping-cart
  owner: myteam
  additionalOwners:
    - name: opsTeam
      type: operator
integrations:
  pagerduty:
    serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
  opsgenie:
    serviceURL: https://www.opsgenie.com/service/shopping-cart
    region: US
extensions:
  datadoghq.com/shopping-cart-db:
    customField: customValue
spec:
  lifecycle: production
  tier: "1"
  type: "postgres"
datadog:
  performanceData:
    tags: ['tag:random']
""")
# v3 queue entity 
queue_v3 = datadog.SoftwareCatalog("queue_v3", entity="""apiVersion: v3
kind: queue
metadata:
  name: order-queue
  tags:
    - tag:value
  links:
    - name: order-queue runbook
      type: runbook
      url: https://runbook/order-queue
  contacts:
    - name: Support Email
      type: email
      contact: team@shopping.com
    - name: Support Slack
      type: slack
      contact: https://www.slack.com/archives/shopping-cart
  owner: myteam
  additionalOwners:
    - name: opsTeam
      type: operator
integrations:
  pagerduty:
    serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
  opsgenie:
    serviceURL: https://www.opsgenie.com/service/shopping-cart
    region: US
extensions:
  datadoghq.com/order-queue:
    customField: customValue
spec:
  lifecycle: production
  tier: "1"
  type: kafka
datadog:
  performanceData:
    tags: ['tag:random']
""")
# v3 system entity 
system_v3 = datadog.SoftwareCatalog("system_v3", entity="""apiVersion: v3
kind: system
metadata:
  name: shopping-system
  displayName: Shopping System
  tags:
    - tag:value
  links:
    - name: shopping-system runbook
      type: runbook
      url: https://runbook/shopping-system
  contacts:
    - name: Support Email
      type: email
      contact: team@shopping.com
    - name: Support Slack
      type: slack
      contact: https://www.slack.com/archives/shopping-cart
  owner: myteam
  additionalOwners:
    - name: opsTeam
      type: operator
integrations:
  pagerduty:
    serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
  opsgenie:
    serviceURL: https://www.opsgenie.com/service/shopping-cart
    region: US
spec:
  components:
    - service:shopping-cart
    - queue:order-queue
    - database:shopping-cart-db
extensions:
  datadoghq.com/shopping-system:
    customField: customValue
datadog:
  events:
    - name: "deployment events"
      query: "app:myapp AND type:github"
    - name: "event type B"
      query: "app:myapp AND type:github"
  logs:
    - name: "critical logs"
      query: "app:myapp AND type:github"
    - name: "ops logs"
      query: "app:myapp AND type:github"
""")
package main
import (
	"github.com/pulumi/pulumi-datadog/sdk/v4/go/datadog"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		// v3 service entity
		_, err := datadog.NewSoftwareCatalog(ctx, "service_v3", &datadog.SoftwareCatalogArgs{
			Entity: pulumi.String(`apiVersion: v3
kind: service
metadata:
  name: shopping-cart
  displayName: Shopping Cart
  inheritFrom: service:otherService
  tags:
    - tag:value
  links:
    - name: shopping-cart runbook
      type: runbook
      url: https://runbook/shopping-cart
    - name: shopping-cart architecture
      provider: gdoc
      url: https://google.drive/shopping-cart-architecture
      type: doc
    - name: shopping-cart Wiki
      provider: wiki
      url: https://wiki/shopping-cart
      type: doc
    - name: shopping-cart source code
      provider: github
      url: http://github/shopping-cart
      type: repo
  contacts:
    - name: Support Email
      type: email
      contact: team@shopping.com
    - name: Support Slack
      type: slack
      contact: https://www.slack.com/archives/shopping-cart
  owner: myteam
  additionalOwners:
    - name: opsTeam
      type: operator
integrations:
  pagerduty:
    serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
  opsgenie:
    serviceURL: https://www.opsgenie.com/service/shopping-cart
    region: US
extensions:
  datadoghq.com/shopping-cart:
    customField: customValue
spec:
  lifecycle: production
  tier: "1"
  type: web
  languages:
    - go
    - python
  dependsOn:
    - service:serviceA
    - service:serviceB
datadog:
  performanceData:
    tags:
      - 'service:shopping-cart'
      - 'hostname:shopping-cart'
  events:
    - name: "deployment events"
      query: "app:myapp AND type:github"
    - name: "event type B"
      query: "app:myapp AND type:github"
  logs:
    - name: "critical logs"
      query: "app:myapp AND type:github"
    - name: "ops logs"
      query: "app:myapp AND type:github"
  pipelines:
    fingerprints:
      - fp1
      - fp2
  codeLocations:
    - repositoryURL: http://github/shopping-cart.git
      paths:
        - baz/*.c
        - bat/**/*
        - ../plop/*.java
    - repositoryURL: http://github/shopping-cart-2.git
      paths:
        - baz/*.c
        - bat/**/*
        - ../plop/*.java
`),
		})
		if err != nil {
			return err
		}
		// v3 datastore entity
		_, err = datadog.NewSoftwareCatalog(ctx, "datastore_v3", &datadog.SoftwareCatalogArgs{
			Entity: pulumi.String(`apiVersion: v3
kind: datastore
metadata:
  name: shopping-cart-db
  tags:
    - tag:value
  links:
    - name: shopping-cart-db runbook
      type: runbook
      url: https://runbook/shopping-cart
  contacts:
    - name: Support Email
      type: email
      contact: team@shopping.com
    - name: Support Slack
      type: slack
      contact: https://www.slack.com/archives/shopping-cart
  owner: myteam
  additionalOwners:
    - name: opsTeam
      type: operator
integrations:
  pagerduty:
    serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
  opsgenie:
    serviceURL: https://www.opsgenie.com/service/shopping-cart
    region: US
extensions:
  datadoghq.com/shopping-cart-db:
    customField: customValue
spec:
  lifecycle: production
  tier: "1"
  type: "postgres"
datadog:
  performanceData:
    tags: ['tag:random']
`),
		})
		if err != nil {
			return err
		}
		// v3 queue entity
		_, err = datadog.NewSoftwareCatalog(ctx, "queue_v3", &datadog.SoftwareCatalogArgs{
			Entity: pulumi.String(`apiVersion: v3
kind: queue
metadata:
  name: order-queue
  tags:
    - tag:value
  links:
    - name: order-queue runbook
      type: runbook
      url: https://runbook/order-queue
  contacts:
    - name: Support Email
      type: email
      contact: team@shopping.com
    - name: Support Slack
      type: slack
      contact: https://www.slack.com/archives/shopping-cart
  owner: myteam
  additionalOwners:
    - name: opsTeam
      type: operator
integrations:
  pagerduty:
    serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
  opsgenie:
    serviceURL: https://www.opsgenie.com/service/shopping-cart
    region: US
extensions:
  datadoghq.com/order-queue:
    customField: customValue
spec:
  lifecycle: production
  tier: "1"
  type: kafka
datadog:
  performanceData:
    tags: ['tag:random']
`),
		})
		if err != nil {
			return err
		}
		// v3 system entity
		_, err = datadog.NewSoftwareCatalog(ctx, "system_v3", &datadog.SoftwareCatalogArgs{
			Entity: pulumi.String(`apiVersion: v3
kind: system
metadata:
  name: shopping-system
  displayName: Shopping System
  tags:
    - tag:value
  links:
    - name: shopping-system runbook
      type: runbook
      url: https://runbook/shopping-system
  contacts:
    - name: Support Email
      type: email
      contact: team@shopping.com
    - name: Support Slack
      type: slack
      contact: https://www.slack.com/archives/shopping-cart
  owner: myteam
  additionalOwners:
    - name: opsTeam
      type: operator
integrations:
  pagerduty:
    serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
  opsgenie:
    serviceURL: https://www.opsgenie.com/service/shopping-cart
    region: US
spec:
  components:
    - service:shopping-cart
    - queue:order-queue
    - database:shopping-cart-db
extensions:
  datadoghq.com/shopping-system:
    customField: customValue
datadog:
  events:
    - name: "deployment events"
      query: "app:myapp AND type:github"
    - name: "event type B"
      query: "app:myapp AND type:github"
  logs:
    - name: "critical logs"
      query: "app:myapp AND type:github"
    - name: "ops logs"
      query: "app:myapp AND type:github"
`),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Datadog = Pulumi.Datadog;
return await Deployment.RunAsync(() => 
{
    // v3 service entity 
    var serviceV3 = new Datadog.SoftwareCatalog("service_v3", new()
    {
        Entity = @"apiVersion: v3
kind: service
metadata:
  name: shopping-cart
  displayName: Shopping Cart
  inheritFrom: service:otherService
  tags:
    - tag:value
  links:
    - name: shopping-cart runbook
      type: runbook
      url: https://runbook/shopping-cart
    - name: shopping-cart architecture
      provider: gdoc
      url: https://google.drive/shopping-cart-architecture
      type: doc
    - name: shopping-cart Wiki
      provider: wiki
      url: https://wiki/shopping-cart
      type: doc
    - name: shopping-cart source code
      provider: github
      url: http://github/shopping-cart
      type: repo
  contacts:
    - name: Support Email
      type: email
      contact: team@shopping.com
    - name: Support Slack
      type: slack
      contact: https://www.slack.com/archives/shopping-cart
  owner: myteam
  additionalOwners:
    - name: opsTeam
      type: operator
integrations:
  pagerduty:
    serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
  opsgenie:
    serviceURL: https://www.opsgenie.com/service/shopping-cart
    region: US
extensions:
  datadoghq.com/shopping-cart:
    customField: customValue
spec:
  lifecycle: production
  tier: ""1""
  type: web
  languages:
    - go
    - python
  dependsOn:
    - service:serviceA
    - service:serviceB
datadog:
  performanceData:
    tags:
      - 'service:shopping-cart'
      - 'hostname:shopping-cart'
  events:
    - name: ""deployment events""
      query: ""app:myapp AND type:github""
    - name: ""event type B""
      query: ""app:myapp AND type:github""
  logs:
    - name: ""critical logs""
      query: ""app:myapp AND type:github""
    - name: ""ops logs""
      query: ""app:myapp AND type:github""
  pipelines:
    fingerprints:
      - fp1
      - fp2
  codeLocations:
    - repositoryURL: http://github/shopping-cart.git
      paths:
        - baz/*.c
        - bat/**/*
        - ../plop/*.java
    - repositoryURL: http://github/shopping-cart-2.git
      paths:
        - baz/*.c
        - bat/**/*
        - ../plop/*.java
",
    });
    // v3 datastore entity 
    var datastoreV3 = new Datadog.SoftwareCatalog("datastore_v3", new()
    {
        Entity = @"apiVersion: v3
kind: datastore
metadata:
  name: shopping-cart-db
  tags:
    - tag:value
  links:
    - name: shopping-cart-db runbook
      type: runbook
      url: https://runbook/shopping-cart
  contacts:
    - name: Support Email
      type: email
      contact: team@shopping.com
    - name: Support Slack
      type: slack
      contact: https://www.slack.com/archives/shopping-cart
  owner: myteam
  additionalOwners:
    - name: opsTeam
      type: operator
integrations:
  pagerduty:
    serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
  opsgenie:
    serviceURL: https://www.opsgenie.com/service/shopping-cart
    region: US
extensions:
  datadoghq.com/shopping-cart-db:
    customField: customValue
spec:
  lifecycle: production
  tier: ""1""
  type: ""postgres""
datadog:
  performanceData:
    tags: ['tag:random']
",
    });
    // v3 queue entity 
    var queueV3 = new Datadog.SoftwareCatalog("queue_v3", new()
    {
        Entity = @"apiVersion: v3
kind: queue
metadata:
  name: order-queue
  tags:
    - tag:value
  links:
    - name: order-queue runbook
      type: runbook
      url: https://runbook/order-queue
  contacts:
    - name: Support Email
      type: email
      contact: team@shopping.com
    - name: Support Slack
      type: slack
      contact: https://www.slack.com/archives/shopping-cart
  owner: myteam
  additionalOwners:
    - name: opsTeam
      type: operator
integrations:
  pagerduty:
    serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
  opsgenie:
    serviceURL: https://www.opsgenie.com/service/shopping-cart
    region: US
extensions:
  datadoghq.com/order-queue:
    customField: customValue
spec:
  lifecycle: production
  tier: ""1""
  type: kafka
datadog:
  performanceData:
    tags: ['tag:random']
",
    });
    // v3 system entity 
    var systemV3 = new Datadog.SoftwareCatalog("system_v3", new()
    {
        Entity = @"apiVersion: v3
kind: system
metadata:
  name: shopping-system
  displayName: Shopping System
  tags:
    - tag:value
  links:
    - name: shopping-system runbook
      type: runbook
      url: https://runbook/shopping-system
  contacts:
    - name: Support Email
      type: email
      contact: team@shopping.com
    - name: Support Slack
      type: slack
      contact: https://www.slack.com/archives/shopping-cart
  owner: myteam
  additionalOwners:
    - name: opsTeam
      type: operator
integrations:
  pagerduty:
    serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
  opsgenie:
    serviceURL: https://www.opsgenie.com/service/shopping-cart
    region: US
spec:
  components:
    - service:shopping-cart
    - queue:order-queue
    - database:shopping-cart-db
extensions:
  datadoghq.com/shopping-system:
    customField: customValue
datadog:
  events:
    - name: ""deployment events""
      query: ""app:myapp AND type:github""
    - name: ""event type B""
      query: ""app:myapp AND type:github""
  logs:
    - name: ""critical logs""
      query: ""app:myapp AND type:github""
    - name: ""ops logs""
      query: ""app:myapp AND type:github""
",
    });
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.datadog.SoftwareCatalog;
import com.pulumi.datadog.SoftwareCatalogArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }
    public static void stack(Context ctx) {
        // v3 service entity 
        var serviceV3 = new SoftwareCatalog("serviceV3", SoftwareCatalogArgs.builder()
            .entity("""
apiVersion: v3
kind: service
metadata:
  name: shopping-cart
  displayName: Shopping Cart
  inheritFrom: service:otherService
  tags:
    - tag:value
  links:
    - name: shopping-cart runbook
      type: runbook
      url: https://runbook/shopping-cart
    - name: shopping-cart architecture
      provider: gdoc
      url: https://google.drive/shopping-cart-architecture
      type: doc
    - name: shopping-cart Wiki
      provider: wiki
      url: https://wiki/shopping-cart
      type: doc
    - name: shopping-cart source code
      provider: github
      url: http://github/shopping-cart
      type: repo
  contacts:
    - name: Support Email
      type: email
      contact: team@shopping.com
    - name: Support Slack
      type: slack
      contact: https://www.slack.com/archives/shopping-cart
  owner: myteam
  additionalOwners:
    - name: opsTeam
      type: operator
integrations:
  pagerduty:
    serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
  opsgenie:
    serviceURL: https://www.opsgenie.com/service/shopping-cart
    region: US
extensions:
  datadoghq.com/shopping-cart:
    customField: customValue
spec:
  lifecycle: production
  tier: "1"
  type: web
  languages:
    - go
    - python
  dependsOn:
    - service:serviceA
    - service:serviceB
datadog:
  performanceData:
    tags:
      - 'service:shopping-cart'
      - 'hostname:shopping-cart'
  events:
    - name: "deployment events"
      query: "app:myapp AND type:github"
    - name: "event type B"
      query: "app:myapp AND type:github"
  logs:
    - name: "critical logs"
      query: "app:myapp AND type:github"
    - name: "ops logs"
      query: "app:myapp AND type:github"
  pipelines:
    fingerprints:
      - fp1
      - fp2
  codeLocations:
    - repositoryURL: http://github/shopping-cart.git
      paths:
        - baz/*.c
        - bat/**/*
        - ../plop/*.java
    - repositoryURL: http://github/shopping-cart-2.git
      paths:
        - baz/*.c
        - bat/**/*
        - ../plop/*.java
            """)
            .build());
        // v3 datastore entity 
        var datastoreV3 = new SoftwareCatalog("datastoreV3", SoftwareCatalogArgs.builder()
            .entity("""
apiVersion: v3
kind: datastore
metadata:
  name: shopping-cart-db
  tags:
    - tag:value
  links:
    - name: shopping-cart-db runbook
      type: runbook
      url: https://runbook/shopping-cart
  contacts:
    - name: Support Email
      type: email
      contact: team@shopping.com
    - name: Support Slack
      type: slack
      contact: https://www.slack.com/archives/shopping-cart
  owner: myteam
  additionalOwners:
    - name: opsTeam
      type: operator
integrations:
  pagerduty:
    serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
  opsgenie:
    serviceURL: https://www.opsgenie.com/service/shopping-cart
    region: US
extensions:
  datadoghq.com/shopping-cart-db:
    customField: customValue
spec:
  lifecycle: production
  tier: "1"
  type: "postgres"
datadog:
  performanceData:
    tags: ['tag:random']
            """)
            .build());
        // v3 queue entity 
        var queueV3 = new SoftwareCatalog("queueV3", SoftwareCatalogArgs.builder()
            .entity("""
apiVersion: v3
kind: queue
metadata:
  name: order-queue
  tags:
    - tag:value
  links:
    - name: order-queue runbook
      type: runbook
      url: https://runbook/order-queue
  contacts:
    - name: Support Email
      type: email
      contact: team@shopping.com
    - name: Support Slack
      type: slack
      contact: https://www.slack.com/archives/shopping-cart
  owner: myteam
  additionalOwners:
    - name: opsTeam
      type: operator
integrations:
  pagerduty:
    serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
  opsgenie:
    serviceURL: https://www.opsgenie.com/service/shopping-cart
    region: US
extensions:
  datadoghq.com/order-queue:
    customField: customValue
spec:
  lifecycle: production
  tier: "1"
  type: kafka
datadog:
  performanceData:
    tags: ['tag:random']
            """)
            .build());
        // v3 system entity 
        var systemV3 = new SoftwareCatalog("systemV3", SoftwareCatalogArgs.builder()
            .entity("""
apiVersion: v3
kind: system
metadata:
  name: shopping-system
  displayName: Shopping System
  tags:
    - tag:value
  links:
    - name: shopping-system runbook
      type: runbook
      url: https://runbook/shopping-system
  contacts:
    - name: Support Email
      type: email
      contact: team@shopping.com
    - name: Support Slack
      type: slack
      contact: https://www.slack.com/archives/shopping-cart
  owner: myteam
  additionalOwners:
    - name: opsTeam
      type: operator
integrations:
  pagerduty:
    serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
  opsgenie:
    serviceURL: https://www.opsgenie.com/service/shopping-cart
    region: US
spec:
  components:
    - service:shopping-cart
    - queue:order-queue
    - database:shopping-cart-db
extensions:
  datadoghq.com/shopping-system:
    customField: customValue
datadog:
  events:
    - name: "deployment events"
      query: "app:myapp AND type:github"
    - name: "event type B"
      query: "app:myapp AND type:github"
  logs:
    - name: "critical logs"
      query: "app:myapp AND type:github"
    - name: "ops logs"
      query: "app:myapp AND type:github"
            """)
            .build());
    }
}
resources:
  # v3 service entity
  serviceV3:
    type: datadog:SoftwareCatalog
    name: service_v3
    properties:
      entity: |
        apiVersion: v3
        kind: service
        metadata:
          name: shopping-cart
          displayName: Shopping Cart
          inheritFrom: service:otherService
          tags:
            - tag:value
          links:
            - name: shopping-cart runbook
              type: runbook
              url: https://runbook/shopping-cart
            - name: shopping-cart architecture
              provider: gdoc
              url: https://google.drive/shopping-cart-architecture
              type: doc
            - name: shopping-cart Wiki
              provider: wiki
              url: https://wiki/shopping-cart
              type: doc
            - name: shopping-cart source code
              provider: github
              url: http://github/shopping-cart
              type: repo
          contacts:
            - name: Support Email
              type: email
              contact: team@shopping.com
            - name: Support Slack
              type: slack
              contact: https://www.slack.com/archives/shopping-cart
          owner: myteam
          additionalOwners:
            - name: opsTeam
              type: operator
        integrations:
          pagerduty:
            serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
          opsgenie:
            serviceURL: https://www.opsgenie.com/service/shopping-cart
            region: US
        extensions:
          datadoghq.com/shopping-cart:
            customField: customValue
        spec:
          lifecycle: production
          tier: "1"
          type: web
          languages:
            - go
            - python
          dependsOn:
            - service:serviceA
            - service:serviceB
        datadog:
          performanceData:
            tags:
              - 'service:shopping-cart'
              - 'hostname:shopping-cart'
          events:
            - name: "deployment events"
              query: "app:myapp AND type:github"
            - name: "event type B"
              query: "app:myapp AND type:github"
          logs:
            - name: "critical logs"
              query: "app:myapp AND type:github"
            - name: "ops logs"
              query: "app:myapp AND type:github"
          pipelines:
            fingerprints:
              - fp1
              - fp2
          codeLocations:
            - repositoryURL: http://github/shopping-cart.git
              paths:
                - baz/*.c
                - bat/**/*
                - ../plop/*.java
            - repositoryURL: http://github/shopping-cart-2.git
              paths:
                - baz/*.c
                - bat/**/*
                - ../plop/*.java        
  # v3 datastore entity
  datastoreV3:
    type: datadog:SoftwareCatalog
    name: datastore_v3
    properties:
      entity: |
        apiVersion: v3
        kind: datastore
        metadata:
          name: shopping-cart-db
          tags:
            - tag:value
          links:
            - name: shopping-cart-db runbook
              type: runbook
              url: https://runbook/shopping-cart
          contacts:
            - name: Support Email
              type: email
              contact: team@shopping.com
            - name: Support Slack
              type: slack
              contact: https://www.slack.com/archives/shopping-cart
          owner: myteam
          additionalOwners:
            - name: opsTeam
              type: operator
        integrations:
          pagerduty:
            serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
          opsgenie:
            serviceURL: https://www.opsgenie.com/service/shopping-cart
            region: US
        extensions:
          datadoghq.com/shopping-cart-db:
            customField: customValue
        spec:
          lifecycle: production
          tier: "1"
          type: "postgres"
        datadog:
          performanceData:
            tags: ['tag:random']        
  # v3 queue entity
  queueV3:
    type: datadog:SoftwareCatalog
    name: queue_v3
    properties:
      entity: |
        apiVersion: v3
        kind: queue
        metadata:
          name: order-queue
          tags:
            - tag:value
          links:
            - name: order-queue runbook
              type: runbook
              url: https://runbook/order-queue
          contacts:
            - name: Support Email
              type: email
              contact: team@shopping.com
            - name: Support Slack
              type: slack
              contact: https://www.slack.com/archives/shopping-cart
          owner: myteam
          additionalOwners:
            - name: opsTeam
              type: operator
        integrations:
          pagerduty:
            serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
          opsgenie:
            serviceURL: https://www.opsgenie.com/service/shopping-cart
            region: US
        extensions:
          datadoghq.com/order-queue:
            customField: customValue
        spec:
          lifecycle: production
          tier: "1"
          type: kafka
        datadog:
          performanceData:
            tags: ['tag:random']        
  # v3 system entity
  systemV3:
    type: datadog:SoftwareCatalog
    name: system_v3
    properties:
      entity: |
        apiVersion: v3
        kind: system
        metadata:
          name: shopping-system
          displayName: Shopping System
          tags:
            - tag:value
          links:
            - name: shopping-system runbook
              type: runbook
              url: https://runbook/shopping-system
          contacts:
            - name: Support Email
              type: email
              contact: team@shopping.com
            - name: Support Slack
              type: slack
              contact: https://www.slack.com/archives/shopping-cart
          owner: myteam
          additionalOwners:
            - name: opsTeam
              type: operator
        integrations:
          pagerduty:
            serviceURL: https://www.pagerduty.com/service-directory/Pshopping-cart
          opsgenie:
            serviceURL: https://www.opsgenie.com/service/shopping-cart
            region: US
        spec:
          components:
            - service:shopping-cart
            - queue:order-queue
            - database:shopping-cart-db
        extensions:
          datadoghq.com/shopping-system:
            customField: customValue
        datadog:
          events:
            - name: "deployment events"
              query: "app:myapp AND type:github"
            - name: "event type B"
              query: "app:myapp AND type:github"
          logs:
            - name: "critical logs"
              query: "app:myapp AND type:github"
            - name: "ops logs"
              query: "app:myapp AND type:github"        
Create SoftwareCatalog Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new SoftwareCatalog(name: string, args: SoftwareCatalogArgs, opts?: CustomResourceOptions);@overload
def SoftwareCatalog(resource_name: str,
                    args: SoftwareCatalogArgs,
                    opts: Optional[ResourceOptions] = None)
@overload
def SoftwareCatalog(resource_name: str,
                    opts: Optional[ResourceOptions] = None,
                    entity: Optional[str] = None)func NewSoftwareCatalog(ctx *Context, name string, args SoftwareCatalogArgs, opts ...ResourceOption) (*SoftwareCatalog, error)public SoftwareCatalog(string name, SoftwareCatalogArgs args, CustomResourceOptions? opts = null)
public SoftwareCatalog(String name, SoftwareCatalogArgs args)
public SoftwareCatalog(String name, SoftwareCatalogArgs args, CustomResourceOptions options)
type: datadog:SoftwareCatalog
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
Parameters
- name string
- The unique name of the resource.
- args SoftwareCatalogArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args SoftwareCatalogArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args SoftwareCatalogArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args SoftwareCatalogArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args SoftwareCatalogArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var softwareCatalogResource = new Datadog.SoftwareCatalog("softwareCatalogResource", new()
{
    Entity = "string",
});
example, err := datadog.NewSoftwareCatalog(ctx, "softwareCatalogResource", &datadog.SoftwareCatalogArgs{
	Entity: pulumi.String("string"),
})
var softwareCatalogResource = new SoftwareCatalog("softwareCatalogResource", SoftwareCatalogArgs.builder()
    .entity("string")
    .build());
software_catalog_resource = datadog.SoftwareCatalog("softwareCatalogResource", entity="string")
const softwareCatalogResource = new datadog.SoftwareCatalog("softwareCatalogResource", {entity: "string"});
type: datadog:SoftwareCatalog
properties:
    entity: string
SoftwareCatalog Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The SoftwareCatalog resource accepts the following input properties:
- Entity string
- The catalog entity definition.
- Entity string
- The catalog entity definition.
- entity String
- The catalog entity definition.
- entity string
- The catalog entity definition.
- entity str
- The catalog entity definition.
- entity String
- The catalog entity definition.
Outputs
All input properties are implicitly available as output properties. Additionally, the SoftwareCatalog resource produces the following output properties:
- Id string
- The provider-assigned unique ID for this managed resource.
- Id string
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
- id string
- The provider-assigned unique ID for this managed resource.
- id str
- The provider-assigned unique ID for this managed resource.
- id String
- The provider-assigned unique ID for this managed resource.
Look up Existing SoftwareCatalog Resource
Get an existing SoftwareCatalog resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: SoftwareCatalogState, opts?: CustomResourceOptions): SoftwareCatalog@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        entity: Optional[str] = None) -> SoftwareCatalogfunc GetSoftwareCatalog(ctx *Context, name string, id IDInput, state *SoftwareCatalogState, opts ...ResourceOption) (*SoftwareCatalog, error)public static SoftwareCatalog Get(string name, Input<string> id, SoftwareCatalogState? state, CustomResourceOptions? opts = null)public static SoftwareCatalog get(String name, Output<String> id, SoftwareCatalogState state, CustomResourceOptions options)Resource lookup is not supported in YAML- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Entity string
- The catalog entity definition.
- Entity string
- The catalog entity definition.
- entity String
- The catalog entity definition.
- entity string
- The catalog entity definition.
- entity str
- The catalog entity definition.
- entity String
- The catalog entity definition.
Import
$ pulumi import datadog:index/softwareCatalog:SoftwareCatalog this <name>
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Datadog pulumi/pulumi-datadog
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the datadogTerraform Provider.