package message

import (
	"errors"
)

type CreateInternetReq struct {
	VPCID string
	// +optional
	TenantID string
	// +optional
	ProjectID string
}

func (r *CreateInternetReq) Validate() error {
	if r == nil {
		return errors.New("request is nil")
	}
	if r.VPCID == "" {
		return errors.New("vpc id is required")
	}
	return nil
}

type DeleteInternetReq struct {
	Name      string
	Namespace string
}

func (r *DeleteInternetReq) Validate() error {
	if r == nil {
		return errors.New("request is nil")
	}
	if r.Name == "" {
		return errors.New("name is required")
	}
	if r.Namespace == "" {
		return errors.New("namespace is required")
	}
	return nil
}

type GetInternetReq struct {
	Name      string
	Namespace string
}

func (r *GetInternetReq) Validate() error {
	if r == nil {
		return errors.New("request is nil")
	}
	if r.Name == "" {
		return errors.New("name is required")
	}
	if r.Namespace == "" {
		return errors.New("namespace is required")
	}
	return nil
}
