Class: Azure::ApiManagement::Mgmt::V2019_12_01::Models::ProductContract

Inherits:
Resource
  • Object
show all
Includes:
MsRestAzure
Defined in:
lib/2019-12-01/generated/azure_mgmt_api_management/models/product_contract.rb

Overview

Product details.

Instance Attribute Summary collapse

Attributes inherited from Resource

#id, #name, #type

Class Method Summary collapse

Methods inherited from Resource

#resource_group

Instance Attribute Details

#approval_requiredBoolean

new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false.

Returns:

  • (Boolean)

    whether subscription approval is required. If false,



38
39
40
# File 'lib/2019-12-01/generated/azure_mgmt_api_management/models/product_contract.rb', line 38

def approval_required
  @approval_required
end

#descriptionString

Returns Product description. May include HTML formatting tags.

Returns:

  • (String)

    Product description. May include HTML formatting tags.



16
17
18
# File 'lib/2019-12-01/generated/azure_mgmt_api_management/models/product_contract.rb', line 16

def description
  @description
end

#display_nameString

Returns Product name.

Returns:

  • (String)

    Product name.



53
54
55
# File 'lib/2019-12-01/generated/azure_mgmt_api_management/models/product_contract.rb', line 53

def display_name
  @display_name
end

#stateProductState

products are discoverable by users of developer portal. Non published products are visible only to administrators. Default state of Product is notPublished. Possible values include: ‘notPublished’, ‘published’

Returns:

  • (ProductState)

    whether product is published or not. Published



50
51
52
# File 'lib/2019-12-01/generated/azure_mgmt_api_management/models/product_contract.rb', line 50

def state
  @state
end

#subscription_requiredBoolean

accessing APIs included in this product. If true, the product is referred to as “protected” and a valid subscription key is required for a request to an API included in the product to succeed. If false, the product is referred to as “open” and requests to an API included in the product can be made without a subscription key. If property is omitted when creating a new product it’s value is assumed to be true.

Returns:

  • (Boolean)

    Whether a product subscription is required for



30
31
32
# File 'lib/2019-12-01/generated/azure_mgmt_api_management/models/product_contract.rb', line 30

def subscription_required
  @subscription_required
end

#subscriptions_limitInteger

to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false.

Returns:

  • (Integer)

    Whether the number of subscriptions a user can have



44
45
46
# File 'lib/2019-12-01/generated/azure_mgmt_api_management/models/product_contract.rb', line 44

def subscriptions_limit
  @subscriptions_limit
end

#termsString

to the product will be presented and required to accept these terms before they can complete the subscription process.

Returns:

  • (String)

    Product terms of use. Developers trying to subscribe



21
22
23
# File 'lib/2019-12-01/generated/azure_mgmt_api_management/models/product_contract.rb', line 21

def terms
  @terms
end

Class Method Details

.mapperObject

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



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
# File 'lib/2019-12-01/generated/azure_mgmt_api_management/models/product_contract.rb', line 60

def self.mapper()
  {
    client_side_validation: true,
    required: false,
    serialized_name: 'ProductContract',
    type: {
      name: 'Composite',
      class_name: 'ProductContract',
      model_properties: {
        id: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'id',
          type: {
            name: 'String'
          }
        },
        name: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'name',
          type: {
            name: 'String'
          }
        },
        type: {
          client_side_validation: true,
          required: false,
          read_only: true,
          serialized_name: 'type',
          type: {
            name: 'String'
          }
        },
        description: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.description',
          constraints: {
            MaxLength: 1000,
            MinLength: 1
          },
          type: {
            name: 'String'
          }
        },
        terms: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.terms',
          type: {
            name: 'String'
          }
        },
        subscription_required: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.subscriptionRequired',
          type: {
            name: 'Boolean'
          }
        },
        approval_required: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.approvalRequired',
          type: {
            name: 'Boolean'
          }
        },
        subscriptions_limit: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.subscriptionsLimit',
          type: {
            name: 'Number'
          }
        },
        state: {
          client_side_validation: true,
          required: false,
          serialized_name: 'properties.state',
          type: {
            name: 'Enum',
            module: 'ProductState'
          }
        },
        display_name: {
          client_side_validation: true,
          required: true,
          serialized_name: 'properties.displayName',
          constraints: {
            MaxLength: 300,
            MinLength: 1
          },
          type: {
            name: 'String'
          }
        }
      }
    }
  }
end