io.github.springwolf.asyncapi.v3.bindings.sns.SNSOperationBindingIdentifier Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of springwolf-asyncapi Show documentation
Show all versions of springwolf-asyncapi Show documentation
Springwolf implementation of the AsyncApi specification
// SPDX-License-Identifier: Apache-2.0
package io.github.springwolf.asyncapi.v3.bindings.sns;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
/**
* We provide an Identifer Object to support providing the identifier of an externally defined endpoint for this SNS
* publication to target, or an endpoint on another binding against this Operation Object (via the name field).
*
* @see SNS Operation Identifier
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode
public class SNSOperationBindingIdentifier {
/**
* Optional. The endpoint is a URL
*/
@JsonProperty("url")
private String url;
/**
* Optional. The endpoint is an email address
*/
@JsonProperty("email")
private String email;
/**
* Optional. The endpoint is a phone number
*/
@JsonProperty("phone")
private String phone;
/**
* Optional. The target is an ARN. For example, for SQS, the identifier may be an ARN, which will be of the form:
* "arn:aws:sqs:{region}:{account-id}:{queueName}"
*/
@JsonProperty("arn")
private String arn;
/**
* Optional. The endpoint is identified by a name, which corresponds to an identifying field called 'name' of a
* binding for that protocol on this publish Operation Object. For example, if the protocol is 'sqs' then the name
* refers to the name field sqs binding. We don't use $ref because we are referring, not including.
*/
@JsonProperty("name")
private String name;
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy