1.3.0 • Published 8 months ago

@dynatrace-sdk/client-filter-segment-management v1.3.0

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
8 months ago

@dynatrace-sdk/client-filter-segment-management

npm License

Filter-Segment Management for Grail.

Slice, dice and contextualize your data to make it easier to find, understand and work with.

Installation

npm install @dynatrace-sdk/client-filter-segment-management

Getting help

License

This SDK is distributed under the Apache License, Version 2.0, see LICENSE for more information.

API reference

Full API reference for the latest version of the SDK is also available at the Dynatrace Developer.

filterSegmentsClient

import { filterSegmentsClient } from '@dynatrace-sdk/client-filter-segment-management';

createFilterSegment

Create a new filter-segment.

Create a new segment and define data.

Required scopes:

  • storage:filter-segments:write

New Filter-Segment

Provide a name and an optional description for the filter-segment.

Variables

Create variables to apply in your filter-segment data filters

Includes (Segment data)

Include all data that should be accessible when applying the filter-segment

IsPublic (Visibility)

  • false: The filter-segment is private and only visible to the owner
  • true: The filter-segment is visible to everyone in the environment

Parameters

NameType
config.body*requiredNewFilterSegment

Returns

Return typeStatus codeDescription
DetailedFilterSegment201Filter-segment successfully created.

Throws

Error TypeError Message
ErrorEnvelopeErrorFilter-segment Bad Request. | unauthorized | missing permissions
import { filterSegmentsClient } from "@dynatrace-sdk/client-filter-segment-management";

const data = await filterSegmentsClient.createFilterSegment(
  {
    body: {
      name: "dev_environment",
      description:
        "only includes data of the dev environment",
      variables: {
        type: "query",
        value: "fetch logs | limit 1",
      },
      isPublic: false,
      includes: [
        {
          filter: "here goes the filter",
          dataObject: "logs",
        },
        {
          filter: "here goes another filter",
          dataObject: "events",
        },
      ],
    },
  },
);

deleteFilterSegment

Delete a filter-segment.

Remove the filter-segment from the environment for all users.

Required scopes:

  • storage:filter-segments:delete

Parameters

NameTypeDescription
config.filterSegmentUid*requiredstringUID of the filter-segment

Returns

Return typeStatus codeDescription
void204Filter-segment successfully deleted.

Throws

Error TypeError Message
ErrorEnvelopeErrorbad request | unauthorized | missing permissions | Not found: the server cannot find the requested filter-segment.
import { filterSegmentsClient } from "@dynatrace-sdk/client-filter-segment-management";

const data = await filterSegmentsClient.deleteFilterSegment(
  { filterSegmentUid: "D82a1jdA23a" },
);

getFilterSegment

Get filter-segment by UID.

Get filter-segment by its UID.

Required scopes:

  • storage:filter-segments:read

Parameters

NameTypeDescription
config.addFieldsArray<GetFilterSegmentQueryAddFieldsItem>Add additional fields.
config.filterSegmentUid*requiredstringUID of the filter-segment

Returns

Return typeStatus codeDescription
DetailedFilterSegment200Filter-segment successfully retrieved.

Throws

Error TypeError Message
ErrorEnvelopeErrorbad request | unauthorized | missing permissions | Not found: the server cannot find the requested filter-segment.
import { filterSegmentsClient } from "@dynatrace-sdk/client-filter-segment-management";

const data = await filterSegmentsClient.getFilterSegment({
  filterSegmentUid: "D82a1jdA23a",
});

getFilterSegments

Get all filter-segments.

Returns all filter-segments. If details like description are not needed then consider using the :lean endpoint.

Required scopes:

  • storage:filter-segments:read

Parameters

NameTypeDescription
config.addFieldsArray<GetFilterSegmentsQueryAddFieldsItem>Add additional fields.

Returns

Return typeStatus codeDescription
FilterSegments200Filter-segments successfully retrieved.

Throws

Error TypeError Message
ErrorEnvelopeErrorbad request | unauthorized | missing permissions
import { filterSegmentsClient } from "@dynatrace-sdk/client-filter-segment-management";

const data = await filterSegmentsClient.getFilterSegments();

getLeanFilterSegments

Get all filter-segments in a minimal/lean form.

Returns all filter-segments in a minimal representational form. This endpoint saves resources and as a result quicker response times can be expected over the more detailed get-all endpoint.

Required scopes:

  • storage:filter-segments:read

Parameters

NameTypeDescription
config.addFieldsArray<GetLeanFilterSegmentsQueryAddFieldsItem>Add additional fields.

Returns

Return typeStatus codeDescription
LeanFilterSegments200Filter-segments successfully retrieved.

Throws

Error TypeError Message
ErrorEnvelopeErrorbad request | unauthorized | missing permissions
import { filterSegmentsClient } from "@dynatrace-sdk/client-filter-segment-management";

const data =
  await filterSegmentsClient.getLeanFilterSegments();

partiallyUpdateFilterSegment

Partially update a filter-segment.

Update one or more fields of a filter-segment.

Required scopes:

  • storage:filter-segments:write

Following fields can be updated:

  • name
  • description
  • isPublic
  • variables*
  • includes*

* If given the value will be overridden.

Fields not given will be ignored.

Parameters

NameTypeDescription
config.body*requiredPartialUpdateFilterSegment
config.filterSegmentUid*requiredstringUID of the filter-segment
config.optimisticLockingVersion*requirednumberversion which should be updated. used for optimistic locking.

Returns

Return typeStatus codeDescription
void200Filter-segment successfully updated.

Throws

Error TypeError Message
ErrorEnvelopeErrorbad request | unauthorized | missing permissions | Not found: the server cannot find the requested filter-segment.
import { filterSegmentsClient } from "@dynatrace-sdk/client-filter-segment-management";

const data =
  await filterSegmentsClient.partiallyUpdateFilterSegment({
    filterSegmentUid: "D82a1jdA23a",
    optimisticLockingVersion: 1,
    body: {
      description:
        "only includes data of the development environment",
    },
  });

updateFilterSegment

Update a filter-segment. All fields will be overwritten (also undefined or null fields).

Update one or more fields of a filter-segment.

Required scopes:

  • storage:filter-segments:write

Following fields can be updated:

  • name
  • description
  • isPublic
  • variables*
  • includes*

* Values of the fields will be overridden or removed if not given.

Provide all other fields with unchanged values.

Parameters

NameTypeDescription
config.body*requiredUpdateFilterSegment
config.filterSegmentUid*requiredstringUID of the filter-segment
config.optimisticLockingVersion*requirednumberversion which should be updated. used for optimistic locking.

Returns

Return typeStatus codeDescription
void200Filter-segment successfully updated.

Throws

Error TypeError Message
ErrorEnvelopeErrorbad request | unauthorized | missing permissions | Not found: the server cannot find the requested filter-segment.
import { filterSegmentsClient } from "@dynatrace-sdk/client-filter-segment-management";

const data = await filterSegmentsClient.updateFilterSegment(
  {
    filterSegmentUid: "D82a1jdA23a",
    optimisticLockingVersion: 1,
    body: {
      uid: "D82a1jdA23a",
      name: "dev_environment",
      description:
        "only includes data of the development environment",
      variables: {
        type: "query",
        value: "fetch logs | limit 1",
      },
      isPublic: false,
      owner: "john.doe",
      includes: [
        {
          filter: "here goes the filter",
          dataObject: "logs",
        },
        {
          filter: "here goes another filter",
          dataObject: "events",
        },
      ],
    },
  },
);

Types

CustomValidationErrorInfo

NameType
messagestring

DetailedFilterSegment

NameTypeDescription
allowedOperationsArray<DetailedFilterSegmentAllowedOperationsItem>Defines the allowed operations of the current user.
descriptionstringDescription of the filter-segment.
externalIdstringOptional unique identifier of the filter-segment. Used for Dynatrace Configuration as Code
includesArray<Include>List of includes of the filter-segment.
isPublicbooleanIndicates if the filter-segment is publicly accessible within the tenant.
name*requiredstringName of the filter-segment.
owner*requiredstringDefines the owner of the filter-segment.
uid*requiredstringUnique identifier of the filter-segment.
variablesFilterSegmentVariablesVariables of the filter-segment.
versionnumberUsed for optimistic locking. Update requests define with this on which version the data updated is based on. This must match with the version stored, otherwise the update will fail due to concurrent modification.

ErrorEnvelope

NameType
errorExceptionalReturn

ErrorInfo

NameType
messagestring

ExceptionalReturn

NameType
codenumber
errorDetailsArray<CustomValidationErrorInfo | InvalidAuditEventsErrorInfo | MediaTypeErrorInfo | ParameterErrorInfo | ProxyErrorInfo | QueryFrontendRawErrorInfo | RequestBodyErrorInfo>
messagestring

FilterSegment

List of filter-segments.

NameTypeDescription
allowedOperationsArray<FilterSegmentAllowedOperationsItem>Defines the allowed operations of the current user.
descriptionstringDescription of the filter-segment.
externalIdstringOptional unique identifier of the filter-segment. Used for Dynatrace Configuration as Code
isPublicbooleanIndicates if the filter-segment is publicly accessible within the tenant.
name*requiredstringName of the filter-segment.
owner*requiredstringDefines the owner of the filter-segment.
uid*requiredstringUnique identifier of the filter-segment.
variablesFilterSegmentVariablesVariables of the filter-segment.
versionnumberUsed for optimistic locking. Update requests define with this on which version the data updated is based on. This must match with the version stored, otherwise the update will fail due to concurrent modification.

FilterSegmentVariables

Variables of the filter-segment.

NameTypeDescription
type*requiredstringType of the variable.
value*requiredstringValue of the variable.

FilterSegments

NameTypeDescription
filterSegments*requiredArray<FilterSegment>List of filter-segments.

Include

List of includes of the filter-segment.

NameTypeDescription
applyToArray<string>Experimental The tables that the entity-filter will be applied to.
dataObject*requiredstringThe data object that the filter will be applied to. Use '_all_data_object' to apply it to all dataObjects.
filter*requiredstringData will be filtered by this value.
relationshipRelationshipExperimental The relationship of an include which has to be be specified when the data object is an entity view.

InvalidAuditEventsErrorInfo

NameType
invalidAuditEventIndicesArray<number>
invalidEventIndicesArray<number>
messagestring

LeanFilterSegment

List of filter-segments.

NameTypeDescription
allowedOperationsArray<LeanFilterSegmentAllowedOperationsItem>Defines the allowed operations of the current user.
externalIdstringOptional unique identifier of the filter-segment. Used for Dynatrace Configuration as Code
isPublicbooleanIndicates if the filter-segment is publicly accessible within the tenant.
name*requiredstringName of the filter-segment.
ownerstringDefines the owner of the filter-segment.
uid*requiredstringUnique identifier of the filter-segment.
variablesFilterSegmentVariablesVariables of the filter-segment.

LeanFilterSegments

NameTypeDescription
filterSegments*requiredArray<LeanFilterSegment>List of filter-segments.

MediaTypeErrorInfo

NameType
messagestring
supportedMediaTypesArray<string>

NewFilterSegment

NameTypeDescription
descriptionstringDescription of the filter-segment.
externalIdstringOptional unique identifier of the filter-segment. Used for Dynatrace Configuration as Code
includesArray<NewInclude>List of includes of the filter-segment.
isPublic*requiredbooleanIndicates if the filter-segment is publicly accessible within the tenant.
name*requiredstringName of the filter-segment.
variablesFilterSegmentVariablesVariables of the filter-segment.

NewInclude

List of includes of the filter-segment.

NameTypeDescription
applyToArray<string>Experimental The tables that the entity-filter will be applied to.
dataObject*requiredstringThe data object that the filter will be applied to. Use '_all_data_object' to apply it to all dataObjects.
filter*requiredstringData will be filtered by this value.
relationshipNewRelationshipExperimental The relationship of an include which has to be be specified when the data object is an entity view.

NewRelationship

Experimental The relationship of an include which has to be be specified when the data object is an entity view.

NameTypeDescription
name*requiredstringName of the relationship.
target*requiredstringTarget of the relationship.

ParameterErrorInfo

NameType
messagestring
parameterDescriptorstring

PartialUpdateFilterSegment

NameTypeDescription
descriptionstringDescription of the filter-segment.
externalIdstringOptional unique identifier of the filter-segment. Used for Dynatrace Configuration as Code
includesArray<NewInclude>List of includes of the filter-segment.
isPublicbooleanIndicates if the filter-segment is publicly accessible within the tenant.
namestringName of the filter-segment.
variablesFilterSegmentVariablesVariables of the filter-segment.

ProxyErrorInfo

NameType
messagestring

QueryFrontendRawErrorInfo

NameType
messagestring
rawQueryFrontendResponsestring

Relationship

Experimental The relationship of an include which has to be be specified when the data object is an entity view.

NameTypeDescription
name*requiredstringName of the relationship.
target*requiredstringTarget of the relationship.

RequestBodyErrorInfo

NameType
bodyDescriptorstring
messagestring

UpdateFilterSegment

NameTypeDescription
descriptionstringDescription of the filter-segment.
externalIdstringOptional unique identifier of the filter-segment. Used for Dynatrace Configuration as Code
includesArray<NewInclude>List of includes of the filter-segment.
isPublic*requiredbooleanIndicates if the filter-segment is publicly accessible within the tenant.
name*requiredstringName of the filter-segment.
owner*requiredstringDefines the owner of the filter-segment.
uid*requiredstringUnique identifier of the filter-segment.
variablesFilterSegmentVariablesVariables of the filter-segment.

Enums

DetailedFilterSegmentAllowedOperationsItem

Defines the allowed operations of the current user.

Enum keys

Delete | Read | Write

FilterSegmentAllowedOperationsItem

Defines the allowed operations of the current user.

Enum keys

Delete | Read | Write

GetFilterSegmentQueryAddFieldsItem

Enum keys

Externalid | Includes | Resourcecontext | Variables

GetFilterSegmentsQueryAddFieldsItem

Enum keys

Externalid | Resourcecontext | Variables

GetLeanFilterSegmentsQueryAddFieldsItem

Enum keys

Externalid | Owner | Resourcecontext | Variables

LeanFilterSegmentAllowedOperationsItem

Defines the allowed operations of the current user.

Enum keys

Delete | Read | Write