class Azure::MobileEngagement::Mgmt::V2014_12_01::Models::CampaignAudience

Specify which users will be targeted by this campaign. By default, all users will be targeted. If you set `pushMode` property to `manual`, the only thing you can specify in the audience is the push quota filter. An audience is a boolean expression made of criteria (variables) operators (`not`, `and` or `or`) and parenthesis. Additionally, a set of filters can be added to an audience. 65535 bytes max as per JSON encoding.

Attributes

criteria[RW]

@return [Hash{String => Criterion}] Criteria by name.

expression[RW]

@return [String] Boolean expression made of criteria (variables) operators (`not`, `and` or `or`) and parenthesis. Criterion names in the audience expression must start with a capital letter and can only contain alphanumeric (A-Z,a-z,0-9) and underscore (_) characters.

filters[RW]

@return [Array<Filter>] Global filters applied to all devices.

Private Class Methods

mapper() click to toggle source

Mapper for CampaignAudience class as Ruby Hash. This will be used for serialization/deserialization.

# File lib/2014-12-01/generated/azure_mgmt_mobile_engagement/models/campaign_audience.rb, line 39
def self.mapper()
  {
    client_side_validation: true,
    required: false,
    serialized_name: 'Campaign_audience',
    type: {
      name: 'Composite',
      class_name: 'CampaignAudience',
      model_properties: {
        expression: {
          client_side_validation: true,
          required: false,
          serialized_name: 'expression',
          type: {
            name: 'String'
          }
        },
        criteria: {
          client_side_validation: true,
          required: false,
          serialized_name: 'criteria',
          type: {
            name: 'Dictionary',
            value: {
                client_side_validation: true,
                required: false,
                serialized_name: 'CriterionElementType',
                type: {
                  name: 'Composite',
                  polymorphic_discriminator: 'type',
                  uber_parent: 'Criterion',
                  class_name: 'Criterion'
                }
            }
          }
        },
        filters: {
          client_side_validation: true,
          required: false,
          serialized_name: 'filters',
          type: {
            name: 'Sequence',
            element: {
                client_side_validation: true,
                required: false,
                serialized_name: 'FilterElementType',
                type: {
                  name: 'Composite',
                  polymorphic_discriminator: 'type',
                  uber_parent: 'Filter',
                  class_name: 'Filter'
                }
            }
          }
        }
      }
    }
  }
end