Documentation ¶
Index ¶
- Constants
- Variables
- func SetupController(mgr ctrl.Manager) error
- func SetupWebhook(mgr ctrl.Manager) error
- type IAMKeyConnector
- type IAMKeyPipeline
- func (p *IAMKeyPipeline) Create(ctx context.Context, mg resource.Managed) (managed.ExternalCreation, error)
- func (p *IAMKeyPipeline) Delete(ctx context.Context, mg resource.Managed) error
- func (p *IAMKeyPipeline) Observe(ctx context.Context, mg resource.Managed) (managed.ExternalObservation, error)
- func (p *IAMKeyPipeline) Update(ctx context.Context, mg resource.Managed) (managed.ExternalUpdate, error)
- type IAMKeyValidator
Constants ¶
View Source
const ( // KeyIDAnnotationKey is the annotation key where the IAMKey ID is stored. KeyIDAnnotationKey = "exoscale.crossplane.io/key-id" // BucketResourceType is the resource type bucket to which the IAMKey has access to. BucketResourceType = "bucket" //SOSResourceDomain is the resource domain to which the IAMKey has access to. SOSResourceDomain = "sos" )
Variables ¶
View Source
var IAMKeyAllowedOperations = []string{
"abort-sos-multipart-upload",
"delete-sos-object",
"get-sos-bucket-acl",
"get-sos-bucket-cors",
"get-sos-bucket-location",
"get-sos-object",
"get-sos-object-acl",
"get-sos-presigned-url",
"list-sos-bucket",
"list-sos-bucket-multipart-uploads",
"put-sos-object",
"put-sos-object-acl",
"put-sos-bucket-acl",
"put-sos-bucket-cors",
}
Functions ¶
func SetupController ¶
SetupController adds a controller that reconciles exoscalev1.IAMKey managed resources.
func SetupWebhook ¶
SetupWebhook adds a webhook for Bucket managed resources.
Types ¶
type IAMKeyConnector ¶
func (*IAMKeyConnector) Connect ¶
func (c *IAMKeyConnector) Connect(ctx context.Context, mg resource.Managed) (managed.ExternalClient, error)
Connect implements managed.ExternalConnecter.
type IAMKeyPipeline ¶
type IAMKeyPipeline struct {
// contains filtered or unexported fields
}
IAMKeyPipeline provisions IAMKeys on exoscale.com
func NewPipeline ¶
func NewPipeline(client client.Client, recorder event.Recorder, exoscaleClient *exoscalesdk.Client) *IAMKeyPipeline
NewPipeline returns a new instance of IAMKeyPipeline.
func (*IAMKeyPipeline) Create ¶
func (p *IAMKeyPipeline) Create(ctx context.Context, mg resource.Managed) (managed.ExternalCreation, error)
Create implements managed.ExternalClient.
func (*IAMKeyPipeline) Observe ¶
func (p *IAMKeyPipeline) Observe(ctx context.Context, mg resource.Managed) (managed.ExternalObservation, error)
Observe implements managed.ExternalClient.
func (*IAMKeyPipeline) Update ¶
func (p *IAMKeyPipeline) Update(ctx context.Context, mg resource.Managed) (managed.ExternalUpdate, error)
Update implements managed.ExternalClient. exoscale.com does not allow any updates on IAM keys.
type IAMKeyValidator ¶
type IAMKeyValidator struct {
// contains filtered or unexported fields
}
IAMKeyValidator validates admission requests.
func (*IAMKeyValidator) ValidateCreate ¶
ValidateCreate implements admission.CustomValidator.
func (*IAMKeyValidator) ValidateDelete ¶
ValidateDelete implements admission.CustomValidator.
func (*IAMKeyValidator) ValidateUpdate ¶
ValidateUpdate implements admission.CustomValidator.
Click to show internal directories.
Click to hide internal directories.