1. Packages
  2. Packages
  3. Dynatrace
  4. API Docs
  5. HubExtensionV2Config
Viewing docs for Dynatrace v0.37.0
published on Tuesday, Jun 23, 2026 by Pulumiverse
dynatrace logo
Viewing docs for Dynatrace v0.37.0
published on Tuesday, Jun 23, 2026 by Pulumiverse

    This resource requires the OAuth scopes extensions:configurations:read and extensions:configurations:write

    This resource configures a monitoring configuration for the given extension with the specified version. Managing of configurations will fail if the extension has not yet gotten installed for the specified version.

    The value attribute differs depending on the Extension you want to configure. The expected format is JSON. We recommend to navigate via WebUI to the Dynatrace Hub and configure such an Extension there - the WebUI provides you with the correct JSON code to use.

    Note: Some extensions may reference IDs of other Dynatrace API resources (e.g. credentials, alerting profiles, and management zones) within the value attribute. This type of cross-resource reference is not automatically resolved or tracked by this provider, and we’re unable to provide guidance on fully configuring this resource or its dependencies in Terraform.

    Dynatrace Documentation

    • Extensions 2.0 - https://docs.dynatrace.com/docs/ingest-from/extensions

    Export Example Usage

    • terraform-provider-dynatrace -export dynatrace.HubExtensionV2Config downloads the settings for all configured Extensions 2.0

    The full documentation of the export feature is available here.

    Resource Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as dynatrace from "@pulumiverse/dynatrace";
    
    const hosts = dynatrace.getEntities({
        type: "HOST",
    });
    const comDynatraceExtensionJmx_weblogic_cp = new dynatrace.HubExtensionV2Config("com_dynatrace_extension_jmx-weblogic-cp", {
        name: "com.dynatrace.extension.jmx-weblogic-cp",
        scope: hosts.then(hosts => hosts.entities?.[0]?.entityId),
        value: JSON.stringify({
            activationContext: "LOCAL",
            activationTags: [],
            enabled: true,
            description: "my description",
            version: "2.1.1",
            featureSets: [
                "cache",
                "connections",
                "capacity",
            ],
        }),
    });
    
    import pulumi
    import json
    import pulumi_dynatrace as dynatrace
    import pulumiverse_dynatrace as dynatrace
    
    hosts = dynatrace.get_entities(type="HOST")
    com_dynatrace_extension_jmx_weblogic_cp = dynatrace.HubExtensionV2Config("com_dynatrace_extension_jmx-weblogic-cp",
        name="com.dynatrace.extension.jmx-weblogic-cp",
        scope=hosts.entities[0].entity_id,
        value=json.dumps({
            "activationContext": "LOCAL",
            "activationTags": [],
            "enabled": True,
            "description": "my description",
            "version": "2.1.1",
            "featureSets": [
                "cache",
                "connections",
                "capacity",
            ],
        }))
    
    package main
    
    import (
    	"encoding/json"
    
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-dynatrace/sdk/go/dynatrace"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		hosts, err := dynatrace.GetEntities(ctx, &dynatrace.GetEntitiesArgs{
    			Type: pulumi.StringRef("HOST"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		tmpJSON0, err := json.Marshal(map[string]interface{}{
    			"activationContext": "LOCAL",
    			"activationTags":    []interface{}{},
    			"enabled":           true,
    			"description":       "my description",
    			"version":           "2.1.1",
    			"featureSets": []string{
    				"cache",
    				"connections",
    				"capacity",
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json0 := string(tmpJSON0)
    		_, err = dynatrace.NewHubExtensionV2Config(ctx, "com_dynatrace_extension_jmx-weblogic-cp", &dynatrace.HubExtensionV2ConfigArgs{
    			Name:  pulumi.String("com.dynatrace.extension.jmx-weblogic-cp"),
    			Scope: pulumi.String(hosts.Entities[0].EntityId),
    			Value: pulumi.String(json0),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using System.Text.Json;
    using Pulumi;
    using Dynatrace = Pulumiverse.Dynatrace;
    
    return await Deployment.RunAsync(() => 
    {
        var hosts = Dynatrace.GetEntities.Invoke(new()
        {
            Type = "HOST",
        });
    
        var comDynatraceExtensionJmx_weblogic_cp = new Dynatrace.HubExtensionV2Config("com_dynatrace_extension_jmx-weblogic-cp", new()
        {
            Name = "com.dynatrace.extension.jmx-weblogic-cp",
            Scope = hosts.Apply(getEntitiesResult => getEntitiesResult.Entities[0]?.EntityId),
            Value = JsonSerializer.Serialize(new Dictionary<string, object?>
            {
                ["activationContext"] = "LOCAL",
                ["activationTags"] = new[]
                {
                },
                ["enabled"] = true,
                ["description"] = "my description",
                ["version"] = "2.1.1",
                ["featureSets"] = new[]
                {
                    "cache",
                    "connections",
                    "capacity",
                },
            }),
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.dynatrace.DynatraceFunctions;
    import com.pulumi.dynatrace.inputs.GetEntitiesArgs;
    import com.pulumi.dynatrace.HubExtensionV2Config;
    import com.pulumi.dynatrace.HubExtensionV2ConfigArgs;
    import static com.pulumi.codegen.internal.Serialization.*;
    import java.util.ArrayList;
    import java.util.Arrays;
    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) {
            final var hosts = DynatraceFunctions.getEntities(GetEntitiesArgs.builder()
                .type("HOST")
                .build());
    
            var comDynatraceExtensionJmx_weblogic_cp = new HubExtensionV2Config("comDynatraceExtensionJmx-weblogic-cp", HubExtensionV2ConfigArgs.builder()
                .name("com.dynatrace.extension.jmx-weblogic-cp")
                .scope(hosts.entities()[0].entityId())
                .value(serializeJson(
                    jsonObject(
                        jsonProperty("activationContext", "LOCAL"),
                        jsonProperty("activationTags", jsonArray(
                        )),
                        jsonProperty("enabled", true),
                        jsonProperty("description", "my description"),
                        jsonProperty("version", "2.1.1"),
                        jsonProperty("featureSets", jsonArray(
                            "cache", 
                            "connections", 
                            "capacity"
                        ))
                    )))
                .build());
    
        }
    }
    
    resources:
      comDynatraceExtensionJmx-weblogic-cp:
        type: dynatrace:HubExtensionV2Config
        name: com_dynatrace_extension_jmx-weblogic-cp
        properties:
          name: com.dynatrace.extension.jmx-weblogic-cp
          scope: ${hosts.entities[0].entityId}
          value:
            fn::toJSON:
              activationContext: LOCAL
              activationTags: []
              enabled: true
              description: my description
              version: 2.1.1
              featureSets:
                - cache
                - connections
                - capacity
    variables:
      hosts:
        fn::invoke:
          function: dynatrace:getEntities
          arguments:
            type: HOST
    
    pulumi {
      required_providers {
        dynatrace = {
          source = "pulumi/dynatrace"
        }
      }
    }
    
    data "dynatrace_getentities" "hosts" {
      type = "HOST"
    }
    
    resource "dynatrace_hubextensionv2config" "com_dynatrace_extension_jmx-weblogic-cp" {
      name  = "com.dynatrace.extension.jmx-weblogic-cp"
      scope = data.dynatrace_getentities.hosts.entities[0].entity_id
      value = jsonencode({
        "activationContext" = "LOCAL"
        "activationTags"    = []
        "enabled"           = true
        "description"       = "my description"
        "version"           = "2.1.1"
        "featureSets"       = ["cache", "connections", "capacity"]
      })
    }
    

    Create HubExtensionV2Config Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new HubExtensionV2Config(name: string, args: HubExtensionV2ConfigArgs, opts?: CustomResourceOptions);
    @overload
    def HubExtensionV2Config(resource_name: str,
                             args: HubExtensionV2ConfigArgs,
                             opts: Optional[ResourceOptions] = None)
    
    @overload
    def HubExtensionV2Config(resource_name: str,
                             opts: Optional[ResourceOptions] = None,
                             scope: Optional[str] = None,
                             value: Optional[str] = None,
                             name: Optional[str] = None)
    func NewHubExtensionV2Config(ctx *Context, name string, args HubExtensionV2ConfigArgs, opts ...ResourceOption) (*HubExtensionV2Config, error)
    public HubExtensionV2Config(string name, HubExtensionV2ConfigArgs args, CustomResourceOptions? opts = null)
    public HubExtensionV2Config(String name, HubExtensionV2ConfigArgs args)
    public HubExtensionV2Config(String name, HubExtensionV2ConfigArgs args, CustomResourceOptions options)
    
    type: dynatrace:HubExtensionV2Config
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "dynatrace_hubextensionv2config" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args HubExtensionV2ConfigArgs
    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 HubExtensionV2ConfigArgs
    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 HubExtensionV2ConfigArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args HubExtensionV2ConfigArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args HubExtensionV2ConfigArgs
    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 hubExtensionV2ConfigResource = new Dynatrace.HubExtensionV2Config("hubExtensionV2ConfigResource", new()
    {
        Scope = "string",
        Value = "string",
        Name = "string",
    });
    
    example, err := dynatrace.NewHubExtensionV2Config(ctx, "hubExtensionV2ConfigResource", &dynatrace.HubExtensionV2ConfigArgs{
    	Scope: pulumi.String("string"),
    	Value: pulumi.String("string"),
    	Name:  pulumi.String("string"),
    })
    
    resource "dynatrace_hubextensionv2config" "hubExtensionV2ConfigResource" {
      scope = "string"
      value = "string"
      name  = "string"
    }
    
    var hubExtensionV2ConfigResource = new HubExtensionV2Config("hubExtensionV2ConfigResource", HubExtensionV2ConfigArgs.builder()
        .scope("string")
        .value("string")
        .name("string")
        .build());
    
    hub_extension_v2_config_resource = dynatrace.HubExtensionV2Config("hubExtensionV2ConfigResource",
        scope="string",
        value="string",
        name="string")
    
    const hubExtensionV2ConfigResource = new dynatrace.HubExtensionV2Config("hubExtensionV2ConfigResource", {
        scope: "string",
        value: "string",
        name: "string",
    });
    
    type: dynatrace:HubExtensionV2Config
    properties:
        name: string
        scope: string
        value: string
    

    HubExtensionV2Config 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 HubExtensionV2Config resource accepts the following input properties:

    Scope string
    The scope this monitoring configuration will be defined for
    Value string
    The JSON encoded value for this monitoring configuration
    Name string
    The fully qualified name of the extension, such as com.dynatrace.extension.jmx-liberty-cp.
    Scope string
    The scope this monitoring configuration will be defined for
    Value string
    The JSON encoded value for this monitoring configuration
    Name string
    The fully qualified name of the extension, such as com.dynatrace.extension.jmx-liberty-cp.
    scope string
    The scope this monitoring configuration will be defined for
    value string
    The JSON encoded value for this monitoring configuration
    name string
    The fully qualified name of the extension, such as com.dynatrace.extension.jmx-liberty-cp.
    scope String
    The scope this monitoring configuration will be defined for
    value String
    The JSON encoded value for this monitoring configuration
    name String
    The fully qualified name of the extension, such as com.dynatrace.extension.jmx-liberty-cp.
    scope string
    The scope this monitoring configuration will be defined for
    value string
    The JSON encoded value for this monitoring configuration
    name string
    The fully qualified name of the extension, such as com.dynatrace.extension.jmx-liberty-cp.
    scope str
    The scope this monitoring configuration will be defined for
    value str
    The JSON encoded value for this monitoring configuration
    name str
    The fully qualified name of the extension, such as com.dynatrace.extension.jmx-liberty-cp.
    scope String
    The scope this monitoring configuration will be defined for
    value String
    The JSON encoded value for this monitoring configuration
    name String
    The fully qualified name of the extension, such as com.dynatrace.extension.jmx-liberty-cp.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the HubExtensionV2Config 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 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 HubExtensionV2Config Resource

    Get an existing HubExtensionV2Config 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?: HubExtensionV2ConfigState, opts?: CustomResourceOptions): HubExtensionV2Config
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            name: Optional[str] = None,
            scope: Optional[str] = None,
            value: Optional[str] = None) -> HubExtensionV2Config
    func GetHubExtensionV2Config(ctx *Context, name string, id IDInput, state *HubExtensionV2ConfigState, opts ...ResourceOption) (*HubExtensionV2Config, error)
    public static HubExtensionV2Config Get(string name, Input<string> id, HubExtensionV2ConfigState? state, CustomResourceOptions? opts = null)
    public static HubExtensionV2Config get(String name, Output<String> id, HubExtensionV2ConfigState state, CustomResourceOptions options)
    resources:  _:    type: dynatrace:HubExtensionV2Config    get:      id: ${id}
    import {
      to = dynatrace_hubextensionv2config.example
      id = "${id}"
    }
    
    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:
    Name string
    The fully qualified name of the extension, such as com.dynatrace.extension.jmx-liberty-cp.
    Scope string
    The scope this monitoring configuration will be defined for
    Value string
    The JSON encoded value for this monitoring configuration
    Name string
    The fully qualified name of the extension, such as com.dynatrace.extension.jmx-liberty-cp.
    Scope string
    The scope this monitoring configuration will be defined for
    Value string
    The JSON encoded value for this monitoring configuration
    name string
    The fully qualified name of the extension, such as com.dynatrace.extension.jmx-liberty-cp.
    scope string
    The scope this monitoring configuration will be defined for
    value string
    The JSON encoded value for this monitoring configuration
    name String
    The fully qualified name of the extension, such as com.dynatrace.extension.jmx-liberty-cp.
    scope String
    The scope this monitoring configuration will be defined for
    value String
    The JSON encoded value for this monitoring configuration
    name string
    The fully qualified name of the extension, such as com.dynatrace.extension.jmx-liberty-cp.
    scope string
    The scope this monitoring configuration will be defined for
    value string
    The JSON encoded value for this monitoring configuration
    name str
    The fully qualified name of the extension, such as com.dynatrace.extension.jmx-liberty-cp.
    scope str
    The scope this monitoring configuration will be defined for
    value str
    The JSON encoded value for this monitoring configuration
    name String
    The fully qualified name of the extension, such as com.dynatrace.extension.jmx-liberty-cp.
    scope String
    The scope this monitoring configuration will be defined for
    value String
    The JSON encoded value for this monitoring configuration

    Package Details

    Repository
    dynatrace pulumiverse/pulumi-dynatrace
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the dynatrace Terraform Provider.
    dynatrace logo
    Viewing docs for Dynatrace v0.37.0
    published on Tuesday, Jun 23, 2026 by Pulumiverse

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial