From 15e9d006ba565d29aa99e4eba98469efb13f5138 Mon Sep 17 00:00:00 2001 From: gitlawr Date: Thu, 15 Aug 2019 11:05:39 +0800 Subject: [PATCH 1/2] Add multi-line filter configurations for logging --- apis/management.cattle.io/v3/logging_types.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/apis/management.cattle.io/v3/logging_types.go b/apis/management.cattle.io/v3/logging_types.go index 7df54836f5..be31decf66 100644 --- a/apis/management.cattle.io/v3/logging_types.go +++ b/apis/management.cattle.io/v3/logging_types.go @@ -38,9 +38,13 @@ type ProjectLogging struct { } type LoggingCommonField struct { - DisplayName string `json:"displayName,omitempty"` - OutputFlushInterval int `json:"outputFlushInterval,omitempty" norman:"default=60"` - OutputTags map[string]string `json:"outputTags,omitempty"` + DisplayName string `json:"displayName,omitempty"` + OutputFlushInterval int `json:"outputFlushInterval,omitempty" norman:"default=60"` + OutputTags map[string]string `json:"outputTags,omitempty"` + EnableMultiLineFilter bool `json:"enableMultiLineFilter,omitempty"` + MultiLineStartRegexp string `json:"multiLineStartRegexp,omitempty"` + ContinuousLineRegexp string `json:"continuousLineRegexp,omitempty"` + MultiLineEndRegexp string `json:"multiLineEndRegexp,omitempty"` } type LoggingTargets struct { @@ -187,12 +191,12 @@ type LoggingSystemImages struct { type ClusterTestInput struct { ClusterName string `json:"clusterId" norman:"required,type=reference[cluster]"` + LoggingCommonField LoggingTargets - OutputTags map[string]string `json:"outputTags,omitempty"` } type ProjectTestInput struct { ProjectName string `json:"projectId" norman:"required,type=reference[project]"` + LoggingCommonField LoggingTargets - OutputTags map[string]string `json:"outputTags,omitempty"` } From f2a6c72f8b2e000d57a4ad62ac62e83cc1a02e21 Mon Sep 17 00:00:00 2001 From: gitlawr Date: Thu, 15 Aug 2019 11:08:17 +0800 Subject: [PATCH 2/2] go generate --- .../v3/zz_generated_deepcopy.go | 16 ++-------------- .../v3/zz_generated_cluster_logging.go | 8 ++++++++ .../v3/zz_generated_cluster_logging_spec.go | 8 ++++++++ .../v3/zz_generated_cluster_test_input.go | 12 ++++++++++++ .../v3/zz_generated_project_logging.go | 8 ++++++++ .../v3/zz_generated_project_logging_spec.go | 8 ++++++++ .../v3/zz_generated_project_test_input.go | 12 ++++++++++++ 7 files changed, 58 insertions(+), 14 deletions(-) diff --git a/apis/management.cattle.io/v3/zz_generated_deepcopy.go b/apis/management.cattle.io/v3/zz_generated_deepcopy.go index 0614c42034..4c56184676 100644 --- a/apis/management.cattle.io/v3/zz_generated_deepcopy.go +++ b/apis/management.cattle.io/v3/zz_generated_deepcopy.go @@ -2281,14 +2281,8 @@ func (in *ClusterTemplateSpec) DeepCopy() *ClusterTemplateSpec { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ClusterTestInput) DeepCopyInto(out *ClusterTestInput) { *out = *in + in.LoggingCommonField.DeepCopyInto(&out.LoggingCommonField) in.LoggingTargets.DeepCopyInto(&out.LoggingTargets) - if in.OutputTags != nil { - in, out := &in.OutputTags, &out.OutputTags - *out = make(map[string]string, len(*in)) - for key, val := range *in { - (*out)[key] = val - } - } return } @@ -7379,14 +7373,8 @@ func (in *ProjectStatus) DeepCopy() *ProjectStatus { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ProjectTestInput) DeepCopyInto(out *ProjectTestInput) { *out = *in + in.LoggingCommonField.DeepCopyInto(&out.LoggingCommonField) in.LoggingTargets.DeepCopyInto(&out.LoggingTargets) - if in.OutputTags != nil { - in, out := &in.OutputTags, &out.OutputTags - *out = make(map[string]string, len(*in)) - for key, val := range *in { - (*out)[key] = val - } - } return } diff --git a/client/management/v3/zz_generated_cluster_logging.go b/client/management/v3/zz_generated_cluster_logging.go index 15ff53b717..0486701e12 100644 --- a/client/management/v3/zz_generated_cluster_logging.go +++ b/client/management/v3/zz_generated_cluster_logging.go @@ -10,15 +10,19 @@ const ( ClusterLoggingFieldAppliedSpec = "appliedSpec" ClusterLoggingFieldClusterID = "clusterId" ClusterLoggingFieldConditions = "conditions" + ClusterLoggingFieldContinuousLineRegexp = "continuousLineRegexp" ClusterLoggingFieldCreated = "created" ClusterLoggingFieldCreatorID = "creatorId" ClusterLoggingFieldCustomTargetConfig = "customTargetConfig" ClusterLoggingFieldElasticsearchConfig = "elasticsearchConfig" + ClusterLoggingFieldEnableMultiLineFilter = "enableMultiLineFilter" ClusterLoggingFieldFailedSpec = "failedSpec" ClusterLoggingFieldFluentForwarderConfig = "fluentForwarderConfig" ClusterLoggingFieldIncludeSystemComponent = "includeSystemComponent" ClusterLoggingFieldKafkaConfig = "kafkaConfig" ClusterLoggingFieldLabels = "labels" + ClusterLoggingFieldMultiLineEndRegexp = "multiLineEndRegexp" + ClusterLoggingFieldMultiLineStartRegexp = "multiLineStartRegexp" ClusterLoggingFieldName = "name" ClusterLoggingFieldNamespaceId = "namespaceId" ClusterLoggingFieldOutputFlushInterval = "outputFlushInterval" @@ -39,15 +43,19 @@ type ClusterLogging struct { AppliedSpec *ClusterLoggingSpec `json:"appliedSpec,omitempty" yaml:"appliedSpec,omitempty"` ClusterID string `json:"clusterId,omitempty" yaml:"clusterId,omitempty"` Conditions []LoggingCondition `json:"conditions,omitempty" yaml:"conditions,omitempty"` + ContinuousLineRegexp string `json:"continuousLineRegexp,omitempty" yaml:"continuousLineRegexp,omitempty"` Created string `json:"created,omitempty" yaml:"created,omitempty"` CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` CustomTargetConfig *CustomTargetConfig `json:"customTargetConfig,omitempty" yaml:"customTargetConfig,omitempty"` ElasticsearchConfig *ElasticsearchConfig `json:"elasticsearchConfig,omitempty" yaml:"elasticsearchConfig,omitempty"` + EnableMultiLineFilter bool `json:"enableMultiLineFilter,omitempty" yaml:"enableMultiLineFilter,omitempty"` FailedSpec *ClusterLoggingSpec `json:"failedSpec,omitempty" yaml:"failedSpec,omitempty"` FluentForwarderConfig *FluentForwarderConfig `json:"fluentForwarderConfig,omitempty" yaml:"fluentForwarderConfig,omitempty"` IncludeSystemComponent *bool `json:"includeSystemComponent,omitempty" yaml:"includeSystemComponent,omitempty"` KafkaConfig *KafkaConfig `json:"kafkaConfig,omitempty" yaml:"kafkaConfig,omitempty"` Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + MultiLineEndRegexp string `json:"multiLineEndRegexp,omitempty" yaml:"multiLineEndRegexp,omitempty"` + MultiLineStartRegexp string `json:"multiLineStartRegexp,omitempty" yaml:"multiLineStartRegexp,omitempty"` Name string `json:"name,omitempty" yaml:"name,omitempty"` NamespaceId string `json:"namespaceId,omitempty" yaml:"namespaceId,omitempty"` OutputFlushInterval int64 `json:"outputFlushInterval,omitempty" yaml:"outputFlushInterval,omitempty"` diff --git a/client/management/v3/zz_generated_cluster_logging_spec.go b/client/management/v3/zz_generated_cluster_logging_spec.go index 3ea19a0e70..4166eee88a 100644 --- a/client/management/v3/zz_generated_cluster_logging_spec.go +++ b/client/management/v3/zz_generated_cluster_logging_spec.go @@ -3,12 +3,16 @@ package client const ( ClusterLoggingSpecType = "clusterLoggingSpec" ClusterLoggingSpecFieldClusterID = "clusterId" + ClusterLoggingSpecFieldContinuousLineRegexp = "continuousLineRegexp" ClusterLoggingSpecFieldCustomTargetConfig = "customTargetConfig" ClusterLoggingSpecFieldDisplayName = "displayName" ClusterLoggingSpecFieldElasticsearchConfig = "elasticsearchConfig" + ClusterLoggingSpecFieldEnableMultiLineFilter = "enableMultiLineFilter" ClusterLoggingSpecFieldFluentForwarderConfig = "fluentForwarderConfig" ClusterLoggingSpecFieldIncludeSystemComponent = "includeSystemComponent" ClusterLoggingSpecFieldKafkaConfig = "kafkaConfig" + ClusterLoggingSpecFieldMultiLineEndRegexp = "multiLineEndRegexp" + ClusterLoggingSpecFieldMultiLineStartRegexp = "multiLineStartRegexp" ClusterLoggingSpecFieldOutputFlushInterval = "outputFlushInterval" ClusterLoggingSpecFieldOutputTags = "outputTags" ClusterLoggingSpecFieldSplunkConfig = "splunkConfig" @@ -17,12 +21,16 @@ const ( type ClusterLoggingSpec struct { ClusterID string `json:"clusterId,omitempty" yaml:"clusterId,omitempty"` + ContinuousLineRegexp string `json:"continuousLineRegexp,omitempty" yaml:"continuousLineRegexp,omitempty"` CustomTargetConfig *CustomTargetConfig `json:"customTargetConfig,omitempty" yaml:"customTargetConfig,omitempty"` DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"` ElasticsearchConfig *ElasticsearchConfig `json:"elasticsearchConfig,omitempty" yaml:"elasticsearchConfig,omitempty"` + EnableMultiLineFilter bool `json:"enableMultiLineFilter,omitempty" yaml:"enableMultiLineFilter,omitempty"` FluentForwarderConfig *FluentForwarderConfig `json:"fluentForwarderConfig,omitempty" yaml:"fluentForwarderConfig,omitempty"` IncludeSystemComponent *bool `json:"includeSystemComponent,omitempty" yaml:"includeSystemComponent,omitempty"` KafkaConfig *KafkaConfig `json:"kafkaConfig,omitempty" yaml:"kafkaConfig,omitempty"` + MultiLineEndRegexp string `json:"multiLineEndRegexp,omitempty" yaml:"multiLineEndRegexp,omitempty"` + MultiLineStartRegexp string `json:"multiLineStartRegexp,omitempty" yaml:"multiLineStartRegexp,omitempty"` OutputFlushInterval int64 `json:"outputFlushInterval,omitempty" yaml:"outputFlushInterval,omitempty"` OutputTags map[string]string `json:"outputTags,omitempty" yaml:"outputTags,omitempty"` SplunkConfig *SplunkConfig `json:"splunkConfig,omitempty" yaml:"splunkConfig,omitempty"` diff --git a/client/management/v3/zz_generated_cluster_test_input.go b/client/management/v3/zz_generated_cluster_test_input.go index 14c25264b7..1de47db88e 100644 --- a/client/management/v3/zz_generated_cluster_test_input.go +++ b/client/management/v3/zz_generated_cluster_test_input.go @@ -3,10 +3,16 @@ package client const ( ClusterTestInputType = "clusterTestInput" ClusterTestInputFieldClusterName = "clusterId" + ClusterTestInputFieldContinuousLineRegexp = "continuousLineRegexp" ClusterTestInputFieldCustomTargetConfig = "customTargetConfig" + ClusterTestInputFieldDisplayName = "displayName" ClusterTestInputFieldElasticsearchConfig = "elasticsearchConfig" + ClusterTestInputFieldEnableMultiLineFilter = "enableMultiLineFilter" ClusterTestInputFieldFluentForwarderConfig = "fluentForwarderConfig" ClusterTestInputFieldKafkaConfig = "kafkaConfig" + ClusterTestInputFieldMultiLineEndRegexp = "multiLineEndRegexp" + ClusterTestInputFieldMultiLineStartRegexp = "multiLineStartRegexp" + ClusterTestInputFieldOutputFlushInterval = "outputFlushInterval" ClusterTestInputFieldOutputTags = "outputTags" ClusterTestInputFieldSplunkConfig = "splunkConfig" ClusterTestInputFieldSyslogConfig = "syslogConfig" @@ -14,10 +20,16 @@ const ( type ClusterTestInput struct { ClusterName string `json:"clusterId,omitempty" yaml:"clusterId,omitempty"` + ContinuousLineRegexp string `json:"continuousLineRegexp,omitempty" yaml:"continuousLineRegexp,omitempty"` CustomTargetConfig *CustomTargetConfig `json:"customTargetConfig,omitempty" yaml:"customTargetConfig,omitempty"` + DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"` ElasticsearchConfig *ElasticsearchConfig `json:"elasticsearchConfig,omitempty" yaml:"elasticsearchConfig,omitempty"` + EnableMultiLineFilter bool `json:"enableMultiLineFilter,omitempty" yaml:"enableMultiLineFilter,omitempty"` FluentForwarderConfig *FluentForwarderConfig `json:"fluentForwarderConfig,omitempty" yaml:"fluentForwarderConfig,omitempty"` KafkaConfig *KafkaConfig `json:"kafkaConfig,omitempty" yaml:"kafkaConfig,omitempty"` + MultiLineEndRegexp string `json:"multiLineEndRegexp,omitempty" yaml:"multiLineEndRegexp,omitempty"` + MultiLineStartRegexp string `json:"multiLineStartRegexp,omitempty" yaml:"multiLineStartRegexp,omitempty"` + OutputFlushInterval int64 `json:"outputFlushInterval,omitempty" yaml:"outputFlushInterval,omitempty"` OutputTags map[string]string `json:"outputTags,omitempty" yaml:"outputTags,omitempty"` SplunkConfig *SplunkConfig `json:"splunkConfig,omitempty" yaml:"splunkConfig,omitempty"` SyslogConfig *SyslogConfig `json:"syslogConfig,omitempty" yaml:"syslogConfig,omitempty"` diff --git a/client/management/v3/zz_generated_project_logging.go b/client/management/v3/zz_generated_project_logging.go index b949ec8f06..52b7c1d5c7 100644 --- a/client/management/v3/zz_generated_project_logging.go +++ b/client/management/v3/zz_generated_project_logging.go @@ -7,13 +7,17 @@ import ( const ( ProjectLoggingType = "projectLogging" ProjectLoggingFieldAnnotations = "annotations" + ProjectLoggingFieldContinuousLineRegexp = "continuousLineRegexp" ProjectLoggingFieldCreated = "created" ProjectLoggingFieldCreatorID = "creatorId" ProjectLoggingFieldCustomTargetConfig = "customTargetConfig" ProjectLoggingFieldElasticsearchConfig = "elasticsearchConfig" + ProjectLoggingFieldEnableMultiLineFilter = "enableMultiLineFilter" ProjectLoggingFieldFluentForwarderConfig = "fluentForwarderConfig" ProjectLoggingFieldKafkaConfig = "kafkaConfig" ProjectLoggingFieldLabels = "labels" + ProjectLoggingFieldMultiLineEndRegexp = "multiLineEndRegexp" + ProjectLoggingFieldMultiLineStartRegexp = "multiLineStartRegexp" ProjectLoggingFieldName = "name" ProjectLoggingFieldNamespaceId = "namespaceId" ProjectLoggingFieldOutputFlushInterval = "outputFlushInterval" @@ -33,13 +37,17 @@ const ( type ProjectLogging struct { types.Resource Annotations map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"` + ContinuousLineRegexp string `json:"continuousLineRegexp,omitempty" yaml:"continuousLineRegexp,omitempty"` Created string `json:"created,omitempty" yaml:"created,omitempty"` CreatorID string `json:"creatorId,omitempty" yaml:"creatorId,omitempty"` CustomTargetConfig *CustomTargetConfig `json:"customTargetConfig,omitempty" yaml:"customTargetConfig,omitempty"` ElasticsearchConfig *ElasticsearchConfig `json:"elasticsearchConfig,omitempty" yaml:"elasticsearchConfig,omitempty"` + EnableMultiLineFilter bool `json:"enableMultiLineFilter,omitempty" yaml:"enableMultiLineFilter,omitempty"` FluentForwarderConfig *FluentForwarderConfig `json:"fluentForwarderConfig,omitempty" yaml:"fluentForwarderConfig,omitempty"` KafkaConfig *KafkaConfig `json:"kafkaConfig,omitempty" yaml:"kafkaConfig,omitempty"` Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"` + MultiLineEndRegexp string `json:"multiLineEndRegexp,omitempty" yaml:"multiLineEndRegexp,omitempty"` + MultiLineStartRegexp string `json:"multiLineStartRegexp,omitempty" yaml:"multiLineStartRegexp,omitempty"` Name string `json:"name,omitempty" yaml:"name,omitempty"` NamespaceId string `json:"namespaceId,omitempty" yaml:"namespaceId,omitempty"` OutputFlushInterval int64 `json:"outputFlushInterval,omitempty" yaml:"outputFlushInterval,omitempty"` diff --git a/client/management/v3/zz_generated_project_logging_spec.go b/client/management/v3/zz_generated_project_logging_spec.go index dddb384b5e..bf9b1e6a49 100644 --- a/client/management/v3/zz_generated_project_logging_spec.go +++ b/client/management/v3/zz_generated_project_logging_spec.go @@ -2,11 +2,15 @@ package client const ( ProjectLoggingSpecType = "projectLoggingSpec" + ProjectLoggingSpecFieldContinuousLineRegexp = "continuousLineRegexp" ProjectLoggingSpecFieldCustomTargetConfig = "customTargetConfig" ProjectLoggingSpecFieldDisplayName = "displayName" ProjectLoggingSpecFieldElasticsearchConfig = "elasticsearchConfig" + ProjectLoggingSpecFieldEnableMultiLineFilter = "enableMultiLineFilter" ProjectLoggingSpecFieldFluentForwarderConfig = "fluentForwarderConfig" ProjectLoggingSpecFieldKafkaConfig = "kafkaConfig" + ProjectLoggingSpecFieldMultiLineEndRegexp = "multiLineEndRegexp" + ProjectLoggingSpecFieldMultiLineStartRegexp = "multiLineStartRegexp" ProjectLoggingSpecFieldOutputFlushInterval = "outputFlushInterval" ProjectLoggingSpecFieldOutputTags = "outputTags" ProjectLoggingSpecFieldProjectID = "projectId" @@ -15,11 +19,15 @@ const ( ) type ProjectLoggingSpec struct { + ContinuousLineRegexp string `json:"continuousLineRegexp,omitempty" yaml:"continuousLineRegexp,omitempty"` CustomTargetConfig *CustomTargetConfig `json:"customTargetConfig,omitempty" yaml:"customTargetConfig,omitempty"` DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"` ElasticsearchConfig *ElasticsearchConfig `json:"elasticsearchConfig,omitempty" yaml:"elasticsearchConfig,omitempty"` + EnableMultiLineFilter bool `json:"enableMultiLineFilter,omitempty" yaml:"enableMultiLineFilter,omitempty"` FluentForwarderConfig *FluentForwarderConfig `json:"fluentForwarderConfig,omitempty" yaml:"fluentForwarderConfig,omitempty"` KafkaConfig *KafkaConfig `json:"kafkaConfig,omitempty" yaml:"kafkaConfig,omitempty"` + MultiLineEndRegexp string `json:"multiLineEndRegexp,omitempty" yaml:"multiLineEndRegexp,omitempty"` + MultiLineStartRegexp string `json:"multiLineStartRegexp,omitempty" yaml:"multiLineStartRegexp,omitempty"` OutputFlushInterval int64 `json:"outputFlushInterval,omitempty" yaml:"outputFlushInterval,omitempty"` OutputTags map[string]string `json:"outputTags,omitempty" yaml:"outputTags,omitempty"` ProjectID string `json:"projectId,omitempty" yaml:"projectId,omitempty"` diff --git a/client/management/v3/zz_generated_project_test_input.go b/client/management/v3/zz_generated_project_test_input.go index 3ea126ac7b..dbec3b02e5 100644 --- a/client/management/v3/zz_generated_project_test_input.go +++ b/client/management/v3/zz_generated_project_test_input.go @@ -2,10 +2,16 @@ package client const ( ProjectTestInputType = "projectTestInput" + ProjectTestInputFieldContinuousLineRegexp = "continuousLineRegexp" ProjectTestInputFieldCustomTargetConfig = "customTargetConfig" + ProjectTestInputFieldDisplayName = "displayName" ProjectTestInputFieldElasticsearchConfig = "elasticsearchConfig" + ProjectTestInputFieldEnableMultiLineFilter = "enableMultiLineFilter" ProjectTestInputFieldFluentForwarderConfig = "fluentForwarderConfig" ProjectTestInputFieldKafkaConfig = "kafkaConfig" + ProjectTestInputFieldMultiLineEndRegexp = "multiLineEndRegexp" + ProjectTestInputFieldMultiLineStartRegexp = "multiLineStartRegexp" + ProjectTestInputFieldOutputFlushInterval = "outputFlushInterval" ProjectTestInputFieldOutputTags = "outputTags" ProjectTestInputFieldProjectName = "projectId" ProjectTestInputFieldSplunkConfig = "splunkConfig" @@ -13,10 +19,16 @@ const ( ) type ProjectTestInput struct { + ContinuousLineRegexp string `json:"continuousLineRegexp,omitempty" yaml:"continuousLineRegexp,omitempty"` CustomTargetConfig *CustomTargetConfig `json:"customTargetConfig,omitempty" yaml:"customTargetConfig,omitempty"` + DisplayName string `json:"displayName,omitempty" yaml:"displayName,omitempty"` ElasticsearchConfig *ElasticsearchConfig `json:"elasticsearchConfig,omitempty" yaml:"elasticsearchConfig,omitempty"` + EnableMultiLineFilter bool `json:"enableMultiLineFilter,omitempty" yaml:"enableMultiLineFilter,omitempty"` FluentForwarderConfig *FluentForwarderConfig `json:"fluentForwarderConfig,omitempty" yaml:"fluentForwarderConfig,omitempty"` KafkaConfig *KafkaConfig `json:"kafkaConfig,omitempty" yaml:"kafkaConfig,omitempty"` + MultiLineEndRegexp string `json:"multiLineEndRegexp,omitempty" yaml:"multiLineEndRegexp,omitempty"` + MultiLineStartRegexp string `json:"multiLineStartRegexp,omitempty" yaml:"multiLineStartRegexp,omitempty"` + OutputFlushInterval int64 `json:"outputFlushInterval,omitempty" yaml:"outputFlushInterval,omitempty"` OutputTags map[string]string `json:"outputTags,omitempty" yaml:"outputTags,omitempty"` ProjectName string `json:"projectId,omitempty" yaml:"projectId,omitempty"` SplunkConfig *SplunkConfig `json:"splunkConfig,omitempty" yaml:"splunkConfig,omitempty"`