// Code generated by go-swagger; DO NOT EDIT.

// Copyright Authors of Cilium
// SPDX-License-Identifier: Apache-2.0

package models

import (
	"context"

	"github.com/go-openapi/strfmt"
	"github.com/go-openapi/swag"
)

// EndpointIdentifiers Unique identifiers for this endpoint from outside cilium
//
// +deepequal-gen=true
//
// swagger:model EndpointIdentifiers
type EndpointIdentifiers struct {

	// ID assigned to this attachment by container runtime
	CniAttachmentID string `json:"cni-attachment-id,omitempty"`

	// ID assigned by container runtime (deprecated, may not be unique)
	ContainerID string `json:"container-id,omitempty"`

	// Name assigned to container (deprecated, may not be unique)
	ContainerName string `json:"container-name,omitempty"`

	// Docker endpoint ID
	DockerEndpointID string `json:"docker-endpoint-id,omitempty"`

	// Docker network ID
	DockerNetworkID string `json:"docker-network-id,omitempty"`

	// K8s namespace for this endpoint (deprecated, may not be unique)
	K8sNamespace string `json:"k8s-namespace,omitempty"`

	// K8s pod name for this endpoint (deprecated, may not be unique)
	K8sPodName string `json:"k8s-pod-name,omitempty"`

	// K8s pod for this endpoint (deprecated, may not be unique)
	PodName string `json:"pod-name,omitempty"`
}

// Validate validates this endpoint identifiers
func (m *EndpointIdentifiers) Validate(formats strfmt.Registry) error {
	return nil
}

// ContextValidate validates this endpoint identifiers based on context it is used
func (m *EndpointIdentifiers) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
	return nil
}

// MarshalBinary interface implementation
func (m *EndpointIdentifiers) MarshalBinary() ([]byte, error) {
	if m == nil {
		return nil, nil
	}
	return swag.WriteJSON(m)
}

// UnmarshalBinary interface implementation
func (m *EndpointIdentifiers) UnmarshalBinary(b []byte) error {
	var res EndpointIdentifiers
	if err := swag.ReadJSON(b, &res); err != nil {
		return err
	}
	*m = res
	return nil
}
