52 lines
2.3 KiB
Go
52 lines
2.3 KiB
Go
/*
|
|
Copyright 2019 The Crossplane 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.
|
|
*/
|
|
|
|
package v2
|
|
|
|
import (
|
|
"github.com/crossplane/crossplane-runtime/apis/common"
|
|
)
|
|
|
|
// A ManagedResourceSpec defines the desired state of a managed resource.
|
|
type ManagedResourceSpec struct {
|
|
// WriteConnectionSecretToReference specifies the namespace and name of a
|
|
// Secret to which any connection details for this managed resource should
|
|
// be written. Connection details frequently include the endpoint, username,
|
|
// and password required to connect to the managed resource.
|
|
// +optional
|
|
WriteConnectionSecretToReference *common.LocalSecretReference `json:"writeConnectionSecretToRef,omitempty"`
|
|
|
|
// ProviderConfigReference specifies how the provider that will be used to
|
|
// create, observe, update, and delete this managed resource should be
|
|
// configured.
|
|
// +kubebuilder:default={"kind": "ClusterProviderConfig", "name": "default"}
|
|
ProviderConfigReference *common.ProviderConfigReference `json:"providerConfigRef,omitempty"`
|
|
|
|
// THIS IS A BETA FIELD. It is on by default but can be opted out
|
|
// through a Crossplane feature flag.
|
|
// ManagementPolicies specify the array of actions Crossplane is allowed to
|
|
// take on the managed and external resources.
|
|
// See the design doc for more information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
|
|
// and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md
|
|
// +optional
|
|
// +kubebuilder:default={"*"}
|
|
ManagementPolicies common.ManagementPolicies `json:"managementPolicies,omitempty"`
|
|
}
|
|
|
|
// A TypedProviderConfigUsage is a record that a particular managed resource is using
|
|
// a particular provider configuration.
|
|
type TypedProviderConfigUsage = common.TypedProviderConfigUsage
|