All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.springwolf.bindings.sns.annotations.SnsAsyncOperationBindingIdentifier Maven / Gradle / Ivy

// SPDX-License-Identifier: Apache-2.0
package io.github.springwolf.bindings.sns.annotations;

import io.github.springwolf.asyncapi.v3.bindings.sns.SNSOperationBindingIdentifier;

import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @see SNSOperationBindingIdentifier
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.PARAMETER})
@Inherited
public @interface SnsAsyncOperationBindingIdentifier {
    /**
     * Optional. The endpoint is a URL
     */
    String url() default "";
    /**
     * Optional. The endpoint is an email address
     */
    String email() default "";
    /**
     * Optional. The endpoint is a phone number
     */
    String phone() default "";
    /**
     * 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}"
     */
    String arn() default "";
    /**
     * 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.
     */
    String name() default "";
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy