/**
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
*/
package com.microsoft.azure.management.servicebus.implementation;
import org.joda.time.DateTime;
import com.microsoft.azure.management.servicebus.MessageCountDetails;
import com.microsoft.azure.management.servicebus.EntityStatus;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.microsoft.rest.serializer.JsonFlatten;
import com.microsoft.azure.Resource;
/**
* Description of subscription resource.
*/
@JsonFlatten
public class SubscriptionInner extends Resource {
/**
* Last time there was a receive request to this subscription.
*/
@JsonProperty(value = "properties.accessedAt", access = JsonProperty.Access.WRITE_ONLY)
private DateTime accessedAt;
/**
* TimeSpan idle interval after which the topic is automatically deleted.
* The minimum duration is 5 minutes. The service accepts a C# Standard
* TimeSpan Format for loc duration
* https://msdn.microsoft.com/en-us/library/ee372286(v=vs.110).aspx. Format
* is 'DD.HH:MM:SS' and default value of this property is 10675199 days.
*/
@JsonProperty(value = "properties.autoDeleteOnIdle")
private String autoDeleteOnIdle;
/**
* The countDetails property.
*/
@JsonProperty(value = "properties.countDetails", access = JsonProperty.Access.WRITE_ONLY)
private MessageCountDetails countDetails;
/**
* Exact time the Subscription was created.
*/
@JsonProperty(value = "properties.createdAt", access = JsonProperty.Access.WRITE_ONLY)
private DateTime createdAt;
/**
* Default message time to live value. This is the duration after which the
* message expires, starting from when the message is sent to Service Bus.
* This is the default value used when TimeToLive is not set on a message
* itself. The service accepts a C# Standard TimeSpan Format for loc
* duration
* https://msdn.microsoft.com/en-us/library/ee372286(v=vs.110).aspx .
* Format is 'DD.HH:MM:SS' and default value of this property is 10675199
* days.
*/
@JsonProperty(value = "properties.defaultMessageTimeToLive")
private String defaultMessageTimeToLive;
/**
* Value that indicates whether a subscription has dead letter support on
* filter evaluation exceptions.
*/
@JsonProperty(value = "properties.deadLetteringOnFilterEvaluationExceptions")
private Boolean deadLetteringOnFilterEvaluationExceptions;
/**
* Value that indicates whether a subscription has dead letter support when
* a message expires.
*/
@JsonProperty(value = "properties.deadLetteringOnMessageExpiration")
private Boolean deadLetteringOnMessageExpiration;
/**
* Value that indicates whether server-side batched operations are enabled.
*/
@JsonProperty(value = "properties.enableBatchedOperations")
private Boolean enableBatchedOperations;
/**
* The lock duration time span for the subscription. The service accepts a
* C# Standard TimeSpan Format for loc duration
* https://msdn.microsoft.com/en-us/library/ee372286(v=vs.110).aspx.
*/
@JsonProperty(value = "properties.lockDuration")
private String lockDuration;
/**
* Number of maximum deliveries.
*/
@JsonProperty(value = "properties.maxDeliveryCount")
private Integer maxDeliveryCount;
/**
* Number of messages.
*/
@JsonProperty(value = "properties.messageCount", access = JsonProperty.Access.WRITE_ONLY)
private Long messageCount;
/**
* Value indicating if a subscription supports the concept of sessions.
*/
@JsonProperty(value = "properties.requiresSession")
private Boolean requiresSession;
/**
* Enumerates the possible values for the status of a messaging entity.
* Possible values include: 'Active', 'Creating', 'Deleting', 'Disabled',
* 'ReceiveDisabled', 'Renaming', 'Restoring', 'SendDisabled', 'Unknown'.
*/
@JsonProperty(value = "properties.status")
private EntityStatus status;
/**
* The exact time the subscription was updated.
*/
@JsonProperty(value = "properties.updatedAt", access = JsonProperty.Access.WRITE_ONLY)
private DateTime updatedAt;
/**
* Get the accessedAt value.
*
* @return the accessedAt value
*/
public DateTime accessedAt() {
return this.accessedAt;
}
/**
* Get the autoDeleteOnIdle value.
*
* @return the autoDeleteOnIdle value
*/
public String autoDeleteOnIdle() {
return this.autoDeleteOnIdle;
}
/**
* Set the autoDeleteOnIdle value.
*
* @param autoDeleteOnIdle the autoDeleteOnIdle value to set
* @return the SubscriptionInner object itself.
*/
public SubscriptionInner withAutoDeleteOnIdle(String autoDeleteOnIdle) {
this.autoDeleteOnIdle = autoDeleteOnIdle;
return this;
}
/**
* Get the countDetails value.
*
* @return the countDetails value
*/
public MessageCountDetails countDetails() {
return this.countDetails;
}
/**
* Get the createdAt value.
*
* @return the createdAt value
*/
public DateTime createdAt() {
return this.createdAt;
}
/**
* Get the defaultMessageTimeToLive value.
*
* @return the defaultMessageTimeToLive value
*/
public String defaultMessageTimeToLive() {
return this.defaultMessageTimeToLive;
}
/**
* Set the defaultMessageTimeToLive value.
*
* @param defaultMessageTimeToLive the defaultMessageTimeToLive value to set
* @return the SubscriptionInner object itself.
*/
public SubscriptionInner withDefaultMessageTimeToLive(String defaultMessageTimeToLive) {
this.defaultMessageTimeToLive = defaultMessageTimeToLive;
return this;
}
/**
* Get the deadLetteringOnFilterEvaluationExceptions value.
*
* @return the deadLetteringOnFilterEvaluationExceptions value
*/
public Boolean deadLetteringOnFilterEvaluationExceptions() {
return this.deadLetteringOnFilterEvaluationExceptions;
}
/**
* Set the deadLetteringOnFilterEvaluationExceptions value.
*
* @param deadLetteringOnFilterEvaluationExceptions the deadLetteringOnFilterEvaluationExceptions value to set
* @return the SubscriptionInner object itself.
*/
public SubscriptionInner withDeadLetteringOnFilterEvaluationExceptions(Boolean deadLetteringOnFilterEvaluationExceptions) {
this.deadLetteringOnFilterEvaluationExceptions = deadLetteringOnFilterEvaluationExceptions;
return this;
}
/**
* Get the deadLetteringOnMessageExpiration value.
*
* @return the deadLetteringOnMessageExpiration value
*/
public Boolean deadLetteringOnMessageExpiration() {
return this.deadLetteringOnMessageExpiration;
}
/**
* Set the deadLetteringOnMessageExpiration value.
*
* @param deadLetteringOnMessageExpiration the deadLetteringOnMessageExpiration value to set
* @return the SubscriptionInner object itself.
*/
public SubscriptionInner withDeadLetteringOnMessageExpiration(Boolean deadLetteringOnMessageExpiration) {
this.deadLetteringOnMessageExpiration = deadLetteringOnMessageExpiration;
return this;
}
/**
* Get the enableBatchedOperations value.
*
* @return the enableBatchedOperations value
*/
public Boolean enableBatchedOperations() {
return this.enableBatchedOperations;
}
/**
* Set the enableBatchedOperations value.
*
* @param enableBatchedOperations the enableBatchedOperations value to set
* @return the SubscriptionInner object itself.
*/
public SubscriptionInner withEnableBatchedOperations(Boolean enableBatchedOperations) {
this.enableBatchedOperations = enableBatchedOperations;
return this;
}
/**
* Get the lockDuration value.
*
* @return the lockDuration value
*/
public String lockDuration() {
return this.lockDuration;
}
/**
* Set the lockDuration value.
*
* @param lockDuration the lockDuration value to set
* @return the SubscriptionInner object itself.
*/
public SubscriptionInner withLockDuration(String lockDuration) {
this.lockDuration = lockDuration;
return this;
}
/**
* Get the maxDeliveryCount value.
*
* @return the maxDeliveryCount value
*/
public Integer maxDeliveryCount() {
return this.maxDeliveryCount;
}
/**
* Set the maxDeliveryCount value.
*
* @param maxDeliveryCount the maxDeliveryCount value to set
* @return the SubscriptionInner object itself.
*/
public SubscriptionInner withMaxDeliveryCount(Integer maxDeliveryCount) {
this.maxDeliveryCount = maxDeliveryCount;
return this;
}
/**
* Get the messageCount value.
*
* @return the messageCount value
*/
public Long messageCount() {
return this.messageCount;
}
/**
* Get the requiresSession value.
*
* @return the requiresSession value
*/
public Boolean requiresSession() {
return this.requiresSession;
}
/**
* Set the requiresSession value.
*
* @param requiresSession the requiresSession value to set
* @return the SubscriptionInner object itself.
*/
public SubscriptionInner withRequiresSession(Boolean requiresSession) {
this.requiresSession = requiresSession;
return this;
}
/**
* Get the status value.
*
* @return the status value
*/
public EntityStatus status() {
return this.status;
}
/**
* Set the status value.
*
* @param status the status value to set
* @return the SubscriptionInner object itself.
*/
public SubscriptionInner withStatus(EntityStatus status) {
this.status = status;
return this;
}
/**
* Get the updatedAt value.
*
* @return the updatedAt value
*/
public DateTime updatedAt() {
return this.updatedAt;
}
}