cloud-mu 3.0.0beta → 3.0.0
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.
- 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
|
#
|