kubernetes-webhook-haskell-0.1.0.0: Create Kubernetes Admission Webhooks in Haskell

Safe HaskellNone
LanguageHaskell2010

Kubernetes.Webhook.Types

Synopsis

Documentation

data AdmissionReviewRequest Source #

This is the type of the request that arrives for the admission webhook see https://godoc.org/k8s.io/api/admission/v1beta1#AdmissionReview

Instances
Show AdmissionReviewRequest Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Generic AdmissionReviewRequest Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep AdmissionReviewRequest :: Type -> Type #

ToJSON AdmissionReviewRequest Source # 
Instance details

Defined in Kubernetes.Webhook.Types

FromJSON AdmissionReviewRequest Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep AdmissionReviewRequest Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep AdmissionReviewRequest = D1 (MetaData "AdmissionReviewRequest" "Kubernetes.Webhook.Types" "kubernetes-webhook-haskell-0.1.0.0-6GtqjaLo2mFIKDH4duDCmt" False) (C1 (MetaCons "AdmissionReviewRequest" PrefixI True) (S1 (MetaSel (Just "apiVersion") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: (S1 (MetaSel (Just "kind") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "request") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 AdmissionRequest))))

data AdmissionReviewResponse Source #

This is the type of the response returned to the admission webhook see https://godoc.org/k8s.io/api/admission/v1beta1#AdmissionReview

Instances
Show AdmissionReviewResponse Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Generic AdmissionReviewResponse Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep AdmissionReviewResponse :: Type -> Type #

ToJSON AdmissionReviewResponse Source # 
Instance details

Defined in Kubernetes.Webhook.Types

FromJSON AdmissionReviewResponse Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep AdmissionReviewResponse Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep AdmissionReviewResponse = D1 (MetaData "AdmissionReviewResponse" "Kubernetes.Webhook.Types" "kubernetes-webhook-haskell-0.1.0.0-6GtqjaLo2mFIKDH4duDCmt" False) (C1 (MetaCons "AdmissionReviewResponse" PrefixI True) (S1 (MetaSel (Just "apiVersion") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: (S1 (MetaSel (Just "kind") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "response") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 AdmissionResponse))))

data AdmissionRequest Source #

Constructors

AdmissionRequest 

Fields

  • uid :: UID

    UID is an identifier for the individual request response. It allows us to distinguish instances of requests which are otherwise identical (parallel requests, requests when earlier requests did not modify etc) The UID is meant to track the round trip (request response) between the KAS and the WebHook, not the user request. It is suitable for correlating log entries between the webhook and apiserver, for either auditing or debugging.

  • kind :: GroupVersionKind

    Kind is the fully-qualified type of object being submitted (for example, v1.Pod or autoscaling.v1.Scale)

  • resource :: GroupVersionResource

    Resource is the fully-qualified resource being requested (for example, v1.pods)

  • subResource :: Maybe Text

    SubResource is the subresource being requested, if any (for example, "status" or "scale")

  • requestKind :: Maybe GroupVersionKind

    RequestKind is the fully-qualified type of the original API request (for example, v1.Pod or autoscaling.v1.Scale). If this is specified and differs from the value in "kind", an equivalent match and conversion was performed.

    For example, if deployments can be modified via apps v1 and apps v1beta1, and a webhook registered a rule of `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]` and `matchPolicy: Equivalent`, an API request to apps v1beta1 deployments would be converted and sent to the webhook with `kind: {group:"apps", version:"v1", kind:Deployment}` (matching the rule the webhook registered for), and `requestKind: {group:"apps", version:"v1beta1", kind:Deployment}` (indicating the kind of the original API request).

    See documentation for the "matchPolicy" field in the webhook configuration type for more details.

  • requestResource :: Maybe GroupVersionResource

    RequestResource is the fully-qualified resource of the original API request (for example, v1.pods). If this is specified and differs from the value in "resource", an equivalent match and conversion was performed.

    For example, if deployments can be modified via apps v1 and apps v1beta1, and a webhook registered a rule of `apiGroups:["apps"], apiVersions:["v1"], resources: ["deployments"]` and `matchPolicy: Equivalent`, an API request to apps v1beta1 deployments would be converted and sent to the webhook with `resource: {group:"apps", version:"v1", resource:"deployments"}` (matching the resource the webhook registered for), and `requestResource: {group:"apps", version:"v1beta1", resource:"deployments"}` (indicating the resource of the original API request).

    See documentation for the "matchPolicy" field in the webhook configuration type.

  • requestSubResource :: Maybe Text

    RequestSubResource is the name of the subresource of the original API request, if any (for example, "status" or "scale") If this is specified and differs from the value in "subResource", an equivalent match and conversion was performed. See documentation for the "matchPolicy" field in the webhook configuration type.

  • name :: Maybe Text

    Name is the name of the object as presented in the request. On a CREATE operation, the client may omit name and rely on the server to generate the name. If that is the case, this field will contain an empty string.

  • namespace :: Maybe Text

    Namespace is the namespace associated with the request (if any).

  • operation :: Operation

    Operation is the operation being performed. This may be different than the operation requested. e.g. a patch can result in either a CREATE or UPDATE Operation.

  • userInfo :: UserInfo

    UserInfo is information about the requesting user

  • object :: Maybe Value

    Object is the object from the incoming request.

  • oldObject :: Maybe Value

    OldObject is the existing object. Only populated for DELETE and UPDATE requests.

  • dryRun :: Maybe Bool

    DryRun indicates that modifications will definitely not be persisted for this request. Defaults to false.

  • options :: Maybe Value

    Options is the operation option structure of the operation being performed. e.g. `meta.k8s.io/v1.DeleteOptions` or `meta.k8s.io/v1.CreateOptions`. This may be different than the options the caller provided. e.g. for a patch request the performed Operation might be a CREATE, in which case the Options will a `meta.k8s.io/v1.CreateOptions` even though the caller provided `meta.k8s.io/v1.PatchOptions`.

Instances
Show AdmissionRequest Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Generic AdmissionRequest Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep AdmissionRequest :: Type -> Type #

ToJSON AdmissionRequest Source # 
Instance details

Defined in Kubernetes.Webhook.Types

FromJSON AdmissionRequest Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep AdmissionRequest Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep AdmissionRequest = D1 (MetaData "AdmissionRequest" "Kubernetes.Webhook.Types" "kubernetes-webhook-haskell-0.1.0.0-6GtqjaLo2mFIKDH4duDCmt" False) (C1 (MetaCons "AdmissionRequest" PrefixI True) (((S1 (MetaSel (Just "uid") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 UID) :*: (S1 (MetaSel (Just "kind") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 GroupVersionKind) :*: S1 (MetaSel (Just "resource") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 GroupVersionResource))) :*: ((S1 (MetaSel (Just "subResource") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "requestKind") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (Maybe GroupVersionKind))) :*: (S1 (MetaSel (Just "requestResource") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (Maybe GroupVersionResource)) :*: S1 (MetaSel (Just "requestSubResource") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (Maybe Text))))) :*: (((S1 (MetaSel (Just "name") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "namespace") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 (MetaSel (Just "operation") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Operation) :*: S1 (MetaSel (Just "userInfo") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 UserInfo))) :*: ((S1 (MetaSel (Just "object") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (Maybe Value)) :*: S1 (MetaSel (Just "oldObject") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (Maybe Value))) :*: (S1 (MetaSel (Just "dryRun") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (Maybe Bool)) :*: S1 (MetaSel (Just "options") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (Maybe Value)))))))

data AdmissionResponse Source #

AdmissionResponse describes an admission response. see: https://godoc.org/k8s.io/api/admission/v1beta1#AdmissionResponse

Constructors

AdmissionResponse 

Fields

  • uid :: UID

    UID is an identifier for the individual request/response.

  • allowed :: Bool

    Allowed indicates whether or not the admission request was permitted

  • status :: Maybe Status

    Result contains extra details into why an admission request was denied. This field IS NOT consulted in any way if Allowed is "true".

  • patch :: Maybe Patch

    The patch body. Currently we only support JSONPatch which implements RFC 6902.

  • patchType :: Maybe PatchType

    The type of Patch. Currently we only allow JSONPatch.

  • auditAnnotations :: Maybe (HashMap Text [Text])

    AuditAnnotations is an unstructured key value map set by remote admission controller (e.g. error=image-blacklisted). MutatingAdmissionWebhook and ValidatingAdmissionWebhook admission controller will prefix the keys with admission webhook name (e.g. imagepolicy.example.com/error=image-blacklisted). AuditAnnotations will be provided by the admission webhook to add additional context to the audit log for this request.

Instances
Show AdmissionResponse Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Generic AdmissionResponse Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep AdmissionResponse :: Type -> Type #

ToJSON AdmissionResponse Source # 
Instance details

Defined in Kubernetes.Webhook.Types

FromJSON AdmissionResponse Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep AdmissionResponse Source # 
Instance details

Defined in Kubernetes.Webhook.Types

newtype UID Source #

UID is a type that holds unique ID values, including UUIDs. Because we don't ONLY use UUIDs, this is an alias to string Being a type captures intent and helps make sure that UIDs and names do not get conflated.

Constructors

UID Text 
Instances
Show UID Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Methods

showsPrec :: Int -> UID -> ShowS #

show :: UID -> String #

showList :: [UID] -> ShowS #

Generic UID Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep UID :: Type -> Type #

Methods

from :: UID -> Rep UID x #

to :: Rep UID x -> UID #

ToJSON UID Source # 
Instance details

Defined in Kubernetes.Webhook.Types

FromJSON UID Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep UID Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep UID = D1 (MetaData "UID" "Kubernetes.Webhook.Types" "kubernetes-webhook-haskell-0.1.0.0-6GtqjaLo2mFIKDH4duDCmt" True) (C1 (MetaCons "UID" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

data Operation Source #

Operation is the type of resource operation being checked for admission control

Constructors

CREATE 
UPDATE 
DELETE 
CONNECT 
Instances
Show Operation Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Generic Operation Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep Operation :: Type -> Type #

ToJSON Operation Source # 
Instance details

Defined in Kubernetes.Webhook.Types

FromJSON Operation Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep Operation Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep Operation = D1 (MetaData "Operation" "Kubernetes.Webhook.Types" "kubernetes-webhook-haskell-0.1.0.0-6GtqjaLo2mFIKDH4duDCmt" False) ((C1 (MetaCons "CREATE" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "UPDATE" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "DELETE" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "CONNECT" PrefixI False) (U1 :: Type -> Type)))

data UserInfo Source #

UserInfo holds the information about the user needed to implement the user.Info interface.

Constructors

UserInfo 

Fields

  • username :: Text

    The name that uniquely identifies this user among all active users.

  • uid :: Text

    A unique value that identifies this user across time. If this user is deleted and another user by the same name is added, they will have different UIDs.

  • groups :: Maybe [Text]

    The names of groups this user is a part of.

  • extra :: Maybe (HashMap Text [Text])

    Any additional information provided by the authenticator.

Instances
Show UserInfo Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Generic UserInfo Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep UserInfo :: Type -> Type #

Methods

from :: UserInfo -> Rep UserInfo x #

to :: Rep UserInfo x -> UserInfo #

ToJSON UserInfo Source # 
Instance details

Defined in Kubernetes.Webhook.Types

FromJSON UserInfo Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep UserInfo Source # 
Instance details

Defined in Kubernetes.Webhook.Types

data GroupVersionKind Source #

GroupVersionKind unambiguously identifies a kind.

Constructors

GroupVersionKind 

Fields

Instances
Show GroupVersionKind Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Generic GroupVersionKind Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep GroupVersionKind :: Type -> Type #

ToJSON GroupVersionKind Source # 
Instance details

Defined in Kubernetes.Webhook.Types

FromJSON GroupVersionKind Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep GroupVersionKind Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep GroupVersionKind = D1 (MetaData "GroupVersionKind" "Kubernetes.Webhook.Types" "kubernetes-webhook-haskell-0.1.0.0-6GtqjaLo2mFIKDH4duDCmt" False) (C1 (MetaCons "GroupVersionKind" PrefixI True) (S1 (MetaSel (Just "group") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: (S1 (MetaSel (Just "version") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "kind") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text))))

data GroupVersionResource Source #

GroupVersionResource unambiguously identifies a resource.

Constructors

GroupVersionResource 

Fields

Instances
Show GroupVersionResource Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Generic GroupVersionResource Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep GroupVersionResource :: Type -> Type #

ToJSON GroupVersionResource Source # 
Instance details

Defined in Kubernetes.Webhook.Types

FromJSON GroupVersionResource Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep GroupVersionResource Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep GroupVersionResource = D1 (MetaData "GroupVersionResource" "Kubernetes.Webhook.Types" "kubernetes-webhook-haskell-0.1.0.0-6GtqjaLo2mFIKDH4duDCmt" False) (C1 (MetaCons "GroupVersionResource" PrefixI True) (S1 (MetaSel (Just "group") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: (S1 (MetaSel (Just "version") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "resource") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text))))

data RawExtension Source #

RawExtension is used to hold extensions in external versions.

Constructors

RawExtension 

Fields

Instances
Show RawExtension Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Generic RawExtension Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep RawExtension :: Type -> Type #

ToJSON RawExtension Source # 
Instance details

Defined in Kubernetes.Webhook.Types

FromJSON RawExtension Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep RawExtension Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep RawExtension = D1 (MetaData "RawExtension" "Kubernetes.Webhook.Types" "kubernetes-webhook-haskell-0.1.0.0-6GtqjaLo2mFIKDH4duDCmt" False) (C1 (MetaCons "RawExtension" PrefixI True) (S1 (MetaSel (Just "raw") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "object") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Value)))

data Status Source #

Status is a return value for calls that don't return other objects.

Constructors

Status 

Fields

Instances
Show Status Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Generic Status Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep Status :: Type -> Type #

Methods

from :: Status -> Rep Status x #

to :: Rep Status x -> Status #

ToJSON Status Source # 
Instance details

Defined in Kubernetes.Webhook.Types

FromJSON Status Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep Status Source # 
Instance details

Defined in Kubernetes.Webhook.Types

data ListMeta Source #

Constructors

ListMeta 

Fields

  • selfLink :: Maybe Text

    selfLink is a URL representing this object. Populated by the system. Read-only.

    DEPRECATED Kubernetes will stop propagating this field in 1.20 release and the field is planned to be removed in 1.21 release.

  • resourceVersion :: Maybe Text

    String that identifies the server's internal version of this object that can be used by clients to determine when objects have changed. Value must be treated as opaque by clients and passed unmodified back to the server. Populated by the system. Read-only. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

  • continue :: Text

    continue may be set if the user set a limit on the number of items returned, and indicates that the server has more data available. The value is opaque and may be used to issue another request to the endpoint that served this list to retrieve the next set of available objects. Continuing a consistent list may not be possible if the server configuration has changed or more than a few minutes have passed. The resourceVersion field returned when using this continue value will be identical to the value in the first response, unless you have received this token from an error message.

  • remainingItemCount :: Maybe Integer

    remainingItemCount is the number of subsequent items in the list which are not included in this list response. If the list request contained label or field selectors, then the number of remaining items is unknown and the field will be left unset and omitted during serialization. If the list is complete (either because it is not chunking or because this is the last chunk), then there are no more remaining items and this field will be left unset and omitted during serialization. Servers older than v1.15 do not set this field. The intended use of the remainingItemCount is *estimating* the size of a collection. Clients should not rely on the remainingItemCount to be set or to be exact.

Instances
Show ListMeta Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Generic ListMeta Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep ListMeta :: Type -> Type #

Methods

from :: ListMeta -> Rep ListMeta x #

to :: Rep ListMeta x -> ListMeta #

ToJSON ListMeta Source # 
Instance details

Defined in Kubernetes.Webhook.Types

FromJSON ListMeta Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep ListMeta Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep ListMeta = D1 (MetaData "ListMeta" "Kubernetes.Webhook.Types" "kubernetes-webhook-haskell-0.1.0.0-6GtqjaLo2mFIKDH4duDCmt" False) (C1 (MetaCons "ListMeta" PrefixI True) ((S1 (MetaSel (Just "selfLink") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "resourceVersion") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (Maybe Text))) :*: (S1 (MetaSel (Just "continue") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "remainingItemCount") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (Maybe Integer)))))

data StatusStatus Source #

Constructors

Success 
Failure 
Instances
Show StatusStatus Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Generic StatusStatus Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep StatusStatus :: Type -> Type #

ToJSON StatusStatus Source # 
Instance details

Defined in Kubernetes.Webhook.Types

FromJSON StatusStatus Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep StatusStatus Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep StatusStatus = D1 (MetaData "StatusStatus" "Kubernetes.Webhook.Types" "kubernetes-webhook-haskell-0.1.0.0-6GtqjaLo2mFIKDH4duDCmt" False) (C1 (MetaCons "Success" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Failure" PrefixI False) (U1 :: Type -> Type))

data StatusReason Source #

StatusReason is an enumeration of possible failure causes. Each StatusReason must map to a single HTTP status code, but multiple reasons may map to the same HTTP status code. https://godoc.org/k8s.io/apimachinery/pkg/apis/meta/v1#StatusReason

Instances
Show StatusReason Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Generic StatusReason Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep StatusReason :: Type -> Type #

ToJSON StatusReason Source # 
Instance details

Defined in Kubernetes.Webhook.Types

FromJSON StatusReason Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep StatusReason Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep StatusReason = D1 (MetaData "StatusReason" "Kubernetes.Webhook.Types" "kubernetes-webhook-haskell-0.1.0.0-6GtqjaLo2mFIKDH4duDCmt" False) ((((C1 (MetaCons "Unknown" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Unauthorized" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "Forbidden" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "NotFound" PrefixI False) (U1 :: Type -> Type))) :+: ((C1 (MetaCons "AlreadyExists" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Conflict" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "Gone" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "Invalid" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "ServerTimeout" PrefixI False) (U1 :: Type -> Type))))) :+: (((C1 (MetaCons "Timeout" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "TooManyRequests" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "BadRequest" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "MethodNotAllowed" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "NotAcceptable" PrefixI False) (U1 :: Type -> Type)))) :+: ((C1 (MetaCons "RequestEntityTooLarge" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "UnsupportedMediaType" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "InternalError" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "Expired" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "ServiceUnavailable" PrefixI False) (U1 :: Type -> Type))))))

data StatusDetails Source #

StatusDetails is a set of additional properties that MAY be set by the server to provide additional information about a response. The Reason field of a Status object defines what attributes will be set. Clients must ignore fields that do not match the defined type of each attribute, and should assume that any attribute may be empty, invalid, or under defined.

Constructors

StatusDetails 

Fields

Instances
Show StatusDetails Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Generic StatusDetails Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep StatusDetails :: Type -> Type #

ToJSON StatusDetails Source # 
Instance details

Defined in Kubernetes.Webhook.Types

FromJSON StatusDetails Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep StatusDetails Source # 
Instance details

Defined in Kubernetes.Webhook.Types

data StatusCause Source #

Constructors

StatusCause 

Fields

  • reason :: Maybe CauseType

    A machine-readable description of the cause of the error. If this value is empty there is no information available.

  • message :: Maybe Text

    human-readable description of the cause of the error. This field may be presented as-is to a reader.

  • field :: Maybe Text

    The field of the resource that has caused this error, as named by its JSON serialization. May include dot and postfix notation for nested attributes. Arrays are zero-indexed. Fields may appear more than once in an array of causes due to fields having multiple errors. Optional.

    Examples: "name" - the field "name" on the current resource "items[0].name" - the field "name" on the first array entry in "items"

Instances
Show StatusCause Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Generic StatusCause Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep StatusCause :: Type -> Type #

ToJSON StatusCause Source # 
Instance details

Defined in Kubernetes.Webhook.Types

FromJSON StatusCause Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep StatusCause Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep StatusCause = D1 (MetaData "StatusCause" "Kubernetes.Webhook.Types" "kubernetes-webhook-haskell-0.1.0.0-6GtqjaLo2mFIKDH4duDCmt" False) (C1 (MetaCons "StatusCause" PrefixI True) (S1 (MetaSel (Just "reason") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (Maybe CauseType)) :*: (S1 (MetaSel (Just "message") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "field") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (Maybe Text)))))

data CauseType Source #

CauseType is a machine readable value providing more detail about what occurred in a status response. An operation may have multiple causes for a status (whether Failure or Success).

Instances
Show CauseType Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Generic CauseType Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep CauseType :: Type -> Type #

ToJSON CauseType Source # 
Instance details

Defined in Kubernetes.Webhook.Types

FromJSON CauseType Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep CauseType Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep CauseType = D1 (MetaData "CauseType" "Kubernetes.Webhook.Types" "kubernetes-webhook-haskell-0.1.0.0-6GtqjaLo2mFIKDH4duDCmt" False) ((C1 (MetaCons "FieldValueNotFound" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "FieldValueRequired" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "FieldValueDuplicate" PrefixI False) (U1 :: Type -> Type))) :+: ((C1 (MetaCons "FieldValueInvalid" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "FieldValueNotSupported" PrefixI False) (U1 :: Type -> Type)) :+: (C1 (MetaCons "UnexpectedServerResponse" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "FieldManagerConflict" PrefixI False) (U1 :: Type -> Type))))

data TypeMeta Source #

Constructors

TypeMeta 

Fields

Instances
Show TypeMeta Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Generic TypeMeta Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep TypeMeta :: Type -> Type #

Methods

from :: TypeMeta -> Rep TypeMeta x #

to :: Rep TypeMeta x -> TypeMeta #

ToJSON TypeMeta Source # 
Instance details

Defined in Kubernetes.Webhook.Types

FromJSON TypeMeta Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep TypeMeta Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep TypeMeta = D1 (MetaData "TypeMeta" "Kubernetes.Webhook.Types" "kubernetes-webhook-haskell-0.1.0.0-6GtqjaLo2mFIKDH4duDCmt" False) (C1 (MetaCons "TypeMeta" PrefixI True) (S1 (MetaSel (Just "kind") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (Maybe Text)) :*: S1 (MetaSel (Just "apiVersion") NoSourceUnpackedness NoSourceStrictness DecidedStrict) (Rec0 (Maybe Text))))

data PatchOperation Source #

Constructors

PatchOperation 

Fields

Instances
Show PatchOperation Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Generic PatchOperation Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep PatchOperation :: Type -> Type #

ToJSON PatchOperation Source # 
Instance details

Defined in Kubernetes.Webhook.Types

FromJSON PatchOperation Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep PatchOperation Source # 
Instance details

Defined in Kubernetes.Webhook.Types

newtype Patch Source #

Patch type as per RFC-6902 See http://jsonpatch.com for documentation

Constructors

Patch [PatchOperation] 
Instances
Show Patch Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Methods

showsPrec :: Int -> Patch -> ShowS #

show :: Patch -> String #

showList :: [Patch] -> ShowS #

Generic Patch Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep Patch :: Type -> Type #

Methods

from :: Patch -> Rep Patch x #

to :: Rep Patch x -> Patch #

ToJSON Patch Source #

The Patch needs to be base64-encoded

Instance details

Defined in Kubernetes.Webhook.Types

FromJSON Patch Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep Patch Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep Patch = D1 (MetaData "Patch" "Kubernetes.Webhook.Types" "kubernetes-webhook-haskell-0.1.0.0-6GtqjaLo2mFIKDH4duDCmt" True) (C1 (MetaCons "Patch" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 [PatchOperation])))

data PatchOp Source #

Constructors

Add 
Copy 
Move 
Remove 
Replace 
Test 
Instances
Show PatchOp Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Generic PatchOp Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep PatchOp :: Type -> Type #

Methods

from :: PatchOp -> Rep PatchOp x #

to :: Rep PatchOp x -> PatchOp #

ToJSON PatchOp Source # 
Instance details

Defined in Kubernetes.Webhook.Types

FromJSON PatchOp Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep PatchOp Source # 
Instance details

Defined in Kubernetes.Webhook.Types

type Rep PatchOp = D1 (MetaData "PatchOp" "Kubernetes.Webhook.Types" "kubernetes-webhook-haskell-0.1.0.0-6GtqjaLo2mFIKDH4duDCmt" False) ((C1 (MetaCons "Add" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "Copy" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Move" PrefixI False) (U1 :: Type -> Type))) :+: (C1 (MetaCons "Remove" PrefixI False) (U1 :: Type -> Type) :+: (C1 (MetaCons "Replace" PrefixI False) (U1 :: Type -> Type) :+: C1 (MetaCons "Test" PrefixI False) (U1 :: Type -> Type))))