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) -> 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.
- 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.