autotags

package
v1.56.2 Latest Latest
Warning

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

Go to latest
Published: Apr 30, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var PropagationTypes = struct {
	AzureToPg                  PropagationType
	AzureToService             PropagationType
	HostToProcessGroupInstance PropagationType
	ProcessGroupToHost         PropagationType
	ProcessGroupToService      PropagationType
	ServiceToHostLike          PropagationType
	ServiceToProcessGroupLike  PropagationType
}{
	"AZURE_TO_PG",
	"AZURE_TO_SERVICE",
	"HOST_TO_PROCESS_GROUP_INSTANCE",
	"PROCESS_GROUP_TO_HOST",
	"PROCESS_GROUP_TO_SERVICE",
	"SERVICE_TO_HOST_LIKE",
	"SERVICE_TO_PROCESS_GROUP_LIKE",
}

PropagationTypes offers the known enum values

View Source
var RuleTypes = struct {
	Application                  RuleType
	AWSApplicationLoadBalancer   RuleType
	AWSClassicLoadBalancer       RuleType
	AWSNetworkLoadBalancer       RuleType
	AWSRelationalDatabaseService RuleType
	Azure                        RuleType
	CustomApplication            RuleType
	CustomDevice                 RuleType
	DCRumApplication             RuleType
	ESXIHost                     RuleType
	ExternalSyntheticTest        RuleType
	Host                         RuleType
	HTTPCheck                    RuleType
	MobileApplication            RuleType
	ProcessGroup                 RuleType
	Service                      RuleType
	SyntheticTest                RuleType
}{
	"APPLICATION",
	"AWS_APPLICATION_LOAD_BALANCER",
	"AWS_CLASSIC_LOAD_BALANCER",
	"AWS_NETWORK_LOAD_BALANCER",
	"AWS_RELATIONAL_DATABASE_SERVICE",
	"AZURE",
	"CUSTOM_APPLICATION",
	"CUSTOM_DEVICE",
	"DCRUM_APPLICATION",
	"ESXI_HOST",
	"EXTERNAL_SYNTHETIC_TEST",
	"HOST",
	"HTTP_CHECK",
	"MOBILE_APPLICATION",
	"PROCESS_GROUP",
	"SERVICE",
	"SYNTHETIC_TEST",
}

RuleTypes offers the known enum values

Functions

This section is empty.

Types

type AutoTag

type AutoTag struct {
	// ID                       *string                    `json:"id,omitempty"`                       // The ID of the auto-tag.
	Name                     string                     `json:"name"`                               // The name of the auto-tag, which is applied to entities.  Additionally you can specify a **valueFormat** in the tag rule. In that case the tag is used in the `name:valueFormat` format.  For example you can extend the `Infrastructure` tag to `Infrastructure:Windows` and `Infrastructure:Linux`.
	Description              *string                    `json:"description"`                        // The description of the auto-tag
	Rules                    []*Rule                    `json:"rules,omitempty"`                    // The list of rules for tag usage. When there are multiple rules, the OR logic applies.
	EntitySelectorBasedRules []*EntitySelectorBasedRule `json:"entitySelectorBasedRules,omitempty"` // A list of entity-selector based rules for auto tagging usage.\n\nIf several rules are specified, the **OR** logic applies
	Unknowns                 map[string]json.RawMessage `json:"-"`
}

AutoTag Configuration of an auto-tag. It defines the conditions of tag usage and the tag value.

func (*AutoTag) Deprecated added in v1.36.0

func (me *AutoTag) Deprecated() string

func (*AutoTag) MarshalHCL

func (me *AutoTag) MarshalHCL(properties hcl.Properties) error

func (*AutoTag) MarshalJSON

func (me *AutoTag) MarshalJSON() ([]byte, error)

func (*AutoTag) Schema

func (me *AutoTag) Schema() map[string]*schema.Schema

func (*AutoTag) UnmarshalHCL

func (me *AutoTag) UnmarshalHCL(decoder hcl.Decoder) error

func (*AutoTag) UnmarshalJSON

func (me *AutoTag) UnmarshalJSON(data []byte) error

func (*AutoTag) Validate

func (me *AutoTag) Validate() []string

type EntitySelectorBasedRule

type EntitySelectorBasedRule struct {
	Enabled       *bool                      `json:"enabled"`        // The rule is enabled (`true`) or disabled (`false`).
	Selector      string                     `json:"entitySelector"` // The entity selector string, by which the entities are selected
	ValueFormat   *string                    `json:"valueFormat"`    // The value of the entity-selector-based auto-tag. If specified, the tag is used in the `name:valueFormat` format. \n\nFor example, you can extend the `Infrastructure` tag to `Infrastructure:Windows` and `Infrastructure:Linux`
	Normalization *string                    `json:"normalization"`  // Changes applied to the value after applying the value format. Default is LEAVE_TEXT_AS_IS
	Unknowns      map[string]json.RawMessage `json:"-"`
}

EntitySelectorBasedRule The entity-selector-based rule for auto tag usage. It allows tagging entities via an entity selector

func (*EntitySelectorBasedRule) MarshalHCL

func (me *EntitySelectorBasedRule) MarshalHCL(properties hcl.Properties) error

func (*EntitySelectorBasedRule) MarshalJSON

func (me *EntitySelectorBasedRule) MarshalJSON() ([]byte, error)

func (*EntitySelectorBasedRule) Schema

func (me *EntitySelectorBasedRule) Schema() map[string]*schema.Schema

func (*EntitySelectorBasedRule) UnmarshalHCL

func (me *EntitySelectorBasedRule) UnmarshalHCL(decoder hcl.Decoder) error

func (*EntitySelectorBasedRule) UnmarshalJSON

func (me *EntitySelectorBasedRule) UnmarshalJSON(data []byte) error

type PropagationType

type PropagationType string

PropagationType has no documentation

type Rule

type Rule struct {
	Type             RuleType                      `json:"type"`                       // Type of entities to which the rule applies.
	Enabled          bool                          `json:"enabled"`                    // Tag rule is enabled (`true`) or disabled (`false`).
	PropagationTypes []PropagationType             `json:"propagationTypes,omitempty"` // How to apply the tag to underlying entities:  * `SERVICE_TO_PROCESS_GROUP_LIKE`: Apply to underlying process groups of matching services.  * `SERVICE_TO_HOST_LIKE`: Apply to underlying hosts of matching services.  * `PROCESS_GROUP_TO_HOST`: Apply to underlying hosts of matching process groups.  * `PROCESS_GROUP_TO_SERVICE`: Apply to all services provided by the process groups.  * `HOST_TO_PROCESS_GROUP_INSTANCE`: Apply to processes running on matching hosts.  *  `AZURE_TO_PG`: Apply to process groups connected to matching Azure entities.  * `AZURE_TO_SERVICE`: Apply to services provided by matching Azure entities.
	Conditions       []*entityruleengine.Condition `json:"conditions"`                 // A list of matching rules for the auto-tag.  The tag applies only when **all** conditions are fulfilled.
	ValueFormat      *string                       `json:"valueFormat,omitempty"`      // The value of the auto-tag. If specified, the tag is used in the `name:valueFormat` format.  For example, you can extend the `Infrastructure` tag to `Infrastructure:Windows` and `Infrastructure:Linux`.  You can use the following placeholders here:  * `{AwsAutoScalingGroup:Name}`  * `{AwsAvailabilityZone:Name}`  * `{AwsElasticLoadBalancer:Name}`  * `{AwsRelationalDatabaseService:DBName}`  * `{AwsRelationalDatabaseService:Endpoint}`  * `{AwsRelationalDatabaseService:Engine}`  * `{AwsRelationalDatabaseService:InstanceClass}`  * `{AwsRelationalDatabaseService:Name}`  * `{AwsRelationalDatabaseService:Port}`  * `{AzureRegion:Name}`  * `{AzureScaleSet:Name}`  * `{AzureVm:Name}`  * `{CloudFoundryOrganization:Name}`  * `{CustomDevice:DetectedName}`  * `{CustomDevice:DnsName}`  * `{CustomDevice:IpAddress}`  * `{CustomDevice:Port}`  * `{DockerContainerGroupInstance:ContainerName}`  * `{DockerContainerGroupInstance:FullImageName}`  * `{DockerContainerGroupInstance:ImageVersion}`  * `{DockerContainerGroupInstance:StrippedImageName}`  * `{ESXIHost:HardwareModel}`  * `{ESXIHost:HardwareVendor}`  * `{ESXIHost:Name}`  * `{ESXIHost:ProductName}`  * `{ESXIHost:ProductVersion}`  * `{Ec2Instance:AmiId}`  * `{Ec2Instance:BeanstalkEnvironmentName}`  * `{Ec2Instance:InstanceId}`  * `{Ec2Instance:InstanceType}`  * `{Ec2Instance:LocalHostName}`  * `{Ec2Instance:Name}`  * `{Ec2Instance:PublicHostName}`  * `{Ec2Instance:SecurityGroup}`  * `{GoogleComputeInstance:Id}`  * `{GoogleComputeInstance:IpAddresses}`  * `{GoogleComputeInstance:MachineType}`  * `{GoogleComputeInstance:Name}`  * `{GoogleComputeInstance:ProjectId}`  * `{GoogleComputeInstance:Project}`  * `{Host:AWSNameTag}`  * `{Host:AixLogicalCpuCount}`  * `{Host:AzureHostName}`  * `{Host:AzureSiteName}`  * `{Host:BoshDeploymentId}`  * `{Host:BoshInstanceId}`  * `{Host:BoshInstanceName}`  * `{Host:BoshName}`  * `{Host:BoshStemcellVersion}`  * `{Host:CpuCores}`  * `{Host:DetectedName}`  * `{Host:Environment:AppName}`  * `{Host:Environment:BoshReleaseVersion}`  * `{Host:Environment:Environment}`  * `{Host:Environment:Link}`  * `{Host:Environment:Organization}`  * `{Host:Environment:Owner}`  * `{Host:Environment:Support}`  * `{Host:IpAddress}`  * `{Host:LogicalCpuCores}`  * `{Host:OneAgentCustomHostName}`  * `{Host:OperatingSystemVersion}`  * `{Host:PaasMemoryLimit}`  * `{HostGroup:Name}`  * `{KubernetesCluster:Name}`  * `{KubernetesNode:DetectedName}`  * `{OpenstackAvailabilityZone:Name}`  * `{OpenstackZone:Name}`  * `{OpenstackComputeNode:Name}`  * `{OpenstackProject:Name}`  * `{OpenstackVm:UnstanceType}`  * `{OpenstackVm:Name}`  * `{OpenstackVm:SecurityGroup}`  * `{ProcessGroup:AmazonECRImageAccountId}`  * `{ProcessGroup:AmazonECRImageRegion}`  * `{ProcessGroup:AmazonECSCluster}`  * `{ProcessGroup:AmazonECSContainerName}`  * `{ProcessGroup:AmazonECSFamily}`  * `{ProcessGroup:AmazonECSRevision}`  * `{ProcessGroup:AmazonLambdaFunctionName}`  * `{ProcessGroup:AmazonRegion}`  * `{ProcessGroup:ApacheConfigPath}`  * `{ProcessGroup:ApacheSparkMasterIpAddress}`  * `{ProcessGroup:AspDotNetCoreApplicationPath}`  * `{ProcessGroup:AspDotNetCoreApplicationPath}`  * `{ProcessGroup:AzureHostName}`  * `{ProcessGroup:AzureSiteName}`  * `{ProcessGroup:CassandraClusterName}`  * `{ProcessGroup:CatalinaBase}`  * `{ProcessGroup:CatalinaHome}`  * `{ProcessGroup:CloudFoundryAppId}`  * `{ProcessGroup:CloudFoundryAppName}`  * `{ProcessGroup:CloudFoundryInstanceIndex}`  * `{ProcessGroup:CloudFoundrySpaceId}`  * `{ProcessGroup:CloudFoundrySpaceName}`  * `{ProcessGroup:ColdFusionJvmConfigFile}`  * `{ProcessGroup:ColdFusionServiceName}`  * `{ProcessGroup:CommandLineArgs}`  * `{ProcessGroup:DetectedName}`  * `{ProcessGroup:DotNetCommandPath}`  * `{ProcessGroup:DotNetCommand}`  * `{ProcessGroup:DotNetClusterId}`  * `{ProcessGroup:DotNetNodeId}`  * `{ProcessGroup:ElasticsearchClusterName}`  * `{ProcessGroup:ElasticsearchNodeName}`  * `{ProcessGroup:EquinoxConfigPath}`  * `{ProcessGroup:ExeName}`  * `{ProcessGroup:ExePath}`  * `{ProcessGroup:GlassFishDomainName}`  * `{ProcessGroup:GlassFishInstanceName}`  * `{ProcessGroup:GoogleAppEngineInstance}`  * `{ProcessGroup:GoogleAppEngineService}`  * `{ProcessGroup:GoogleCloudProject}`  * `{ProcessGroup:HybrisBinDirectory}`  * `{ProcessGroup:HybrisConfigDirectory}`  * `{ProcessGroup:HybrisConfigDirectory}`  * `{ProcessGroup:HybrisDataDirectory}`  * `{ProcessGroup:IBMCicsRegion}`  * `{ProcessGroup:IBMCtgName}`  * `{ProcessGroup:IBMImsConnectRegion}`  * `{ProcessGroup:IBMImsControlRegion}`  * `{ProcessGroup:IBMImsMessageProcessingRegion}`  * `{ProcessGroup:IBMImsSoapGwName}`  * `{ProcessGroup:IBMIntegrationNodeName}`  * `{ProcessGroup:IBMIntegrationServerName}`  * `{ProcessGroup:IISAppPool}`  * `{ProcessGroup:IISRoleName}`  * `{ProcessGroup:JbossHome}`  * `{ProcessGroup:JbossMode}`  * `{ProcessGroup:JbossServerName}`  * `{ProcessGroup:JavaJarFile}`  * `{ProcessGroup:JavaJarPath}`  * `{ProcessGroup:JavaMainCLass}`  * `{ProcessGroup:KubernetesBasePodName}`  * `{ProcessGroup:KubernetesContainerName}`  * `{ProcessGroup:KubernetesFullPodName}`  * `{ProcessGroup:KubernetesNamespace}`  * `{ProcessGroup:KubernetesPodUid}`  * `{ProcessGroup:MssqlInstanceName}`  * `{ProcessGroup:NodeJsAppBaseDirectory}`  * `{ProcessGroup:NodeJsAppName}`  * `{ProcessGroup:NodeJsScriptName}`  * `{ProcessGroup:OracleSid}`  * `{ProcessGroup:PHPScriptPath}`  * `{ProcessGroup:PHPWorkingDirectory}`  * `{ProcessGroup:Ports}`  * `{ProcessGroup:RubyAppRootPath}`  * `{ProcessGroup:RubyScriptPath}`  * `{ProcessGroup:SoftwareAGInstallRoot}`  * `{ProcessGroup:SoftwareAGProductPropertyName}`  * `{ProcessGroup:SpringBootAppName}`  * `{ProcessGroup:SpringBootProfileName}`  * `{ProcessGroup:SpringBootStartupClass}`  * `{ProcessGroup:TIBCOBusinessWorksAppNodeName}`  * `{ProcessGroup:TIBCOBusinessWorksAppSpaceName}`  * `{ProcessGroup:TIBCOBusinessWorksCeAppName}`  * `{ProcessGroup:TIBCOBusinessWorksCeVersion}`  * `{ProcessGroup:TIBCOBusinessWorksDomainName}`  * `{ProcessGroup:TIBCOBusinessWorksEnginePropertyFilePath}`  * `{ProcessGroup:TIBCOBusinessWorksEnginePropertyFile}`  * `{ProcessGroup:TIBCOBusinessWorksHome}`  * `{ProcessGroup:VarnishInstanceName}`  * `{ProcessGroup:WebLogicClusterName}`  * `{ProcessGroup:WebLogicDomainName}`  * `{ProcessGroup:WebLogicHome}`  * `{ProcessGroup:WebLogicName}`  * `{ProcessGroup:WebSphereCellName}`  * `{ProcessGroup:WebSphereClusterName}`  * `{ProcessGroup:WebSphereNodeName}`  * `{ProcessGroup:WebSphereServerName}`  * `{ProcessGroup:ActorSystem}`  * `{Service:STGServerName}`  * `{Service:DatabaseHostName}`  * `{Service:DatabaseName}`  * `{Service:DatabaseVendor}`  * `{Service:DetectedName}`  * `{Service:EndpointPath}`  * `{Service:EndpointPathGatewayUrl}`  * `{Service:IIBApplicationName}`  * `{Service:MessageListenerClassName}`  * `{Service:Port}`  * `{Service:PublicDomainName}`  * `{Service:RemoteEndpoint}`  * `{Service:RemoteName}`  * `{Service:WebApplicationId}`  * `{Service:WebContextRoot}`  * `{Service:WebServerName}`  * `{Service:WebServiceNamespace}`  * `{Service:WebServiceName}`  * `{VmwareDatacenter:Name}`  * `{VmwareVm:Name}`
	Normalization    *string                       `json:"normalization,omitempty"`    // Changes applied to the value after applying the value format. Default is LEAVE_TEXT_AS_IS
	Unknowns         map[string]json.RawMessage    `json:"-"`
}

Rule A rule for the auto-tag.

Defines the conditions of tag usage.

func (*Rule) MarshalHCL

func (me *Rule) MarshalHCL(properties hcl.Properties) error

func (*Rule) MarshalJSON

func (me *Rule) MarshalJSON() ([]byte, error)

func (*Rule) Schema

func (me *Rule) Schema() map[string]*schema.Schema

func (*Rule) UnmarshalHCL

func (me *Rule) UnmarshalHCL(decoder hcl.Decoder) error

func (*Rule) UnmarshalJSON

func (me *Rule) UnmarshalJSON(data []byte) error

func (*Rule) Validate

func (mzr *Rule) Validate() []string

type RuleType

type RuleType string

RuleType Type of entities to which the rule applies.

Jump to

Keyboard shortcuts

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