monitors

package
v1.0.81 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 16, 2024 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AmazonMonitorSchema = map[string]*schema.Schema{
	"display_name": {
		Type:        schema.TypeString,
		Required:    true,
		Description: "Display name for the AWS monitor.",
	},
	"external_id": {
		Type:        schema.TypeString,
		Required:    true,
		Description: "External ID for the AWS account.",
	},
	"role_arn": {
		Type:        schema.TypeString,
		Required:    true,
		Description: "Role ARN for the AWS account.",
	},
	"aws_discovery_frequency": {
		Type:        schema.TypeInt,
		Optional:    true,
		Default:     1,
		Description: "Rediscovery polling interval for the AWS account.",
	},
	"aws_discover_services": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of AWS services that needs to be discovered. https://www.site24x7.com/help/api/#aws_discover_services",
	},
	"notification_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Notification profile to be associated with the monitor.",
	},
	"notification_profile_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Name of the notification profile to be associated with the monitor.",
	},
	"user_group_ids": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of user groups to be notified when the monitor is down.",
	},
	"user_group_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "Name of the user groups to be associated with the monitor.",
	},
	"tag_ids": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of tag IDs to be associated to the monitor.",
	},
	"tag_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of tag names to be associated to the monitor.",
	},
	"third_party_service_ids": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of Third Party Service IDs to be associated to the monitor.",
	},
}
View Source
var DomainExpiryMonitorSchema = map[string]*schema.Schema{
	"display_name": {
		Type:        schema.TypeString,
		Required:    true,
		Description: "Name for the monitor",
	},
	"host_name": {
		Type:        schema.TypeString,
		Required:    true,
		Description: "Registered domain name.",
	},
	"domain_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Default:     "whios.iana.org",
		Description: "Specify the name of the Whois server from where you wish to query the domain data.",
	},
	"port": {
		Type:        schema.TypeInt,
		Optional:    true,
		Default:     443,
		Description: "Who is Server Port",
	},
	"timeout": {
		Type:        schema.TypeInt,
		Optional:    true,
		Default:     10,
		Description: "Timeout for connecting to website. Default value is 10. Range 1 - 45",
	},
	"expire_days": {
		Type:        schema.TypeInt,
		Optional:    true,
		Default:     30,
		Description: "Day threshold for domain expiry notification.Range 1 - 999",
	},
	"use_ipv6": {
		Type:        schema.TypeBool,
		Optional:    true,
		Description: "Monitoring is performed over IPv6 from supported locations. IPv6 locations do not fall back to IPv4 on failure.",
	},
	"perform_automation": {
		Type:        schema.TypeBool,
		Optional:    true,
		Description: "To perform automation or not",
	},
	"location_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Location profile to be associated with the monitor",
	},
	"location_profile_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Name of the location profile to be associated with the monitor",
	},
	"notification_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Notification profile to be associated with the monitor",
	},
	"notification_profile_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Name of the notification profile to be associated with the monitor",
	},
	"user_group_ids": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of user groups to be notified when the monitor is down",
	},
	"user_group_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "Name of the user groups to be associated with the monitor",
	},
	"on_call_schedule_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "A new On Call schedule to be associated with monitors when user group id  is not chosen",
	},
	"ignore_registry_date": {
		Type:        schema.TypeBool,
		Optional:    true,
		Description: "Ignores the registry expiry date and prefer registrar expiry date when notifying for domain expiry",
	},
	"matching_keyword": {
		Type:     schema.TypeMap,
		Optional: true,
		Elem: &schema.Resource{
			Schema: map[string]*schema.Schema{
				"severity": {
					Type:         schema.TypeInt,
					Required:     true,
					ValidateFunc: validation.IntInSlice([]int{0, 2}),
				},
				"value": {
					Type:     schema.TypeString,
					Required: true,
				},
			},
		},
		Description: "Check for the keyword in the website response.",
	},
	"unmatching_keyword": {
		Type:     schema.TypeMap,
		Optional: true,
		Elem: &schema.Resource{
			Schema: map[string]*schema.Schema{
				"severity": {
					Type:         schema.TypeInt,
					Required:     true,
					ValidateFunc: validation.IntInSlice([]int{0, 2}),
				},
				"value": {
					Type:     schema.TypeString,
					Required: true,
				},
			},
		},
		Description: "Check for non existence of keyword in the website response.",
	},
	"match_case": {
		Type:        schema.TypeBool,
		Optional:    true,
		Description: "Perform case sensitive keyword search or not.",
	},
	"match_regex": {
		Type:     schema.TypeMap,
		Optional: true,
		Elem: &schema.Resource{
			Schema: map[string]*schema.Schema{
				"severity": {
					Type:         schema.TypeInt,
					Required:     true,
					ValidateFunc: validation.IntInSlice([]int{0, 2}),
				},
				"value": {
					Type:     schema.TypeString,
					Required: true,
				},
			},
		},
		Description: "Match the regular expression in the website response.",
	},
	"monitor_groups": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of monitor groups to which the monitor has to be associated",
	},
	"actions": {
		Type:        schema.TypeMap,
		Optional:    true,
		Elem:        schema.TypeString,
		Description: "Action to be performed on monitor IT Automation templates.",
	},
	"third_party_service_ids": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of Third Party Service IDs to be associated to the monitor",
	},
	"tag_ids": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of tag IDs to be associated to the monitor",
	},
	"tag_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of tag names to be associated to the monitor",
	},
}
View Source
var FTPTransferMonitorSchema = map[string]*schema.Schema{
	"display_name": {
		Type:        schema.TypeString,
		Required:    true,
		Description: "Name for the monitor",
	},
	"host_name": {
		Type:        schema.TypeString,
		Required:    true,
		Description: "Registered domain name or ip addresss",
	},
	"protocol": {
		Type:        schema.TypeString,
		Optional:    true,
		Default:     "FTP",
		Description: "HTTPS,SMTPS,POPS,IMAPS,FTPS or CUSTOM",
	},
	"port": {
		Type:        schema.TypeInt,
		Optional:    true,
		Default:     21,
		Description: "Who is Server Port",
	},
	"check_frequency": {
		Type:        schema.TypeString,
		Optional:    true,
		Default:     "5",
		Description: "Interval at which your RESRAPI has to be monitored. Default value is 5 minute.",
	},
	"timeout": {
		Type:        schema.TypeInt,
		Optional:    true,
		Default:     10,
		Description: "Timeout for connecting to website. Default value is 10. Range 1 - 45",
	},
	"check_upload": {
		Type:        schema.TypeBool,
		Optional:    true,
		Default:     true,
		Description: "To check upload or not",
	},
	"check_download": {
		Type:        schema.TypeBool,
		Optional:    true,
		Default:     true,
		Description: "To check download or not",
	},
	"user_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "username to access the file",
	},
	"password": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "password to access the file",
	},
	"destination": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Destination of the file path",
	},
	"location_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Location profile to be associated with the monitor",
	},
	"location_profile_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Name of the location profile to be associated with the monitor",
	},
	"monitor_groups": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of monitor groups to which the monitor has to be associated.",
	},
	"credential_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Credential Profile to associate.",
	},
	"dependency_resource_ids": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of dependent resource IDs. Suppress alert when dependent monitor(s) is down.",
	},
	"threshold_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Threshold profile to be associated with the monitor.",
	},
	"tag_ids": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of tag IDs to be associated to the monitor",
	},
	"tag_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of tag names to be associated to the monitor",
	},
	"perform_automation": {
		Type:        schema.TypeBool,
		Optional:    true,
		Description: "To perform automation or not",
	},
	"actions": {
		Type:        schema.TypeMap,
		Optional:    true,
		Elem:        schema.TypeString,
		Description: "Action to be performed on monitor status changes",
	},
	"user_group_ids": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of user groups to be notified when the monitor is down",
	},
	"user_group_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "Name of the user groups to be associated with the monitor",
	},
	"on_call_schedule_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "if user_group_ids is not choosen,	On-Call Schedule of your choice.",
	},
	"notification_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Notification profile to be associated with the monitor",
	},
	"notification_profile_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Name of the notification profile to be associated with the monitor",
	},
	"third_party_service_ids": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of Third Party Service IDs to be associated to the monitor",
	},
}
View Source
var HeartbeatMonitorSchema = map[string]*schema.Schema{
	"display_name": {
		Type:        schema.TypeString,
		Required:    true,
		Description: "Display Name for the monitor.",
	},
	"name_in_ping_url": {
		Type:        schema.TypeString,
		Required:    true,
		Description: "Unique name to be used in the ping URL.",
	},
	"threshold_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Threshold profile to be associated with the monitor.",
	},
	"notification_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Notification profile to be associated with the monitor.",
	},
	"notification_profile_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Name of the notification profile to be associated with the monitor.",
	},
	"monitor_groups": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of monitor groups to which the monitor has to be associated.",
	},
	"user_group_ids": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of user groups to be notified when the monitor is down.",
	},
	"user_group_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "Name of the user groups to be associated with the monitor.",
	},
	"tag_ids": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of tag IDs to be associated to the monitor.",
	},
	"tag_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of tag names to be associated to the monitor.",
	},
	"third_party_service_ids": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of Third Party Service IDs to be associated to the monitor.",
	},
	"on_call_schedule_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Mandatory, if the user group ID is not given. On-Call Schedule ID of your choice.",
	},
}
View Source
var ISPMonitorSchema = map[string]*schema.Schema{
	"display_name": {
		Type:        schema.TypeString,
		Required:    true,
		Description: "Name for the monitor",
	},
	"hostname": {
		Type:        schema.TypeString,
		Required:    true,
		Description: "Registered domain name.",
	},
	"use_ipv6": {
		Type:        schema.TypeBool,
		Optional:    true,
		Description: "whether to use ipv6 or not",
	},
	"port": {
		Type:        schema.TypeInt,
		Optional:    true,
		Default:     443,
		Description: "Who is Server Port",
	},
	"timeout": {
		Type:        schema.TypeInt,
		Optional:    true,
		Default:     10,
		Description: "Timeout for connecting to website. Default value is 10. Range 1 - 45",
	},
	"protocol": {
		Type:        schema.TypeString,
		Optional:    true,
		Default:     "1",
		Description: "ICMP,TCP,UDP",
	},
	"threshold_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Threshold profile to be associated with the monitor.",
	},
	"on_call_schedule_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "if user_group_ids is not choosen,	On-Call Schedule of your choice.",
	},
	"check_frequency": {
		Type:        schema.TypeString,
		Optional:    true,
		Default:     "5",
		Description: "Interval at which your RESRAPI has to be monitored. Default value is 5 minute.",
	},
	"perform_automation": {
		Type:        schema.TypeBool,
		Optional:    true,
		Description: "To perform automation or not",
	},
	"location_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Location profile to be associated with the monitor",
	},
	"location_profile_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Name of the location profile to be associated with the monitor",
	},
	"notification_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Notification profile to be associated with the monitor",
	},
	"notification_profile_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Name of the notification profile to be associated with the monitor",
	},
	"user_group_ids": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of user groups to be notified when the monitor is down",
	},
	"user_group_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "Name of the user groups to be associated with the monitor",
	},
	"monitor_groups": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of monitor groups to which the monitor has to be associated.",
	},
	"actions": {
		Type:        schema.TypeMap,
		Optional:    true,
		Elem:        schema.TypeString,
		Description: "Action to be performed on monitor status changes",
	},
	"third_party_service_ids": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of Third Party Service IDs to be associated to the monitor",
	},
	"tag_ids": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of tag IDs to be associated to the monitor",
	},
	"tag_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of tag names to be associated to the monitor",
	},
	"dependency_resource_ids": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of dependent resource IDs. Suppress alert when dependent monitor(s) is down.",
	},
}
View Source
var PINGMonitorSchema = map[string]*schema.Schema{
	"display_name": {
		Type:        schema.TypeString,
		Required:    true,
		Description: "Name for the monitor",
	},
	"host_name": {
		Type:        schema.TypeString,
		Required:    true,
		Description: "Registered domain name.",
	},
	"timeout": {
		Type:        schema.TypeInt,
		Optional:    true,
		Default:     10,
		Description: "Timeout for connecting to website. Default value is 10. Range 1 - 45",
	},
	"use_ipv6": {
		Type:        schema.TypeBool,
		Optional:    true,
		Description: "Monitoring is performed over IPv6 from supported locations. IPv6 locations do not fall back to IPv4 on failure.",
	},
	"check_frequency": {
		Type:        schema.TypeString,
		Optional:    true,
		Default:     "5",
		Description: "Interval at which your website has to be monitored. Default value is 5 minute.",
	},
	"perform_automation": {
		Type:        schema.TypeBool,
		Optional:    true,
		Description: "To perform automation or not",
	},
	"location_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Location profile to be associated with the monitor",
	},
	"location_profile_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Name of the location profile to be associated with the monitor",
	},
	"notification_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Notification profile to be associated with the monitor",
	},
	"notification_profile_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Name of the notification profile to be associated with the monitor",
	},
	"threshold_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Threshold profile to be associated with the monitor.",
	},
	"user_group_ids": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of user groups to be notified when the monitor is down",
	},
	"user_group_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "Name of the user groups to be associated with the monitor",
	},
	"dependency_resource_ids": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of dependent resource IDs. Suppress alert when dependent monitor(s) is down.",
	},
	"on_call_schedule_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "A new On Call schedule to be associated with monitors when user group id  is not chosen",
	},
	"monitor_groups": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of monitor groups to which the monitor has to be associated",
	},
	"actions": {
		Type:        schema.TypeMap,
		Optional:    true,
		Elem:        schema.TypeString,
		Description: "Action to be performed on monitor status changes",
	},
	"third_party_service_ids": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of Third Party Service IDs to be associated to the monitor",
	},
	"tag_ids": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of tag IDs to be associated to the monitor",
	},
	"tag_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of tag names to be associated to the monitor",
	},
}
View Source
var PortMonitorSchema = map[string]*schema.Schema{
	"display_name": {
		Type:        schema.TypeString,
		Required:    true,
		Description: "Name for the monitor",
	},
	"host_name": {
		Type:        schema.TypeString,
		Required:    true,
		Description: "Registered domain name.",
	},
	"port": {
		Type:        schema.TypeInt,
		Optional:    true,
		Default:     80,
		Description: "Specify the port the host is listening to",
	},
	"timeout": {
		Type:        schema.TypeInt,
		Optional:    true,
		Default:     10,
		Description: "Timeout for connecting to website. Default value is 10. Range 1 - 45",
	},
	"invert_port_check": {
		Type:        schema.TypeBool,
		Optional:    true,
		Default:     true,
		Description: "Invert the default behaviour of PORT check.",
	},
	"use_ipv6": {
		Type:        schema.TypeBool,
		Optional:    true,
		Description: "Monitoring is performed over IPv6 from supported locations. IPv6 locations do not fall back to IPv4 on failure.",
	},
	"use_ssl": {
		Type:        schema.TypeBool,
		Optional:    true,
		Description: "Monitoring is performed over IPv6 from supported locations. IPv6 locations do not fall back to IPv4 on failure.",
	},
	"application_type": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "",
	},
	"command": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "",
	},

	"matching_keyword_value": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Check for the keyword in the website response.",
	},
	"matching_keyword_severity": {
		Type:        schema.TypeInt,
		Optional:    true,
		Default:     2,
		Description: "Severity with which alert has to raised when the matching keyword is found in the website response.",
	},
	"threshold_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Threshold profile to be associated with the monitor.",
	},
	"unmatching_keyword_value": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Check for the absence of the keyword in the website response.",
	},
	"unmatching_keyword_severity": {
		Type:        schema.TypeInt,
		Optional:    true,
		Default:     2,
		Description: "Severity with which alert has to raised when the keyword is not present in the website response.",
	},
	"perform_automation": {
		Type:        schema.TypeBool,
		Optional:    true,
		Description: "To perform automation or not",
	},
	"check_frequency": {
		Type:        schema.TypeString,
		Optional:    true,
		Default:     "5",
		Description: "Interval at which your website has to be monitored. Default value is 5 minute.",
	},
	"location_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Location profile to be associated with the monitor",
	},
	"location_profile_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Name of the location profile to be associated with the monitor",
	},
	"notification_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Notification profile to be associated with the monitor",
	},
	"notification_profile_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Name of the notification profile to be associated with the monitor",
	},
	"user_group_ids": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of user groups to be notified when the monitor is down",
	},
	"user_group_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "Name of the user groups to be associated with the monitor",
	},
	"dependency_resource_ids": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of dependent resource IDs. Suppress alert when dependent monitor(s) is down.",
	},
	"on_call_schedule_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "A new On Call schedule to be associated with monitors when user group id  is not chosen",
	},
	"monitor_groups": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of monitor groups to which the monitor has to be associated",
	},
	"actions": {
		Type:        schema.TypeMap,
		Optional:    true,
		Elem:        schema.TypeString,
		Description: "Action to be performed on monitor status changes",
	},
	"third_party_service_ids": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of Third Party Service IDs to be associated to the monitor",
	},
	"tag_ids": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of tag IDs to be associated to the monitor",
	},
	"tag_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of tag names to be associated to the monitor",
	},
}
View Source
var RestApiMonitorSchema = map[string]*schema.Schema{
	"display_name": {
		Type:        schema.TypeString,
		Required:    true,
		Description: "Display Name for the monitor.",
	},
	"website": {
		Type:        schema.TypeString,
		Required:    true,
		Description: "Website address to monitor.",
	},
	"check_frequency": {
		Type:        schema.TypeString,
		Optional:    true,
		Default:     "1",
		Description: "Interval at which your website has to be monitored. Default value is 1 minute.",
	},
	"timeout": {
		Type:        schema.TypeInt,
		Optional:    true,
		Default:     10,
		Description: "Timeout for connecting to website. Default value is 10. Range 1 - 45.",
	},
	"use_ipv6": {
		Type:        schema.TypeBool,
		Optional:    true,
		Description: "Monitoring is performed over IPv6 from supported locations. IPv6 locations do not fall back to IPv4 on failure.",
	},

	"response_content_type": {
		Type:        schema.TypeString,
		Optional:    true,
		Default:     "T",
		Description: "Response content type. Default value is 'T'. 'J' denotes JSON, 'T' denotes TEXT, 'X' denotes XML",
	},
	"match_json_path": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "Provide multiple JSON Path expressions to enable evaluation of JSON Path expression assertions. The assertions must successfully parse the JSON Path in the JSON. JSON expression assertions fails if the expressions does not match.",
	},
	"match_json_path_severity": {
		Type:         schema.TypeInt,
		Optional:     true,
		Default:      2,
		ValidateFunc: validation.IntInSlice([]int{0, 2}),
		Description:  "Trigger an alert when the JSON path assertion fails during a test. Alert type constant. Can be either 0 or 2. '0' denotes Down and '2' denotes Trouble. Default value is 2.",
	},
	"json_schema": {
		Type:        schema.TypeString,
		Optional:    true,
		Default:     "{}",
		Description: "JSON schema to be validated against the JSON response.",
	},
	"json_schema_severity": {
		Type:         schema.TypeInt,
		Optional:     true,
		Default:      2,
		ValidateFunc: validation.IntInSlice([]int{0, 2}),
		Description:  "Trigger an alert when the JSON schema assertion fails during a test. Alert type constant. Can be either 0 or 2. '0' denotes Down and '2' denotes Trouble. Default value is 2.",
	},
	"json_schema_check": {
		Type:        schema.TypeBool,
		Optional:    true,
		Description: "JSON Schema check allows you to annotate and validate all JSON endpoints for your web service.",
	},
	"matching_keyword": {
		Type:     schema.TypeMap,
		Optional: true,
		Elem: &schema.Resource{
			Schema: map[string]*schema.Schema{
				"severity": {
					Type:         schema.TypeInt,
					Required:     true,
					ValidateFunc: validation.IntInSlice([]int{0, 2}),
				},
				"value": {
					Type:     schema.TypeString,
					Required: true,
				},
			},
		},
		Description: "Check for the keyword in the website response.",
	},
	"unmatching_keyword": {
		Type:     schema.TypeMap,
		Optional: true,
		Elem: &schema.Resource{
			Schema: map[string]*schema.Schema{
				"severity": {
					Type:         schema.TypeInt,
					Required:     true,
					ValidateFunc: validation.IntInSlice([]int{0, 2}),
				},
				"value": {
					Type:     schema.TypeString,
					Required: true,
				},
			},
		},
		Description: "Check for non existence of keyword in the website response.",
	},
	"match_case": {
		Type:        schema.TypeBool,
		Optional:    true,
		Description: "Perform case sensitive keyword search or not.",
	},
	"match_regex": {
		Type:     schema.TypeMap,
		Optional: true,
		Elem: &schema.Resource{
			Schema: map[string]*schema.Schema{
				"severity": {
					Type:         schema.TypeInt,
					Required:     true,
					ValidateFunc: validation.IntInSlice([]int{0, 2}),
				},
				"value": {
					Type:     schema.TypeString,
					Required: true,
				},
			},
		},
		Description: "Match the regular expression in the website response.",
	},
	"response_headers": {
		Type:        schema.TypeMap,
		Optional:    true,
		Description: "A Map of Header name and value.",
	},
	"response_headers_severity": {
		Type:         schema.TypeInt,
		Optional:     true,
		Default:      2,
		ValidateFunc: validation.IntInSlice([]int{0, 2}),
		Description:  "Alert type constant. Can be either 0 or 2. '0' denotes Down and '2' denotes Trouble",
	},

	"http_method": {
		Type:        schema.TypeString,
		Optional:    true,
		Default:     "G",
		Description: "HTTP Method to be used for accessing the website. Default value is 'G'. 'G' denotes GET, 'P' denotes POST, 'U' denotes PUT and 'D' denotes DELETE. HEAD is not supported.",
	},
	"request_content_type": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Provide content type for request params when http_method is 'P'. 'J' denotes JSON, 'T' denotes TEXT, 'X' denotes XML and 'F' denotes FORM",
	},
	"request_body": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Provide the content to be passed in the request body while accessing the website.",
	},
	"request_headers": {
		Type:        schema.TypeMap,
		Optional:    true,
		Description: "A Map of request header name and value.",
	},
	"graphql": {
		Type:     schema.TypeMap,
		Optional: true,
		Elem: &schema.Resource{
			Schema: map[string]*schema.Schema{
				"query": {
					Type:     schema.TypeString,
					Required: true,
				},
				"variables": {
					Type:     schema.TypeString,
					Required: true,
				},
			},
		},
		Description: "Check for the keyword in the website response.",
	},
	"user_agent": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "User Agent to be used while monitoring the website.",
	},
	"auth_method": {
		Type:        schema.TypeString,
		Optional:    true,
		Default:     "B",
		Description: "Authentication method to access the website. Default value is 'B'. 'B' denotes Basic/NTLM. 'O' denotes OAuth 2 and 'W' denotes Web Token.",
	},
	"auth_user": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Authentication user name to access the website.",
	},
	"auth_pass": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Authentication password to access the website.",
		DiffSuppressFunc: func(k, old, new string, d *schema.ResourceData) bool {

			return true
		},
	},
	"credential_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Credential Profile to associate.",
	},
	"oauth2_provider": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Provider ID of the OAuth Provider to be associated with the monitor.",
	},
	"client_certificate_password": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Password of the client certificate.",
		DiffSuppressFunc: func(k, old, new string, d *schema.ResourceData) bool {

			return true
		},
	},
	"jwt_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Token ID of the Web Token to be associated with the monitor.",
	},
	"use_name_server": {
		Type:        schema.TypeBool,
		Optional:    true,
		Description: "Resolve the IP address using Domain Name Server.",
	},
	"up_status_codes": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Provide a comma-separated list of HTTP status codes that indicate a successful response. You can specify individual status codes, as well as ranges separated with a colon.",
	},
	"ssl_protocol": {
		Type:        schema.TypeString,
		Optional:    true,
		Default:     "Auto",
		Description: "Specify the version of the SSL protocol. If you are not sure about the version, use Auto.",
	},
	"http_protocol": {
		Type:        schema.TypeString,
		Optional:    true,
		Default:     "H1.1",
		Description: "Specify the version of the HTTP protocol. Default value is H1.1.",
	},
	"use_alpn": {
		Type:        schema.TypeBool,
		Optional:    true,
		Default:     false,
		Description: "Enable ALPN to send supported protocols as part of the TLS handshake.",
	},

	"location_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Location profile to be associated with the monitor.",
	},
	"location_profile_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Name of the location profile to be associated with the monitor.",
	},
	"notification_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Notification profile to be associated with the monitor.",
	},
	"notification_profile_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Name of the notification profile to be associated with the monitor.",
	},
	"threshold_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Threshold profile to be associated with the monitor.",
	},
	"monitor_groups": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of monitor groups to which the monitor has to be associated.",
	},
	"dependency_resource_ids": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of dependent resource IDs. Suppress alert when dependent monitor(s) is down.",
	},
	"user_group_ids": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of user groups to be notified when the monitor is down.",
	},
	"user_group_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "Name of the user groups to be associated with the monitor.",
	},
	"tag_ids": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of tag IDs to be associated to the monitor.",
	},
	"tag_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of tag names to be associated to the monitor.",
	},
	"third_party_service_ids": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of Third Party Service IDs to be associated to the monitor.",
	},
	"actions": {
		Type:        schema.TypeMap,
		Optional:    true,
		Elem:        schema.TypeString,
		Description: "Action to be performed on monitor IT Automation templates.",
	},
}
View Source
var RestApiTransactionMonitorSchema = map[string]*schema.Schema{
	"display_name": {
		Type:        schema.TypeString,
		Required:    true,
		Description: "Display Name for the monitor.",
	},
	"check_frequency": {
		Type:        schema.TypeString,
		Optional:    true,
		Default:     "5",
		Description: "Interval at which your RESRAPI has to be monitored. Default value is 5 minute.",
	},

	"location_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Location profile to be associated with the monitor.",
	},
	"location_profile_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Name of the location profile to be associated with the monitor.",
	},
	"notification_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Notification profile to be associated with the monitor.",
	},
	"notification_profile_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Name of the notification profile to be associated with the monitor.",
	},
	"threshold_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Threshold profile to be associated with the monitor.",
	},
	"monitor_groups": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of monitor groups to which the monitor has to be associated.",
	},
	"dependency_resource_ids": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of dependent resource IDs. Suppress alert when dependent monitor(s) is down.",
	},
	"user_group_ids": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of user groups to be notified when the monitor is down.",
	},
	"user_group_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "Name of the user groups to be associated with the monitor.",
	},
	"tag_ids": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of tag IDs to be associated to the monitor.",
	},
	"tag_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of tag names to be associated to the monitor.",
	},
	"third_party_service_ids": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of Third Party Service IDs to be associated to the monitor.",
	},
	"actions": {
		Type:        schema.TypeMap,
		Optional:    true,
		Elem:        schema.TypeString,
		Description: "Action to be performed on monitor IT Automation templates.",
	},
	"steps": {
		Type:     schema.TypeList,
		Optional: true,
		Computed: true,
		Elem: &schema.Resource{
			Schema: map[string]*schema.Schema{
				"display_name": {
					Type:        schema.TypeString,
					Required:    true,
					Description: "Display Name for the monitor.",
				},
				"step_details": {
					Type:     schema.TypeList,
					Computed: true,
					Optional: true,
					Elem: &schema.Resource{
						Schema: map[string]*schema.Schema{
							"step_url": {
								Type:        schema.TypeString,
								Required:    true,
								Description: "Rest API Url to monitors",
							},
							"on_error": {
								Type:        schema.TypeInt,
								Optional:    true,
								Default:     0,
								Description: "Stop on Error severity for the step. '0' means Stop and Notify, '1' means Proceed , '2' means Notify and Proceed",
							},
							"timeout": {
								Type:        schema.TypeString,
								Optional:    true,
								Default:     "10",
								Description: "Timeout for connecting to website. Default value is 10. Range 1 - 45.",
							},

							"response_content_type": {
								Type:        schema.TypeString,
								Optional:    true,
								Default:     "T",
								Description: "Response content type. Default value is 'T'. 'J' denotes JSON, 'T' denotes TEXT, 'X' denotes XML",
							},
							"match_json_path": {
								Type: schema.TypeList,
								Elem: &schema.Schema{
									Type: schema.TypeString,
								},
								Optional:    true,
								Description: "Provide multiple JSON Path expressions to enable evaluation of JSON Path expression assertions. The assertions must successfully parse the JSON Path in the JSON. JSON expression assertions fails if the expressions does not match.",
							},
							"match_json_path_severity": {
								Type:         schema.TypeInt,
								Optional:     true,
								Default:      2,
								ValidateFunc: validation.IntInSlice([]int{0, 2}),
								Description:  "Trigger an alert when the JSON path assertion fails during a test. Alert type constant. Can be either 0 or 2. '0' denotes Down and '2' denotes Trouble. Default value is 2.",
							},
							"json_schema": {
								Type:        schema.TypeString,
								Optional:    true,
								Description: "JSON schema to be validated against the JSON response.",
							},
							"json_schema_severity": {
								Type:         schema.TypeInt,
								Optional:     true,
								Default:      2,
								ValidateFunc: validation.IntInSlice([]int{0, 2}),
								Description:  "Trigger an alert when the JSON schema assertion fails during a test. Alert type constant. Can be either 0 or 2. '0' denotes Down and '2' denotes Trouble. Default value is 2.",
							},
							"json_schema_check": {
								Type:        schema.TypeBool,
								Optional:    true,
								Description: "JSON Schema check allows you to annotate and validate all JSON endpoints for your web service.",
							},
							"matching_keyword": {
								Type:     schema.TypeMap,
								Optional: true,
								Elem: &schema.Resource{
									Schema: map[string]*schema.Schema{
										"severity": {
											Type:         schema.TypeInt,
											Required:     true,
											ValidateFunc: validation.IntInSlice([]int{0, 2}),
										},
										"value": {
											Type:     schema.TypeString,
											Required: true,
										},
									},
								},
								Description: "Check for the keyword in the website response.",
							},
							"unmatching_keyword": {
								Type:     schema.TypeMap,
								Optional: true,
								Elem: &schema.Resource{
									Schema: map[string]*schema.Schema{
										"severity": {
											Type:         schema.TypeInt,
											Required:     true,
											ValidateFunc: validation.IntInSlice([]int{0, 2}),
										},
										"value": {
											Type:     schema.TypeString,
											Required: true,
										},
									},
								},
								Description: "Check for non existence of keyword in the website response.",
							},
							"match_case": {
								Type:        schema.TypeBool,
								Optional:    true,
								Description: "Perform case sensitive keyword search or not.",
							},
							"match_regex": {
								Type:     schema.TypeMap,
								Optional: true,
								Elem: &schema.Resource{
									Schema: map[string]*schema.Schema{
										"severity": {
											Type:         schema.TypeInt,
											Required:     true,
											ValidateFunc: validation.IntInSlice([]int{0, 2}),
										},
										"value": {
											Type:     schema.TypeString,
											Required: true,
										},
									},
								},
								Description: "Match the regular expression in the website response.",
							},
							"response_headers": {
								Type:        schema.TypeMap,
								Optional:    true,
								Description: "A Map of Header name and value.",
							},
							"response_headers_severity": {
								Type:         schema.TypeInt,
								Optional:     true,
								Default:      2,
								ValidateFunc: validation.IntInSlice([]int{0, 2}),
								Description:  "Alert type constant. Can be either 0 or 2. '0' denotes Down and '2' denotes Trouble",
							},

							"http_method": {
								Type:        schema.TypeString,
								Optional:    true,
								Default:     "G",
								Description: "HTTP Method to be used for accessing the website. Default value is 'G'. 'G' denotes GET, 'P' denotes POST, 'U' denotes PUT and 'D' denotes DELETE. HEAD is not supported.",
							},
							"use_ipv6": {
								Type:        schema.TypeBool,
								Optional:    true,
								Description: "Monitoring is performed over IPv6 from supported locations. IPv6 locations do not fall back to IPv4 on failure.",
							},
							"request_content_type": {
								Type:        schema.TypeString,
								Optional:    true,
								Description: "Provide content type for request params when http_method is 'P'. 'J' denotes JSON, 'T' denotes TEXT, 'X' denotes XML and 'F' denotes FORM",
							},
							"request_body": {
								Type:        schema.TypeString,
								Optional:    true,
								Description: "Provide the content to be passed in the request body while accessing the website.",
							},
							"request_headers": {
								Type:        schema.TypeMap,
								Optional:    true,
								Description: "A Map of request header name and value.",
							},
							"graphql_query": {
								Type:        schema.TypeString,
								Optional:    true,
								Description: "Provide the GraphQL query to get specific response from GraphQL based API service.",
							},
							"graphql_variables": {
								Type:        schema.TypeString,
								Optional:    true,
								Description: "Provide the GraphQL variables to get specific response from GraphQL based API service.",
							},
							"user_agent": {
								Type:        schema.TypeString,
								Optional:    true,
								Description: "User Agent to be used while monitoring the website.",
							},
							"auth_method": {
								Type:        schema.TypeString,
								Optional:    true,
								Default:     "B",
								Description: "Authentication method to access the website. Default value is 'B'. 'B' denotes Basic/NTLM. 'O' denotes OAuth 2 and 'W' denotes Web Token.",
							},
							"auth_user": {
								Type:        schema.TypeString,
								Optional:    true,
								Description: "Authentication user name to access the website.",
							},
							"auth_pass": {
								Type:        schema.TypeString,
								Optional:    true,
								Description: "Authentication password to access the website.",
								DiffSuppressFunc: func(k, old, new string, d *schema.ResourceData) bool {

									return true
								},
							},
							"oauth2_provider": {
								Type:        schema.TypeString,
								Optional:    true,
								Description: "Provider ID of the OAuth Provider to be associated with the monitor.",
							},
							"client_certificate_password": {
								Type:        schema.TypeString,
								Optional:    true,
								Description: "Password of the client certificate.",
								DiffSuppressFunc: func(k, old, new string, d *schema.ResourceData) bool {

									return true
								},
							},
							"jwt_id": {
								Type:        schema.TypeString,
								Optional:    true,
								Description: "Token ID of the Web Token to be associated with the monitor.",
							},
							"use_name_server": {
								Type:        schema.TypeBool,
								Optional:    true,
								Description: "Resolve the IP address using Domain Name Server.",
							},
							"up_status_codes": {
								Type:        schema.TypeString,
								Optional:    true,
								Description: "Provide a comma-separated list of HTTP status codes that indicate a successful response. You can specify individual status codes, as well as ranges separated with a colon.",
							},
							"ssl_protocol": {
								Type:        schema.TypeString,
								Optional:    true,
								Default:     "Auto",
								Description: "Specify the version of the SSL protocol. If you are not sure about the version, use Auto.",
							},
							"http_protocol": {
								Type:        schema.TypeString,
								Optional:    true,
								Default:     "H1.1",
								Description: "Specify the version of the HTTP protocol. Default value is H1.1.",
							},
							"use_alpn": {
								Type:        schema.TypeBool,
								Optional:    true,
								Default:     false,
								Description: "Enable ALPN to send supported protocols as part of the TLS handshake.",
							},
							"dynamic_param_response_type": {
								Type:        schema.TypeString,
								Optional:    true,
								Default:     "T",
								Description: "Store the Response Format of Parameter forwarding",
							},
							"response_variables": {
								Type:        schema.TypeMap,
								Optional:    true,
								Description: "Provide the Response Variable for parameter forwarding in Map format. ",
							},
							"dynamic_header_params": {
								Type:        schema.TypeMap,
								Optional:    true,
								Description: "Provide the Response Header/Cookies for parameter forwarding in Map format.",
							},
						},
					},
					Description: "API request details related to this step",
				},
			},
		},
		Description: "List of Monitors steps",
	},
}
View Source
var SSLMonitorSchema = map[string]*schema.Schema{
	"display_name": {
		Type:        schema.TypeString,
		Required:    true,
		Description: "Display Name for the monitor.",
	},
	"domain_name": {
		Type:        schema.TypeString,
		Required:    true,
		Description: "Domain name to be verified for SSL Certificate.",
	},
	"protocol": {
		Type:        schema.TypeString,
		Optional:    true,
		Default:     "HTTPS",
		Description: "Supported protocols are HTTPS, SMTPS, POPS, IMAPS, FTPS or CUSTOM",
	},
	"port": {
		Type:        schema.TypeInt,
		Optional:    true,
		Default:     443,
		Description: "Server Port.",
	},
	"expire_days": {
		Type:        schema.TypeInt,
		Optional:    true,
		Default:     30,
		Description: "Day threshold for certificate expiry notification. Range 1 - 999.",
	},
	"http_protocol_version": {
		Type:        schema.TypeString,
		Optional:    true,
		Default:     "H1.1",
		Description: "Version of the HTTP protocol.",
	},
	"ignore_domain_mismatch": {
		Type:        schema.TypeBool,
		Optional:    true,
		Default:     false,
		Description: "Boolean to ignore domain name mismatch errors.",
	},
	"ignore_trust": {
		Type:        schema.TypeBool,
		Optional:    true,
		Default:     false,
		Description: "To ignore the validation of SSL/TLS certificate chain.",
	},
	"location_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Location profile to be associated with the monitor.",
	},
	"location_profile_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Name of the location profile to be associated with the monitor.",
	},
	"notification_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Notification profile to be associated with the monitor.",
	},
	"notification_profile_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Name of the notification profile to be associated with the monitor.",
	},
	"threshold_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Threshold profile to be associated with the monitor.",
	},
	"monitor_groups": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of monitor groups to which the monitor has to be associated.",
	},
	"dependency_resource_ids": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of dependent resource IDs. Suppress alert when dependent monitor(s) is down.",
	},
	"user_group_ids": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of user groups to be notified when the monitor is down.",
	},
	"user_group_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "Name of the user groups to be associated with the monitor.",
	},
	"tag_ids": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of tag IDs to be associated to the monitor.",
	},
	"tag_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of tag names to be associated to the monitor.",
	},
	"third_party_service_ids": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of Third Party Service IDs to be associated to the monitor.",
	},
}
View Source
var ServerMonitorSchema = map[string]*schema.Schema{
	"display_name": {
		Type:        schema.TypeString,
		Required:    true,
		Description: "Display name for the monitor.",
	},
	"poll_interval": {
		Type:        schema.TypeInt,
		Optional:    true,
		Default:     1,
		Description: "Frequency at which data has to be collected for the server monitor.",
	},
	"log_needed": {
		Type:        schema.TypeBool,
		Optional:    true,
		Default:     true,
		Description: "Boolean to enable/disable Event Log/Syslog monitoring.",
	},
	"perform_automation": {
		Type:        schema.TypeBool,
		Optional:    true,
		Default:     true,
		Description: "Execute IT Automation during scheduled maintenance.",
	},
	"notification_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Notification profile to be associated with the monitor.",
	},
	"notification_profile_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Name of the notification profile to be associated with the monitor.",
	},
	"threshold_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Threshold profile to be associated with the monitor.",
	},
	"monitor_groups": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of monitor groups to which the monitor has to be associated.",
	},
	"user_group_ids": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of user groups to be notified when the monitor is down.",
	},
	"user_group_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "Name of the user groups to be associated with the monitor.",
	},
	"tag_ids": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of tag IDs to be associated to the monitor.",
	},
	"tag_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of tag names to be associated to the monitor.",
	},
	"third_party_service_ids": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of Third Party Service IDs to be associated to the monitor.",
	},
}
View Source
var WebTransactionBrowserMonitorSchema = map[string]*schema.Schema{
	"display_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Name for the monitor",
	},
	"base_url": {
		Type:        schema.TypeString,
		Required:    true,
		Description: "BaseURL of the transaction",
	},
	"selenium_script": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Recorded Trasanction script to create a monitor",
	},
	"script_type": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Recorded transaction script type.(txt , side)",
	},
	"check_frequency": {
		Type:        schema.TypeString,
		Default:     15,
		Optional:    true,
		Description: "Check interval for monitoring.",
	},
	"async_dc_enabled": {
		Type:        schema.TypeBool,
		Optional:    true,
		Default:     true,
		Description: "When asynchronous data collection is enabled, polling will be carried out from all the locations at the same time. If it is disabled, polling will be done consecutively from the selected locations.",
	},
	"browser_type": {
		Type:        schema.TypeInt,
		Default:     1,
		Optional:    true,
		Description: "Choose the browser type.",
	},
	"browser_version": {
		Type:        schema.TypeInt,
		Default:     10101,
		Optional:    true,
		Description: "Choose the browser version",
	},
	"think_time": {
		Type:        schema.TypeInt,
		Default:     1,
		Optional:    true,
		Description: "Think time between each steps",
	},
	"page_load_time": {
		Type:        schema.TypeInt,
		Default:     60,
		Optional:    true,
		Description: "Timeout for page load.",
	},
	"resolution": {
		Type:        schema.TypeString,
		Default:     "1600,900",
		Optional:    true,
		Description: "Screen resolution for running the script.",
	},
	"ip_type": {
		Type:        schema.TypeInt,
		Optional:    true,
		Description: "IP Type for monitor.",
	},
	"ignore_cert_err": {
		Type:        schema.TypeBool,
		Optional:    true,
		Default:     true,
		Description: "Enter true or false to Trust the Server SSL Certificate. Default value is true.",
	},
	"perform_automation": {
		Type:        schema.TypeBool,
		Optional:    true,
		Description: "To perform automation or not",
	},
	"location_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Location profile to be associated with the monitor",
	},
	"location_profile_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Name of the location profile to be associated with the monitor",
	},
	"notification_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Notification profile to be associated with the monitor",
	},
	"notification_profile_name": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "Name of the notification profile to be associated with the monitor",
	},
	"custom_headers": {
		Type:        schema.TypeMap,
		Optional:    true,
		Description: "A Map of Header name and value.",
	},
	"threshold_profile_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Computed:    true,
		Description: "Threshold profile to be associated with the monitor.",
	},
	"user_agent": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "User Agent to be used while monitoring the website.",
	},

	"proxy_details": {
		Type:     schema.TypeMap,
		Optional: true,
		Elem: &schema.Resource{
			Schema: map[string]*schema.Schema{
				"webProxyUrl": {
					Type:     schema.TypeString,
					Required: true,
				},
				"webProxyUname": {
					Type:     schema.TypeString,
					Required: true,
				},
				"webProxyPass": {
					Type:     schema.TypeString,
					Required: true,
				},
			},
		},
		Description: "Check for the proxy in the website response.",
	},
	"auth_details": {
		Type:     schema.TypeMap,
		Optional: true,
		Elem: &schema.Resource{
			Schema: map[string]*schema.Schema{
				"username": {
					Type:     schema.TypeString,
					Required: true,
				},
				"password": {
					Type:     schema.TypeString,
					Required: true,
				},
			},
		},
		Description: "Check for the auth details in the website response.",
	},
	"cookies": {
		Type:        schema.TypeMap,
		Optional:    true,
		Description: "A Map of cookies name and value.",
	},
	"user_group_ids": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of user groups to be notified when the monitor is down",
	},
	"user_group_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "Name of the user groups to be associated with the monitor",
	},
	"on_call_schedule_id": {
		Type:        schema.TypeString,
		Optional:    true,
		Description: "A new On Call schedule to be associated with monitors when user group id  is not chosen",
	},
	"monitor_groups": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of monitor groups to which the monitor has to be associated",
	},
	"dependency_resource_ids": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of dependent resource IDs. Suppress alert when dependent monitor(s) is down.",
	},
	"actions": {
		Type:        schema.TypeMap,
		Optional:    true,
		Elem:        schema.TypeString,
		Description: "Action to be performed on monitor IT Automation templates.",
	},
	"third_party_service_ids": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of Third Party Service IDs to be associated to the monitor",
	},
	"tag_ids": {
		Type: schema.TypeSet,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Computed:    true,
		Description: "List of tag IDs to be associated to the monitor",
	},
	"tag_names": {
		Type: schema.TypeList,
		Elem: &schema.Schema{
			Type: schema.TypeString,
		},
		Optional:    true,
		Description: "List of tag names to be associated to the monitor",
	},
}

Functions

func DataSourceSite24x7Monitor added in v1.0.6

func DataSourceSite24x7Monitor() *schema.Resource

func DataSourceSite24x7Monitors added in v1.0.6

func DataSourceSite24x7Monitors() *schema.Resource

func ResourceSite24x7AmazonMonitor

func ResourceSite24x7AmazonMonitor() *schema.Resource

func ResourceSite24x7DNSServerMonitor added in v1.0.47

func ResourceSite24x7DNSServerMonitor() *schema.Resource

func ResourceSite24x7DomainExpiryMonitor added in v1.0.65

func ResourceSite24x7DomainExpiryMonitor() *schema.Resource

func ResourceSite24x7FTPTransferMonitor added in v1.0.72

func ResourceSite24x7FTPTransferMonitor() *schema.Resource

func ResourceSite24x7HeartbeatMonitor added in v1.0.39

func ResourceSite24x7HeartbeatMonitor() *schema.Resource

func ResourceSite24x7ISPMonitor added in v1.0.72

func ResourceSite24x7ISPMonitor() *schema.Resource

func ResourceSite24x7PINGMonitor added in v1.0.73

func ResourceSite24x7PINGMonitor() *schema.Resource

func ResourceSite24x7PortMonitor added in v1.0.73

func ResourceSite24x7PortMonitor() *schema.Resource

func ResourceSite24x7RestApiMonitor

func ResourceSite24x7RestApiMonitor() *schema.Resource

func ResourceSite24x7RestApiTransactionMonitor added in v1.0.53

func ResourceSite24x7RestApiTransactionMonitor() *schema.Resource

func ResourceSite24x7SSLMonitor

func ResourceSite24x7SSLMonitor() *schema.Resource

func ResourceSite24x7ServerMonitor added in v1.0.10

func ResourceSite24x7ServerMonitor() *schema.Resource

func ResourceSite24x7WebPageSpeedMonitor added in v1.0.13

func ResourceSite24x7WebPageSpeedMonitor() *schema.Resource

func ResourceSite24x7WebTransactionBrowserMonitor added in v1.0.72

func ResourceSite24x7WebTransactionBrowserMonitor() *schema.Resource

func ResourceSite24x7WebsiteMonitor

func ResourceSite24x7WebsiteMonitor() *schema.Resource

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL