package data

import (
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"

	ec2v1beta1 "github.com/crossplane-contrib/provider-aws/apis/ec2/v1beta1"

	cloudv1 "github.com/tidbcloud/infra-api/api/v1"
)

func NewNetworkPeer(network *cloudv1.Network, vpc *ec2v1beta1.VPC) *cloudv1.NetworkPeer {
	return &cloudv1.NetworkPeer{
		ObjectMeta: metav1.ObjectMeta{
			Name:      network.Name + "-" + vpc.Status.AtProvider.VPCID + "-networkpeer",
			Namespace: network.Namespace,
		},
		Spec: cloudv1.NetworkPeerSpec{
			Source: network.Name,
			Target: cloudv1.Target{
				AWS: &cloudv1.AWS{
					AccountID:  vpc.Status.AtProvider.OwnerID,
					PeerCIDR:   vpc.Spec.ForProvider.CIDRBlock,
					PeerRegion: *vpc.Spec.ForProvider.Region,
					VpcID:      vpc.Status.AtProvider.VPCID,
				},
			},
		},
	}
}
