Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simple Notification Service support #175

Closed
infinitecompute opened this issue Mar 26, 2020 · 1 comment · Fixed by #244
Closed

Simple Notification Service support #175

infinitecompute opened this issue Mar 26, 2020 · 1 comment · Fixed by #244

Comments

@infinitecompute
Copy link

What problem are you facing?

SNS support

How could Crossplane help solve your problem?

Add SNS managed resource

References

@infinitecompute infinitecompute changed the title SImple Notification Service support Simple Notification Service support Apr 7, 2020
@rajalokan
Copy link

I've started working on this. Details of my implementation is below:

TOC

  • API Type Design
  • Working Resource Example
  • Complete Resource Example (with items which needs clarification)
  • Questions

API Type Design.

This group will contain Two API Types

  1. SNSTopic
  2. SNSSubscription

Working Resource Example

SNSTopic

---
apiVersion: notification.aws.crossplane.io/v1alpha1
kind: SNSTopic
metadata:
  name: random-topic
spec:
  reclaimPolicy: Delete
  providerRef:
    name: aws-provider
  forProvider:
    name: topic
    displayName: topic
    tags:
    - key: name
      value: alok

SNSSubscription

---
apiVersion: notification.aws.crossplane.io/v1alpha1
kind: SNSSubscription
metadata:
  name: sub01
spec:
  reclaimPolicy: Delete
  providerRef:
    name: aws-provider
  forProvider:
    protocol: email
    endpoint: xyz@abc.com
    rawMessageDelivery: true
    topicArnRef:
      name: topic

Proposed Complete Resource Example (with values which needs clarification)

SNSTopic

  ---
  apiVersion: notification.aws.crossplane.io/v1alpha1
  kind: SNSTopic
  metadata:
    name: random-topic
  spec:
    reclaimPolicy: Delete
    providerRef:
      name: aws-provider
    forProvider:
      name: topic
      displayName: topic
      # a custom CMK or enter an existing CMK ARN.
      cmkArn: alias/aws/sns
      deliveryRetryPolicy:
        numberOfRetries: 3
        retriesWithoutDelay: 0
        minimumDelay: 20
        minimumDelayRetries: 0
        maximumDelayRetries: 0
        maximumReceiveRate: 1
        # The rate at which the delay increases from minimum to maximum.
        # Can be one of Linear, Arithmetic, Geometric, Exponential
        backOffFunction: linear
        disableSubscriptionOverrides: false
      tags:
      - key: name
        value: alok

SNSSubscription

---
apiVersion: notification.aws.crossplane.io/v1alpha1
kind: SNSSubscription
metadata:
  name: sub01
spec:
  reclaimPolicy: Delete
  providerRef:
    name: aws-provider
  forProvider:
    protocol: email
    endpoint: xyz@abc.com
    rawMessageDelivery: true
    topicArnRef:
      name: topic
    deliveryPolicyRef:
      name: delivery-policy
    filterPolicyRef:
      name: filter-policy
    redrivePolicy:
      sqsArn: some-sqa-arn

Questions/Clarifications

  • Should I place services under notifications group or do you suggest any other group?
  • Should the name be SNSTopic or Topic?
  • For Topic managed resource, should we manage all policy fields under custom struct or we just take an existing policy ref

@negz negz closed this as completed in #244 Jul 3, 2020
tektondeploy pushed a commit to gtn3010/provider-aws that referenced this issue Mar 12, 2024
…aling

Configure appsync group and add examples
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants