v1beta1

package
v0.47.2 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2024 License: Apache-2.0 Imports: 11 Imported by: 2

Documentation

Overview

Package v1beta1 contains managed resources for AWS SNS services such as Topic & Subscription. +kubebuilder:object:generate=true +groupName=sns.aws.crossplane.io +versionName=v1beta1

Index

Constants

View Source
const (
	Group   = "sns.aws.crossplane.io"
	Version = "v1beta1"
)

Package type metadata.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: Group, Version: Version}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
)
View Source
var (
	TopicKind             = reflect.TypeOf(Topic{}).Name()
	TopicGroupKind        = schema.GroupKind{Group: Group, Kind: TopicKind}.String()
	TopicKindAPIVersion   = TopicKind + "." + SchemeGroupVersion.String()
	TopicGroupVersionKind = SchemeGroupVersion.WithKind(TopicKind)
)

Topic type metadata.

View Source
var (
	SubscriptionKind             = reflect.TypeOf(Subscription{}).Name()
	SubscriptionGroupKind        = schema.GroupKind{Group: Group, Kind: SubscriptionKind}.String()
	SubscriptionKindAPIVersion   = SubscriptionKind + "." + SchemeGroupVersion.String()
	SubscriptionGroupVersionKind = SchemeGroupVersion.WithKind(SubscriptionKind)
)

Subscription type metadata.

Functions

func SNSTopicARN

func SNSTopicARN() reference.ExtractValueFn

SNSTopicARN returns a function that returns the ARN of the given SNS Topic.

Types

type ConfirmationStatus

type ConfirmationStatus string

ConfirmationStatus represents Status of SNS Subscription Confirmation

const (
	// ConfirmationPending represents Pending Confirmation Request for SNS Subscription
	ConfirmationPending ConfirmationStatus = "ConfirmationPending"
	// ConfirmationSuccessful represents confirmed SNS Subscription
	ConfirmationSuccessful ConfirmationStatus = "Confirmed"
)

type Subscription

type Subscription struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SubscriptionSpec   `json:"spec"`
	Status SubscriptionStatus `json:"status,omitempty"`
}

Subscription defines a managed resource that represents state of a AWS SNS Subscription +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="ENDPOINT",type="string",JSONPath=".spec.forProvider.endpoint" +kubebuilder:printcolumn:name="PROTOCOL",type="string",JSONPath=".spec.forProvider.protocol" +kubebuilder:printcolumn:name="STATUS",type="string",JSONPath=".status.atProvider.status" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*Subscription) DeepCopy

func (in *Subscription) DeepCopy() *Subscription

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

func (*Subscription) DeepCopyInto

func (in *Subscription) DeepCopyInto(out *Subscription)

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

func (*Subscription) DeepCopyObject

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

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

func (*Subscription) GetCondition

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

GetCondition of this Subscription.

func (*Subscription) GetDeletionPolicy

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

GetDeletionPolicy of this Subscription.

func (*Subscription) GetManagementPolicies added in v0.43.0

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

GetManagementPolicies of this Subscription.

func (*Subscription) GetProviderConfigReference

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

GetProviderConfigReference of this Subscription.

func (*Subscription) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Subscription.

func (*Subscription) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Subscription.

func (*Subscription) ResolveReferences

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

ResolveReferences for SNS Subscription managed type

func (*Subscription) SetConditions

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

SetConditions of this Subscription.

func (*Subscription) SetDeletionPolicy

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

SetDeletionPolicy of this Subscription.

func (*Subscription) SetManagementPolicies added in v0.43.0

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

SetManagementPolicies of this Subscription.

func (*Subscription) SetProviderConfigReference

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

SetProviderConfigReference of this Subscription.

func (*Subscription) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Subscription.

func (*Subscription) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Subscription.

type SubscriptionList

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

SubscriptionList contains a list of Topic

func (*SubscriptionList) DeepCopy

func (in *SubscriptionList) DeepCopy() *SubscriptionList

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

func (*SubscriptionList) DeepCopyInto

func (in *SubscriptionList) DeepCopyInto(out *SubscriptionList)

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

func (*SubscriptionList) DeepCopyObject

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

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

func (*SubscriptionList) GetItems

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

GetItems of this SubscriptionList.

type SubscriptionObservation

type SubscriptionObservation struct {

	// The subscription's owner.
	// +optional
	Owner *string `json:"owner,omitempty"`

	// Status represents Confirmation Status of SNS Subscription
	// +optional
	Status *ConfirmationStatus `json:"status,omitempty"`

	// ConfirmationWasAuthenticated – true if the subscription confirmation
	// request was authenticated.
	// +optional
	ConfirmationWasAuthenticated *bool `json:"confirmationWasAuthenticated,omitempty"`
}

SubscriptionObservation represents the observed state of a AWS SNS Topic

func (*SubscriptionObservation) DeepCopy

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

func (*SubscriptionObservation) DeepCopyInto

func (in *SubscriptionObservation) DeepCopyInto(out *SubscriptionObservation)

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

type SubscriptionParameters

type SubscriptionParameters struct {
	// Region is the region you'd like your Subscription to be in.
	Region string `json:"region"`

	// TopicArn is the Arn of the SNS Topic
	// +immutable
	TopicARN string `json:"topicArn,omitempty"`

	// TopicArnRef references a SNS Topic and retrieves its TopicArn
	// +optional
	TopicARNRef *xpv1.Reference `json:"topicArnRef,omitempty"`

	// TopicArnSelector selects a reference to a SNS Topic and retrieves
	// its TopicArn
	// +optional
	TopicARNSelector *xpv1.Selector `json:"topicArnSelector,omitempty"`

	// The subscription's protocol.
	// +immutable
	Protocol string `json:"protocol"`

	// The subscription's endpoint
	// +immutable
	Endpoint string `json:"endpoint"`

	//  DeliveryPolicy defines how Amazon SNS retries failed
	//  deliveries to HTTP/S endpoints.
	// +optional
	DeliveryPolicy *string `json:"deliveryPolicy,omitempty"`

	//  The simple JSON object that lets your subscriber receive
	//  only a subset of messages, rather than receiving every message published
	//  to the topic.
	// +optional
	FilterPolicy *string `json:"filterPolicy,omitempty"`

	//  FilterPolicyScope can be MessageAttributes or MessageBody
	// +optional
	FilterPolicyScope *string `json:"filterPolicyScope,omitempty"`

	//  When set to true, enables raw message delivery
	//  to Amazon SQS or HTTP/S endpoints. This eliminates the need for the endpoints
	//  to process JSON formatting, which is otherwise created for Amazon SNS
	//  metadata.
	// +optional
	RawMessageDelivery *string `json:"rawMessageDelivery,omitempty"`

	//  When specified, sends undeliverable messages to the
	//  specified Amazon SQS dead-letter queue. Messages that can't be delivered
	//  due to client errors (for example, when the subscribed endpoint is unreachable)
	//  or server errors (for example, when the service that powers the subscribed
	//  endpoint becomes unavailable) are held in the dead-letter queue for further
	//  analysis or reprocessing.
	// +optional
	RedrivePolicy *string `json:"redrivePolicy,omitempty"`
}

SubscriptionParameters define the desired state of a AWS SNS Topic

func (*SubscriptionParameters) DeepCopy

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

func (*SubscriptionParameters) DeepCopyInto

func (in *SubscriptionParameters) DeepCopyInto(out *SubscriptionParameters)

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

type SubscriptionSpec

type SubscriptionSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       SubscriptionParameters `json:"forProvider"`
}

SubscriptionSpec defined the desired state of a AWS SNS Topic

func (*SubscriptionSpec) DeepCopy

func (in *SubscriptionSpec) DeepCopy() *SubscriptionSpec

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

func (*SubscriptionSpec) DeepCopyInto

func (in *SubscriptionSpec) DeepCopyInto(out *SubscriptionSpec)

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

type SubscriptionStatus

type SubscriptionStatus struct {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          SubscriptionObservation `json:"atProvider,omitempty"`
}

SubscriptionStatus is the status of AWS SNS Topic

func (*SubscriptionStatus) DeepCopy

func (in *SubscriptionStatus) DeepCopy() *SubscriptionStatus

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

func (*SubscriptionStatus) DeepCopyInto

func (in *SubscriptionStatus) DeepCopyInto(out *SubscriptionStatus)

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

type Tag

type Tag struct {

	// The key name that can be used to look up or retrieve the associated value.
	// For example, Department or Cost Center are common choices.
	Key string `json:"key"`

	// The value associated with this tag. For example, tags with a key name of
	// Department could have values such as Human Resources, Accounting, and Support.
	// Tags with a key name of Cost Center might have values that consist of the
	// number associated with the different cost centers in your company. Typically,
	// many resources have tags with the same key name but with different values.
	//
	// AWS always interprets the tag Value as a single string. If you need to store
	// an array, you can store comma-separated values in the string. However, you
	// must interpret the value in your code.
	// +optional
	Value *string `json:"value,omitempty"`
}

Tag represent a user-provided metadata that can be associated with a SNS Topic. For more information about tagging, see Tagging SNS Topics (https://docs.aws.amazon.com/sns/latest/dg/sns-tags.html) in the SNS User Guide.

func (*Tag) DeepCopy

func (in *Tag) DeepCopy() *Tag

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

func (*Tag) DeepCopyInto

func (in *Tag) DeepCopyInto(out *Tag)

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

type Topic

type Topic struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TopicSpec   `json:"spec"`
	Status TopicStatus `json:"status,omitempty"`
}

Topic defines a managed resource that represents state of a AWS Topic +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="TOPIC-NAME",type="string",JSONPath=".spec.forProvider.name" +kubebuilder:printcolumn:name="DISPLAY-NAME",type="string",JSONPath=".spec.forProvider.displayName" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,aws}

func (*Topic) DeepCopy

func (in *Topic) DeepCopy() *Topic

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

func (*Topic) DeepCopyInto

func (in *Topic) DeepCopyInto(out *Topic)

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

func (*Topic) DeepCopyObject

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

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

func (*Topic) GetCondition

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

GetCondition of this Topic.

func (*Topic) GetDeletionPolicy

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

GetDeletionPolicy of this Topic.

func (*Topic) GetManagementPolicies added in v0.43.0

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

GetManagementPolicies of this Topic.

func (*Topic) GetProviderConfigReference

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

GetProviderConfigReference of this Topic.

func (*Topic) GetPublishConnectionDetailsTo

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

GetPublishConnectionDetailsTo of this Topic.

func (*Topic) GetWriteConnectionSecretToReference

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

GetWriteConnectionSecretToReference of this Topic.

func (*Topic) SetConditions

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

SetConditions of this Topic.

func (*Topic) SetDeletionPolicy

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

SetDeletionPolicy of this Topic.

func (*Topic) SetManagementPolicies added in v0.43.0

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

SetManagementPolicies of this Topic.

func (*Topic) SetProviderConfigReference

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

SetProviderConfigReference of this Topic.

func (*Topic) SetPublishConnectionDetailsTo

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

SetPublishConnectionDetailsTo of this Topic.

func (*Topic) SetWriteConnectionSecretToReference

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

SetWriteConnectionSecretToReference of this Topic.

type TopicList

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

TopicList contains a list of Topic

func (*TopicList) DeepCopy

func (in *TopicList) DeepCopy() *TopicList

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

func (*TopicList) DeepCopyInto

func (in *TopicList) DeepCopyInto(out *TopicList)

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

func (*TopicList) DeepCopyObject

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

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

func (*TopicList) GetItems

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

GetItems of this TopicList.

type TopicObservation

type TopicObservation struct {

	// Owner refers to owner of SNS Topic
	// +optional
	Owner *string `json:"owner,omitempty"`
	// ConfirmedSubscriptions - The no of confirmed subscriptions
	// +optional
	ConfirmedSubscriptions *int64 `json:"confirmedSubscriptions,omitempty"`

	// PendingSubscriptions - The no of pending subscriptions
	// +optional
	PendingSubscriptions *int64 `json:"pendingSubscriptions,omitempty"`

	// DeletedSubscriptions - The no of deleted subscriptions
	// +optional
	DeletedSubscriptions *int64 `json:"deletedSubscriptions,omitempty"`

	// ARN is the Amazon Resource Name (ARN) specifying the SNS Topic.
	ARN string `json:"arn"`
}

TopicObservation represents the observed state of a AWS SNS Topic

func (*TopicObservation) DeepCopy

func (in *TopicObservation) DeepCopy() *TopicObservation

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

func (*TopicObservation) DeepCopyInto

func (in *TopicObservation) DeepCopyInto(out *TopicObservation)

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

type TopicParameters

type TopicParameters struct {
	// Region is the region you'd like your Topic to be created in.
	Region string `json:"region"`

	// Name refers to the name of the AWS SNS Topic
	// +immutable
	Name string `json:"name"`

	// The display name to use for a topic with SNS subscriptions.
	// +optional
	DisplayName *string `json:"displayName,omitempty"`

	// Setting this enables server side encryption at-rest to your topic.
	// The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK
	//
	// For more examples, see KeyId (https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters)
	// in the AWS Key Management Service API Reference.
	// +optional
	KMSMasterKeyID *string `json:"kmsMasterKeyId,omitempty"`

	// The policy that defines who can access your topic. By default,
	// only the topic owner can publish or subscribe to the topic.
	// +optional
	Policy *string `json:"policy,omitempty"`

	// DeliveryRetryPolicy - the JSON serialization of the effective
	// delivery policy, taking system defaults into account
	// +optional
	DeliveryPolicy *string `json:"deliveryPolicy,omitempty"`

	// Whether or not this should be a fifo-topic
	// +immutable
	// +optional
	FifoTopic *bool `json:"fifoTopic,omitempty"`

	// Tags represetnt a list of user-provided metadata that can be associated with a
	// SNS Topic. For more information about tagging,
	// see Tagging SNS Topics (https://docs.aws.amazon.com/sns/latest/dg/sns-tags.html)
	// in the SNS User Guide.
	// +immutable
	// +optional
	Tags []Tag `json:"tags,omitempty"`
}

TopicParameters define the desired state of a AWS SNS Topic

func (*TopicParameters) DeepCopy

func (in *TopicParameters) DeepCopy() *TopicParameters

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

func (*TopicParameters) DeepCopyInto

func (in *TopicParameters) DeepCopyInto(out *TopicParameters)

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

type TopicSpec

type TopicSpec struct {
	xpv1.ResourceSpec `json:",inline"`
	ForProvider       TopicParameters `json:"forProvider"`
}

TopicSpec defined the desired state of a AWS SNS Topic

func (*TopicSpec) DeepCopy

func (in *TopicSpec) DeepCopy() *TopicSpec

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

func (*TopicSpec) DeepCopyInto

func (in *TopicSpec) DeepCopyInto(out *TopicSpec)

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

type TopicStatus

type TopicStatus struct {
	xpv1.ResourceStatus `json:",inline"`
	AtProvider          TopicObservation `json:"atProvider,omitempty"`
}

TopicStatus is the status of AWS SNS Topic

func (*TopicStatus) DeepCopy

func (in *TopicStatus) DeepCopy() *TopicStatus

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

func (*TopicStatus) DeepCopyInto

func (in *TopicStatus) DeepCopyInto(out *TopicStatus)

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