package autogencase

import (
	"bytes"
	"encoding/json"
	"io"
)

const (
	Placehodler = "placeholder"

	ServiceNameClusterService                   = "ClusterService"
	ServiceNameTidbNodeGroupService             = "TidbNodeGroupService"
	ServiceNamePrivateEndpointConnectionService = "PrivateEndpointConnectionService"
	ServiceNameRegionService                    = "RegionService"
	ServiceNameNetworkContainerService          = "NetworkContainerService"
	ServiceNameMaintenanceService               = "MaintenanceService"
)

const (
	awsCustomerVpcID        = "vpc-07b93bdc05a20479f" // in 385595570414 us-west-2
	awsCustomerVpcSubnetIds = "subnet-0fce9889b0ab48a77,subnet-068f6ac51119ccd01,subnet-0974323bec10a4556"
	awsCustomerVpcCidr      = "10.0.0.0/16"
	awsCustomerAccountID    = "385595570414"
	awsCustomerRegion       = "us-west-2"

	gcpCustomerProject        = "pingcap-gardener"
	gcpCustomerRegion         = "us-west1"
	gcpCustomerNetwork        = "e2e-fuzzy-openapi"
	gcpCustomerSubNetwork     = "e2e-fuzzy-openapi-us-west1"
	gcpCustomerSubNetworkCidr = "10.0.0.0/23"

	azureCustomerRegion           = "eastus2"
	azureCustomerSubscriptionID   = "85b598b9-a080-4476-bc96-ba89e64f92d1" // tidb-dedicated-nonprod-controlplane
	azureCustomerResourceGroup    = "e2e-fuzzy-openapi-eastus2"
	azureCustomerSubnetResourceID = "/subscriptions/85b598b9-a080-4476-bc96-ba89e64f92d1/resourceGroups/e2e-fuzzy-openapi-eastus2/providers/Microsoft.Network/virtualNetworks/e2e-fuzzy-openapi-eastus2/subnets/default"
)

type Auth struct {
	PublicKey  string `json:"public_key"`
	PrivateKey string `json:"private_key"`
}

type Environment struct {
	Auth Auth `json:"auth"`
}

type Request struct {
	PathParams  map[string]string `json:"path_params"`
	QueryParams json.RawMessage   `json:"query_params"`
	Body        json.RawMessage   `json:"body"`
}

var _ io.ReadCloser = &ReaderWrapper{}

type ReaderWrapper struct {
	*bytes.Reader
}

func (wrapper ReaderWrapper) Close() error {
	return nil
}
