Documentation
¶
Index ¶
- type LookupSubscriptionArgs
- type LookupSubscriptionOutputArgs
- type LookupSubscriptionResult
- type LookupSubscriptionResultOutput
- func (o LookupSubscriptionResultOutput) AckDeadlineSeconds() pulumi.IntOutput
- func (LookupSubscriptionResultOutput) ElementType() reflect.Type
- func (o LookupSubscriptionResultOutput) Name() pulumi.StringOutput
- func (o LookupSubscriptionResultOutput) PushConfig() PushConfigResponseOutput
- func (o LookupSubscriptionResultOutput) ToLookupSubscriptionResultOutput() LookupSubscriptionResultOutput
- func (o LookupSubscriptionResultOutput) ToLookupSubscriptionResultOutputWithContext(ctx context.Context) LookupSubscriptionResultOutput
- func (o LookupSubscriptionResultOutput) Topic() pulumi.StringOutput
- type LookupTopicArgs
- type LookupTopicOutputArgs
- type LookupTopicResult
- type LookupTopicResultOutput
- func (LookupTopicResultOutput) ElementType() reflect.Type
- func (o LookupTopicResultOutput) Name() pulumi.StringOutput
- func (o LookupTopicResultOutput) ToLookupTopicResultOutput() LookupTopicResultOutput
- func (o LookupTopicResultOutput) ToLookupTopicResultOutputWithContext(ctx context.Context) LookupTopicResultOutput
- type PushConfig
- type PushConfigArgs
- func (PushConfigArgs) ElementType() reflect.Type
- func (i PushConfigArgs) ToPushConfigOutput() PushConfigOutput
- func (i PushConfigArgs) ToPushConfigOutputWithContext(ctx context.Context) PushConfigOutput
- func (i PushConfigArgs) ToPushConfigPtrOutput() PushConfigPtrOutput
- func (i PushConfigArgs) ToPushConfigPtrOutputWithContext(ctx context.Context) PushConfigPtrOutput
- type PushConfigInput
- type PushConfigOutput
- func (PushConfigOutput) ElementType() reflect.Type
- func (o PushConfigOutput) PushEndpoint() pulumi.StringPtrOutput
- func (o PushConfigOutput) ToPushConfigOutput() PushConfigOutput
- func (o PushConfigOutput) ToPushConfigOutputWithContext(ctx context.Context) PushConfigOutput
- func (o PushConfigOutput) ToPushConfigPtrOutput() PushConfigPtrOutput
- func (o PushConfigOutput) ToPushConfigPtrOutputWithContext(ctx context.Context) PushConfigPtrOutput
- type PushConfigPtrInput
- type PushConfigPtrOutput
- func (o PushConfigPtrOutput) Elem() PushConfigOutput
- func (PushConfigPtrOutput) ElementType() reflect.Type
- func (o PushConfigPtrOutput) PushEndpoint() pulumi.StringPtrOutput
- func (o PushConfigPtrOutput) ToPushConfigPtrOutput() PushConfigPtrOutput
- func (o PushConfigPtrOutput) ToPushConfigPtrOutputWithContext(ctx context.Context) PushConfigPtrOutput
- type PushConfigResponse
- type PushConfigResponseOutput
- func (PushConfigResponseOutput) ElementType() reflect.Type
- func (o PushConfigResponseOutput) PushEndpoint() pulumi.StringOutput
- func (o PushConfigResponseOutput) ToPushConfigResponseOutput() PushConfigResponseOutput
- func (o PushConfigResponseOutput) ToPushConfigResponseOutputWithContext(ctx context.Context) PushConfigResponseOutput
- type Subscription
- type SubscriptionArgs
- type SubscriptionInput
- type SubscriptionOutput
- func (o SubscriptionOutput) AckDeadlineSeconds() pulumi.IntOutput
- func (SubscriptionOutput) ElementType() reflect.Type
- func (o SubscriptionOutput) Name() pulumi.StringOutput
- func (o SubscriptionOutput) PushConfig() PushConfigResponseOutput
- func (o SubscriptionOutput) ToSubscriptionOutput() SubscriptionOutput
- func (o SubscriptionOutput) ToSubscriptionOutputWithContext(ctx context.Context) SubscriptionOutput
- func (o SubscriptionOutput) Topic() pulumi.StringOutput
- type SubscriptionState
- type Topic
- type TopicArgs
- type TopicInput
- type TopicOutput
- type TopicState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LookupSubscriptionArgs ¶ added in v0.4.0
type LookupSubscriptionArgs struct {
SubscriptionId string `pulumi:"subscriptionId"`
}
type LookupSubscriptionOutputArgs ¶ added in v0.8.0
type LookupSubscriptionOutputArgs struct {
SubscriptionId pulumi.StringInput `pulumi:"subscriptionId"`
}
func (LookupSubscriptionOutputArgs) ElementType ¶ added in v0.8.0
func (LookupSubscriptionOutputArgs) ElementType() reflect.Type
type LookupSubscriptionResult ¶ added in v0.4.0
type LookupSubscriptionResult struct { // For either push or pull delivery, the value is the maximum time after a subscriber receives a message before the subscriber should acknowledge or Nack the message. If the Ack deadline for a message passes without an Ack or a Nack, the Pub/Sub system will eventually redeliver the message. If a subscriber acknowledges after the deadline, the Pub/Sub system may accept the Ack, but it is possible that the message has been already delivered again. Multiple Acks to the message are allowed and will succeed. For push delivery, this value is used to set the request timeout for the call to the push endpoint. For pull delivery, this value is used as the initial value for the Ack deadline. It may be overridden for each message using its corresponding ack_id with ModifyAckDeadline. While a message is outstanding (i.e. it has been delivered to a pull subscriber and the subscriber has not yet Acked or Nacked), the Pub/Sub system will not deliver that message to another pull subscriber (on a best-effort basis). AckDeadlineSeconds int `pulumi:"ackDeadlineSeconds"` // Name of the subscription. Name string `pulumi:"name"` // If push delivery is used with this subscription, this field is used to configure it. PushConfig PushConfigResponse `pulumi:"pushConfig"` // The name of the topic from which this subscription is receiving messages. Topic string `pulumi:"topic"` }
func LookupSubscription ¶ added in v0.4.0
func LookupSubscription(ctx *pulumi.Context, args *LookupSubscriptionArgs, opts ...pulumi.InvokeOption) (*LookupSubscriptionResult, error)
Gets the configuration details of a subscription.
type LookupSubscriptionResultOutput ¶ added in v0.8.0
type LookupSubscriptionResultOutput struct{ *pulumi.OutputState }
func LookupSubscriptionOutput ¶ added in v0.8.0
func LookupSubscriptionOutput(ctx *pulumi.Context, args LookupSubscriptionOutputArgs, opts ...pulumi.InvokeOption) LookupSubscriptionResultOutput
func (LookupSubscriptionResultOutput) AckDeadlineSeconds ¶ added in v0.8.0
func (o LookupSubscriptionResultOutput) AckDeadlineSeconds() pulumi.IntOutput
For either push or pull delivery, the value is the maximum time after a subscriber receives a message before the subscriber should acknowledge or Nack the message. If the Ack deadline for a message passes without an Ack or a Nack, the Pub/Sub system will eventually redeliver the message. If a subscriber acknowledges after the deadline, the Pub/Sub system may accept the Ack, but it is possible that the message has been already delivered again. Multiple Acks to the message are allowed and will succeed. For push delivery, this value is used to set the request timeout for the call to the push endpoint. For pull delivery, this value is used as the initial value for the Ack deadline. It may be overridden for each message using its corresponding ack_id with ModifyAckDeadline. While a message is outstanding (i.e. it has been delivered to a pull subscriber and the subscriber has not yet Acked or Nacked), the Pub/Sub system will not deliver that message to another pull subscriber (on a best-effort basis).
func (LookupSubscriptionResultOutput) ElementType ¶ added in v0.8.0
func (LookupSubscriptionResultOutput) ElementType() reflect.Type
func (LookupSubscriptionResultOutput) Name ¶ added in v0.8.0
func (o LookupSubscriptionResultOutput) Name() pulumi.StringOutput
Name of the subscription.
func (LookupSubscriptionResultOutput) PushConfig ¶ added in v0.8.0
func (o LookupSubscriptionResultOutput) PushConfig() PushConfigResponseOutput
If push delivery is used with this subscription, this field is used to configure it.
func (LookupSubscriptionResultOutput) ToLookupSubscriptionResultOutput ¶ added in v0.8.0
func (o LookupSubscriptionResultOutput) ToLookupSubscriptionResultOutput() LookupSubscriptionResultOutput
func (LookupSubscriptionResultOutput) ToLookupSubscriptionResultOutputWithContext ¶ added in v0.8.0
func (o LookupSubscriptionResultOutput) ToLookupSubscriptionResultOutputWithContext(ctx context.Context) LookupSubscriptionResultOutput
func (LookupSubscriptionResultOutput) Topic ¶ added in v0.8.0
func (o LookupSubscriptionResultOutput) Topic() pulumi.StringOutput
The name of the topic from which this subscription is receiving messages.
type LookupTopicArgs ¶ added in v0.4.0
type LookupTopicArgs struct {
TopicId string `pulumi:"topicId"`
}
type LookupTopicOutputArgs ¶ added in v0.8.0
type LookupTopicOutputArgs struct {
TopicId pulumi.StringInput `pulumi:"topicId"`
}
func (LookupTopicOutputArgs) ElementType ¶ added in v0.8.0
func (LookupTopicOutputArgs) ElementType() reflect.Type
type LookupTopicResult ¶ added in v0.4.0
type LookupTopicResult struct { // Name of the topic. Name string `pulumi:"name"` }
func LookupTopic ¶ added in v0.4.0
func LookupTopic(ctx *pulumi.Context, args *LookupTopicArgs, opts ...pulumi.InvokeOption) (*LookupTopicResult, error)
Gets the configuration of a topic. Since the topic only has the name attribute, this method is only useful to check the existence of a topic. If other attributes are added in the future, they will be returned here.
type LookupTopicResultOutput ¶ added in v0.8.0
type LookupTopicResultOutput struct{ *pulumi.OutputState }
func LookupTopicOutput ¶ added in v0.8.0
func LookupTopicOutput(ctx *pulumi.Context, args LookupTopicOutputArgs, opts ...pulumi.InvokeOption) LookupTopicResultOutput
func (LookupTopicResultOutput) ElementType ¶ added in v0.8.0
func (LookupTopicResultOutput) ElementType() reflect.Type
func (LookupTopicResultOutput) Name ¶ added in v0.8.0
func (o LookupTopicResultOutput) Name() pulumi.StringOutput
Name of the topic.
func (LookupTopicResultOutput) ToLookupTopicResultOutput ¶ added in v0.8.0
func (o LookupTopicResultOutput) ToLookupTopicResultOutput() LookupTopicResultOutput
func (LookupTopicResultOutput) ToLookupTopicResultOutputWithContext ¶ added in v0.8.0
func (o LookupTopicResultOutput) ToLookupTopicResultOutputWithContext(ctx context.Context) LookupTopicResultOutput
type PushConfig ¶
type PushConfig struct { // A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use "https://example.com/push". PushEndpoint *string `pulumi:"pushEndpoint"` }
Configuration for a push delivery endpoint.
type PushConfigArgs ¶
type PushConfigArgs struct { // A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use "https://example.com/push". PushEndpoint pulumi.StringPtrInput `pulumi:"pushEndpoint"` }
Configuration for a push delivery endpoint.
func (PushConfigArgs) ElementType ¶
func (PushConfigArgs) ElementType() reflect.Type
func (PushConfigArgs) ToPushConfigOutput ¶
func (i PushConfigArgs) ToPushConfigOutput() PushConfigOutput
func (PushConfigArgs) ToPushConfigOutputWithContext ¶
func (i PushConfigArgs) ToPushConfigOutputWithContext(ctx context.Context) PushConfigOutput
func (PushConfigArgs) ToPushConfigPtrOutput ¶
func (i PushConfigArgs) ToPushConfigPtrOutput() PushConfigPtrOutput
func (PushConfigArgs) ToPushConfigPtrOutputWithContext ¶
func (i PushConfigArgs) ToPushConfigPtrOutputWithContext(ctx context.Context) PushConfigPtrOutput
type PushConfigInput ¶
type PushConfigInput interface { pulumi.Input ToPushConfigOutput() PushConfigOutput ToPushConfigOutputWithContext(context.Context) PushConfigOutput }
PushConfigInput is an input type that accepts PushConfigArgs and PushConfigOutput values. You can construct a concrete instance of `PushConfigInput` via:
PushConfigArgs{...}
type PushConfigOutput ¶
type PushConfigOutput struct{ *pulumi.OutputState }
Configuration for a push delivery endpoint.
func (PushConfigOutput) ElementType ¶
func (PushConfigOutput) ElementType() reflect.Type
func (PushConfigOutput) PushEndpoint ¶
func (o PushConfigOutput) PushEndpoint() pulumi.StringPtrOutput
A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use "https://example.com/push".
func (PushConfigOutput) ToPushConfigOutput ¶
func (o PushConfigOutput) ToPushConfigOutput() PushConfigOutput
func (PushConfigOutput) ToPushConfigOutputWithContext ¶
func (o PushConfigOutput) ToPushConfigOutputWithContext(ctx context.Context) PushConfigOutput
func (PushConfigOutput) ToPushConfigPtrOutput ¶
func (o PushConfigOutput) ToPushConfigPtrOutput() PushConfigPtrOutput
func (PushConfigOutput) ToPushConfigPtrOutputWithContext ¶
func (o PushConfigOutput) ToPushConfigPtrOutputWithContext(ctx context.Context) PushConfigPtrOutput
type PushConfigPtrInput ¶
type PushConfigPtrInput interface { pulumi.Input ToPushConfigPtrOutput() PushConfigPtrOutput ToPushConfigPtrOutputWithContext(context.Context) PushConfigPtrOutput }
PushConfigPtrInput is an input type that accepts PushConfigArgs, PushConfigPtr and PushConfigPtrOutput values. You can construct a concrete instance of `PushConfigPtrInput` via:
PushConfigArgs{...} or: nil
func PushConfigPtr ¶
func PushConfigPtr(v *PushConfigArgs) PushConfigPtrInput
type PushConfigPtrOutput ¶
type PushConfigPtrOutput struct{ *pulumi.OutputState }
func (PushConfigPtrOutput) Elem ¶
func (o PushConfigPtrOutput) Elem() PushConfigOutput
func (PushConfigPtrOutput) ElementType ¶
func (PushConfigPtrOutput) ElementType() reflect.Type
func (PushConfigPtrOutput) PushEndpoint ¶
func (o PushConfigPtrOutput) PushEndpoint() pulumi.StringPtrOutput
A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use "https://example.com/push".
func (PushConfigPtrOutput) ToPushConfigPtrOutput ¶
func (o PushConfigPtrOutput) ToPushConfigPtrOutput() PushConfigPtrOutput
func (PushConfigPtrOutput) ToPushConfigPtrOutputWithContext ¶
func (o PushConfigPtrOutput) ToPushConfigPtrOutputWithContext(ctx context.Context) PushConfigPtrOutput
type PushConfigResponse ¶
type PushConfigResponse struct { // A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use "https://example.com/push". PushEndpoint string `pulumi:"pushEndpoint"` }
Configuration for a push delivery endpoint.
type PushConfigResponseOutput ¶
type PushConfigResponseOutput struct{ *pulumi.OutputState }
Configuration for a push delivery endpoint.
func (PushConfigResponseOutput) ElementType ¶
func (PushConfigResponseOutput) ElementType() reflect.Type
func (PushConfigResponseOutput) PushEndpoint ¶
func (o PushConfigResponseOutput) PushEndpoint() pulumi.StringOutput
A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use "https://example.com/push".
func (PushConfigResponseOutput) ToPushConfigResponseOutput ¶
func (o PushConfigResponseOutput) ToPushConfigResponseOutput() PushConfigResponseOutput
func (PushConfigResponseOutput) ToPushConfigResponseOutputWithContext ¶
func (o PushConfigResponseOutput) ToPushConfigResponseOutputWithContext(ctx context.Context) PushConfigResponseOutput
type Subscription ¶
type Subscription struct { pulumi.CustomResourceState // For either push or pull delivery, the value is the maximum time after a subscriber receives a message before the subscriber should acknowledge or Nack the message. If the Ack deadline for a message passes without an Ack or a Nack, the Pub/Sub system will eventually redeliver the message. If a subscriber acknowledges after the deadline, the Pub/Sub system may accept the Ack, but it is possible that the message has been already delivered again. Multiple Acks to the message are allowed and will succeed. For push delivery, this value is used to set the request timeout for the call to the push endpoint. For pull delivery, this value is used as the initial value for the Ack deadline. It may be overridden for each message using its corresponding ack_id with ModifyAckDeadline. While a message is outstanding (i.e. it has been delivered to a pull subscriber and the subscriber has not yet Acked or Nacked), the Pub/Sub system will not deliver that message to another pull subscriber (on a best-effort basis). AckDeadlineSeconds pulumi.IntOutput `pulumi:"ackDeadlineSeconds"` // Name of the subscription. Name pulumi.StringOutput `pulumi:"name"` // If push delivery is used with this subscription, this field is used to configure it. PushConfig PushConfigResponseOutput `pulumi:"pushConfig"` // The name of the topic from which this subscription is receiving messages. Topic pulumi.StringOutput `pulumi:"topic"` }
Creates a subscription on a given topic for a given subscriber. If the subscription already exists, returns ALREADY_EXISTS. If the corresponding topic doesn't exist, returns NOT_FOUND. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic.
func GetSubscription ¶
func GetSubscription(ctx *pulumi.Context, name string, id pulumi.IDInput, state *SubscriptionState, opts ...pulumi.ResourceOption) (*Subscription, error)
GetSubscription gets an existing Subscription resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewSubscription ¶
func NewSubscription(ctx *pulumi.Context, name string, args *SubscriptionArgs, opts ...pulumi.ResourceOption) (*Subscription, error)
NewSubscription registers a new resource with the given unique name, arguments, and options.
func (*Subscription) ElementType ¶
func (*Subscription) ElementType() reflect.Type
func (*Subscription) ToSubscriptionOutput ¶
func (i *Subscription) ToSubscriptionOutput() SubscriptionOutput
func (*Subscription) ToSubscriptionOutputWithContext ¶
func (i *Subscription) ToSubscriptionOutputWithContext(ctx context.Context) SubscriptionOutput
type SubscriptionArgs ¶
type SubscriptionArgs struct { // For either push or pull delivery, the value is the maximum time after a subscriber receives a message before the subscriber should acknowledge or Nack the message. If the Ack deadline for a message passes without an Ack or a Nack, the Pub/Sub system will eventually redeliver the message. If a subscriber acknowledges after the deadline, the Pub/Sub system may accept the Ack, but it is possible that the message has been already delivered again. Multiple Acks to the message are allowed and will succeed. For push delivery, this value is used to set the request timeout for the call to the push endpoint. For pull delivery, this value is used as the initial value for the Ack deadline. It may be overridden for each message using its corresponding ack_id with ModifyAckDeadline. While a message is outstanding (i.e. it has been delivered to a pull subscriber and the subscriber has not yet Acked or Nacked), the Pub/Sub system will not deliver that message to another pull subscriber (on a best-effort basis). AckDeadlineSeconds pulumi.IntPtrInput // Name of the subscription. Name pulumi.StringPtrInput // If push delivery is used with this subscription, this field is used to configure it. PushConfig PushConfigPtrInput // The name of the topic from which this subscription is receiving messages. Topic pulumi.StringPtrInput }
The set of arguments for constructing a Subscription resource.
func (SubscriptionArgs) ElementType ¶
func (SubscriptionArgs) ElementType() reflect.Type
type SubscriptionInput ¶
type SubscriptionInput interface { pulumi.Input ToSubscriptionOutput() SubscriptionOutput ToSubscriptionOutputWithContext(ctx context.Context) SubscriptionOutput }
type SubscriptionOutput ¶
type SubscriptionOutput struct{ *pulumi.OutputState }
func (SubscriptionOutput) AckDeadlineSeconds ¶ added in v0.19.0
func (o SubscriptionOutput) AckDeadlineSeconds() pulumi.IntOutput
For either push or pull delivery, the value is the maximum time after a subscriber receives a message before the subscriber should acknowledge or Nack the message. If the Ack deadline for a message passes without an Ack or a Nack, the Pub/Sub system will eventually redeliver the message. If a subscriber acknowledges after the deadline, the Pub/Sub system may accept the Ack, but it is possible that the message has been already delivered again. Multiple Acks to the message are allowed and will succeed. For push delivery, this value is used to set the request timeout for the call to the push endpoint. For pull delivery, this value is used as the initial value for the Ack deadline. It may be overridden for each message using its corresponding ack_id with ModifyAckDeadline. While a message is outstanding (i.e. it has been delivered to a pull subscriber and the subscriber has not yet Acked or Nacked), the Pub/Sub system will not deliver that message to another pull subscriber (on a best-effort basis).
func (SubscriptionOutput) ElementType ¶
func (SubscriptionOutput) ElementType() reflect.Type
func (SubscriptionOutput) Name ¶ added in v0.19.0
func (o SubscriptionOutput) Name() pulumi.StringOutput
Name of the subscription.
func (SubscriptionOutput) PushConfig ¶ added in v0.19.0
func (o SubscriptionOutput) PushConfig() PushConfigResponseOutput
If push delivery is used with this subscription, this field is used to configure it.
func (SubscriptionOutput) ToSubscriptionOutput ¶
func (o SubscriptionOutput) ToSubscriptionOutput() SubscriptionOutput
func (SubscriptionOutput) ToSubscriptionOutputWithContext ¶
func (o SubscriptionOutput) ToSubscriptionOutputWithContext(ctx context.Context) SubscriptionOutput
func (SubscriptionOutput) Topic ¶ added in v0.19.0
func (o SubscriptionOutput) Topic() pulumi.StringOutput
The name of the topic from which this subscription is receiving messages.
type SubscriptionState ¶
type SubscriptionState struct { }
func (SubscriptionState) ElementType ¶
func (SubscriptionState) ElementType() reflect.Type
type Topic ¶
type Topic struct { pulumi.CustomResourceState // Name of the topic. Name pulumi.StringOutput `pulumi:"name"` }
Creates the given topic with the given name.
func GetTopic ¶
func GetTopic(ctx *pulumi.Context, name string, id pulumi.IDInput, state *TopicState, opts ...pulumi.ResourceOption) (*Topic, error)
GetTopic gets an existing Topic resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).
func NewTopic ¶
func NewTopic(ctx *pulumi.Context, name string, args *TopicArgs, opts ...pulumi.ResourceOption) (*Topic, error)
NewTopic registers a new resource with the given unique name, arguments, and options.
func (*Topic) ElementType ¶
func (*Topic) ToTopicOutput ¶
func (i *Topic) ToTopicOutput() TopicOutput
func (*Topic) ToTopicOutputWithContext ¶
func (i *Topic) ToTopicOutputWithContext(ctx context.Context) TopicOutput
type TopicArgs ¶
type TopicArgs struct { // Name of the topic. Name pulumi.StringPtrInput }
The set of arguments for constructing a Topic resource.
func (TopicArgs) ElementType ¶
type TopicInput ¶
type TopicInput interface { pulumi.Input ToTopicOutput() TopicOutput ToTopicOutputWithContext(ctx context.Context) TopicOutput }
type TopicOutput ¶
type TopicOutput struct{ *pulumi.OutputState }
func (TopicOutput) ElementType ¶
func (TopicOutput) ElementType() reflect.Type
func (TopicOutput) Name ¶ added in v0.19.0
func (o TopicOutput) Name() pulumi.StringOutput
Name of the topic.
func (TopicOutput) ToTopicOutput ¶
func (o TopicOutput) ToTopicOutput() TopicOutput
func (TopicOutput) ToTopicOutputWithContext ¶
func (o TopicOutput) ToTopicOutputWithContext(ctx context.Context) TopicOutput
type TopicState ¶
type TopicState struct { }
func (TopicState) ElementType ¶
func (TopicState) ElementType() reflect.Type