v2/tools/generator/internal/astmodel/std_references.go (106 lines of code) (raw):

/* * Copyright (c) Microsoft Corporation. * Licensed under the MIT license. */ package astmodel const ( reflectHelpersPath = "github.com/Azure/azure-service-operator/v2/internal/reflecthelpers" genericARMClientPath = "github.com/Azure/azure-service-operator/v2/internal/genericarmclient" ) var ( // References to standard Go Libraries ErrorsReference = MakeExternalPackageReference("errors") FmtReference = MakeExternalPackageReference("fmt") JSONReference = MakeExternalPackageReference("encoding/json") OSReference = MakeExternalPackageReference("os") ReflectReference = MakeExternalPackageReference("reflect") StringsReference = MakeExternalPackageReference("strings") TestingReference = MakeExternalPackageReference("testing") ContextReference = MakeExternalPackageReference("context") // References to our Libraries GenRuntimeReference = MakeExternalPackageReference(genRuntimePathPrefix) GenRuntimeCoreReference = MakeExternalPackageReference(genRuntimePathPrefix + "/core") GenRuntimeConditionsReference = MakeExternalPackageReference(genRuntimePathPrefix + "/conditions") GenRuntimeRegistrationReference = MakeExternalPackageReference(genRuntimePathPrefix + "/registration") ReflectHelpersReference = MakeExternalPackageReference(reflectHelpersPath) GenRuntimeConfigMapsReference = MakeExternalPackageReference(genRuntimePathPrefix + "/configmaps") GenRuntimeSecretsReference = MakeExternalPackageReference(genRuntimePathPrefix + "/secrets") GenericARMClientReference = MakeExternalPackageReference(genericARMClientPath) // References to other libraries APIExtensionsReference = MakeExternalPackageReference("k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1") APIExtensionsJSONReference = MakeExternalPackageReference("k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1/JSON") APIMachineryErrorsReference = MakeExternalPackageReference("k8s.io/apimachinery/pkg/util/errors") APIMachineryRuntimeReference = MakeExternalPackageReference("k8s.io/apimachinery/pkg/runtime") APIMachinerySchemaReference = MakeExternalPackageReference("k8s.io/apimachinery/pkg/runtime/schema") MetaV1Reference = MakeExternalPackageReference("k8s.io/apimachinery/pkg/apis/meta/v1") CoreV1Reference = MakeExternalPackageReference("k8s.io/api/core/v1") LogrReference = MakeExternalPackageReference("github.com/go-logr/logr") ClientGoSchemeReference = MakeExternalPackageReference("k8s.io/client-go/kubernetes/scheme") ControllerRuntimeAdmission = MakeExternalPackageReference("sigs.k8s.io/controller-runtime/pkg/webhook/admission") ControllerRuntimeWebhook = MakeExternalPackageReference("sigs.k8s.io/controller-runtime/pkg/webhook") ControllerRuntimeConversion = MakeExternalPackageReference("sigs.k8s.io/controller-runtime/pkg/conversion") ControllerSchemeReference = MakeExternalPackageReference("sigs.k8s.io/controller-runtime/pkg/scheme") ControllerRuntimeClient = MakeExternalPackageReference("sigs.k8s.io/controller-runtime/pkg/client") ErisReference = MakeExternalPackageReference("github.com/rotisserie/eris") // References to libraries used for testing CmpReference = MakeExternalPackageReference("github.com/google/go-cmp/cmp") CmpOptsReference = MakeExternalPackageReference("github.com/google/go-cmp/cmp/cmpopts") DiffReference = MakeExternalPackageReference("github.com/kylelemons/godebug/diff") GopterReference = MakeExternalPackageReference("github.com/leanovate/gopter") GopterGenReference = MakeExternalPackageReference("github.com/leanovate/gopter/gen") GopterPropReference = MakeExternalPackageReference("github.com/leanovate/gopter/prop") GomegaReference = MakeExternalPackageReference("github.com/onsi/gomega") PrettyReference = MakeExternalPackageReference("github.com/kr/pretty") // Imports with specified names GomegaImport = NewPackageImport(GomegaReference).WithName(".") // Type names - GenRuntime KubernetesResourceType = MakeExternalTypeName(GenRuntimeReference, "KubernetesResource") KuberentesConfigExporterType = MakeExternalTypeName(GenRuntimeReference, "KubernetesConfigExporter") TenantResourceType = MakeExternalTypeName(GenRuntimeReference, "TenantResource") ConvertibleSpecInterfaceType = MakeExternalTypeName(GenRuntimeReference, "ConvertibleSpec") ConvertibleStatusInterfaceType = MakeExternalTypeName(GenRuntimeReference, "ConvertibleStatus") ResourceReferenceType = MakeExternalTypeName(GenRuntimeReference, "ResourceReference") ArbitraryOwnerReference = MakeExternalTypeName(GenRuntimeReference, "ArbitraryOwnerReference") KnownResourceReferenceType = MakeExternalTypeName(GenRuntimeReference, "KnownResourceReference") PropertyBagType = MakeExternalTypeName(GenRuntimeReference, "PropertyBag") ToARMConverterInterfaceType = MakeExternalTypeName(GenRuntimeReference, "ToARMConverter") ARMResourceSpecType = MakeExternalTypeName(GenRuntimeReference, "ARMResourceSpec") ARMResourceStatusType = MakeExternalTypeName(GenRuntimeReference, "ARMResourceStatus") ResourceScopeType = MakeExternalTypeName(GenRuntimeReference, "ResourceScope") ConvertToARMResolvedDetailsType = MakeExternalTypeName(GenRuntimeReference, "ConvertToARMResolvedDetails") SecretReferenceType = MakeExternalTypeName(GenRuntimeReference, "SecretReference") SecretMapReferenceType = MakeExternalTypeName(GenRuntimeReference, "SecretMapReference") ResourceExtensionType = MakeExternalTypeName(GenRuntimeReference, "ResourceExtension") SecretDestinationType = MakeExternalTypeName(GenRuntimeReference, "SecretDestination") ConfigMapDestinationType = MakeExternalTypeName(GenRuntimeReference, "ConfigMapDestination") ConfigMapReferenceType = MakeExternalTypeName(GenRuntimeReference, "ConfigMapReference") GenRuntimeDefaulterInterfaceName = MakeExternalTypeName(GenRuntimeReference, "Defaulter") GenRuntimeValidatorInterfaceName = MakeExternalTypeName(GenRuntimeReference, "Validator") GenRuntimeMetaObjectType = MakeExternalTypeName(GenRuntimeReference, "MetaObject") LocatableResourceInterfaceName = MakeExternalTypeName(GenRuntimeReference, "LocatableResource") ImportableResourceType = MakeExternalTypeName(GenRuntimeReference, "ImportableResource") ResourceOperationType = MakeExternalTypeName(GenRuntimeReference, "ResourceOperation") ResourceOperationTypeArray = NewArrayType(ResourceOperationType) DestinationExpressionType = MakeExternalTypeName(GenRuntimeCoreReference, "DestinationExpression") ConfigMapExporterType = MakeExternalTypeName(GenRuntimeConfigMapsReference, "Exporter") SecretExporterType = MakeExternalTypeName(GenRuntimeSecretsReference, "Exporter") // Optional types - GenRuntime OptionalConfigMapReferenceType = NewOptionalType(ConfigMapReferenceType) OptionalKnownResourceReferenceType = NewOptionalType(KnownResourceReferenceType) OptionalResourceReferenceType = NewOptionalType(ResourceReferenceType) OptionalSecretReferenceType = NewOptionalType(SecretReferenceType) OptionalSecretMapReferenceType = NewOptionalType(SecretMapReferenceType) // Predeclared maps MapOfStringStringType = NewMapType(StringType, StringType) // Predeclared slices DestinationExpressionCollectionType = NewArrayType(NewOptionalType(DestinationExpressionType)) // Type names - Generic ARM client GenericClientType = MakeExternalTypeName(GenericARMClientReference, "GenericClient") // Type names - Registration StorageTypeRegistrationType = MakeExternalTypeName(GenRuntimeRegistrationReference, "StorageType") IndexRegistrationType = MakeExternalTypeName(GenRuntimeRegistrationReference, "Index") WatchRegistrationType = MakeExternalTypeName(GenRuntimeRegistrationReference, "Watch") KnownTypeRegistrationType = MakeExternalTypeName(GenRuntimeRegistrationReference, "KnownType") ConditionType = MakeExternalTypeName(GenRuntimeConditionsReference, "Condition") ConditionsType = MakeExternalTypeName(GenRuntimeConditionsReference, "Conditions") ConditionerType = MakeExternalTypeName(GenRuntimeConditionsReference, "Conditioner") // Type names - API Machinery GroupVersionKindType = MakeExternalTypeName(APIMachinerySchemaReference, "GroupVersionKind") SchemeType = MakeExternalTypeName(APIMachineryRuntimeReference, "Scheme") APIMachineryObject = MakeExternalTypeName(APIMachineryRuntimeReference, "Object") JSONType = MakeExternalTypeName(APIExtensionsReference, "JSON") ObjectMetaType = MakeExternalTypeName(MetaV1Reference, "ObjectMeta") // Type names - Controller Runtime ConvertibleInterface = MakeExternalTypeName(ControllerRuntimeConversion, "Convertible") HubInterface = MakeExternalTypeName(ControllerRuntimeConversion, "Hub") ControllerRuntimeObjectType = MakeExternalTypeName(ControllerRuntimeClient, "Object") DefaulterInterfaceName = MakeExternalTypeName(ControllerRuntimeWebhook, "CustomDefaulter") ValidatorInterfaceName = MakeExternalTypeName(ControllerRuntimeWebhook, "CustomValidator") // Type names - Core types SecretType = MakeExternalTypeName(CoreV1Reference, "Secret") ConfigMapType = MakeExternalTypeName(CoreV1Reference, "ConfigMap") // Type names - stdlib types ContextType = MakeExternalTypeName(ContextReference, "Context") // Type names - Logr types LogrType = MakeExternalTypeName(LogrReference, "Logger") )