cloud-mu 3.0.0beta → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +17 -8
- data/ansible/roles/mu-nat/README.md +33 -0
- data/ansible/roles/mu-nat/defaults/main.yml +3 -0
- data/ansible/roles/mu-nat/handlers/main.yml +2 -0
- data/ansible/roles/mu-nat/meta/main.yml +60 -0
- data/ansible/roles/mu-nat/tasks/main.yml +65 -0
- data/ansible/roles/mu-nat/tests/inventory +2 -0
- data/ansible/roles/mu-nat/tests/test.yml +5 -0
- data/ansible/roles/mu-nat/vars/main.yml +2 -0
- data/bin/mu-cleanup +2 -1
- data/bin/mu-configure +950 -948
- data/bin/mu-gen-docs +6 -0
- data/cloud-mu.gemspec +2 -2
- data/cookbooks/mu-tools/recipes/gcloud.rb +8 -1
- data/modules/mommacat.ru +1 -1
- data/modules/mu.rb +31 -39
- data/modules/mu/cloud.rb +11 -1
- data/modules/mu/clouds/aws.rb +8 -3
- data/modules/mu/clouds/aws/alarm.rb +5 -8
- data/modules/mu/clouds/aws/bucket.rb +15 -9
- data/modules/mu/clouds/aws/cache_cluster.rb +60 -26
- data/modules/mu/clouds/aws/collection.rb +4 -4
- data/modules/mu/clouds/aws/container_cluster.rb +50 -33
- data/modules/mu/clouds/aws/database.rb +25 -21
- data/modules/mu/clouds/aws/dnszone.rb +12 -14
- data/modules/mu/clouds/aws/endpoint.rb +5 -8
- data/modules/mu/clouds/aws/firewall_rule.rb +9 -4
- data/modules/mu/clouds/aws/folder.rb +4 -7
- data/modules/mu/clouds/aws/function.rb +5 -8
- data/modules/mu/clouds/aws/group.rb +5 -8
- data/modules/mu/clouds/aws/habitat.rb +2 -5
- data/modules/mu/clouds/aws/loadbalancer.rb +12 -16
- data/modules/mu/clouds/aws/log.rb +6 -9
- data/modules/mu/clouds/aws/msg_queue.rb +16 -19
- data/modules/mu/clouds/aws/nosqldb.rb +27 -18
- data/modules/mu/clouds/aws/notifier.rb +6 -9
- data/modules/mu/clouds/aws/role.rb +4 -7
- data/modules/mu/clouds/aws/search_domain.rb +50 -23
- data/modules/mu/clouds/aws/server.rb +20 -14
- data/modules/mu/clouds/aws/server_pool.rb +22 -12
- data/modules/mu/clouds/aws/storage_pool.rb +9 -14
- data/modules/mu/clouds/aws/user.rb +5 -8
- data/modules/mu/clouds/aws/userdata/linux.erb +7 -1
- data/modules/mu/clouds/aws/vpc.rb +16 -14
- data/modules/mu/clouds/azure.rb +1 -1
- data/modules/mu/clouds/azure/container_cluster.rb +1 -1
- data/modules/mu/clouds/azure/server.rb +16 -2
- data/modules/mu/clouds/azure/user.rb +1 -1
- data/modules/mu/clouds/azure/userdata/linux.erb +84 -80
- data/modules/mu/clouds/azure/vpc.rb +32 -13
- data/modules/mu/clouds/cloudformation/server.rb +1 -1
- data/modules/mu/clouds/google.rb +2 -3
- data/modules/mu/clouds/google/container_cluster.rb +9 -1
- data/modules/mu/clouds/google/firewall_rule.rb +6 -0
- data/modules/mu/clouds/google/role.rb +1 -3
- data/modules/mu/clouds/google/server.rb +25 -4
- data/modules/mu/clouds/google/user.rb +1 -1
- data/modules/mu/clouds/google/userdata/linux.erb +9 -5
- data/modules/mu/clouds/google/vpc.rb +102 -21
- data/modules/mu/config.rb +250 -49
- data/modules/mu/config/alarm.rb +1 -0
- data/modules/mu/config/container_cluster.yml +0 -1
- data/modules/mu/config/database.yml +4 -1
- data/modules/mu/config/search_domain.yml +4 -3
- data/modules/mu/config/server.rb +7 -3
- data/modules/mu/config/server.yml +4 -1
- data/modules/mu/config/server_pool.yml +2 -0
- data/modules/mu/config/vpc.rb +42 -29
- data/modules/mu/deploy.rb +12 -5
- data/modules/mu/groomers/ansible.rb +4 -1
- data/modules/mu/groomers/chef.rb +5 -1
- data/modules/mu/kittens.rb +60 -11
- data/modules/mu/logger.rb +6 -4
- data/modules/mu/mommacat.rb +39 -19
- data/modules/mu/mu.yaml.rb +276 -0
- metadata +13 -4
data/modules/mu/config/alarm.rb
CHANGED
@@ -11,14 +11,17 @@ auto_minor_version_upgrade: false
|
|
11
11
|
backup_retention_period: 10
|
12
12
|
cluster_node_count: 2
|
13
13
|
create_cluster: true
|
14
|
+
vpc:
|
15
|
+
vpc_name: <%= vpc_name %>
|
14
16
|
create_read_replica: true
|
15
17
|
master_user: Bob
|
16
18
|
multi_az_on_create: true
|
17
|
-
region: us-west-2
|
18
19
|
|
19
20
|
<% else %> # IF NOT COMPLEX THEN ASSUME SIMPLE
|
20
21
|
|
21
22
|
name: database-simple
|
23
|
+
vpc:
|
24
|
+
vpc_name: <%= vpc_name %>
|
22
25
|
size: <%= db_size %>
|
23
26
|
engine: mariadb
|
24
27
|
storage: 5
|
@@ -3,11 +3,12 @@
|
|
3
3
|
name: searchdomain-complex
|
4
4
|
instance_type: t2.small.elasticsearch
|
5
5
|
instance_count: 4
|
6
|
-
dedicated_masters:
|
6
|
+
dedicated_masters: 3
|
7
7
|
master_instance_type: t2.medium.elasticsearch
|
8
8
|
zone_aware: true
|
9
|
-
ebs_iops: 100
|
10
|
-
|
9
|
+
#ebs_iops: 100 # also has value restrictions, eesh
|
10
|
+
#ebs_size: 35 # this is somehow locked to instance type
|
11
|
+
#ebs_type: gp2
|
11
12
|
elasticsearch_version: "6.2"
|
12
13
|
advanced_options:
|
13
14
|
"indices.query.bool.max_clause_count": 512
|
data/modules/mu/config/server.rb
CHANGED
@@ -146,9 +146,13 @@ module MU
|
|
146
146
|
"default" => true
|
147
147
|
},
|
148
148
|
"groom" => {
|
149
|
-
|
150
|
-
|
151
|
-
|
149
|
+
"type" => "boolean",
|
150
|
+
"default" => true,
|
151
|
+
"description" => "Whether to run a host configuration agent, e.g. Chef, when bootstrapping"
|
152
|
+
},
|
153
|
+
"groomer_variables" => {
|
154
|
+
"type" => "object",
|
155
|
+
"description" => "Metadata variables to expose to Groomer clients, under a top-level key named +mu+. Same thing as +application_attributes+, but with a name that makes a modicum of sense."
|
152
156
|
},
|
153
157
|
"groomer_timeout" => {
|
154
158
|
"type" => "integer",
|
@@ -1,8 +1,11 @@
|
|
1
1
|
<% if $complexity == 'complex' %>
|
2
2
|
name: servercomplex
|
3
3
|
size: <%= instance_type %>
|
4
|
-
|
4
|
+
vpc:
|
5
|
+
vpc_name: <%= vpc_name %>
|
5
6
|
<% else %>
|
6
7
|
name: serversimple
|
7
8
|
size: <%= instance_type %>
|
9
|
+
vpc:
|
10
|
+
vpc_name: <%= vpc_name %>
|
8
11
|
<% end %>
|
data/modules/mu/config/vpc.rb
CHANGED
@@ -417,8 +417,22 @@ module MU
|
|
417
417
|
|
418
418
|
using_default_cidr = false
|
419
419
|
if !vpc['ip_block']
|
420
|
-
|
421
|
-
|
420
|
+
if configurator.updating and configurator.existing_deploy and
|
421
|
+
configurator.existing_deploy.original_config['vpcs']
|
422
|
+
pieces = []
|
423
|
+
configurator.existing_deploy.original_config['vpcs'].each { |v|
|
424
|
+
if v['name'] == vpc['name']
|
425
|
+
vpc['ip_block'] = v['ip_block']
|
426
|
+
break
|
427
|
+
elsif v['virtual_name'] == vpc['name']
|
428
|
+
vpc['ip_block'] = v['parent_block']
|
429
|
+
break
|
430
|
+
end
|
431
|
+
}
|
432
|
+
else
|
433
|
+
using_default_cidr = true
|
434
|
+
vpc['ip_block'] = "10.0.0.0/16"
|
435
|
+
end
|
422
436
|
end
|
423
437
|
|
424
438
|
# Look for a common YAML screwup in route table land
|
@@ -439,33 +453,34 @@ module MU
|
|
439
453
|
rtb['routes'].uniq!
|
440
454
|
}
|
441
455
|
|
442
|
-
# if we're peering with other on-the-fly VPCs who might be using
|
443
|
-
# the default range, make sure our ip_blocks don't overlap
|
444
456
|
peer_blocks = []
|
445
|
-
|
446
|
-
if
|
447
|
-
siblings = configurator.haveLitterMate?(nil, "vpcs", has_multiple: true)
|
457
|
+
siblings = configurator.haveLitterMate?(nil, "vpcs", has_multiple: true)
|
458
|
+
if siblings
|
448
459
|
siblings.each { |v|
|
449
460
|
next if v['name'] == vpc['name']
|
450
461
|
peer_blocks << v['ip_block'] if v['ip_block']
|
451
462
|
}
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
if
|
465
|
-
|
466
|
-
|
467
|
-
my_cidr = NetAddr::IPv4Net.parse(vpc['ip_block'])
|
463
|
+
end
|
464
|
+
|
465
|
+
# if we're peering with other on-the-fly VPCs who might be using
|
466
|
+
# the default range, make sure our ip_blocks don't overlap
|
467
|
+
my_cidr = NetAddr::IPv4Net.parse(vpc['ip_block'].to_s)
|
468
|
+
if peer_blocks.size > 0 and using_default_cidr and !configurator.updating
|
469
|
+
begin
|
470
|
+
have_overlaps = false
|
471
|
+
peer_blocks.each { |cidr|
|
472
|
+
sibling_cidr = NetAddr::IPv4Net.parse(cidr.to_s)
|
473
|
+
have_overlaps = true if my_cidr.rel(sibling_cidr) != nil
|
474
|
+
}
|
475
|
+
if have_overlaps
|
476
|
+
my_cidr = my_cidr.next_sib
|
477
|
+
my_cidr = nil if my_cidr.to_s.match(/^10\.255\./)
|
468
478
|
end
|
479
|
+
end while have_overlaps
|
480
|
+
if !my_cidr.nil? and vpc['ip_block'] != my_cidr.to_s
|
481
|
+
vpc['ip_block'] = my_cidr.to_s
|
482
|
+
else
|
483
|
+
my_cidr = NetAddr::IPv4Net.parse(vpc['ip_block'])
|
469
484
|
end
|
470
485
|
end
|
471
486
|
|
@@ -501,7 +516,7 @@ module MU
|
|
501
516
|
vpc['peers'] << {
|
502
517
|
"vpc" => { "id" => MU.myVPC, "type" => "vpcs" }
|
503
518
|
}
|
504
|
-
|
519
|
+
elsif !configurator.updating
|
505
520
|
MU.log "#{vpc['ip_block']} overlaps with existing routes, will not be able to peer with Master's VPC", MU::WARN
|
506
521
|
end
|
507
522
|
end
|
@@ -513,6 +528,9 @@ module MU
|
|
513
528
|
if !can_peer and have_public and vpc["create_bastion"]
|
514
529
|
serverclass = Object.const_get("MU").const_get("Cloud").const_get(vpc["cloud"]).const_get("Server")
|
515
530
|
bastion = serverclass.genericNAT.dup
|
531
|
+
bastion["groomer_variables"] = {
|
532
|
+
"nat_ip_block" => vpc["ip_block"].to_s
|
533
|
+
}
|
516
534
|
bastion['name'] = vpc['name']+"-natstion" # XXX account for multiples somehow
|
517
535
|
bastion['credentials'] = vpc['credentials']
|
518
536
|
bastion['ingress_rules'] ||= []
|
@@ -522,11 +540,6 @@ module MU
|
|
522
540
|
"proto" => proto
|
523
541
|
}
|
524
542
|
}
|
525
|
-
bastion["application_attributes"] = {
|
526
|
-
"nat" => {
|
527
|
-
"private_net" => vpc["ip_block"].to_s
|
528
|
-
}
|
529
|
-
}
|
530
543
|
bastion["vpc"] = {
|
531
544
|
"name" => vpc["name"],
|
532
545
|
"subnet_pref" => "public"
|
data/modules/mu/deploy.rb
CHANGED
@@ -137,11 +137,7 @@ module MU
|
|
137
137
|
MU.log "Deployment id: #{MU.appname} \"#{MU.handle}\" (#{MU.deploy_id})"
|
138
138
|
end
|
139
139
|
|
140
|
-
|
141
|
-
@my_instance_id = MU::Cloud::AWS.getAWSMetaData("instance-id")
|
142
|
-
@my_az = MU::Cloud::AWS.getAWSMetaData("placement/availability-zone")
|
143
|
-
|
144
|
-
@fromName ='chef-server';
|
140
|
+
@fromName = MU.muCfg['mu_admin_email']
|
145
141
|
|
146
142
|
MU::Cloud.resource_types.each { |cloudclass, data|
|
147
143
|
if !@main_config[data[:cfg_plural]].nil? and @main_config[data[:cfg_plural]].size > 0
|
@@ -632,6 +628,17 @@ MESSAGE_END
|
|
632
628
|
end
|
633
629
|
myservice['#MUOBJECT'] ||= myservice["#MU_CLOUDCLASS"].new(mommacat: @mommacat, kitten_cfg: myservice, delayed_save: @updating)
|
634
630
|
end
|
631
|
+
rescue RuntimeError => e
|
632
|
+
# cloud implementations can iterate over these same hashes,
|
633
|
+
# which can throw this if we catch them at the wrong moment.
|
634
|
+
# here's your hacky workaround.
|
635
|
+
if e.message.match(/can't add a new key into hash during iteration/)
|
636
|
+
MU.log e.message+" in main deploy thread, probably transient", MU::DEBUG
|
637
|
+
sleep 1
|
638
|
+
retry
|
639
|
+
else
|
640
|
+
raise e
|
641
|
+
end
|
635
642
|
rescue Exception => e
|
636
643
|
MU::MommaCat.unlockAll
|
637
644
|
@main_thread.raise MuError, "Error instantiating object from #{myservice["#MU_CLOUDCLASS"]} (#{e.inspect})", e.backtrace
|
@@ -268,7 +268,7 @@ module MU
|
|
268
268
|
@server.describe(update_cache: true) # Make sure we're fresh
|
269
269
|
|
270
270
|
allvars = {
|
271
|
-
"mu_deployment" => MU.
|
271
|
+
"mu_deployment" => MU::Config.stripConfig(@server.deploy.deployment),
|
272
272
|
"mu_service_name" => @config["name"],
|
273
273
|
"mu_canonical_ip" => @server.canonicalIP,
|
274
274
|
"mu_admin_email" => $MU_CFG['mu_admin_email'],
|
@@ -301,6 +301,9 @@ module MU
|
|
301
301
|
if !@config['application_attributes'].nil?
|
302
302
|
groupvars["application_attributes"] = @config['application_attributes']
|
303
303
|
end
|
304
|
+
if !@config['groomer_variables'].nil?
|
305
|
+
groupvars["mu"] = @config['groomer_variables']
|
306
|
+
end
|
304
307
|
|
305
308
|
File.open(@ansible_path+"/group_vars/"+@server.config['name']+".yml", File::CREAT|File::RDWR|File::TRUNC, 0600) { |f|
|
306
309
|
f.flock(File::LOCK_EX)
|
data/modules/mu/groomers/chef.rb
CHANGED
@@ -261,6 +261,10 @@ module MU
|
|
261
261
|
chef_node.normal['application_attributes'] = @config['application_attributes']
|
262
262
|
chef_node.save
|
263
263
|
end
|
264
|
+
if !@config['groomer_variables'].nil?
|
265
|
+
chef_node.normal['mu'] = @config['groomer_variables']
|
266
|
+
chef_node.save
|
267
|
+
end
|
264
268
|
if @server.deploy.original_config.has_key?('parameters')
|
265
269
|
MU.log "Setting node:#{@server.mu_name} parameters", MU::DEBUG, details: @server.deploy.original_config['parameters']
|
266
270
|
chef_node.normal['mu_parameters'] = @server.deploy.original_config['parameters']
|
@@ -461,7 +465,7 @@ module MU
|
|
461
465
|
|
462
466
|
retries = 0
|
463
467
|
begin
|
464
|
-
ssh = @server.getSSHSession(
|
468
|
+
ssh = @server.getSSHSession(25)
|
465
469
|
Timeout::timeout(60) {
|
466
470
|
if leave_ours
|
467
471
|
MU.log "Expunging pre-existing Chef install on #{@server.mu_name}, if we didn't create it", MU::NOTICE
|
data/modules/mu/kittens.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
### THIS FILE IS AUTOMATICALLY GENERATED, DO NOT EDIT ###
|
2
|
-
|
2
|
+
#
|
3
|
+
#
|
4
|
+
#
|
3
5
|
module MU
|
4
6
|
class Config
|
5
7
|
# The configuration file format for Mu application stacks.
|
@@ -201,7 +203,7 @@ class Config
|
|
201
203
|
#
|
202
204
|
# `AWS`: This implementation is **ALPHA** quality. It is experimental, may be missing significant functionality, and has not been widely tested.
|
203
205
|
#
|
204
|
-
# `Google`: This implementation is **
|
206
|
+
# `Google`: This implementation is considered **RELEASE** quality. It covers all major API features and has been tested with real-world applications.
|
205
207
|
class folders
|
206
208
|
# @!group Optional parameters
|
207
209
|
|
@@ -358,7 +360,7 @@ class Config
|
|
358
360
|
#
|
359
361
|
# `AWS`: This implementation is **ALPHA** quality. It is experimental, may be missing significant functionality, and has not been widely tested.
|
360
362
|
#
|
361
|
-
# `Google`: This implementation is **
|
363
|
+
# `Google`: This implementation is considered **RELEASE** quality. It covers all major API features and has been tested with real-world applications.
|
362
364
|
#
|
363
365
|
# `Azure`: This implementation is **ALPHA** quality. It is experimental, may be missing significant functionality, and has not been widely tested.
|
364
366
|
class habitats
|
@@ -5105,6 +5107,13 @@ class Config
|
|
5105
5107
|
end
|
5106
5108
|
end
|
5107
5109
|
end
|
5110
|
+
class BasketofKittens
|
5111
|
+
class servers
|
5112
|
+
# Metadata variables to expose to Groomer clients, under a top-level key named +mu+. Same thing as +application_attributes+, but with a name that makes a modicum of sense.
|
5113
|
+
class groomer_variables
|
5114
|
+
end
|
5115
|
+
end
|
5116
|
+
end
|
5108
5117
|
class BasketofKittens
|
5109
5118
|
class servers
|
5110
5119
|
# Tags to apply to this resource. Will apply at the cloud provider level and in node groomers, where applicable.
|
@@ -6622,6 +6631,12 @@ class Config
|
|
6622
6631
|
# @return [Boolean]
|
6623
6632
|
attr_accessor :groom
|
6624
6633
|
|
6634
|
+
# Metadata variables to expose to Groomer clients, under a top-level key named +mu+. Same thing as +application_attributes+, but with a name that makes a modicum of sense.
|
6635
|
+
#
|
6636
|
+
# @return [BasketofKittens::servers::groomer_variables]
|
6637
|
+
# @see BasketofKittens::servers::groomer_variables
|
6638
|
+
attr_accessor :groomer_variables
|
6639
|
+
|
6625
6640
|
# **Default: `1800`** -
|
6626
6641
|
# Maximum execution time for a groomer run
|
6627
6642
|
#
|
@@ -7599,6 +7614,13 @@ class Config
|
|
7599
7614
|
end
|
7600
7615
|
end
|
7601
7616
|
end
|
7617
|
+
class BasketofKittens
|
7618
|
+
class server_pools
|
7619
|
+
# Metadata variables to expose to Groomer clients, under a top-level key named +mu+. Same thing as +application_attributes+, but with a name that makes a modicum of sense.
|
7620
|
+
class groomer_variables
|
7621
|
+
end
|
7622
|
+
end
|
7623
|
+
end
|
7602
7624
|
class BasketofKittens
|
7603
7625
|
class server_pools
|
7604
7626
|
class alarms
|
@@ -9183,6 +9205,12 @@ class Config
|
|
9183
9205
|
# @return [Boolean]
|
9184
9206
|
attr_accessor :groom
|
9185
9207
|
|
9208
|
+
# Metadata variables to expose to Groomer clients, under a top-level key named +mu+. Same thing as +application_attributes+, but with a name that makes a modicum of sense.
|
9209
|
+
#
|
9210
|
+
# @return [BasketofKittens::server_pools::groomer_variables]
|
9211
|
+
# @see BasketofKittens::server_pools::groomer_variables
|
9212
|
+
attr_accessor :groomer_variables
|
9213
|
+
|
9186
9214
|
# **Default: `1800`** -
|
9187
9215
|
# Maximum execution time for a groomer run
|
9188
9216
|
#
|
@@ -11555,6 +11583,14 @@ class Config
|
|
11555
11583
|
#
|
11556
11584
|
# @return [String]
|
11557
11585
|
attr_accessor :credentials
|
11586
|
+
|
11587
|
+
# **AWS & CLOUDFORMATION ONLY** -
|
11588
|
+
# +AWS+: Create a replication group; will be set automatically if +engine+ is +redis+ and +node_count+ is greated than one.
|
11589
|
+
#
|
11590
|
+
## +CLOUDFORMATION+: Create a replication group; will be set automatically if +engine+ is +redis+ and +node_count+ is greated than one.
|
11591
|
+
#
|
11592
|
+
# @return [Boolean]
|
11593
|
+
attr_accessor :create_replication_group
|
11558
11594
|
# @!endgroup
|
11559
11595
|
end
|
11560
11596
|
end
|
@@ -14129,6 +14165,13 @@ class Config
|
|
14129
14165
|
end
|
14130
14166
|
end
|
14131
14167
|
end
|
14168
|
+
class BasketofKittens
|
14169
|
+
class container_clusters
|
14170
|
+
# Metadata variables to expose to Groomer clients, under a top-level key named +mu+. Same thing as +application_attributes+, but with a name that makes a modicum of sense.
|
14171
|
+
class groomer_variables
|
14172
|
+
end
|
14173
|
+
end
|
14174
|
+
end
|
14132
14175
|
class BasketofKittens
|
14133
14176
|
class container_clusters
|
14134
14177
|
class alarms
|
@@ -16331,6 +16374,12 @@ class Config
|
|
16331
16374
|
# @return [Boolean]
|
16332
16375
|
attr_accessor :groom
|
16333
16376
|
|
16377
|
+
# Metadata variables to expose to Groomer clients, under a top-level key named +mu+. Same thing as +application_attributes+, but with a name that makes a modicum of sense.
|
16378
|
+
#
|
16379
|
+
# @return [BasketofKittens::container_clusters::groomer_variables]
|
16380
|
+
# @see BasketofKittens::container_clusters::groomer_variables
|
16381
|
+
attr_accessor :groomer_variables
|
16382
|
+
|
16334
16383
|
# **Default: `1800`** -
|
16335
16384
|
# Maximum execution time for a groomer run
|
16336
16385
|
#
|
@@ -17330,14 +17379,14 @@ class Config
|
|
17330
17379
|
|
17331
17380
|
# **AWS ONLY**,
|
17332
17381
|
# **Default: `7.1`** -
|
17333
|
-
# +AWS+: A supported ElasticSearch version for the region of this SearchDomain. Known versions from : 7.1, 6.8, 6.7, 6.5, 6.4, 6.3, 6.2, 6.0, 5.6, 5.5, 5.3, 5.1, 2.3, 1.5
|
17382
|
+
# +AWS+: A supported ElasticSearch version for the region of this SearchDomain. Known versions from us-east-1: 7.1, 6.8, 6.7, 6.5, 6.4, 6.3, 6.2, 6.0, 5.6, 5.5, 5.3, 5.1, 2.3, 1.5
|
17334
17383
|
#
|
17335
17384
|
# @return [String]
|
17336
17385
|
attr_accessor :elasticsearch_version
|
17337
17386
|
|
17338
17387
|
# **AWS ONLY**,
|
17339
17388
|
# **Default: `c5.large.elasticsearch`** -
|
17340
|
-
# +AWS+: A supported ElasticSearch instance type for the region of this SearchDomain. Known types from : c5.large.elasticsearch, c5.xlarge.elasticsearch, c5.2xlarge.elasticsearch, c5.4xlarge.elasticsearch, c5.9xlarge.elasticsearch, c5.18xlarge.elasticsearch, i3.large.elasticsearch, i3.xlarge.elasticsearch, i3.2xlarge.elasticsearch, i3.4xlarge.elasticsearch, i3.8xlarge.elasticsearch, i3.16xlarge.elasticsearch, m5.large.elasticsearch, m5.xlarge.elasticsearch, m5.2xlarge.elasticsearch, m5.4xlarge.elasticsearch, m5.12xlarge.elasticsearch, r5.large.elasticsearch, r5.xlarge.elasticsearch, r5.2xlarge.elasticsearch, r5.4xlarge.elasticsearch, r5.12xlarge.elasticsearch, t2.small.elasticsearch, t2.medium.elasticsearch, c4.large.elasticsearch, c4.xlarge.elasticsearch, c4.2xlarge.elasticsearch, c4.4xlarge.elasticsearch, c4.8xlarge.elasticsearch, i2.xlarge.elasticsearch, i2.2xlarge.elasticsearch, m4.large.elasticsearch, m4.xlarge.elasticsearch, m4.2xlarge.elasticsearch, m4.4xlarge.elasticsearch, m4.10xlarge.elasticsearch, r4.large.elasticsearch, r4.xlarge.elasticsearch, r4.2xlarge.elasticsearch, r4.4xlarge.elasticsearch, r4.8xlarge.elasticsearch, r4.16xlarge.elasticsearch, m3.medium.elasticsearch, m3.large.elasticsearch, m3.xlarge.elasticsearch, m3.2xlarge.elasticsearch, r3.large.elasticsearch, r3.xlarge.elasticsearch, r3.2xlarge.elasticsearch, r3.4xlarge.elasticsearch, r3.8xlarge.elasticsearch.
|
17389
|
+
# +AWS+: A supported ElasticSearch instance type for the region of this SearchDomain. Known types from us-east-1: c5.large.elasticsearch, c5.xlarge.elasticsearch, c5.2xlarge.elasticsearch, c5.4xlarge.elasticsearch, c5.9xlarge.elasticsearch, c5.18xlarge.elasticsearch, i3.large.elasticsearch, i3.xlarge.elasticsearch, i3.2xlarge.elasticsearch, i3.4xlarge.elasticsearch, i3.8xlarge.elasticsearch, i3.16xlarge.elasticsearch, m5.large.elasticsearch, m5.xlarge.elasticsearch, m5.2xlarge.elasticsearch, m5.4xlarge.elasticsearch, m5.12xlarge.elasticsearch, r5.large.elasticsearch, r5.xlarge.elasticsearch, r5.2xlarge.elasticsearch, r5.4xlarge.elasticsearch, r5.12xlarge.elasticsearch, t2.small.elasticsearch, t2.medium.elasticsearch, c4.large.elasticsearch, c4.xlarge.elasticsearch, c4.2xlarge.elasticsearch, c4.4xlarge.elasticsearch, c4.8xlarge.elasticsearch, i2.xlarge.elasticsearch, i2.2xlarge.elasticsearch, m4.large.elasticsearch, m4.xlarge.elasticsearch, m4.2xlarge.elasticsearch, m4.4xlarge.elasticsearch, m4.10xlarge.elasticsearch, r4.large.elasticsearch, r4.xlarge.elasticsearch, r4.2xlarge.elasticsearch, r4.4xlarge.elasticsearch, r4.8xlarge.elasticsearch, r4.16xlarge.elasticsearch, m3.medium.elasticsearch, m3.large.elasticsearch, m3.xlarge.elasticsearch, m3.2xlarge.elasticsearch, r3.large.elasticsearch, r3.xlarge.elasticsearch, r3.2xlarge.elasticsearch, r3.4xlarge.elasticsearch, r3.8xlarge.elasticsearch.
|
17341
17390
|
#
|
17342
17391
|
# @return [String]
|
17343
17392
|
attr_accessor :instance_type
|
@@ -18113,7 +18162,7 @@ class Config
|
|
18113
18162
|
#
|
18114
18163
|
# `AWS`: This implementation is **BETA** quality. It is substantially complete, but may be missing some functionality or have some features which are untested.
|
18115
18164
|
#
|
18116
|
-
# `Google`: This implementation is **
|
18165
|
+
# `Google`: This implementation is considered **RELEASE** quality. It covers all major API features and has been tested with real-world applications.
|
18117
18166
|
#
|
18118
18167
|
# `Azure`: This implementation is **ALPHA** quality. It is experimental, may be missing significant functionality, and has not been widely tested.
|
18119
18168
|
class users
|
@@ -19499,7 +19548,7 @@ class Config
|
|
19499
19548
|
#
|
19500
19549
|
# `AWS`: This implementation is **BETA** quality. It is substantially complete, but may be missing some functionality or have some features which are untested.
|
19501
19550
|
#
|
19502
|
-
# `Google`: This implementation is **
|
19551
|
+
# `Google`: This implementation is considered **RELEASE** quality. It covers all major API features and has been tested with real-world applications.
|
19503
19552
|
#
|
19504
19553
|
# `Azure`: This implementation is **ALPHA** quality. It is experimental, may be missing significant functionality, and has not been widely tested.
|
19505
19554
|
class roles
|
@@ -20337,7 +20386,7 @@ class Config
|
|
20337
20386
|
##
|
20338
20387
|
## `AWS`: This implementation is **ALPHA** quality. It is experimental, may be missing significant functionality, and has not been widely tested.
|
20339
20388
|
##
|
20340
|
-
## `Google`: This implementation is **
|
20389
|
+
## `Google`: This implementation is considered **RELEASE** quality. It covers all major API features and has been tested with real-world applications.
|
20341
20390
|
#
|
20342
20391
|
# @return [Array<BasketofKittens::folders>]
|
20343
20392
|
# @see BasketofKittens::folders
|
@@ -20347,7 +20396,7 @@ class Config
|
|
20347
20396
|
##
|
20348
20397
|
## `AWS`: This implementation is **ALPHA** quality. It is experimental, may be missing significant functionality, and has not been widely tested.
|
20349
20398
|
##
|
20350
|
-
## `Google`: This implementation is **
|
20399
|
+
## `Google`: This implementation is considered **RELEASE** quality. It covers all major API features and has been tested with real-world applications.
|
20351
20400
|
##
|
20352
20401
|
## `Azure`: This implementation is **ALPHA** quality. It is experimental, may be missing significant functionality, and has not been widely tested.
|
20353
20402
|
#
|
@@ -20549,7 +20598,7 @@ class Config
|
|
20549
20598
|
##
|
20550
20599
|
## `AWS`: This implementation is **BETA** quality. It is substantially complete, but may be missing some functionality or have some features which are untested.
|
20551
20600
|
##
|
20552
|
-
## `Google`: This implementation is **
|
20601
|
+
## `Google`: This implementation is considered **RELEASE** quality. It covers all major API features and has been tested with real-world applications.
|
20553
20602
|
##
|
20554
20603
|
## `Azure`: This implementation is **ALPHA** quality. It is experimental, may be missing significant functionality, and has not been widely tested.
|
20555
20604
|
#
|
@@ -20571,7 +20620,7 @@ class Config
|
|
20571
20620
|
##
|
20572
20621
|
## `AWS`: This implementation is **BETA** quality. It is substantially complete, but may be missing some functionality or have some features which are untested.
|
20573
20622
|
##
|
20574
|
-
## `Google`: This implementation is **
|
20623
|
+
## `Google`: This implementation is considered **RELEASE** quality. It covers all major API features and has been tested with real-world applications.
|
20575
20624
|
##
|
20576
20625
|
## `Azure`: This implementation is **ALPHA** quality. It is experimental, may be missing significant functionality, and has not been widely tested.
|
20577
20626
|
#
|