mandrill-api 1.0.44 → 1.0.45

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -66,7 +66,13 @@ module Mandrill
66
66
  'Invalid_Template' => InvalidTemplateError,
67
67
  'Unknown_Webhook' => UnknownWebhookError,
68
68
  'Unknown_InboundDomain' => UnknownInboundDomainError,
69
- 'Unknown_Export' => UnknownExportError
69
+ 'Unknown_Export' => UnknownExportError,
70
+ 'IP_ProvisionLimit' => IPProvisionLimitError,
71
+ 'Unknown_Pool' => UnknownPoolError,
72
+ 'Unknown_IP' => UnknownIPError,
73
+ 'Invalid_EmptyDefaultPool' => InvalidEmptyDefaultPoolError,
74
+ 'Invalid_DeleteDefaultPool' => InvalidDeleteDefaultPoolError,
75
+ 'Invalid_DeleteNonEmptyPool' => InvalidDeleteNonEmptyPoolError
70
76
  }
71
77
 
72
78
  begin
@@ -108,6 +114,9 @@ module Mandrill
108
114
  def whitelists()
109
115
  Whitelists.new self
110
116
  end
117
+ def ips()
118
+ Ips.new self
119
+ end
111
120
  def internal()
112
121
  Internal.new self
113
122
  end
@@ -1064,6 +1064,218 @@ module Mandrill
1064
1064
  return @master.call 'whitelists/delete', _params
1065
1065
  end
1066
1066
 
1067
+ end
1068
+ class Ips
1069
+ attr_accessor :master
1070
+
1071
+ def initialize(master)
1072
+ @master = master
1073
+ end
1074
+
1075
+ # Lists your dedicated IPs.
1076
+ # @return [Array] an array of structs for each dedicated IP
1077
+ # - [Hash] return[] information about a single dedicated IP
1078
+ # - [String] ip the ip address
1079
+ # - [String] created_at the date and time that the dedicated IP was created as a UTC string in YYYY-MM-DD HH:MM:SS format
1080
+ # - [String] pool the name of the pool that this dedicated IP belongs to
1081
+ # - [String] domain the domain name (reverse dns) of this dedicated IP
1082
+ # - [Hash] custom_dns information about the ip's custom dns, if it has been configured
1083
+ # - [Boolean] enabled a boolean indicating whether custom dns has been configured for this ip
1084
+ # - [Boolean] valid whether the ip's custom dns is currently valid
1085
+ # - [String] error if the ip's custom dns is invalid, this will include details about the error
1086
+ # - [Hash] warmup information about the ip's warmup status
1087
+ # - [Boolean] warming_up whether the ip is currently in warmup mode
1088
+ # - [String] start_at the start time for the warmup process as a UTC string in YYYY-MM-DD HH:MM:SS format
1089
+ # - [String] end_at the end date and time for the warmup process as a UTC string in YYYY-MM-DD HH:MM:SS format
1090
+ def list()
1091
+ _params = {}
1092
+ return @master.call 'ips/list', _params
1093
+ end
1094
+
1095
+ # Retrieves information about a single dedicated ip.
1096
+ # @param [String] ip a dedicated IP address
1097
+ # @return [Hash] Information about the dedicated ip
1098
+ # - [String] ip the ip address
1099
+ # - [String] created_at the date and time that the dedicated IP was created as a UTC string in YYYY-MM-DD HH:MM:SS format
1100
+ # - [String] pool the name of the pool that this dedicated IP belongs to
1101
+ # - [String] domain the domain name (reverse dns) of this dedicated IP
1102
+ # - [Hash] custom_dns information about the ip's custom dns, if it has been configured
1103
+ # - [Boolean] enabled a boolean indicating whether custom dns has been configured for this ip
1104
+ # - [Boolean] valid whether the ip's custom dns is currently valid
1105
+ # - [String] error if the ip's custom dns is invalid, this will include details about the error
1106
+ # - [Hash] warmup information about the ip's warmup status
1107
+ # - [Boolean] warming_up whether the ip is currently in warmup mode
1108
+ # - [String] start_at the start time for the warmup process as a UTC string in YYYY-MM-DD HH:MM:SS format
1109
+ # - [String] end_at the end date and time for the warmup process as a UTC string in YYYY-MM-DD HH:MM:SS format
1110
+ def info(ip)
1111
+ _params = {:ip => ip}
1112
+ return @master.call 'ips/info', _params
1113
+ end
1114
+
1115
+ # Requests an additional dedicated IP for your account. Accounts may have one outstanding request at any time, and provisioning requests are processed within 24 hours.
1116
+ # @param [Boolean] warmup whether to enable warmup mode for the ip
1117
+ # @param [String] pool the id of the pool to add the dedicated ip to, or null to use your account's default pool
1118
+ # @return [Hash] a description of the provisioning request that was created
1119
+ # - [String] requested_at the date and time that the request was created as a UTC timestamp in YYYY-MM-DD HH:MM:SS format
1120
+ def provision(warmup=false, pool=nil)
1121
+ _params = {:warmup => warmup, :pool => pool}
1122
+ return @master.call 'ips/provision', _params
1123
+ end
1124
+
1125
+ # Begins the warmup process for a dedicated IP. During the warmup process, Mandrill will gradually increase the percentage of your mail that is sent over the warming-up IP, over a period of roughly 30 days. The rest of your mail will be sent over shared IPs or other dedicated IPs in the same pool.
1126
+ # @param [String] ip a dedicated ip address
1127
+ # @return [Hash] Information about the dedicated IP
1128
+ # - [String] ip the ip address
1129
+ # - [String] created_at the date and time that the dedicated IP was created as a UTC string in YYYY-MM-DD HH:MM:SS format
1130
+ # - [String] pool the name of the pool that this dedicated IP belongs to
1131
+ # - [String] domain the domain name (reverse dns) of this dedicated IP
1132
+ # - [Hash] custom_dns information about the ip's custom dns, if it has been configured
1133
+ # - [Boolean] enabled a boolean indicating whether custom dns has been configured for this ip
1134
+ # - [Boolean] valid whether the ip's custom dns is currently valid
1135
+ # - [String] error if the ip's custom dns is invalid, this will include details about the error
1136
+ # - [Hash] warmup information about the ip's warmup status
1137
+ # - [Boolean] warming_up whether the ip is currently in warmup mode
1138
+ # - [String] start_at the start time for the warmup process as a UTC string in YYYY-MM-DD HH:MM:SS format
1139
+ # - [String] end_at the end date and time for the warmup process as a UTC string in YYYY-MM-DD HH:MM:SS format
1140
+ def start_warmup(ip)
1141
+ _params = {:ip => ip}
1142
+ return @master.call 'ips/start-warmup', _params
1143
+ end
1144
+
1145
+ # Cancels the warmup process for a dedicated IP.
1146
+ # @param [String] ip a dedicated ip address
1147
+ # @return [Hash] Information about the dedicated IP
1148
+ # - [String] ip the ip address
1149
+ # - [String] created_at the date and time that the dedicated IP was created as a UTC string in YYYY-MM-DD HH:MM:SS format
1150
+ # - [String] pool the name of the pool that this dedicated IP belongs to
1151
+ # - [String] domain the domain name (reverse dns) of this dedicated IP
1152
+ # - [Hash] custom_dns information about the ip's custom dns, if it has been configured
1153
+ # - [Boolean] enabled a boolean indicating whether custom dns has been configured for this ip
1154
+ # - [Boolean] valid whether the ip's custom dns is currently valid
1155
+ # - [String] error if the ip's custom dns is invalid, this will include details about the error
1156
+ # - [Hash] warmup information about the ip's warmup status
1157
+ # - [Boolean] warming_up whether the ip is currently in warmup mode
1158
+ # - [String] start_at the start time for the warmup process as a UTC string in YYYY-MM-DD HH:MM:SS format
1159
+ # - [String] end_at the end date and time for the warmup process as a UTC string in YYYY-MM-DD HH:MM:SS format
1160
+ def cancel_warmup(ip)
1161
+ _params = {:ip => ip}
1162
+ return @master.call 'ips/cancel-warmup', _params
1163
+ end
1164
+
1165
+ # Moves a dedicated IP to a different pool.
1166
+ # @param [String] ip a dedicated ip address
1167
+ # @param [String] pool the name of the new pool to add the dedicated ip to
1168
+ # @param [Boolean] create_pool whether to create the pool if it does not exist; if false and the pool does not exist, an Unknown_Pool will be thrown.
1169
+ # @return [Hash] Information about the updated state of the dedicated IP
1170
+ # - [String] ip the ip address
1171
+ # - [String] created_at the date and time that the dedicated IP was created as a UTC string in YYYY-MM-DD HH:MM:SS format
1172
+ # - [String] pool the name of the pool that this dedicated IP belongs to
1173
+ # - [String] domain the domain name (reverse dns) of this dedicated IP
1174
+ # - [Hash] custom_dns information about the ip's custom dns, if it has been configured
1175
+ # - [Boolean] enabled a boolean indicating whether custom dns has been configured for this ip
1176
+ # - [Boolean] valid whether the ip's custom dns is currently valid
1177
+ # - [String] error if the ip's custom dns is invalid, this will include details about the error
1178
+ # - [Hash] warmup information about the ip's warmup status
1179
+ # - [Boolean] warming_up whether the ip is currently in warmup mode
1180
+ # - [String] start_at the start time for the warmup process as a UTC string in YYYY-MM-DD HH:MM:SS format
1181
+ # - [String] end_at the end date and time for the warmup process as a UTC string in YYYY-MM-DD HH:MM:SS format
1182
+ def set_pool(ip, pool, create_pool=false)
1183
+ _params = {:ip => ip, :pool => pool, :create_pool => create_pool}
1184
+ return @master.call 'ips/set-pool', _params
1185
+ end
1186
+
1187
+ # Deletes a dedicated IP. This is permanent and cannot be undone.
1188
+ # @param [String] ip the dedicated ip to remove from your account
1189
+ # @return [Hash] a description of the ip that was removed from your account.
1190
+ # - [String] ip the ip address
1191
+ # - [String] deleted a boolean indicating whether the ip was successfully deleted
1192
+ def delete(ip)
1193
+ _params = {:ip => ip}
1194
+ return @master.call 'ips/delete', _params
1195
+ end
1196
+
1197
+ # Lists your dedicated IP pools.
1198
+ # @return [Array] the dedicated IP pools for your account, up to a maximum of 1,000
1199
+ # - [Hash] return[] information about each dedicated IP pool
1200
+ # - [String] name this pool's name
1201
+ # - [String] created_at the date and time that this pool was created as a UTC timestamp in YYYY-MM-DD HH:MM:SS format
1202
+ # - [Array] ips the dedicated IPs in this pool
1203
+ # - [Hash] ips[] information about each dedicated IP
1204
+ # - [String] ip the ip address
1205
+ # - [String] created_at the date and time that the dedicated IP was created as a UTC string in YYYY-MM-DD HH:MM:SS format
1206
+ # - [String] pool the name of the pool that this dedicated IP belongs to
1207
+ # - [String] domain the domain name (reverse dns) of this dedicated IP
1208
+ # - [Hash] custom_dns information about the ip's custom dns, if it has been configured
1209
+ # - [Boolean] enabled a boolean indicating whether custom dns has been configured for this ip
1210
+ # - [Boolean] valid whether the ip's custom dns is currently valid
1211
+ # - [String] error if the ip's custom dns is invalid, this will include details about the error
1212
+ # - [Hash] warmup information about the ip's warmup status
1213
+ # - [Boolean] warming_up whether the ip is currently in warmup mode
1214
+ # - [String] start_at the start time for the warmup process as a UTC string in YYYY-MM-DD HH:MM:SS format
1215
+ # - [String] end_at the end date and time for the warmup process as a UTC string in YYYY-MM-DD HH:MM:SS format
1216
+ def list_pools()
1217
+ _params = {}
1218
+ return @master.call 'ips/list-pools', _params
1219
+ end
1220
+
1221
+ # Describes a single dedicated IP pool.
1222
+ # @param [String] pool a pool name
1223
+ # @return [Hash] Information about the dedicated ip pool
1224
+ # - [String] name this pool's name
1225
+ # - [String] created_at the date and time that this pool was created as a UTC timestamp in YYYY-MM-DD HH:MM:SS format
1226
+ # - [Array] ips the dedicated IPs in this pool
1227
+ # - [Hash] ips[] information about each dedicated IP
1228
+ # - [String] ip the ip address
1229
+ # - [String] created_at the date and time that the dedicated IP was created as a UTC string in YYYY-MM-DD HH:MM:SS format
1230
+ # - [String] pool the name of the pool that this dedicated IP belongs to
1231
+ # - [String] domain the domain name (reverse dns) of this dedicated IP
1232
+ # - [Hash] custom_dns information about the ip's custom dns, if it has been configured
1233
+ # - [Boolean] enabled a boolean indicating whether custom dns has been configured for this ip
1234
+ # - [Boolean] valid whether the ip's custom dns is currently valid
1235
+ # - [String] error if the ip's custom dns is invalid, this will include details about the error
1236
+ # - [Hash] warmup information about the ip's warmup status
1237
+ # - [Boolean] warming_up whether the ip is currently in warmup mode
1238
+ # - [String] start_at the start time for the warmup process as a UTC string in YYYY-MM-DD HH:MM:SS format
1239
+ # - [String] end_at the end date and time for the warmup process as a UTC string in YYYY-MM-DD HH:MM:SS format
1240
+ def pool_info(pool)
1241
+ _params = {:pool => pool}
1242
+ return @master.call 'ips/pool-info', _params
1243
+ end
1244
+
1245
+ # Creates a pool and returns it. If a pool already exists with this name, no action will be performed.
1246
+ # @param [String] pool the name of a pool to create
1247
+ # @return [Hash] Information about the dedicated ip pool
1248
+ # - [String] name this pool's name
1249
+ # - [String] created_at the date and time that this pool was created as a UTC timestamp in YYYY-MM-DD HH:MM:SS format
1250
+ # - [Array] ips the dedicated IPs in this pool
1251
+ # - [Hash] ips[] information about each dedicated IP
1252
+ # - [String] ip the ip address
1253
+ # - [String] created_at the date and time that the dedicated IP was created as a UTC string in YYYY-MM-DD HH:MM:SS format
1254
+ # - [String] pool the name of the pool that this dedicated IP belongs to
1255
+ # - [String] domain the domain name (reverse dns) of this dedicated IP
1256
+ # - [Hash] custom_dns information about the ip's custom dns, if it has been configured
1257
+ # - [Boolean] enabled a boolean indicating whether custom dns has been configured for this ip
1258
+ # - [Boolean] valid whether the ip's custom dns is currently valid
1259
+ # - [String] error if the ip's custom dns is invalid, this will include details about the error
1260
+ # - [Hash] warmup information about the ip's warmup status
1261
+ # - [Boolean] warming_up whether the ip is currently in warmup mode
1262
+ # - [String] start_at the start time for the warmup process as a UTC string in YYYY-MM-DD HH:MM:SS format
1263
+ # - [String] end_at the end date and time for the warmup process as a UTC string in YYYY-MM-DD HH:MM:SS format
1264
+ def create_pool(pool)
1265
+ _params = {:pool => pool}
1266
+ return @master.call 'ips/create-pool', _params
1267
+ end
1268
+
1269
+ # Deletes a pool. A pool must be empty before you can delete it, and you cannot delete your default pool.
1270
+ # @param [String] pool the name of the pool to delete
1271
+ # @return [Hash] information about the status of the pool that was deleted
1272
+ # - [String] pool the name of the pool
1273
+ # - [Boolean] deleted whether the pool was deleted
1274
+ def delete_pool(pool)
1275
+ _params = {:pool => pool}
1276
+ return @master.call 'ips/delete-pool', _params
1277
+ end
1278
+
1067
1279
  end
1068
1280
  class Internal
1069
1281
  attr_accessor :master
@@ -31,5 +31,17 @@ module Mandrill
31
31
  end
32
32
  class UnknownExportError < Error
33
33
  end
34
+ class IPProvisionLimitError < Error
35
+ end
36
+ class UnknownPoolError < Error
37
+ end
38
+ class UnknownIPError < Error
39
+ end
40
+ class InvalidEmptyDefaultPoolError < Error
41
+ end
42
+ class InvalidDeleteDefaultPoolError < Error
43
+ end
44
+ class InvalidDeleteNonEmptyPoolError < Error
45
+ end
34
46
  end
35
47
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mandrill-api
3
3
  version: !ruby/object:Gem::Version
4
- hash: 79
4
+ hash: 77
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 0
9
- - 44
10
- version: 1.0.44
9
+ - 45
10
+ version: 1.0.45
11
11
  platform: ruby
12
12
  authors:
13
13
  - Mandrill Devs
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2013-08-30 00:00:00 Z
18
+ date: 2013-09-06 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: json