...

Source file src/github.com/chaos-mesh/chaos-mesh/pkg/core/common.go

Documentation: github.com/chaos-mesh/chaos-mesh/pkg/core

     1  // Copyright 2020 Chaos Mesh Authors.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // See the License for the specific language governing permissions and
    12  // limitations under the License.
    13  
    14  package core
    15  
    16  import (
    17  	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
    18  )
    19  
    20  // KubeObjectDesc defines a simple kube object description which uses in apiserver.
    21  type KubeObjectDesc struct {
    22  	metav1.TypeMeta `json:",inline"`
    23  	Meta            KubeObjectMeta `json:"metadata"`
    24  	Spec            interface{}    `json:"spec"`
    25  }
    26  
    27  // KubeObjectMetadata extracts the required fields from metav1.ObjectMeta.
    28  type KubeObjectMeta struct {
    29  	Name        string            `json:"name"`
    30  	Namespace   string            `json:"namespace"`
    31  	Labels      map[string]string `json:"labels,omitempty"`
    32  	Annotations map[string]string `json:"annotations,omitempty"`
    33  }
    34