79 lines
3.6 KiB
Go
79 lines
3.6 KiB
Go
/*
|
|
Copyright The Kubernetes Authors.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
// Code generated by applyconfiguration-gen. DO NOT EDIT.
|
|
|
|
package v1alpha1
|
|
|
|
// ClusterTrustBundleSpecApplyConfiguration represents a declarative configuration of the ClusterTrustBundleSpec type for use
|
|
// with apply.
|
|
//
|
|
// ClusterTrustBundleSpec contains the signer and trust anchors.
|
|
type ClusterTrustBundleSpecApplyConfiguration struct {
|
|
// signerName indicates the associated signer, if any.
|
|
//
|
|
// In order to create or update a ClusterTrustBundle that sets signerName,
|
|
// you must have the following cluster-scoped permission:
|
|
// group=certificates.k8s.io resource=signers resourceName=<the signer name>
|
|
// verb=attest.
|
|
//
|
|
// If signerName is not empty, then the ClusterTrustBundle object must be
|
|
// named with the signer name as a prefix (translating slashes to colons).
|
|
// For example, for the signer name `example.com/foo`, valid
|
|
// ClusterTrustBundle object names include `example.com:foo:abc` and
|
|
// `example.com:foo:v1`.
|
|
//
|
|
// If signerName is empty, then the ClusterTrustBundle object's name must
|
|
// not have such a prefix.
|
|
//
|
|
// List/watch requests for ClusterTrustBundles can filter on this field
|
|
// using a `spec.signerName=NAME` field selector.
|
|
SignerName *string `json:"signerName,omitempty"`
|
|
// trustBundle contains the individual X.509 trust anchors for this
|
|
// bundle, as PEM bundle of PEM-wrapped, DER-formatted X.509 certificates.
|
|
//
|
|
// The data must consist only of PEM certificate blocks that parse as valid
|
|
// X.509 certificates. Each certificate must include a basic constraints
|
|
// extension with the CA bit set. The API server will reject objects that
|
|
// contain duplicate certificates, or that use PEM block headers.
|
|
//
|
|
// Users of ClusterTrustBundles, including Kubelet, are free to reorder and
|
|
// deduplicate certificate blocks in this file according to their own logic,
|
|
// as well as to drop PEM block headers and inter-block data.
|
|
TrustBundle *string `json:"trustBundle,omitempty"`
|
|
}
|
|
|
|
// ClusterTrustBundleSpecApplyConfiguration constructs a declarative configuration of the ClusterTrustBundleSpec type for use with
|
|
// apply.
|
|
func ClusterTrustBundleSpec() *ClusterTrustBundleSpecApplyConfiguration {
|
|
return &ClusterTrustBundleSpecApplyConfiguration{}
|
|
}
|
|
|
|
// WithSignerName sets the SignerName field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the SignerName field is set to the value of the last call.
|
|
func (b *ClusterTrustBundleSpecApplyConfiguration) WithSignerName(value string) *ClusterTrustBundleSpecApplyConfiguration {
|
|
b.SignerName = &value
|
|
return b
|
|
}
|
|
|
|
// WithTrustBundle sets the TrustBundle field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the TrustBundle field is set to the value of the last call.
|
|
func (b *ClusterTrustBundleSpecApplyConfiguration) WithTrustBundle(value string) *ClusterTrustBundleSpecApplyConfiguration {
|
|
b.TrustBundle = &value
|
|
return b
|
|
}
|