-
Notifications
You must be signed in to change notification settings - Fork 66
/
v2_plugin.yaml
1909 lines (1819 loc) · 72.9 KB
/
v2_plugin.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
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
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
plugins:
openstack:
executor: central_deployment_agent
package_name: cloudify-openstack-plugin
package_version: 3.3.9
dsl_definitions:
client_config: &client_config
client_config:
type: cloudify.types.openstack.ClientConfig
description: Your OpenStack client configuration.
required: false
# Every resource uses this property unless noted.
external_resource: &external_resource
use_external_resource:
description: Indicate whether the resource exists or if Cloudify should create the resource, true if you are bringing an existing resource, false if you want cloudify to create it.
type: boolean
default: false
create_if_missing: &create_if_missing
create_if_missing:
type: boolean
default: false
description: If use_external_resource is ``true`` and the resource is missing,create it instead of failing.
id: &data_type_id
id:
description: Resource id
type: string
required: false
kwargs: &data_type_kwargs
kwargs:
description: A dictionary of keys and values that is not validated but will override other values in the resource config.
default: {}
name: &data_type_name
name:
description: Resource name.
type: string
required: false
default: ''
description: &data_type_description
description:
description: Resource description.
type: string
required: false
data_types:
cloudify.types.openstack.logging.Groups:
description: >
For logging groups' configuration. Each level can be one of the following values:
critical/error/warning/info/debug/notset
properties:
openstack:
description: Default logging level for openstack component.
type: string
required: false
cloudify.types.openstack.Logging:
description: Logging configuration for OpenStack communication.
properties:
use_cfy_logger:
description: If true, a logging handler is added, which emits logs to the Cloudify logger.
type: boolean
default: true
groups:
description: Assigns logging level to logger groups.
type: cloudify.types.openstack.logging.Groups
required: false
loggers:
description: Assigns logging level to custom loggers (dictionary of string -> logging level).
required: false
cloudify.types.openstack.ClientConfig:
# See: https://docs.openstack.org/python-openstackclient/pike/cli/man/openstack.html.
properties:
auth_url:
type: string
description: Your OpenStack Client Authorization URL.
required: false
username:
type: string
description: Your OpenStack username.
required: false
password:
type: string
description: Your OpenStack password.
required: false
project_name:
type: string
description: The name of your OpenStack project.
required: false
tenant_name:
type: string
description: The name of your OpenStack tenant.
required: false
region_name:
type: string
description: The region where you want this particular resource to be created.
required: false
user_domain_id:
type: string
description: The user domain id
required: false
project_domain_id:
type: string
description: The Project domain id
required: false
user_domain_name:
description: Domain name to operate on.
type: string
required: false
project_domain_name:
description: Project domain name to operate on.
type: string
required: false
logging:
description: Logging configuration.
type: cloudify.types.openstack.Logging
required: false
insecure:
description: If true, SSL validation is skipped.
type: boolean
required: false
default: false
ca_cert:
description: Path to CA certificate to validate OpenStack's endpoint with.
type: string
required: false
kwargs:
description: >
A dictionary of keys and values that is not validated
but will override other values in the client config.
default: {}
cloudify.types.openstack.Network:
properties:
<<: *data_type_kwargs
<<: *data_type_name
<<: *data_type_id
admin_state_up:
description: The administrative state of the network, which is up (true) or down (false).
type: boolean
default: true
# Note that the OpenStack API object specifies Subnets, a list of subnet. This data type refers to a member of that list.
cloudify.types.openstack.Subnet:
properties:
<<: *data_type_kwargs
<<: *data_type_name
<<: *data_type_id
enable_dhcp:
description: Indicates whether dhcp is enabled or disabled for the subnet. Default is true.
type: boolean
required: false
network_id:
description: The ID of the network to which the subnet belongs.
type: string
required: false
dns_nameservers:
description: List of dns name servers associated with the subnet. Default is an empty list.
required: false
allocation_pools:
description: Allocation pools with start and end IP addresses for this subnet. If allocation_pools are not specified, OpenStack Networking automatically allocates pools for covering all IP addresses in the CIDR, excluding the address reserved for the subnet gateway by default.
required: false
host_routes:
description: Additional routes for the subnet. A list of dictionaries with destination and nexthop parameters. Default value is an empty list.
required: false
ip_version:
description: The IP protocol version. Value is 4 or 6.
type: string
required: false
gateway_ip:
description: Gateway IP of this subnet. If the value is null that implies no gateway is associated with the subnet. If the gateway_ip is not specified, OpenStack Networking allocates an address from the CIDR for the gateway for the subnet by default.
type: string
required: false
cidr:
description: The CIDR of the subnet.
type: string
required: false
prefixlen:
description: The prefix length to use for subnet allocation from a subnet pool. If not specified, the default_prefixlen value of the subnet pool will be used.
type: integer
required: false
ipv6_address_mode:
description: The IPv6 address modes specifies mechanisms for assigning IP addresses. Value is slaac, dhcpv6-stateful, dhcpv6-stateless.
type: string
required: false
ipv6_ra_mode:
description: The IPv6 router advertisement specifies whether the networking service should transmit ICMPv6 packets, for a subnet. Value is slaac, dhcpv6-stateful, dhcpv6-stateless.
type: string
required: false
cloudify.types.openstack.Port:
properties:
<<: *data_type_kwargs
<<: *data_type_name
<<: *data_type_id
allowed_address_pairs:
description: A set of zero or more allowed address pair objects each where address pair object contains an ip_address and mac_address. While the ip_address is required, the mac_address will be taken from the port if not specified. The value of ip_address can be an IP Address or a CIDR (if supported by the underlying extension plugin). A server connected to the port can send a packet with source address which matches one of the specified allowed address pairs.
required: false
default: []
device_id:
description: The ID of the device that uses this port. For example, a server instance or a logical router.
type: string
required: false
device_owner:
description: The entity type that uses this port. For example, compute:nova (server instance), network:dhcp (DHCP agent) or network:router_interface (router interface).
type: string
required: false
fixed_ips:
description: >
list.
The IP addresses for the port. If you would like to assign multiple IP addresses for the port, specify multiple entries in this field. Each entry consists of IP address (ip_address) and the subnet ID from which the IP address is assigned (subnet_id).
- If you specify both a subnet ID and an IP address, OpenStack Networking tries to allocate the IP address on that subnet to the port.
- If you specify only a subnet ID, OpenStack Networking allocates an available IP from that subnet to the port.
- If you specify only an IP address, OpenStack Networking tries to allocate the IP address if the address is a valid IP for any of the subnets on the specified network.
required: false
network_id:
description: The ID of the network to which the subnet belongs.
type: string
required: false
security_groups:
description: list. The IDs of security groups applied to the port.
required: false
cloudify.types.openstack.SecurityGroup:
properties:
<<: *data_type_kwargs
<<: *data_type_name
<<: *data_type_id
<<: *data_type_description
cloudify.types.openstack.Router:
properties:
<<: *data_type_kwargs
<<: *data_type_name
<<: *data_type_id
cloudify.types.openstack.FloatingIP:
properties:
<<: *data_type_kwargs
<<: *data_type_description
<<: *data_type_id
floating_network_id:
description: The ID of the network associated with the floating IP.
type: string
required: false
floating_network_name:
description: The Name of the network associated with the floating IP.
type: string
required: false
fixed_ip_address:
description: The fixed IP address that is associated with the floating IP. If an internal port has multiple associated IP addresses, the service chooses the first IP address unless you explicitly define a fixed IP address in the fixed_ip_address parameter.
type: string
required: false
floating_ip_address:
description: The floating IP address.
type: string
required: false
port_id:
description: The ID of a port associated with the floating IP. To associate the floating IP with a fixed IP at creation time, you must specify the identifier of the internal port.
type: string
required: false
subnet_id:
description: The subnet ID on which you want to create the floating IP.
type: string
required: false
dns_domain:
description: A valid DNS domain.
type: string
required: false
dns_name:
description: A valid DNS name.
type: string
required: false
cloudify.types.openstack.SecurityGroupRule:
properties:
<<: *data_type_kwargs
<<: *data_type_id
remote_group_id:
description: The remote group UUID to associate with this security group rule. You can specify either the remote_group_id or remote_ip_prefix attribute in the request body.
type: string
required: false
protocol:
description: The IP protocol of the security group rule.
type: string
required: false
direction:
description: Ingress or egress, which is the direction in which the security group rule is applied.
type: string
required: false
port_range_min:
description: The minimum port number in the range that is matched by the security group rule. If the protocol is TCP, UDP, DCCP, SCTP or UDP-Lite this value must be less than or equal to the port_range_max attribute value. If the protocol is ICMP, this value must be an ICMP type.
type: integer
required: false
port_range_max:
description: The maximum port number in the range that is matched by the security group rule. If the protocol is TCP, UDP, DCCP, SCTP or UDP-Lite this value must be greater than or equal to the port_range_min attribute value. If the protocol is ICMP, this value must be an ICMP type.
type: integer
required: false
security_group_id:
description: The security group ID to associate with this security group rule.
type: string
required: false
remote_ip_prefix:
description: The remote IP prefix that is matched by this security group rule.
type: string
required: false
cloudify.types.openstack.RBACPolicy:
properties:
<<: *data_type_id
target_tenant:
description: The ID of the tenant to which the RBAC policy will be enforced.
type: string
required: false
object_type:
description: >
The type of the object that the RBAC policy affects.
Types include qos-policy or network.
type: string
required: false
object_id:
description: >
The ID of the object_type resource. An object_type of
network returns a network ID and an object_type of qos-policy returns a QoS ID.
type: string
required: false
action:
description: >
Action for the RBAC policy which is access_as_external or access_as_shared.
type: string
required: false
cloudify.types.openstack.Server:
properties:
<<: *data_type_kwargs
<<: *data_type_name
<<: *data_type_id
<<: *data_type_description
image_id:
description: >
The UUID of the image to use for your server instance.
This is not required in case of boot from volume.
In all other cases it is required
and must be a valid UUID otherwise API will return 400
required: false
type: string
flavor_id:
description: >
The flavor reference, as an ID (including a UUID) or
full URL, for the flavor for your server instance.
required: false
type: string
availability_zone:
description: >
The availability zone from which to launch the server.
When you provision resources, you specify from which availability
zone you want your instance to be built. Typically,
an admin user will use availability zones to arrange
OpenStack compute hosts into logical groups.
An availability zone provides a form of physical isolation
and redundancy from other availability zones.
For instance, if some racks in your data center are
on a separate power source, you can put servers in those racks
in their own availability zone. Availability zones can
also help separate different classes of hardware.
By segregating resources into availability zones,
you can ensure that your application resources are spread across
disparate machines to achieve high availability
in the event of hardware or other failure.
You can list the available availability zones
by calling the os-availability-zone API,
but you should avoid using the default availability zone when
booting the instance. In general,
the default availability zone is named nova.
This AZ is only shown when listing the availability zones as an admin
required: false
type: string
user_data:
description: >
Configuration information or scripts to use upon launch.
Must be Base64 encoded. Restricted to 65535 bytes.
required: false
type: string
metadata:
description: >
Metadata key and value pairs.
The maximum size of the metadata key and value is 255 bytes each.
required: false
default: {}
security_groups:
description: >
One or more security groups.
Specify the name of the security group in the name attribute.
If you omit this attribute, the API creates the server
in the default security group. Requested security groups are not
applied to pre-existing ports
required: false
default: []
networks:
description: >
A list of network object.
Required parameter when there are multiple networks
defined for the tenant. When you do not specify the networks parameter,
the server attaches to the only network created for the current tenant.
required: false
default: []
key_name:
description: >
Key pair name.
required: false
type: string
cloudify.types.openstack.HostAggregate:
properties:
<<: *data_type_name
<<: *data_type_id
availability_zone:
required: false
type: string
description: The name of the host aggregate.
cloudify.types.openstack.ServerGroup:
properties:
<<: *data_type_kwargs
<<: *data_type_name
<<: *data_type_id
policies:
description: >
A list of exactly one policy name to associate with the server group. The current valid policy names are:
anti-affinity - servers in this group must be scheduled to different hosts.
affinity - servers in this group must be scheduled to the same host.
soft-anti-affinity - servers in this group should be scheduled to different hosts if possible, but if not possible then they should still be scheduled instead of resulting in a build failure. This policy was added in microversion 2.15.
soft-affinity - servers in this group should be scheduled to the same host if possible, but if not possible then they should still be scheduled instead of resulting in a build failure. This policy was added in microversion 2.15.
required: false
cloudify.types.openstack.KeyPair:
properties:
<<: *data_type_kwargs
<<: *data_type_name
<<: *data_type_id
public_key:
description: >
The public ssh key to import. If you omit this value,
a keypair is generated for you
required: false
type: string
cloudify.types.openstack.Image:
properties:
<<: *data_type_kwargs
<<: *data_type_name
<<: *data_type_id
container_format:
description: >
Format of the image container.
required: false
type: string
disk_format:
description: >
The format of the disk.
required: false
type: string
tags:
description: >
List of tags for this image. Each tag is a string of at most 255 chars.
The maximum number of tags allowed on an image is set by the operator.
required: false
default: []
cloudify.types.openstack.Flavor:
properties:
<<: *data_type_kwargs
<<: *data_type_name
<<: *data_type_id
ram:
description: >
The amount of RAM a flavor has, in MiB
required: false
type: integer
disk:
description: >
The size of the root disk that will be created in GiB.
If 0 the root disk will be set to exactly the size of the image used
to deploy the instance. However, in this case filter scheduler cannot
select the compute host based on the virtual image size.
Therefore, 0 should only be used for volume booted instances or for testing purposes.
required: false
type: integer
vcpus:
description: >
The number of virtual CPUs that will be allocated to the server.
required: false
type: integer
cloudify.types.openstack.User:
properties:
<<: *data_type_kwargs
<<: *data_type_name
<<: *data_type_id
default_project_id:
description: >
The ID of the default project for the user.
A user's default project must not be a domain.
Setting this attribute does not grant any actual authorization
on the project, and is merely provided for convenience.
Therefore, the referenced project does not need to exist within the user domain. Since v3.1.
If the user does not have authorization to their default project,
the default project is ignored at token creation. Since v3.1.
Additionally, if your default project is not valid, a token is issued without an explicit scope of authorization
required: false
type: string
domain_id:
description: >
The ID of the domain of the user. If the domain ID is not provided
in the request, the Identity service will attempt to pull the
domain ID from the token used in the request.Note that this requires the use of a domain-scoped token.
required: false
type: string
enabled:
description: >
If the user is enabled, this value is true. If the user is disabled, this value is false
required: false
type: boolean
password:
description: >
The password for the user.
required: false
type: string
email:
description: >
The email for the user.
required: false
type: string
cloudify.types.openstack.Group:
properties:
<<: *data_type_kwargs
<<: *data_type_name
<<: *data_type_id
<<: *data_type_description
domain_id:
description: >
The ID of the domain of the group. If the domain ID is not provided
in the request, the Identity service will attempt to pull the
domain ID from the token used in the request.Note that this requires the use of a domain-scoped token.
required: false
type: string
cloudify.types.openstack.Role:
properties:
<<: *data_type_kwargs
<<: *data_type_name
<<: *data_type_id
<<: *data_type_description
domain_id:
description: >
The ID of the domain of the role. If the domain ID is not provided
in the request, the Identity service will attempt to pull the
domain ID from the token used in the request.Note that this requires the use of a domain-scoped token.
required: false
type: string
cloudify.types.openstack.Project:
properties:
<<: *data_type_kwargs
<<: *data_type_name
<<: *data_type_id
<<: *data_type_description
is_domain:
description: >
Indicates whether the project also acts as a domain.
If set to true, this project acts as both a project and domain.
required: false
type: boolean
domain_id:
description: >
The ID of the domain for the project.
For projects acting as a domain, the domain_id must not be specified, it will be generated by the Identity service implementation.
required: false
type: string
parent_id:
description: >
The ID of the parent of the project..
required: false
type: string
tags:
description: >
A list of simple strings assigned to a project. Tags can be used to classify projects into groups.
required: false
default: []
cloudify.types.openstack.Volume:
properties:
<<: *data_type_kwargs
<<: *data_type_name
<<: *data_type_id
<<: *data_type_description
project_id:
description: >
The UUID of the project in a multi-tenancy cloud.
required: false
type: string
size:
description: >
The size of the volume, in gibibytes (GiB).
required: false
type: integer
availability_zone :
description: >
The name of the availability zone.
required: false
type: string
imageRef:
description: >
The UUID of the image from which you want to create the volume.
Required to create a bootable volume.
required: false
type: string
snapshot_id:
description: >
To create a volume from an existing snapshot,
specify the UUID of the volume snapshot.
The volume is created in same availability zone and with same size as the snapshot.
required: false
type: string
volume_type:
description: >
The volume type (either name or ID).
To create an environment with multiple-storage back ends, you
must specify a volume type. Block Storage volume back ends are
spawned as children to cinder- volume, and they are keyed from a
unique queue. They are named cinder- volume.HOST.BACKEND. For
example, cinder- volume.ubuntu.lvmdriver. When a volume is
created, the scheduler chooses an appropriate back end to handle
the request based on the volume type. Default is None. For
information about how to use volume types to create multiple-
storage back ends,
required: false
type: string
cloudify.types.openstack.VolumeType:
properties:
<<: *data_type_kwargs
<<: *data_type_name
<<: *data_type_id
<<: *data_type_description
project_id:
description: >
The UUID of the project in a multi-tenancy cloud..
required: false
type: string
extra_specs:
description: >
A key and value pair that contains additional specifications
that are associated with the volume type.
Examples include capabilities, capacity, compression,
and so on, depending on the storage driver in use.
required: false
default: {}
cloudify.types.openstack.ZoneType:
properties:
<<: *data_type_kwargs
<<: *data_type_name
<<: *data_type_description
ttl:
description: >
TTL (Time to Live) for the zone.
required: false
type: integer
email:
description: >
e-mail for the zone. Used in SOA records for the zone
required: true
type: string
type:
description: >
Type of zone. PRIMARY is controlled by Designate,
SECONDARY zones are slaved from another DNS Server.
Defaults to PRIMARY
required: false
type: string
masters:
description: >
Mandatory for secondary zones.
The servers to slave from to get DNS information
required: false
type: string
attributes:
description: >
Key:Value pairs of information about this zone,
and the pool the user would like to place the zone in.
This information can be used by the scheduler to place
zones on the correct pool.
required: false
default: {}
cloudify.types.openstack.RecordSetType:
properties:
<<: *data_type_kwargs
<<: *data_type_name
<<: *data_type_description
ttl:
description: >
TTL (Time to Live) for the recordset.
required: false
type: integer
zone_id:
description: >
ID for the zone
required: true
type: string
type:
description: >
They RRTYPE of the recordset.
required: false
type: string
records:
description: >
A list of data for this recordset.
Each item will be a separate record in Designate
These items should conform to the DNS spec for
the record type - e.g. A records must be IPv4 addresses,
CNAME records must be a hostname.
required: true
default: []
cloudify.types.openstack.SharedFileSystem:
properties:
<<: *data_type_kwargs
<<: *data_type_name
<<: *data_type_id
<<: *data_type_description
size:
type: integer
description: 'The user defined description of the resource. The value of this field is limited to 255 characters.'
required: true
share_proto:
type: string
description: 'The Shared File Systems protocol. A valid value is NFS, CIFS, GlusterFS, HDFS, CephFS, MAPRFS, CephFS supported is starting with API v2.13.'
required: true
share_type:
type: string
description: 'The share type name. If you omit this parameter, the default share type is used. To view the default share type set by the administrator, issue a list default share types request. You cannot specify both the share_type and volume_type parameters.'
required: false
volume_type:
type: string
description: 'The volume type. The use of the volume_type object is deprecated but supported. It is recommended that you use the share_type object when you create a share type. When you issue a create a share type request, you can submit a request body with either a share_type or volume_type object. No matter which object type you include in the request, the API creates both a volume_type object and a share_type object. Both objects have the same ID. When you issue a list share types request, the response shows both share_types and volume_types objects.'
required: false
share_network:
type: string
description: The network to connect the share to.
required: false
cloudify.types.openstack.NetworkShare:
properties:
<<: *data_type_kwargs
<<: *data_type_name
<<: *data_type_id
<<: *data_type_description
neutron_net_id:
type: string
description: The UUID of a neutron network when setting up or updating a share network subnet with neutron. Specify both a neutron network and a neutron subnet that belongs to that neutron network.
required: false
neutron_subnet_id:
type: string
description: The UUID of the neutron subnet when setting up or updating a share network subnet with neutron. Specify both a neutron network and a neutron subnet that belongs to that neutron network.
required: false
availability_zone:
type: string
description: The UUID or name of an availability zone for the share network subnet. New in API version 2.51.
required: false
node_types:
cloudify.nodes.openstack.NetworkBase:
derived_from: cloudify.nodes.Network
properties:
<<: *external_resource
<<: *create_if_missing
<<: *client_config
cloudify.nodes.openstack.Network:
derived_from: cloudify.nodes.openstack.NetworkBase
properties:
resource_config:
type: cloudify.types.openstack.Network
description: A dictionary that may contain these keys https://developer.openstack.org/api-ref/network/v2/#create-network.
required: true
interfaces:
cloudify.interfaces.lifecycle:
create:
implementation: openstack.openstack_plugin.resources.network.network.create
delete:
implementation: openstack.openstack_plugin.resources.network.network.delete
cloudify.interfaces.validation:
creation:
implementation: openstack.openstack_plugin.resources.network.network.creation_validation
cloudify.interfaces.operations:
update:
implementation: openstack.openstack_plugin.resources.network.network.update
inputs:
args:
default: {}
list:
implementation: openstack.openstack_plugin.resources.network.network.list_networks
inputs:
query:
default: {}
cloudify.nodes.openstack.Subnet:
derived_from: cloudify.nodes.openstack.NetworkBase
properties:
resource_config:
type: cloudify.types.openstack.Subnet
description: A dictionary that may contain these keys https://developer.openstack.org/api-ref/network/v2/#create-subnet. This is not a list of cloudify.types.openstack.Subnet as the OpenStack API specifies.
required: true
interfaces:
cloudify.interfaces.lifecycle:
create:
implementation: openstack.openstack_plugin.resources.network.subnet.create
delete:
implementation: openstack.openstack_plugin.resources.network.subnet.delete
cloudify.interfaces.validation:
creation:
implementation: openstack.openstack_plugin.resources.network.subnet.creation_validation
inputs:
args:
default: {}
cloudify.interfaces.operations:
update:
implementation: openstack.openstack_plugin.resources.network.subnet.update
inputs:
args:
default: {}
list:
implementation: openstack.openstack_plugin.resources.network.subnet.list_subnets
inputs:
query:
default: {}
cloudify.nodes.openstack.Port:
derived_from: cloudify.nodes.Port
properties:
<<: *external_resource
<<: *create_if_missing
<<: *client_config
fixed_ip:
type: string
default: ''
description: >
may be used to request a specific fixed IP for the port.
If the IP is unavailable
(either already taken or does not belong to a subnet the port is on)
an error will be raised.
resource_config:
type: cloudify.types.openstack.Port
description: A dictionary that may contain these keys https://developer.openstack.org/api-ref/network/v2/#create-port.
required: true
interfaces:
cloudify.interfaces.lifecycle:
create:
implementation: openstack.openstack_plugin.resources.network.port.create
delete:
implementation: openstack.openstack_plugin.resources.network.port.delete
cloudify.interfaces.validation:
creation:
implementation: openstack.openstack_plugin.resources.network.port.creation_validation
cloudify.interfaces.operations:
update:
implementation: openstack.openstack_plugin.resources.network.port.update
inputs:
args:
default: {}
list:
implementation: openstack.openstack_plugin.resources.network.port.list_ports
inputs:
query:
default: {}
cloudify.nodes.openstack.Router:
derived_from: cloudify.nodes.Router
properties:
<<: *external_resource
<<: *create_if_missing
<<: *client_config
resource_config:
type: cloudify.types.openstack.Router
description: A dictionary that may contain these keys https://developer.openstack.org/api-ref/network/v2/#create-router.
required: true
external_network:
type: string
default: ''
description: >
An external network name or ID.
If given, the router will use this external network as a gateway.
interfaces:
cloudify.interfaces.lifecycle:
create:
implementation: openstack.openstack_plugin.resources.network.router.create
start:
implementation: openstack.openstack_plugin.resources.network.router.start
inputs:
routes:
default: []
stop:
implementation: openstack.openstack_plugin.resources.network.router.stop
delete:
implementation: openstack.openstack_plugin.resources.network.router.delete
cloudify.interfaces.validation:
creation:
implementation: openstack.openstack_plugin.resources.network.router.creation_validation
cloudify.interfaces.operations:
update:
implementation: openstack.openstack_plugin.resources.network.router.update
inputs:
args:
default: {}
list:
implementation: openstack.openstack_plugin.resources.network.router.list_routers
inputs:
query:
default: {}
cloudify.nodes.openstack.FloatingIP:
derived_from: cloudify.nodes.VirtualIP
properties:
<<: *external_resource
<<: *create_if_missing
<<: *client_config
allow_reallocation:
type: boolean
default: false
description: >
(Applicable only when use_external_resource is true)
If true, then allow using this floating IP even if it has already been allocated to
another instance. If false, and the floating IP is already allocated (that is, it is
in 'ACTIVE' state), a recoverable error is raised.
resource_config:
type: cloudify.types.openstack.FloatingIP
description: A dictionary that may contain these keys https://developer.openstack.org/api-ref/network/v2/#create-floating-ip.
required: true
interfaces:
cloudify.interfaces.lifecycle:
create:
implementation: openstack.openstack_plugin.resources.network.floating_ip.create
delete:
implementation: openstack.openstack_plugin.resources.network.floating_ip.delete
cloudify.interfaces.validation:
creation:
implementation: openstack.openstack_plugin.resources.network.floating_ip.creation_validation
cloudify.interfaces.operations:
update:
implementation: openstack.openstack_plugin.resources.network.floating_ip.update
inputs:
args:
default: {}
list:
implementation: openstack.openstack_plugin.resources.network.floating_ip.list_floating_ips
inputs:
query:
default: {}
cloudify.nodes.openstack.SecurityGroup:
derived_from: cloudify.nodes.SecurityGroup
properties:
<<: *external_resource
<<: *create_if_missing
<<: *client_config
disable_default_egress_rules:
description: >
a flag for removing the default rules. If not set to `true`,
these rules will remain, and exist alongside any additional rules passed using the `rules` property.
type: boolean
default: false
security_group_rules:
description: List of security groups rule.
required: false
default: []
resource_config:
type: cloudify.types.openstack.SecurityGroup
description: A dictionary that may contain these keys https://developer.openstack.org/api-ref/network/v2/#create-security-group.
required: true
interfaces:
cloudify.interfaces.lifecycle:
create:
implementation: openstack.openstack_plugin.resources.network.security_group.create
configure:
implementation: openstack.openstack_plugin.resources.network.security_group.configure