1. Packages
  2. Harness Provider
  3. API Docs
  4. platform
  5. NotificationRule
Harness v0.4.4 published on Tuesday, Nov 12, 2024 by Pulumi

harness.platform.NotificationRule

Explore with Pulumi AI

harness logo
Harness v0.4.4 published on Tuesday, Nov 12, 2024 by Pulumi

    Resource for creating a Notification Rule.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as harness from "@pulumi/harness";
    
    // Sample resource for SLO
    const example = new harness.platform.NotificationRule("example", {
        orgId: "org_id",
        projectId: "project_id",
        identifier: "identifier",
        request: {
            name: "name",
            notificationMethod: {
                type: "Slack",
                spec: JSON.stringify({
                    webhook_url: "http://myslackwebhookurl.com",
                    user_groups: ["account.test"],
                }),
            },
            type: "ServiceLevelObjective",
            conditions: [
                {
                    type: "ErrorBudgetBurnRate",
                    spec: JSON.stringify({
                        threshold: 1,
                    }),
                },
                {
                    type: "ErrorBudgetRemainingPercentage",
                    spec: JSON.stringify({
                        threshold: 30,
                    }),
                },
                {
                    type: "ErrorBudgetRemainingMinutes",
                    spec: JSON.stringify({
                        threshold: 300,
                    }),
                },
            ],
        },
    });
    // Sample resource for Monitored Service
    const example1 = new harness.platform.NotificationRule("example1", {
        orgId: "org_id",
        projectId: "project_id",
        identifier: "identifier",
        request: {
            name: "name",
            notificationMethod: {
                type: "Slack",
                spec: JSON.stringify({
                    webhook_url: "http://myslackwebhookurl.com",
                    user_groups: ["account.test"],
                }),
            },
            type: "MonitoredService",
            conditions: [
                {
                    type: "ChangeImpact",
                    spec: JSON.stringify({
                        threshold: 33,
                        period: "30m",
                        changeCategories: [
                            "Deployment",
                            "Infrastructure",
                        ],
                    }),
                },
                {
                    type: "HealthScore",
                    spec: JSON.stringify({
                        threshold: 33,
                        period: "30m",
                    }),
                },
                {
                    type: "ChangeObserved",
                    spec: JSON.stringify({
                        changeCategories: [
                            "Deployment",
                            "Alert",
                            "ChaosExperiment",
                        ],
                    }),
                },
                {
                    type: "DeploymentImpactReport",
                    spec: JSON.stringify({}),
                },
            ],
        },
    });
    
    import pulumi
    import json
    import pulumi_harness as harness
    
    # Sample resource for SLO
    example = harness.platform.NotificationRule("example",
        org_id="org_id",
        project_id="project_id",
        identifier="identifier",
        request={
            "name": "name",
            "notification_method": {
                "type": "Slack",
                "spec": json.dumps({
                    "webhook_url": "http://myslackwebhookurl.com",
                    "user_groups": ["account.test"],
                }),
            },
            "type": "ServiceLevelObjective",
            "conditions": [
                {
                    "type": "ErrorBudgetBurnRate",
                    "spec": json.dumps({
                        "threshold": 1,
                    }),
                },
                {
                    "type": "ErrorBudgetRemainingPercentage",
                    "spec": json.dumps({
                        "threshold": 30,
                    }),
                },
                {
                    "type": "ErrorBudgetRemainingMinutes",
                    "spec": json.dumps({
                        "threshold": 300,
                    }),
                },
            ],
        })
    # Sample resource for Monitored Service
    example1 = harness.platform.NotificationRule("example1",
        org_id="org_id",
        project_id="project_id",
        identifier="identifier",
        request={
            "name": "name",
            "notification_method": {
                "type": "Slack",
                "spec": json.dumps({
                    "webhook_url": "http://myslackwebhookurl.com",
                    "user_groups": ["account.test"],
                }),
            },
            "type": "MonitoredService",
            "conditions": [
                {
                    "type": "ChangeImpact",
                    "spec": json.dumps({
                        "threshold": 33,
                        "period": "30m",
                        "changeCategories": [
                            "Deployment",
                            "Infrastructure",
                        ],
                    }),
                },
                {
                    "type": "HealthScore",
                    "spec": json.dumps({
                        "threshold": 33,
                        "period": "30m",
                    }),
                },
                {
                    "type": "ChangeObserved",
                    "spec": json.dumps({
                        "changeCategories": [
                            "Deployment",
                            "Alert",
                            "ChaosExperiment",
                        ],
                    }),
                },
                {
                    "type": "DeploymentImpactReport",
                    "spec": json.dumps({}),
                },
            ],
        })
    
    package main
    
    import (
    	"encoding/json"
    
    	"github.com/pulumi/pulumi-harness/sdk/go/harness/platform"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		tmpJSON0, err := json.Marshal(map[string]interface{}{
    			"webhook_url": "http://myslackwebhookurl.com",
    			"user_groups": []string{
    				"account.test",
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json0 := string(tmpJSON0)
    		tmpJSON1, err := json.Marshal(map[string]interface{}{
    			"threshold": 1,
    		})
    		if err != nil {
    			return err
    		}
    		json1 := string(tmpJSON1)
    		tmpJSON2, err := json.Marshal(map[string]interface{}{
    			"threshold": 30,
    		})
    		if err != nil {
    			return err
    		}
    		json2 := string(tmpJSON2)
    		tmpJSON3, err := json.Marshal(map[string]interface{}{
    			"threshold": 300,
    		})
    		if err != nil {
    			return err
    		}
    		json3 := string(tmpJSON3)
    		// Sample resource for SLO
    		_, err = platform.NewNotificationRule(ctx, "example", &platform.NotificationRuleArgs{
    			OrgId:      pulumi.String("org_id"),
    			ProjectId:  pulumi.String("project_id"),
    			Identifier: pulumi.String("identifier"),
    			Request: &platform.NotificationRuleRequestArgs{
    				Name: pulumi.String("name"),
    				NotificationMethod: &platform.NotificationRuleRequestNotificationMethodArgs{
    					Type: pulumi.String("Slack"),
    					Spec: pulumi.String(json0),
    				},
    				Type: pulumi.String("ServiceLevelObjective"),
    				Conditions: platform.NotificationRuleRequestConditionArray{
    					&platform.NotificationRuleRequestConditionArgs{
    						Type: pulumi.String("ErrorBudgetBurnRate"),
    						Spec: pulumi.String(json1),
    					},
    					&platform.NotificationRuleRequestConditionArgs{
    						Type: pulumi.String("ErrorBudgetRemainingPercentage"),
    						Spec: pulumi.String(json2),
    					},
    					&platform.NotificationRuleRequestConditionArgs{
    						Type: pulumi.String("ErrorBudgetRemainingMinutes"),
    						Spec: pulumi.String(json3),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		tmpJSON4, err := json.Marshal(map[string]interface{}{
    			"webhook_url": "http://myslackwebhookurl.com",
    			"user_groups": []string{
    				"account.test",
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json4 := string(tmpJSON4)
    		tmpJSON5, err := json.Marshal(map[string]interface{}{
    			"threshold": 33,
    			"period":    "30m",
    			"changeCategories": []string{
    				"Deployment",
    				"Infrastructure",
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json5 := string(tmpJSON5)
    		tmpJSON6, err := json.Marshal(map[string]interface{}{
    			"threshold": 33,
    			"period":    "30m",
    		})
    		if err != nil {
    			return err
    		}
    		json6 := string(tmpJSON6)
    		tmpJSON7, err := json.Marshal(map[string]interface{}{
    			"changeCategories": []string{
    				"Deployment",
    				"Alert",
    				"ChaosExperiment",
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json7 := string(tmpJSON7)
    		tmpJSON8, err := json.Marshal(map[string]interface{}{})
    		if err != nil {
    			return err
    		}
    		json8 := string(tmpJSON8)
    		// Sample resource for Monitored Service
    		_, err = platform.NewNotificationRule(ctx, "example1", &platform.NotificationRuleArgs{
    			OrgId:      pulumi.String("org_id"),
    			ProjectId:  pulumi.String("project_id"),
    			Identifier: pulumi.String("identifier"),
    			Request: &platform.NotificationRuleRequestArgs{
    				Name: pulumi.String("name"),
    				NotificationMethod: &platform.NotificationRuleRequestNotificationMethodArgs{
    					Type: pulumi.String("Slack"),
    					Spec: pulumi.String(json4),
    				},
    				Type: pulumi.String("MonitoredService"),
    				Conditions: platform.NotificationRuleRequestConditionArray{
    					&platform.NotificationRuleRequestConditionArgs{
    						Type: pulumi.String("ChangeImpact"),
    						Spec: pulumi.String(json5),
    					},
    					&platform.NotificationRuleRequestConditionArgs{
    						Type: pulumi.String("HealthScore"),
    						Spec: pulumi.String(json6),
    					},
    					&platform.NotificationRuleRequestConditionArgs{
    						Type: pulumi.String("ChangeObserved"),
    						Spec: pulumi.String(json7),
    					},
    					&platform.NotificationRuleRequestConditionArgs{
    						Type: pulumi.String("DeploymentImpactReport"),
    						Spec: pulumi.String(json8),
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using System.Text.Json;
    using Pulumi;
    using Harness = Pulumi.Harness;
    
    return await Deployment.RunAsync(() => 
    {
        // Sample resource for SLO
        var example = new Harness.Platform.NotificationRule("example", new()
        {
            OrgId = "org_id",
            ProjectId = "project_id",
            Identifier = "identifier",
            Request = new Harness.Platform.Inputs.NotificationRuleRequestArgs
            {
                Name = "name",
                NotificationMethod = new Harness.Platform.Inputs.NotificationRuleRequestNotificationMethodArgs
                {
                    Type = "Slack",
                    Spec = JsonSerializer.Serialize(new Dictionary<string, object?>
                    {
                        ["webhook_url"] = "http://myslackwebhookurl.com",
                        ["user_groups"] = new[]
                        {
                            "account.test",
                        },
                    }),
                },
                Type = "ServiceLevelObjective",
                Conditions = new[]
                {
                    new Harness.Platform.Inputs.NotificationRuleRequestConditionArgs
                    {
                        Type = "ErrorBudgetBurnRate",
                        Spec = JsonSerializer.Serialize(new Dictionary<string, object?>
                        {
                            ["threshold"] = 1,
                        }),
                    },
                    new Harness.Platform.Inputs.NotificationRuleRequestConditionArgs
                    {
                        Type = "ErrorBudgetRemainingPercentage",
                        Spec = JsonSerializer.Serialize(new Dictionary<string, object?>
                        {
                            ["threshold"] = 30,
                        }),
                    },
                    new Harness.Platform.Inputs.NotificationRuleRequestConditionArgs
                    {
                        Type = "ErrorBudgetRemainingMinutes",
                        Spec = JsonSerializer.Serialize(new Dictionary<string, object?>
                        {
                            ["threshold"] = 300,
                        }),
                    },
                },
            },
        });
    
        // Sample resource for Monitored Service
        var example1 = new Harness.Platform.NotificationRule("example1", new()
        {
            OrgId = "org_id",
            ProjectId = "project_id",
            Identifier = "identifier",
            Request = new Harness.Platform.Inputs.NotificationRuleRequestArgs
            {
                Name = "name",
                NotificationMethod = new Harness.Platform.Inputs.NotificationRuleRequestNotificationMethodArgs
                {
                    Type = "Slack",
                    Spec = JsonSerializer.Serialize(new Dictionary<string, object?>
                    {
                        ["webhook_url"] = "http://myslackwebhookurl.com",
                        ["user_groups"] = new[]
                        {
                            "account.test",
                        },
                    }),
                },
                Type = "MonitoredService",
                Conditions = new[]
                {
                    new Harness.Platform.Inputs.NotificationRuleRequestConditionArgs
                    {
                        Type = "ChangeImpact",
                        Spec = JsonSerializer.Serialize(new Dictionary<string, object?>
                        {
                            ["threshold"] = 33,
                            ["period"] = "30m",
                            ["changeCategories"] = new[]
                            {
                                "Deployment",
                                "Infrastructure",
                            },
                        }),
                    },
                    new Harness.Platform.Inputs.NotificationRuleRequestConditionArgs
                    {
                        Type = "HealthScore",
                        Spec = JsonSerializer.Serialize(new Dictionary<string, object?>
                        {
                            ["threshold"] = 33,
                            ["period"] = "30m",
                        }),
                    },
                    new Harness.Platform.Inputs.NotificationRuleRequestConditionArgs
                    {
                        Type = "ChangeObserved",
                        Spec = JsonSerializer.Serialize(new Dictionary<string, object?>
                        {
                            ["changeCategories"] = new[]
                            {
                                "Deployment",
                                "Alert",
                                "ChaosExperiment",
                            },
                        }),
                    },
                    new Harness.Platform.Inputs.NotificationRuleRequestConditionArgs
                    {
                        Type = "DeploymentImpactReport",
                        Spec = JsonSerializer.Serialize(new Dictionary<string, object?>
                        {
                        }),
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.harness.platform.NotificationRule;
    import com.pulumi.harness.platform.NotificationRuleArgs;
    import com.pulumi.harness.platform.inputs.NotificationRuleRequestArgs;
    import com.pulumi.harness.platform.inputs.NotificationRuleRequestNotificationMethodArgs;
    import static com.pulumi.codegen.internal.Serialization.*;
    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) {
            // Sample resource for SLO
            var example = new NotificationRule("example", NotificationRuleArgs.builder()
                .orgId("org_id")
                .projectId("project_id")
                .identifier("identifier")
                .request(NotificationRuleRequestArgs.builder()
                    .name("name")
                    .notificationMethod(NotificationRuleRequestNotificationMethodArgs.builder()
                        .type("Slack")
                        .spec(serializeJson(
                            jsonObject(
                                jsonProperty("webhook_url", "http://myslackwebhookurl.com"),
                                jsonProperty("user_groups", jsonArray("account.test"))
                            )))
                        .build())
                    .type("ServiceLevelObjective")
                    .conditions(                
                        NotificationRuleRequestConditionArgs.builder()
                            .type("ErrorBudgetBurnRate")
                            .spec(serializeJson(
                                jsonObject(
                                    jsonProperty("threshold", 1)
                                )))
                            .build(),
                        NotificationRuleRequestConditionArgs.builder()
                            .type("ErrorBudgetRemainingPercentage")
                            .spec(serializeJson(
                                jsonObject(
                                    jsonProperty("threshold", 30)
                                )))
                            .build(),
                        NotificationRuleRequestConditionArgs.builder()
                            .type("ErrorBudgetRemainingMinutes")
                            .spec(serializeJson(
                                jsonObject(
                                    jsonProperty("threshold", 300)
                                )))
                            .build())
                    .build())
                .build());
    
            // Sample resource for Monitored Service
            var example1 = new NotificationRule("example1", NotificationRuleArgs.builder()
                .orgId("org_id")
                .projectId("project_id")
                .identifier("identifier")
                .request(NotificationRuleRequestArgs.builder()
                    .name("name")
                    .notificationMethod(NotificationRuleRequestNotificationMethodArgs.builder()
                        .type("Slack")
                        .spec(serializeJson(
                            jsonObject(
                                jsonProperty("webhook_url", "http://myslackwebhookurl.com"),
                                jsonProperty("user_groups", jsonArray("account.test"))
                            )))
                        .build())
                    .type("MonitoredService")
                    .conditions(                
                        NotificationRuleRequestConditionArgs.builder()
                            .type("ChangeImpact")
                            .spec(serializeJson(
                                jsonObject(
                                    jsonProperty("threshold", 33),
                                    jsonProperty("period", "30m"),
                                    jsonProperty("changeCategories", jsonArray(
                                        "Deployment", 
                                        "Infrastructure"
                                    ))
                                )))
                            .build(),
                        NotificationRuleRequestConditionArgs.builder()
                            .type("HealthScore")
                            .spec(serializeJson(
                                jsonObject(
                                    jsonProperty("threshold", 33),
                                    jsonProperty("period", "30m")
                                )))
                            .build(),
                        NotificationRuleRequestConditionArgs.builder()
                            .type("ChangeObserved")
                            .spec(serializeJson(
                                jsonObject(
                                    jsonProperty("changeCategories", jsonArray(
                                        "Deployment", 
                                        "Alert", 
                                        "ChaosExperiment"
                                    ))
                                )))
                            .build(),
                        NotificationRuleRequestConditionArgs.builder()
                            .type("DeploymentImpactReport")
                            .spec(serializeJson(
                                jsonObject(
    
                                )))
                            .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      # Sample resource for SLO
      example:
        type: harness:platform:NotificationRule
        properties:
          orgId: org_id
          projectId: project_id
          identifier: identifier
          request:
            name: name
            notificationMethod:
              type: Slack
              spec:
                fn::toJSON:
                  webhook_url: http://myslackwebhookurl.com
                  user_groups:
                    - account.test
            type: ServiceLevelObjective
            conditions:
              - type: ErrorBudgetBurnRate
                spec:
                  fn::toJSON:
                    threshold: 1
              - type: ErrorBudgetRemainingPercentage
                spec:
                  fn::toJSON:
                    threshold: 30
              - type: ErrorBudgetRemainingMinutes
                spec:
                  fn::toJSON:
                    threshold: 300
      # Sample resource for Monitored Service
      example1:
        type: harness:platform:NotificationRule
        properties:
          orgId: org_id
          projectId: project_id
          identifier: identifier
          request:
            name: name
            notificationMethod:
              type: Slack
              spec:
                fn::toJSON:
                  webhook_url: http://myslackwebhookurl.com
                  user_groups:
                    - account.test
            type: MonitoredService
            conditions:
              - type: ChangeImpact
                spec:
                  fn::toJSON:
                    threshold: 33
                    period: 30m
                    changeCategories:
                      - Deployment
                      - Infrastructure
              - type: HealthScore
                spec:
                  fn::toJSON:
                    threshold: 33
                    period: 30m
              - type: ChangeObserved
                spec:
                  fn::toJSON:
                    changeCategories:
                      - Deployment
                      - Alert
                      - ChaosExperiment
              - type: DeploymentImpactReport
                spec:
                  fn::toJSON: {}
    

    Create NotificationRule Resource

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

    Constructor syntax

    new NotificationRule(name: string, args: NotificationRuleArgs, opts?: CustomResourceOptions);
    @overload
    def NotificationRule(resource_name: str,
                         args: NotificationRuleArgs,
                         opts: Optional[ResourceOptions] = None)
    
    @overload
    def NotificationRule(resource_name: str,
                         opts: Optional[ResourceOptions] = None,
                         identifier: Optional[str] = None,
                         org_id: Optional[str] = None,
                         project_id: Optional[str] = None,
                         request: Optional[NotificationRuleRequestArgs] = None)
    func NewNotificationRule(ctx *Context, name string, args NotificationRuleArgs, opts ...ResourceOption) (*NotificationRule, error)
    public NotificationRule(string name, NotificationRuleArgs args, CustomResourceOptions? opts = null)
    public NotificationRule(String name, NotificationRuleArgs args)
    public NotificationRule(String name, NotificationRuleArgs args, CustomResourceOptions options)
    
    type: harness:platform:NotificationRule
    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 NotificationRuleArgs
    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 NotificationRuleArgs
    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 NotificationRuleArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args NotificationRuleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args NotificationRuleArgs
    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 notificationRuleResource = new Harness.Platform.NotificationRule("notificationRuleResource", new()
    {
        Identifier = "string",
        OrgId = "string",
        ProjectId = "string",
        Request = new Harness.Platform.Inputs.NotificationRuleRequestArgs
        {
            Conditions = new[]
            {
                new Harness.Platform.Inputs.NotificationRuleRequestConditionArgs
                {
                    Type = "string",
                    Spec = "string",
                },
            },
            Name = "string",
            NotificationMethod = new Harness.Platform.Inputs.NotificationRuleRequestNotificationMethodArgs
            {
                Type = "string",
                Spec = "string",
            },
            Type = "string",
        },
    });
    
    example, err := platform.NewNotificationRule(ctx, "notificationRuleResource", &platform.NotificationRuleArgs{
    	Identifier: pulumi.String("string"),
    	OrgId:      pulumi.String("string"),
    	ProjectId:  pulumi.String("string"),
    	Request: &platform.NotificationRuleRequestArgs{
    		Conditions: platform.NotificationRuleRequestConditionArray{
    			&platform.NotificationRuleRequestConditionArgs{
    				Type: pulumi.String("string"),
    				Spec: pulumi.String("string"),
    			},
    		},
    		Name: pulumi.String("string"),
    		NotificationMethod: &platform.NotificationRuleRequestNotificationMethodArgs{
    			Type: pulumi.String("string"),
    			Spec: pulumi.String("string"),
    		},
    		Type: pulumi.String("string"),
    	},
    })
    
    var notificationRuleResource = new NotificationRule("notificationRuleResource", NotificationRuleArgs.builder()
        .identifier("string")
        .orgId("string")
        .projectId("string")
        .request(NotificationRuleRequestArgs.builder()
            .conditions(NotificationRuleRequestConditionArgs.builder()
                .type("string")
                .spec("string")
                .build())
            .name("string")
            .notificationMethod(NotificationRuleRequestNotificationMethodArgs.builder()
                .type("string")
                .spec("string")
                .build())
            .type("string")
            .build())
        .build());
    
    notification_rule_resource = harness.platform.NotificationRule("notificationRuleResource",
        identifier="string",
        org_id="string",
        project_id="string",
        request={
            "conditions": [{
                "type": "string",
                "spec": "string",
            }],
            "name": "string",
            "notification_method": {
                "type": "string",
                "spec": "string",
            },
            "type": "string",
        })
    
    const notificationRuleResource = new harness.platform.NotificationRule("notificationRuleResource", {
        identifier: "string",
        orgId: "string",
        projectId: "string",
        request: {
            conditions: [{
                type: "string",
                spec: "string",
            }],
            name: "string",
            notificationMethod: {
                type: "string",
                spec: "string",
            },
            type: "string",
        },
    });
    
    type: harness:platform:NotificationRule
    properties:
        identifier: string
        orgId: string
        projectId: string
        request:
            conditions:
                - spec: string
                  type: string
            name: string
            notificationMethod:
                spec: string
                type: string
            type: string
    

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

    Identifier string
    Identifier of the Notification Rule.
    OrgId string
    Identifier of the organization in which the Notification Rule is configured.
    ProjectId string
    Identifier of the project in which the Notification Rule is configured.
    Request NotificationRuleRequest
    Request for creating or updating Notification Rule.
    Identifier string
    Identifier of the Notification Rule.
    OrgId string
    Identifier of the organization in which the Notification Rule is configured.
    ProjectId string
    Identifier of the project in which the Notification Rule is configured.
    Request NotificationRuleRequestArgs
    Request for creating or updating Notification Rule.
    identifier String
    Identifier of the Notification Rule.
    orgId String
    Identifier of the organization in which the Notification Rule is configured.
    projectId String
    Identifier of the project in which the Notification Rule is configured.
    request NotificationRuleRequest
    Request for creating or updating Notification Rule.
    identifier string
    Identifier of the Notification Rule.
    orgId string
    Identifier of the organization in which the Notification Rule is configured.
    projectId string
    Identifier of the project in which the Notification Rule is configured.
    request NotificationRuleRequest
    Request for creating or updating Notification Rule.
    identifier str
    Identifier of the Notification Rule.
    org_id str
    Identifier of the organization in which the Notification Rule is configured.
    project_id str
    Identifier of the project in which the Notification Rule is configured.
    request NotificationRuleRequestArgs
    Request for creating or updating Notification Rule.
    identifier String
    Identifier of the Notification Rule.
    orgId String
    Identifier of the organization in which the Notification Rule is configured.
    projectId String
    Identifier of the project in which the Notification Rule is configured.
    request Property Map
    Request for creating or updating Notification Rule.

    Outputs

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

    Get an existing NotificationRule 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?: NotificationRuleState, opts?: CustomResourceOptions): NotificationRule
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            identifier: Optional[str] = None,
            org_id: Optional[str] = None,
            project_id: Optional[str] = None,
            request: Optional[NotificationRuleRequestArgs] = None) -> NotificationRule
    func GetNotificationRule(ctx *Context, name string, id IDInput, state *NotificationRuleState, opts ...ResourceOption) (*NotificationRule, error)
    public static NotificationRule Get(string name, Input<string> id, NotificationRuleState? state, CustomResourceOptions? opts = null)
    public static NotificationRule get(String name, Output<String> id, NotificationRuleState 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:
    Identifier string
    Identifier of the Notification Rule.
    OrgId string
    Identifier of the organization in which the Notification Rule is configured.
    ProjectId string
    Identifier of the project in which the Notification Rule is configured.
    Request NotificationRuleRequest
    Request for creating or updating Notification Rule.
    Identifier string
    Identifier of the Notification Rule.
    OrgId string
    Identifier of the organization in which the Notification Rule is configured.
    ProjectId string
    Identifier of the project in which the Notification Rule is configured.
    Request NotificationRuleRequestArgs
    Request for creating or updating Notification Rule.
    identifier String
    Identifier of the Notification Rule.
    orgId String
    Identifier of the organization in which the Notification Rule is configured.
    projectId String
    Identifier of the project in which the Notification Rule is configured.
    request NotificationRuleRequest
    Request for creating or updating Notification Rule.
    identifier string
    Identifier of the Notification Rule.
    orgId string
    Identifier of the organization in which the Notification Rule is configured.
    projectId string
    Identifier of the project in which the Notification Rule is configured.
    request NotificationRuleRequest
    Request for creating or updating Notification Rule.
    identifier str
    Identifier of the Notification Rule.
    org_id str
    Identifier of the organization in which the Notification Rule is configured.
    project_id str
    Identifier of the project in which the Notification Rule is configured.
    request NotificationRuleRequestArgs
    Request for creating or updating Notification Rule.
    identifier String
    Identifier of the Notification Rule.
    orgId String
    Identifier of the organization in which the Notification Rule is configured.
    projectId String
    Identifier of the project in which the Notification Rule is configured.
    request Property Map
    Request for creating or updating Notification Rule.

    Supporting Types

    NotificationRuleRequest, NotificationRuleRequestArgs

    Conditions List<NotificationRuleRequestCondition>
    Notification Rule conditions specification.
    Name string
    Name for the Notification Rule.
    NotificationMethod NotificationRuleRequestNotificationMethod
    Notification Method specifications.
    Type string
    Type of the Notification Rule.
    Conditions []NotificationRuleRequestCondition
    Notification Rule conditions specification.
    Name string
    Name for the Notification Rule.
    NotificationMethod NotificationRuleRequestNotificationMethod
    Notification Method specifications.
    Type string
    Type of the Notification Rule.
    conditions List<NotificationRuleRequestCondition>
    Notification Rule conditions specification.
    name String
    Name for the Notification Rule.
    notificationMethod NotificationRuleRequestNotificationMethod
    Notification Method specifications.
    type String
    Type of the Notification Rule.
    conditions NotificationRuleRequestCondition[]
    Notification Rule conditions specification.
    name string
    Name for the Notification Rule.
    notificationMethod NotificationRuleRequestNotificationMethod
    Notification Method specifications.
    type string
    Type of the Notification Rule.
    conditions Sequence[NotificationRuleRequestCondition]
    Notification Rule conditions specification.
    name str
    Name for the Notification Rule.
    notification_method NotificationRuleRequestNotificationMethod
    Notification Method specifications.
    type str
    Type of the Notification Rule.
    conditions List<Property Map>
    Notification Rule conditions specification.
    name String
    Name for the Notification Rule.
    notificationMethod Property Map
    Notification Method specifications.
    type String
    Type of the Notification Rule.

    NotificationRuleRequestCondition, NotificationRuleRequestConditionArgs

    Type string
    Type of the condition.
    Spec string
    Specification of the notification condition. Depends on the type of the notification condition.
    Type string
    Type of the condition.
    Spec string
    Specification of the notification condition. Depends on the type of the notification condition.
    type String
    Type of the condition.
    spec String
    Specification of the notification condition. Depends on the type of the notification condition.
    type string
    Type of the condition.
    spec string
    Specification of the notification condition. Depends on the type of the notification condition.
    type str
    Type of the condition.
    spec str
    Specification of the notification condition. Depends on the type of the notification condition.
    type String
    Type of the condition.
    spec String
    Specification of the notification condition. Depends on the type of the notification condition.

    NotificationRuleRequestNotificationMethod, NotificationRuleRequestNotificationMethodArgs

    Type string
    Type of the Notification Method.
    Spec string
    Specification of the notification method. Depends on the type of the notification method.
    Type string
    Type of the Notification Method.
    Spec string
    Specification of the notification method. Depends on the type of the notification method.
    type String
    Type of the Notification Method.
    spec String
    Specification of the notification method. Depends on the type of the notification method.
    type string
    Type of the Notification Method.
    spec string
    Specification of the notification method. Depends on the type of the notification method.
    type str
    Type of the Notification Method.
    spec str
    Specification of the notification method. Depends on the type of the notification method.
    type String
    Type of the Notification Method.
    spec String
    Specification of the notification method. Depends on the type of the notification method.

    Import

    Import account level Notification Rule

    $ pulumi import harness:platform/notificationRule:NotificationRule example <notification_rule_id>
    

    Import organization level Notification Rule

    $ pulumi import harness:platform/notificationRule:NotificationRule example <org_id>/<notification_rule_id>
    

    Import project level Notification Rule

    $ pulumi import harness:platform/notificationRule:NotificationRule example <org_id>/<project_id>/<notification_rule_id>
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    harness pulumi/pulumi-harness
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the harness Terraform Provider.
    harness logo
    Harness v0.4.4 published on Tuesday, Nov 12, 2024 by Pulumi