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.
fetch_condition No description.
fetch_dependency No description.
fetch_resource_desc 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

fetch_condition

def fetch_condition() -> RosCondition

fetch_dependency

def fetch_dependency() -> typing.List[str]

fetch_resource_desc

def fetch_resource_desc() -> str

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.
env ros_cdk_core.IResourceEnvironment The environment this resource belongs to.
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 typing.Union[str, ros_cdk_core.IResolvable] Attribute ExchangeName: The name of the exchange.
props ExchangeProps No description.

nodeRequired

node: ConstructNode
  • Type: ros_cdk_core.ConstructNode

The construct tree node associated with this construct.


envRequired

env: IResourceEnvironment
  • Type: ros_cdk_core.IResourceEnvironment

The environment this resource belongs to.

For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.


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: typing.Union[str, IResolvable]
  • Type: typing.Union[str, ros_cdk_core.IResolvable]

Attribute ExchangeName: The name of the exchange.


propsRequired

props: ExchangeProps