Skip to content

Exchange

This class encapsulates and extends the ROS resource type ALIYUN::AMQP::Exchange, which is used to create an exchange.

Initializers

import ros_cdk_amqp
ros_cdk_amqp.Exchange(
  scope: Construct,
  id: str,
  auto_delete_state: typing.Union[bool, IResolvable],
  exchange_name: typing.Union[str, IResolvable],
  exchange_type: typing.Union[str, IResolvable],
  instance_id: typing.Union[str, IResolvable],
  internal: typing.Union[bool, IResolvable],
  virtual_host: typing.Union[str, IResolvable],
  alternate_exchange: typing.Union[str, IResolvable] = None,
  x_delayed_type: typing.Union[str, IResolvable] = None,
  enable_resource_property_constraint: bool = None
)
Name Type Description
scope ros_cdk_core.Construct No description.
id str No description.
auto_delete_state typing.Union[bool, ros_cdk_core.IResolvable] Property autoDeleteState: Specifies whether the Auto Delete attribute is configured.
exchange_name typing.Union[str, ros_cdk_core.IResolvable] Property exchangeName: The name of the exchange.
exchange_type typing.Union[str, ros_cdk_core.IResolvable] Property exchangeType: The type of the exchange.
instance_id typing.Union[str, ros_cdk_core.IResolvable] Property instanceId: InstanceId.
internal typing.Union[bool, ros_cdk_core.IResolvable] Property internal: Specifies whether an exchange is an internal exchange.
virtual_host typing.Union[str, ros_cdk_core.IResolvable] Property virtualHost: The name of the virtual host.
alternate_exchange typing.Union[str, ros_cdk_core.IResolvable] Property alternateExchange: The alternate exchange.
x_delayed_type typing.Union[str, ros_cdk_core.IResolvable] Property xDelayedType: Exchanges of the x-delay-Message type allow you to customize the Header property of the message, and the x-delay specifies the amount of time in milliseconds for the message to be delivered.
enable_resource_property_constraint bool No description.

scopeRequired

  • Type: ros_cdk_core.Construct

idRequired

  • Type: str

auto_delete_stateRequired

  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property autoDeleteState: Specifies whether the Auto Delete attribute is configured.

Valid values: true: The Auto Delete attribute is configured. If the last queue that is bound to an exchange is unbound, the exchange is automatically deleted. false: The Auto Delete attribute is not configured. If the last queue that is bound to an exchange is unbound, the exchange is not automatically deleted.


exchange_nameRequired

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property exchangeName: The name of the exchange.


exchange_typeRequired

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property exchangeType: The type of the exchange.

Valid values: FANOUT: An exchange of this type routes all the received messages to all the queues bound to this exchange. You can use a fanout exchange to broadcast messages. DIRECT: An exchange of this type routes a message to the queue whose binding key is exactly the same as the routing key of the message. TOPIC: This type is similar to the direct exchange type. An exchange of this type routes a message to one or more queues based on the fuzzy match or multi-condition match result between the routing key of the message and the binding keys of the current exchange. HEADERS: Headers Exchange uses the Headers property instead of Routing Key for routing matching. When binding Headers Exchange and Queue, set the key-value pair of the binding property; when sending a message to the Headers Exchange, set the message's Headers property key-value pair and use the message Headers The message is routed to the bound Queue by comparing the attribute key-value pair and the bound attribute key-value pair.


instance_idRequired

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property instanceId: InstanceId.


internalRequired

  • Type: typing.Union[bool, ros_cdk_core.IResolvable]

Property internal: Specifies whether an exchange is an internal exchange.

Valid values: false: The exchange is not an internal exchange. true: The exchange is an internal exchange.


virtual_hostRequired

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property virtualHost: The name of the virtual host.


alternate_exchangeOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property alternateExchange: The alternate exchange.

An alternate exchange is configured for an existing exchange. It is used to receive messages that fail to be routed to queues from the existing exchange.


x_delayed_typeOptional

  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Property xDelayedType: Exchanges of the x-delay-Message type allow you to customize the Header property of the message, and the x-delay specifies the amount of time in milliseconds for the message to be delivered.

The routing rules for this class of exchanges depend on the Exchange type specified in the x-delay-type parameter, which specifies the actual Exchange type to which the delayed message will eventually be delivered. Valid values:

  • DIRECT: Delivers deferred messages to a specified queue bound to an Exchange of type DIRECT.
  • TOPIC: Delivers deferred messages to the queue bound to the Exchange type TOPIC.

  • FANOUT: Delivers deferred messages to a queue bound to an Exchange of type FANOUT.

  • HEADERS: Deferred messages are delivered to the queue bound to the Exchange HEADERS type.

  • X-JMS-TOPIC: Delivers deferred messages to the queue bound to X-JMS-TOPIC.


enable_resource_property_constraintOptional

  • Type: bool

Methods

Name Description
to_string Returns a string representation of this construct.
synthesize Allows this construct to emit artifacts into the cloud assembly during synthesis.
add_condition No description.
add_count No description.
add_dependency No description.
add_resource_desc No description.
apply_removal_policy No description.
get_att No description.
set_metadata No description.

to_string

def to_string() -> str

Returns a string representation of this construct.

synthesize

def synthesize(
  session: ISynthesisSession
) -> None

Allows this construct to emit artifacts into the cloud assembly during synthesis.

This method is usually implemented by framework-level constructs such as Stack and Asset as they participate in synthesizing the cloud assembly.

sessionRequired

  • Type: ros_cdk_core.ISynthesisSession

The synthesis session.


add_condition

def add_condition(
  condition: RosCondition
) -> None

conditionRequired

  • Type: ros_cdk_core.RosCondition

add_count

def add_count(
  count: typing.Union[typing.Union[int, float], IResolvable]
) -> None

countRequired

  • Type: typing.Union[typing.Union[int, float], ros_cdk_core.IResolvable]

add_dependency

def add_dependency(
  resource: Resource
) -> None

resourceRequired

  • Type: ros_cdk_core.Resource

add_resource_desc

def add_resource_desc(
  desc: str
) -> None

descRequired

  • Type: str

apply_removal_policy

def apply_removal_policy(
  policy: RemovalPolicy
) -> None

policyRequired

  • Type: ros_cdk_core.RemovalPolicy

get_att

def get_att(
  name: str
) -> IResolvable

nameRequired

  • Type: str

set_metadata

def set_metadata(
  key: str,
  value: typing.Any
) -> None

keyRequired

  • Type: str

valueRequired

  • Type: typing.Any

Static Functions

Name Description
is_construct Return whether the given object is a Construct.

is_construct

import ros_cdk_amqp
ros_cdk_amqp.Exchange.is_construct(
  x: typing.Any
)

Return whether the given object is a Construct.

xRequired

  • Type: typing.Any

Properties

Name Type Description
node ros_cdk_core.ConstructNode The construct tree node associated with this construct.
ref str No description.
stack ros_cdk_core.Stack The stack in which this resource is defined.
resource ros_cdk_core.RosResource No description.
attr_exchange_name ros_cdk_core.IResolvable Attribute ExchangeName: The name of the exchange.

nodeRequired

node: ConstructNode
  • Type: ros_cdk_core.ConstructNode

The construct tree node associated with this construct.


refRequired

ref: str
  • Type: str

stackRequired

stack: Stack
  • Type: ros_cdk_core.Stack

The stack in which this resource is defined.


resourceOptional

resource: RosResource
  • Type: ros_cdk_core.RosResource

attr_exchange_nameRequired

attr_exchange_name: IResolvable
  • Type: ros_cdk_core.IResolvable

Attribute ExchangeName: The name of the exchange.