kubernetes-webhook-haskell-0.2.0.3: 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

Constructors

AdmissionReviewRequest 

Fields

Instances

Instances details
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.2.0.3-inplace" '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

Constructors

AdmissionReviewResponse 

Fields

Instances

Instances details
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.2.0.3-inplace" '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.iov1.DeleteOptions` or `meta.k8s.iov1.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.iov1.CreateOptions` even though the caller provided `meta.k8s.iov1.PatchOptions`.

Instances

Instances details
Show AdmissionRequest Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Methods

showsPrec :: Int -> AdmissionRequest -> ShowS

show :: AdmissionRequest -> String

showList :: [AdmissionRequest] -> ShowS

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.2.0.3-inplace" '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

Instances details
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

type Rep AdmissionResponse = D1 ('MetaData "AdmissionResponse" "Kubernetes.Webhook.Types" "kubernetes-webhook-haskell-0.2.0.3-inplace" 'False) (C1 ('MetaCons "AdmissionResponse" 'PrefixI 'True) ((S1 ('MetaSel ('Just "uid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 UID) :*: (S1 ('MetaSel ('Just "allowed") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "status") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Status)))) :*: (S1 ('MetaSel ('Just "patch") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Patch)) :*: (S1 ('MetaSel ('Just "patchType") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe PatchType)) :*: S1 ('MetaSel ('Just "auditAnnotations") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (HashMap Text [Text])))))))

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

Instances details
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.2.0.3-inplace" '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

Instances details
Show Operation Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Methods

showsPrec :: Int -> Operation -> ShowS

show :: Operation -> String

showList :: [Operation] -> ShowS

Generic Operation Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep Operation :: Type -> Type

Methods

from :: Operation -> Rep Operation x

to :: Rep Operation x -> Operation

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.2.0.3-inplace" '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

Instances details
Show UserInfo Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Methods

showsPrec :: Int -> UserInfo -> ShowS

show :: UserInfo -> String

showList :: [UserInfo] -> ShowS

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

type Rep UserInfo = D1 ('MetaData "UserInfo" "Kubernetes.Webhook.Types" "kubernetes-webhook-haskell-0.2.0.3-inplace" 'False) (C1 ('MetaCons "UserInfo" 'PrefixI 'True) ((S1 ('MetaSel ('Just "username") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text) :*: S1 ('MetaSel ('Just "uid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "groups") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [Text])) :*: S1 ('MetaSel ('Just "extra") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe (HashMap Text [Text]))))))

data GroupVersionKind Source #

GroupVersionKind unambiguously identifies a kind.

Constructors

GroupVersionKind 

Fields

Instances

Instances details
Show GroupVersionKind Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Methods

showsPrec :: Int -> GroupVersionKind -> ShowS

show :: GroupVersionKind -> String

showList :: [GroupVersionKind] -> ShowS

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.2.0.3-inplace" '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

Instances details
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.2.0.3-inplace" '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

Instances details
Show RawExtension Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Methods

showsPrec :: Int -> RawExtension -> ShowS

show :: RawExtension -> String

showList :: [RawExtension] -> ShowS

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.2.0.3-inplace" '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

Instances details
Show Status Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Methods

showsPrec :: Int -> Status -> ShowS

show :: Status -> String

showList :: [Status] -> ShowS

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

type Rep Status = D1 ('MetaData "Status" "Kubernetes.Webhook.Types" "kubernetes-webhook-haskell-0.2.0.3-inplace" 'False) (C1 ('MetaCons "Status" 'PrefixI 'True) ((S1 ('MetaSel ('Just "typeMeta") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 TypeMeta) :*: (S1 ('MetaSel ('Just "listMeta") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe ListMeta)) :*: S1 ('MetaSel ('Just "status") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe StatusStatus)))) :*: ((S1 ('MetaSel ('Just "message") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "reason") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe StatusReason))) :*: (S1 ('MetaSel ('Just "details") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe StatusDetails)) :*: S1 ('MetaSel ('Just "code") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Integer))))))

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

Instances details
Show ListMeta Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Methods

showsPrec :: Int -> ListMeta -> ShowS

show :: ListMeta -> String

showList :: [ListMeta] -> ShowS

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.2.0.3-inplace" '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

Instances details
Show StatusStatus Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Methods

showsPrec :: Int -> StatusStatus -> ShowS

show :: StatusStatus -> String

showList :: [StatusStatus] -> ShowS

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.2.0.3-inplace" '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

Instances details
Show StatusReason Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Methods

showsPrec :: Int -> StatusReason -> ShowS

show :: StatusReason -> String

showList :: [StatusReason] -> ShowS

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.2.0.3-inplace" '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

  • name :: Maybe Text

    The name attribute of the resource associated with the status StatusReason (when there is a single name which can be described).

  • group :: Maybe Text

    The group attribute of the resource associated with the status StatusReason.

  • kind :: Maybe Text

    The kind attribute of the resource associated with the status StatusReason. On some operations may differ from the requested resource Kind. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

  • uid :: Maybe UID

    UID of the resource. (when there is a single resource which can be described). More info: http://kubernetes.io/docs/user-guide/identifiers#uids

  • causes :: Maybe [StatusCause]

    The Causes array includes more details associated with the StatusReason failure. Not all StatusReasons may provide detailed causes.

  • retryAfterSeconds :: Maybe Integer

    If specified, the time in seconds before the operation should be retried. Some errors may indicate the client must take an alternate action - for those errors this field may indicate how long to wait before taking the alternate action.

Instances

Instances details
Show StatusDetails Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Methods

showsPrec :: Int -> StatusDetails -> ShowS

show :: StatusDetails -> String

showList :: [StatusDetails] -> ShowS

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

type Rep StatusDetails = D1 ('MetaData "StatusDetails" "Kubernetes.Webhook.Types" "kubernetes-webhook-haskell-0.2.0.3-inplace" 'False) (C1 ('MetaCons "StatusDetails" 'PrefixI 'True) ((S1 ('MetaSel ('Just "name") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "group") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "kind") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)))) :*: (S1 ('MetaSel ('Just "uid") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe UID)) :*: (S1 ('MetaSel ('Just "causes") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe [StatusCause])) :*: S1 ('MetaSel ('Just "retryAfterSeconds") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Integer))))))

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

Instances details
Show StatusCause Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Methods

showsPrec :: Int -> StatusCause -> ShowS

show :: StatusCause -> String

showList :: [StatusCause] -> ShowS

Generic StatusCause Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep StatusCause :: Type -> Type

Methods

from :: StatusCause -> Rep StatusCause x

to :: Rep StatusCause x -> StatusCause

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.2.0.3-inplace" '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

Instances details
Show CauseType Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Methods

showsPrec :: Int -> CauseType -> ShowS

show :: CauseType -> String

showList :: [CauseType] -> ShowS

Generic CauseType Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Associated Types

type Rep CauseType :: Type -> Type

Methods

from :: CauseType -> Rep CauseType x

to :: Rep CauseType x -> CauseType

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.2.0.3-inplace" '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

Instances details
Show TypeMeta Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Methods

showsPrec :: Int -> TypeMeta -> ShowS

show :: TypeMeta -> String

showList :: [TypeMeta] -> ShowS

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.2.0.3-inplace" '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 PatchType Source #

Constructors

JSONPatch 

Instances

Instances details
Show PatchType Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Methods

showsPrec :: Int -> PatchType -> ShowS

show :: PatchType -> String

showList :: [PatchType] -> ShowS

ToJSON PatchType Source # 
Instance details

Defined in Kubernetes.Webhook.Types

FromJSON PatchType Source # 
Instance details

Defined in Kubernetes.Webhook.Types

data PatchOperation Source #

Constructors

PatchOperation 

Fields

Instances

Instances details
Show PatchOperation Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Methods

showsPrec :: Int -> PatchOperation -> ShowS

show :: PatchOperation -> String

showList :: [PatchOperation] -> ShowS

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

type Rep PatchOperation = D1 ('MetaData "PatchOperation" "Kubernetes.Webhook.Types" "kubernetes-webhook-haskell-0.2.0.3-inplace" 'False) (C1 ('MetaCons "PatchOperation" 'PrefixI 'True) ((S1 ('MetaSel ('Just "op") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 PatchOp) :*: S1 ('MetaSel ('Just "path") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "from") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "value") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Value)))))

newtype Patch Source #

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

Constructors

Patch [PatchOperation] 

Instances

Instances details
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.2.0.3-inplace" '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

Instances details
Show PatchOp Source # 
Instance details

Defined in Kubernetes.Webhook.Types

Methods

showsPrec :: Int -> PatchOp -> ShowS

show :: PatchOp -> String

showList :: [PatchOp] -> ShowS

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.2.0.3-inplace" '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))))