1 //go:build !ignore_autogenerated 2 // +build !ignore_autogenerated 3 4 /* 5 Copyright 2023 The cert-manager Authors. 6 7 Licensed under the Apache License, Version 2.0 (the "License"); 8 you may not use this file except in compliance with the License. 9 You may obtain a copy of the License at 10 11 http://www.apache.org/licenses/LICENSE-2.0 12 13 Unless required by applicable law or agreed to in writing, software 14 distributed under the License is distributed on an "AS IS" BASIS, 15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 See the License for the specific language governing permissions and 17 limitations under the License. 18 */ 19 20 package v1alpha1 21 22 import ( 23 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" 24 "k8s.io/apimachinery/pkg/runtime" 25 ) 26 27 type Issuer interface { 28 runtime.Object 29 metav1.Object 30 GetStatus() *IssuerStatus 31 32 // GetIssuerTypeIdentifier returns a string that uniquely identifies the 33 // issuer type. This should be a constant across all instances of this 34 // issuer type. This string is used as a prefix when determining the 35 // issuer type for a Kubernetes CertificateSigningRequest resource based 36 // on the issuerName field. The value should be formatted as follows: 37 // "<issuer resource (plural)>.<issuer group>". For example, the value 38 // "simpleclusterissuers.issuer.cert-manager.io" will match all CSRs 39 // with an issuerName set to eg. "simpleclusterissuers.issuer.cert-manager.io/issuer1". 40 GetIssuerTypeIdentifier() string 41 } 42