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

package model

// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command

import (
	//"context"
	"encoding/json"
	//"github.com/go-openapi/errors"
	//"github.com/go-openapi/strfmt"
	//"github.com/go-openapi/swag"
	//"github.com/go-openapi/validate"
)

// OpenapiAccesspointPrivateEndpoint openapi accesspoint private endpoint
//
// swagger:model openapiAccesspointPrivateEndpoint
//type OpenapiAccesspointPrivateEndpoint struct {
//
//	// Availability zones for the private endpoint service. This field is only applicable when the `cloud_provider` is `"AWS"`.
//	// Example: ["usw2-az2","usw2-az1"]
//	AzIds []string `json:"az_ids"`
//
//	// The DNS name of the private endpoint service.
//	// Example: privatelink-tidb.01234567890.clusters.tidb-cloud.com
//	Host string `json:"host,omitempty"`
//
//	// The port of the private endpoint service.
//	// Example: 4000
//	Port int32 `json:"port,omitempty"`
//
//	// private link service
//	PrivateLinkService *OpenapiAccesspointPrivateEndpointPrivateLinkService `json:"private_link_service,omitempty"`
//}

// Validate validates this openapi accesspoint private endpoint
//func (m *OpenapiAccesspointPrivateEndpoint) Validate(formats strfmt.Registry) error {
//	var res []error
//
//	if err := m.validatePrivateLinkService(formats); err != nil {
//		res = append(res, err)
//	}
//
//	if len(res) > 0 {
//		return errors.CompositeValidationError(res...)
//	}
//	return nil
//}
//
//func (m *OpenapiAccesspointPrivateEndpoint) validatePrivateLinkService(formats strfmt.Registry) error {
//	if swag.IsZero(m.PrivateLinkService) { // not required
//		return nil
//	}
//
//	if m.PrivateLinkService != nil {
//		if err := m.PrivateLinkService.Validate(formats); err != nil {
//			if ve, ok := err.(*errors.Validation); ok {
//				return ve.ValidateName("private_link_service")
//			} else if ce, ok := err.(*errors.CompositeError); ok {
//				return ce.ValidateName("private_link_service")
//			}
//			return err
//		}
//	}
//
//	return nil
//}
//
//// ContextValidate validate this openapi accesspoint private endpoint based on the context it is used
//func (m *OpenapiAccesspointPrivateEndpoint) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
//	var res []error
//
//	if err := m.contextValidatePrivateLinkService(ctx, formats); err != nil {
//		res = append(res, err)
//	}
//
//	if len(res) > 0 {
//		return errors.CompositeValidationError(res...)
//	}
//	return nil
//}
//
//func (m *OpenapiAccesspointPrivateEndpoint) contextValidatePrivateLinkService(ctx context.Context, formats strfmt.Registry) error {
//
//	if m.PrivateLinkService != nil {
//
//		if swag.IsZero(m.PrivateLinkService) { // not required
//			return nil
//		}
//
//		if err := m.PrivateLinkService.ContextValidate(ctx, formats); err != nil {
//			if ve, ok := err.(*errors.Validation); ok {
//				return ve.ValidateName("private_link_service")
//			} else if ce, ok := err.(*errors.CompositeError); ok {
//				return ce.ValidateName("private_link_service")
//			}
//			return err
//		}
//	}
//
//	return nil
//}
//
//// MarshalBinary interface implementation
//func (m *OpenapiAccesspointPrivateEndpoint) MarshalBinary() ([]byte, error) {
//	if m == nil {
//		return nil, nil
//	}
//	return swag.WriteJSON(m)
//}
//
//// UnmarshalBinary interface implementation
//func (m *OpenapiAccesspointPrivateEndpoint) UnmarshalBinary(b []byte) error {
//	var res OpenapiAccesspointPrivateEndpoint
//	if err := swag.ReadJSON(b, &res); err != nil {
//		return err
//	}
//	*m = res
//	return nil
//}

// OpenapiAccesspointPrivateEndpointPrivateLinkService The private endpoint service.
//
// swagger:model OpenapiAccesspointPrivateEndpointPrivateLinkService
//type OpenapiAccesspointPrivateEndpointPrivateLinkService struct {
//
//	// The name of the private endpoint service, which is used for connection.
//	// Example: com.amazonaws.vpce.us-west-2.vpce-svc-01234567890123456
//	ServiceName string `json:"service_name,omitempty"`
//
//	// The status of the private endpoint service.
//	// Example: ACTIVE
//	// Enum: [CREATING ACTIVE DELETING]
//	Status string `json:"status,omitempty"`
//}

//// Validate validates this openapi accesspoint private endpoint private link service
//func (m *OpenapiAccesspointPrivateEndpointPrivateLinkService) Validate(formats strfmt.Registry) error {
//	var res []error
//
//	if err := m.validateStatus(formats); err != nil {
//		res = append(res, err)
//	}
//
//	if len(res) > 0 {
//		return errors.CompositeValidationError(res...)
//	}
//	return nil
//}

//var openapiAccesspointPrivateEndpointPrivateLinkServiceTypeStatusPropEnum []interface{}

func init() {
	var res []string
	if err := json.Unmarshal([]byte(`["CREATING","ACTIVE","DELETING"]`), &res); err != nil {
		panic(err)
	}
	for _, v := range res {
		openapiAccesspointPrivateEndpointPrivateLinkServiceTypeStatusPropEnum = append(openapiAccesspointPrivateEndpointPrivateLinkServiceTypeStatusPropEnum, v)
	}
}

//const (
//
//	// OpenapiAccesspointPrivateEndpointPrivateLinkServiceStatusCREATING captures enum value "CREATING"
//	OpenapiAccesspointPrivateEndpointPrivateLinkServiceStatusCREATING string = "CREATING"
//
//	// OpenapiAccesspointPrivateEndpointPrivateLinkServiceStatusACTIVE captures enum value "ACTIVE"
//	OpenapiAccesspointPrivateEndpointPrivateLinkServiceStatusACTIVE string = "ACTIVE"
//
//	// OpenapiAccesspointPrivateEndpointPrivateLinkServiceStatusDELETING captures enum value "DELETING"
//	OpenapiAccesspointPrivateEndpointPrivateLinkServiceStatusDELETING string = "DELETING"
//)

// prop value enum
//func (m *OpenapiAccesspointPrivateEndpointPrivateLinkService) validateStatusEnum(path, location string, value string) error {
//	if err := validate.EnumCase(path, location, value, openapiAccesspointPrivateEndpointPrivateLinkServiceTypeStatusPropEnum, true); err != nil {
//		return err
//	}
//	return nil
//}
//
//func (m *OpenapiAccesspointPrivateEndpointPrivateLinkService) validateStatus(formats strfmt.Registry) error {
//	if swag.IsZero(m.Status) { // not required
//		return nil
//	}
//
//	// value enum
//	if err := m.validateStatusEnum("private_link_service"+"."+"status", "body", m.Status); err != nil {
//		return err
//	}
//
//	return nil
//}
//
//// ContextValidate validates this openapi accesspoint private endpoint private link service based on context it is used
//func (m *OpenapiAccesspointPrivateEndpointPrivateLinkService) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
//	return nil
//}
//
//// MarshalBinary interface implementation
//func (m *OpenapiAccesspointPrivateEndpointPrivateLinkService) MarshalBinary() ([]byte, error) {
//	if m == nil {
//		return nil, nil
//	}
//	return swag.WriteJSON(m)
//}
//
//// UnmarshalBinary interface implementation
//func (m *OpenapiAccesspointPrivateEndpointPrivateLinkService) UnmarshalBinary(b []byte) error {
//	var res OpenapiAccesspointPrivateEndpointPrivateLinkService
//	if err := swag.ReadJSON(b, &res); err != nil {
//		return err
//	}
//	*m = res
//	return nil
//}
