v1alpha1

package
v0.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 15, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=escalation.pagerduty.crossplane.io +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "escalation.pagerduty.crossplane.io"
	CRDVersion = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	// CRDGroupVersion is the API Group Version used to register the objects
	CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	Policy_Kind             = "Policy"
	Policy_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Policy_Kind}.String()
	Policy_KindAPIVersion   = Policy_Kind + "." + CRDGroupVersion.String()
	Policy_GroupVersionKind = CRDGroupVersion.WithKind(Policy_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type EscalationRuleAssignmentStrategyInitParameters added in v0.8.0

type EscalationRuleAssignmentStrategyInitParameters struct {

	// Can be round_robin or assign_to_everyone.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*EscalationRuleAssignmentStrategyInitParameters) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EscalationRuleAssignmentStrategyInitParameters.

func (*EscalationRuleAssignmentStrategyInitParameters) DeepCopyInto added in v0.8.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EscalationRuleAssignmentStrategyObservation added in v0.8.0

type EscalationRuleAssignmentStrategyObservation struct {

	// Can be round_robin or assign_to_everyone.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*EscalationRuleAssignmentStrategyObservation) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EscalationRuleAssignmentStrategyObservation.

func (*EscalationRuleAssignmentStrategyObservation) DeepCopyInto added in v0.8.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EscalationRuleAssignmentStrategyParameters added in v0.8.0

type EscalationRuleAssignmentStrategyParameters struct {

	// Can be round_robin or assign_to_everyone.
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*EscalationRuleAssignmentStrategyParameters) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EscalationRuleAssignmentStrategyParameters.

func (*EscalationRuleAssignmentStrategyParameters) DeepCopyInto added in v0.8.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Policy

type Policy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.rule) || (has(self.initProvider) && has(self.initProvider.rule))",message="spec.forProvider.rule is a required parameter"
	Spec   PolicySpec   `json:"spec"`
	Status PolicyStatus `json:"status,omitempty"`
}

Policy is the Schema for the Policys API. Creates and manages an escalation policy in PagerDuty. +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,pagerduty}

func (*Policy) DeepCopy

func (in *Policy) DeepCopy() *Policy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Policy.

func (*Policy) DeepCopyInto

func (in *Policy) DeepCopyInto(out *Policy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Policy) DeepCopyObject

func (in *Policy) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Policy) GetCondition

func (mg *Policy) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Policy.

func (*Policy) GetConnectionDetailsMapping

func (tr *Policy) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Policy

func (*Policy) GetDeletionPolicy

func (mg *Policy) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Policy.

func (*Policy) GetID

func (tr *Policy) GetID() string

GetID returns ID of underlying Terraform resource of this Policy

func (*Policy) GetInitParameters added in v0.5.0

func (tr *Policy) GetInitParameters() (map[string]any, error)

GetInitParameters of this Policy

func (*Policy) GetManagementPolicies added in v0.5.0

func (mg *Policy) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Policy.

func (*Policy) GetMergedParameters added in v0.8.0

func (tr *Policy) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Policy

func (*Policy) GetObservation

func (tr *Policy) GetObservation() (map[string]any, error)

GetObservation of this Policy

func (*Policy) GetParameters

func (tr *Policy) GetParameters() (map[string]any, error)

GetParameters of this Policy

func (*Policy) GetProviderConfigReference

func (mg *Policy) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Policy.

func (*Policy) GetPublishConnectionDetailsTo

func (mg *Policy) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Policy.

func (*Policy) GetTerraformResourceType

func (mg *Policy) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Policy

func (*Policy) GetTerraformSchemaVersion

func (tr *Policy) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Policy) GetWriteConnectionSecretToReference

func (mg *Policy) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Policy.

func (*Policy) Hub added in v0.8.0

func (tr *Policy) Hub()

Hub marks this type as a conversion hub.

func (*Policy) LateInitialize

func (tr *Policy) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Policy using its observed tfState. returns True if there are any spec changes for the resource.

func (*Policy) ResolveReferences

func (mg *Policy) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Policy.

func (*Policy) SetConditions

func (mg *Policy) SetConditions(c ...xpv1.Condition)

SetConditions of this Policy.

func (*Policy) SetDeletionPolicy

func (mg *Policy) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Policy.

func (*Policy) SetManagementPolicies added in v0.5.0

func (mg *Policy) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Policy.

func (*Policy) SetObservation

func (tr *Policy) SetObservation(obs map[string]any) error

SetObservation for this Policy

func (*Policy) SetParameters

func (tr *Policy) SetParameters(params map[string]any) error

SetParameters for this Policy

func (*Policy) SetProviderConfigReference

func (mg *Policy) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Policy.

func (*Policy) SetPublishConnectionDetailsTo

func (mg *Policy) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Policy.

func (*Policy) SetWriteConnectionSecretToReference

func (mg *Policy) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Policy.

type PolicyInitParameters added in v0.5.0

type PolicyInitParameters struct {

	// A human-friendly description of the escalation policy.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The name of the escalation policy.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The number of times the escalation policy will repeat after reaching the end of its escalation.
	NumLoops *float64 `json:"numLoops,omitempty" tf:"num_loops,omitempty"`

	// An Escalation rule block. Escalation rules documented below.
	Rule []RuleInitParameters `json:"rule,omitempty" tf:"rule,omitempty"`

	// References to Team in team to populate teams.
	// +kubebuilder:validation:Optional
	TeamRefs []v1.Reference `json:"teamRefs,omitempty" tf:"-"`

	// Selector for a list of Team in team to populate teams.
	// +kubebuilder:validation:Optional
	TeamSelector *v1.Selector `json:"teamSelector,omitempty" tf:"-"`

	// Team associated with the policy (Only 1 team can be assigned to an Escalation Policy). Account must have the teams ability to use this parameter.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-pagerduty/apis/team/v1alpha1.Team
	// +crossplane:generate:reference:refFieldName=TeamRefs
	// +crossplane:generate:reference:selectorFieldName=TeamSelector
	Teams []*string `json:"teams,omitempty" tf:"teams,omitempty"`
}

func (*PolicyInitParameters) DeepCopy added in v0.5.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyInitParameters.

func (*PolicyInitParameters) DeepCopyInto added in v0.5.0

func (in *PolicyInitParameters) DeepCopyInto(out *PolicyInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PolicyList

type PolicyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Policy `json:"items"`
}

PolicyList contains a list of Policys

func (*PolicyList) DeepCopy

func (in *PolicyList) DeepCopy() *PolicyList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyList.

func (*PolicyList) DeepCopyInto

func (in *PolicyList) DeepCopyInto(out *PolicyList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*PolicyList) DeepCopyObject

func (in *PolicyList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*PolicyList) GetItems

func (l *PolicyList) GetItems() []resource.Managed

GetItems of this PolicyList.

type PolicyObservation

type PolicyObservation struct {

	// A human-friendly description of the escalation policy.
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// A target ID
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The name of the escalation policy.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The number of times the escalation policy will repeat after reaching the end of its escalation.
	NumLoops *float64 `json:"numLoops,omitempty" tf:"num_loops,omitempty"`

	// An Escalation rule block. Escalation rules documented below.
	Rule []RuleObservation `json:"rule,omitempty" tf:"rule,omitempty"`

	// Team associated with the policy (Only 1 team can be assigned to an Escalation Policy). Account must have the teams ability to use this parameter.
	Teams []*string `json:"teams,omitempty" tf:"teams,omitempty"`
}

func (*PolicyObservation) DeepCopy

func (in *PolicyObservation) DeepCopy() *PolicyObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyObservation.

func (*PolicyObservation) DeepCopyInto

func (in *PolicyObservation) DeepCopyInto(out *PolicyObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PolicyParameters

type PolicyParameters struct {

	// A human-friendly description of the escalation policy.
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The name of the escalation policy.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The number of times the escalation policy will repeat after reaching the end of its escalation.
	// +kubebuilder:validation:Optional
	NumLoops *float64 `json:"numLoops,omitempty" tf:"num_loops,omitempty"`

	// An Escalation rule block. Escalation rules documented below.
	// +kubebuilder:validation:Optional
	Rule []RuleParameters `json:"rule,omitempty" tf:"rule,omitempty"`

	// References to Team in team to populate teams.
	// +kubebuilder:validation:Optional
	TeamRefs []v1.Reference `json:"teamRefs,omitempty" tf:"-"`

	// Selector for a list of Team in team to populate teams.
	// +kubebuilder:validation:Optional
	TeamSelector *v1.Selector `json:"teamSelector,omitempty" tf:"-"`

	// Team associated with the policy (Only 1 team can be assigned to an Escalation Policy). Account must have the teams ability to use this parameter.
	// +crossplane:generate:reference:type=github.com/crossplane-contrib/provider-pagerduty/apis/team/v1alpha1.Team
	// +crossplane:generate:reference:refFieldName=TeamRefs
	// +crossplane:generate:reference:selectorFieldName=TeamSelector
	// +kubebuilder:validation:Optional
	Teams []*string `json:"teams,omitempty" tf:"teams,omitempty"`
}

func (*PolicyParameters) DeepCopy

func (in *PolicyParameters) DeepCopy() *PolicyParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyParameters.

func (*PolicyParameters) DeepCopyInto

func (in *PolicyParameters) DeepCopyInto(out *PolicyParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PolicySpec

type PolicySpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     PolicyParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider PolicyInitParameters `json:"initProvider,omitempty"`
}

PolicySpec defines the desired state of Policy

func (*PolicySpec) DeepCopy

func (in *PolicySpec) DeepCopy() *PolicySpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicySpec.

func (*PolicySpec) DeepCopyInto

func (in *PolicySpec) DeepCopyInto(out *PolicySpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type PolicyStatus

type PolicyStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        PolicyObservation `json:"atProvider,omitempty"`
}

PolicyStatus defines the observed state of Policy.

func (*PolicyStatus) DeepCopy

func (in *PolicyStatus) DeepCopy() *PolicyStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PolicyStatus.

func (*PolicyStatus) DeepCopyInto

func (in *PolicyStatus) DeepCopyInto(out *PolicyStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RuleInitParameters added in v0.5.0

type RuleInitParameters struct {

	// The number of minutes before an unacknowledged incident escalates away from this rule.
	EscalationDelayInMinutes *float64 `json:"escalationDelayInMinutes,omitempty" tf:"escalation_delay_in_minutes,omitempty"`

	// The strategy used to assign the escalation rule to an incident. Documented below.
	EscalationRuleAssignmentStrategy []EscalationRuleAssignmentStrategyInitParameters `json:"escalationRuleAssignmentStrategy,omitempty" tf:"escalation_rule_assignment_strategy,omitempty"`

	Target []TargetInitParameters `json:"target,omitempty" tf:"target,omitempty"`
}

func (*RuleInitParameters) DeepCopy added in v0.5.0

func (in *RuleInitParameters) DeepCopy() *RuleInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleInitParameters.

func (*RuleInitParameters) DeepCopyInto added in v0.5.0

func (in *RuleInitParameters) DeepCopyInto(out *RuleInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RuleObservation

type RuleObservation struct {

	// The number of minutes before an unacknowledged incident escalates away from this rule.
	EscalationDelayInMinutes *float64 `json:"escalationDelayInMinutes,omitempty" tf:"escalation_delay_in_minutes,omitempty"`

	// The strategy used to assign the escalation rule to an incident. Documented below.
	EscalationRuleAssignmentStrategy []EscalationRuleAssignmentStrategyObservation `json:"escalationRuleAssignmentStrategy,omitempty" tf:"escalation_rule_assignment_strategy,omitempty"`

	// A target ID
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	Target []TargetObservation `json:"target,omitempty" tf:"target,omitempty"`
}

func (*RuleObservation) DeepCopy

func (in *RuleObservation) DeepCopy() *RuleObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleObservation.

func (*RuleObservation) DeepCopyInto

func (in *RuleObservation) DeepCopyInto(out *RuleObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RuleParameters

type RuleParameters struct {

	// The number of minutes before an unacknowledged incident escalates away from this rule.
	// +kubebuilder:validation:Optional
	EscalationDelayInMinutes *float64 `json:"escalationDelayInMinutes" tf:"escalation_delay_in_minutes,omitempty"`

	// The strategy used to assign the escalation rule to an incident. Documented below.
	// +kubebuilder:validation:Optional
	EscalationRuleAssignmentStrategy []EscalationRuleAssignmentStrategyParameters `json:"escalationRuleAssignmentStrategy,omitempty" tf:"escalation_rule_assignment_strategy,omitempty"`

	// +kubebuilder:validation:Optional
	Target []TargetParameters `json:"target" tf:"target,omitempty"`
}

func (*RuleParameters) DeepCopy

func (in *RuleParameters) DeepCopy() *RuleParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RuleParameters.

func (*RuleParameters) DeepCopyInto

func (in *RuleParameters) DeepCopyInto(out *RuleParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TargetInitParameters added in v0.5.0

type TargetInitParameters struct {

	// A target ID
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Can be round_robin or assign_to_everyone.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*TargetInitParameters) DeepCopy added in v0.5.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetInitParameters.

func (*TargetInitParameters) DeepCopyInto added in v0.5.0

func (in *TargetInitParameters) DeepCopyInto(out *TargetInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TargetObservation

type TargetObservation struct {

	// A target ID
	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// Can be round_robin or assign_to_everyone.
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*TargetObservation) DeepCopy

func (in *TargetObservation) DeepCopy() *TargetObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetObservation.

func (*TargetObservation) DeepCopyInto

func (in *TargetObservation) DeepCopyInto(out *TargetObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TargetParameters

type TargetParameters struct {

	// A target ID
	// +kubebuilder:validation:Optional
	ID *string `json:"id" tf:"id,omitempty"`

	// Can be round_robin or assign_to_everyone.
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*TargetParameters) DeepCopy

func (in *TargetParameters) DeepCopy() *TargetParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TargetParameters.

func (*TargetParameters) DeepCopyInto

func (in *TargetParameters) DeepCopyInto(out *TargetParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL