1. Packages
  2. Datadog Provider
  3. API Docs
  4. SoftwareCatalog
Datadog v4.34.0 published on Friday, Oct 4, 2024 by Pulumi

datadog.SoftwareCatalog

Explore with Pulumi AI

datadog logo
Datadog v4.34.0 published on Friday, Oct 4, 2024 by Pulumi

    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

    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) -> SoftwareCatalog
    func 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.
    The following state arguments are supported:
    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 datadog Terraform Provider.
    datadog logo
    Datadog v4.34.0 published on Friday, Oct 4, 2024 by Pulumi