vFW and vDNS support added to azure-plugin
[multicloud/azure.git] / azure / aria / aria-extension-cloudify / src / aria / extensions / aria_extension_tosca / profiles / azure-plugin / azureplugin.yaml
1 #
2 # Copyright (c) 2017 GigaSpaces Technologies Ltd. All rights reserved.
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License"); you may
5 # not use this file except in compliance with the License. You may obtain
6 # a copy of the License at
7 #
8 #      http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 # License for the specific language governing permissions and limitations
14 # under the License.
15 #
16 tosca_definitions_version: tosca_simple_yaml_1_0
17
18
19 topology_template:
20   policies:
21     cloudify-azure-plugin:
22       description: >-
23         azure plugin executes operations.
24       type: aria.Plugin
25       properties:
26         version: 1.4.2
27
28
29 data_types:
30
31   aria.azure.datatypes.Config:
32     description: >-
33       azure configuration
34     properties:
35       subscription_id:
36         description: >
37           A Microsoft Azure subscription ID. This is a unique
38           user account in Azure. This can be found in the
39           Subscriptions tab on your dashboard.
40         type: string
41         required: false
42       tenant_id:
43         description: >
44           A Microsoft Azure tenant ID. This can be found in
45           the Azure Active Directory dashboard by accessing
46           your directory. Open the Application Endpoints
47           dialog and your tenant ID will be in the URL for
48           the OAUTH2.0 TOKEN ENDPOINT.
49         type: string
50         required: false
51       client_id:
52         description: >
53           A Microsoft Azure client ID. This can be found in
54           the Azure Active Directory dashboard by accessing
55           your directory. View the Applications tab and select
56           the application used to access Azure APIs.  Your
57           client ID can be found by expanding the ACCESS WEB
58           APIS IN OTHER APPLICATIONS tab.
59         type: string
60         required: false
61       client_secret:
62         description: >
63           A Microsoft Azure client secret key. This can be found
64           or generated in the same location as your client ID.
65         type: string
66         required: false
67       scale_name_separator:
68         description: >
69           When scaling resources, a unique name must be sent to
70           the Azure API. Since names are left to the user to
71           manage (the service does not generate unique IDs),
72           this plugin will attempt to append characters or
73           numbers to the end of the resource name when resources
74           are scaled out. This value should be a character, or
75           characters, that will separate the base name from the
76           generated unique characters.  For instance, if the
77           base name of a resource is "myvm", the separator is
78           set to "_", and a scale workflow attempts to create
79           another resource, the resulting name could be
80           something like "myvm_1". This field can be left blank.
81         type: string
82         required: false
83         default: "_"
84       scale_name_suffix_chars:
85         description: >
86           A string of characters (ASCII) to be used when
87           generating unique suffix data when scaling resources.
88           See "scale_name_separator" for more information.
89         type: string
90         required: true
91         default: "1234567890"
92
93   aria.azure.datatypes.AgentConfig:
94     properties:
95       install_method:
96         type: string
97         required: false
98       port:
99         type: integer
100         required: false
101
102
103   aria.azure.datatypes.StorageAccountConfig:
104     description: >
105       See https://msdn.microsoft.com/en-us/library/mt163564.aspx
106     properties:
107       accountType:
108         description: >
109           An storage account type (case sensitive)
110         type: string
111         default: Standard_LRS
112         required: true
113
114   aria.azure.datatypes.DataDiskConfig:
115     properties:
116       container_name:
117         type: string
118         description: >
119           Container for the resource.
120         default: vhds
121       size:
122         description: >
123           Size of the Page Blob (Azure disk) in GiB. Maximum of 1023 GiB allowed.
124         type: integer
125         default: 20
126         required: true
127       force_delete:
128         description: >
129           If set to true, the resource's "delete" lifecycle will purge the
130           Azure Data Disk from the Azure Storage Account. If false, the
131           Data Disk is left as-is in the Storage Account.
132         type: boolean
133         default: false
134
135
136   aria.azure.datatypes.FileShareConfig:
137     properties:
138       metadata:
139         description: >
140           Metadata (dict) for the File Share
141         required: false
142         type: string
143       quota:
144         description: >
145           Quote, in GiB, for the maximum size of the file share
146         required: false
147         type: integer
148       fail_on_exist:
149         description: >
150           If true, causes the operation to raise a NonRecoverableError if
151           the file share already exists. If false, issues a warning and
152           continues execution.
153         default: false
154         type: boolean
155
156   aria.azure.datatypes.AddressSpace:
157     description: >
158       Contains the address prefix,typically network CIDR
159     properties:
160       addressPrefixes:
161         required: true
162         type: list
163         entry_schema: string
164
165   aria.azure.datatypes.VirtualNetworkConfig:
166     description: >
167       See https://msdn.microsoft.com/en-us/library/mt163661.aspx
168     properties:
169       addressSpace:
170         default:
171           addressPrefixes:
172           - 172.16.0.0/16
173         required: true
174         type: aria.azure.datatypes.AddressSpace
175       dhcpOptions:
176         required: false
177         type: string
178       subnets:
179         required: false
180         type: string
181
182   aria.azure.datatypes.NetworkSecurityGroupConfig:
183     description: >
184       See https://msdn.microsoft.com/en-us/library/mt163656.aspx
185     properties:
186       securityRules:
187         required: false
188         type: list
189         entry_schema: string
190
191
192
193   aria.azure.datatypes.NetworkSecurityRuleConfig:
194     description: >
195       See https://msdn.microsoft.com/en-us/library/mt163645.aspx
196     properties:
197       description:
198         type: string
199         required: false
200       protocol:
201         type: string
202         required: true
203       sourcePortRange:
204         type: string
205         required: false
206       destinationPortRange:
207         type: string
208         required: false
209       sourceAddressPrefix:
210         type: string
211         required: true
212       destinationAddressPrefix:
213         type: string
214         required: true
215       access:
216         type: string
217         required: true
218       priority:
219         type: integer
220         required: true
221       direction:
222         type: string
223         required: true
224
225   aria.azure.datatypes.SubnetConfig:
226     description: >
227       See https://msdn.microsoft.com/en-us/library/mt163621.aspx
228     properties:
229       addressPrefix:
230         type: string
231         required: false
232       networkSecurityGroup:
233         type: string
234         required: false
235       routeTable:
236         type: string
237         required: false
238
239
240
241
242
243
244
245   aria.azure.datatypes.RouteTableConfig:
246     description: >
247       See https://msdn.microsoft.com/en-us/library/mt502548.aspx
248     properties:
249       routes:
250         type: string
251         required: false
252
253
254   aria.azure.datatypes.RouteConfig:
255     description: >
256       See https://msdn.microsoft.com/en-us/library/mt459110.aspx
257     properties:
258       addressPrefix:
259         type: string
260         required: true
261       nextHopType:
262         type: string
263         required: true
264       nextHopIpAddress:
265         type: string
266         required: false
267
268
269   aria.azure.datatype.NetworkInterfaceDnsSettings:
270     description: >
271       See https://msdn.microsoft.com/en-us/library/mt163668.aspx
272     properties:
273       appliedDnsServers:
274         type: list
275         entry_schema: string
276         required: false
277       dnsServers:
278         type: list
279         entry_schema: string
280         required: false
281       internalDnsNameLabel:
282         type: string
283         required: false
284       internalDomainNameSuffix:
285         type: string
286         required: false
287       internalFqdn:
288         type: string
289         required: false
290
291
292   aria.azure.datatypes.NetworkInterfaceCardConfig:
293     description: >
294       See https://msdn.microsoft.com/en-us/library/mt163668.aspx
295     properties:
296       networkSecurityGroups:
297         required: false
298         type: string
299       enableIPForwarding:
300         required: false
301         type: boolean
302       ipConfigurations:
303         required: false
304         type: string
305       dnsSettings:
306         required: false
307         type: aria.azure.datatype.NetworkInterfaceDnsSettings
308
309
310   aria.azure.datatypes.IPConfigurationConfig:
311     properties:
312       privateIPAddress:
313         type: string
314         description: >
315           Static, private IP Address
316         required: false
317       privateIPAllocationMethod:
318         type: string
319         description: >
320           Defines how a private IP address is assigned. Options
321           are Static or Dynamic
322         required: true
323       privateIPAddressVersion: 
324         type: string
325         description: >
326           Define the version of the IP protocol
327         required: false
328
329
330   aria.azure.datatypes.PublicIPAddressDnsSettings:
331     description: >
332       See https://docs.microsoft.com/en-gb/rest/api/virtualnetwork/PublicIPAddresses/CreateOrUpdate#definitions_publicipaddressdnssettings
333     properties:
334       domainNameLabel:
335         type: string
336         description: >
337           name refer to the VM
338         required: false
339       fqdn:
340         type: string
341         required: false
342       reverseFqdn:
343         type: string
344         required: false
345
346   aria.azure.datatypes.PublicIPAddressConfig:
347     description: >
348       See https://msdn.microsoft.com/en-us/library/mt163590.aspx
349     properties:
350       publicIPAllocationMethod:
351         type: string
352         description: >
353           Defines whether the IP address is stable or dynamic.
354           Options are Static or Dynamic
355         required: true
356       publicIPAddressVersion:
357         type: string
358         description:
359           Define the version of the public IP.
360         required: false
361       idleTimeoutInMinutes:
362         type: integer
363         description: >
364           Specifies the timeout (in minutes) for the TCP idle connection.
365           The value can be set between 4 and 30 minutes
366         required: false
367       dnsSettings:
368         type: aria.azure.datatypes.PublicIPAddressDnsSettings
369         required: false
370 #      domainNameLabel:
371 #        type: string
372 #        description: >
373 #          The concatenation of the domain name label and the regionalized
374 #          DNS zone make up the fully qualified domain name associated
375 #          with the public IP address.
376 #        required: false
377 #      reverseFqdn:
378 #        type: string
379 #        description: >
380 #          A fully qualified domain name that resolves to this
381 #          public IP address.
382 #        required: false
383
384
385
386
387
388
389   aria.azure.datatypes.AvailabilitySetConfig:
390     description: >
391       See https://msdn.microsoft.com/en-us/library/mt163607.aspx
392     properties:
393       platformUpdateDomainCount:
394         type: integer
395         required: false
396       platformFaultDomainCount:
397         type: integer
398         required: false
399
400
401
402   aria.azure.datatypes.HardwareProfile:
403     properties:
404       vmSize:
405         required: true
406         type: string
407
408  
409   aria.azure.datatypes.ImageReference:
410     properties:
411       publisher:
412         required: true
413         type: string
414       offer:
415         required: true
416         type: string
417       sku:
418         required: true
419         type: string
420       version:
421         required: true
422         type: string
423
424  
425   aria.azure.datatypes.StorageProfile:
426     properties:
427       imageReference:
428         required: true
429         type: aria.azure.datatypes.ImageReference
430
431
432
433
434   aria.azure.datatypes.PublicKey:
435     properties:
436       keydata:
437         required: true
438         type: string
439       path:
440         required: true
441         type: string
442
443   aria.azure.datatypes.SSH:
444     properties:
445       publicKeys:
446         required: false
447         type: list
448         entry_schema: aria.azure.datatypes.PublicKey
449
450
451   aria.azure.datatypes.LinuxConfiguration:
452     properties:
453       ssh:
454         required: false
455         type: aria.azure.datatypes.SSH
456       disablePasswordAuthentication:
457         required: false
458         default: true
459         type: boolean
460
461
462   aria.azure.datatypes.OSProfile:
463     properties:
464       computerName:
465         required: true
466         type: string
467       adminUserName:
468         required: true
469         type: string
470       adminPassword:
471         required: true
472         type: string
473       linuxConfiguration:
474         required: false
475         type: aria.azure.datatypes.LinuxConfiguration       
476
477
478
479   aria.azure.datatypes.VirtualMachineConfig:
480     description: >
481       https://msdn.microsoft.com/en-us/library/azure/mt163591.aspx
482     properties:
483       hardwareProfile:
484         required: true
485         type: aria.azure.datatypes.HardwareProfile
486       storageProfile:
487         required: true
488         type: aria.azure.datatypes.StorageProfile
489       osProfile:
490         required: true
491         type: aria.azure.datatypes.OSProfile
492
493   aria.azure.datatypes.LoadBalancerConfig:
494     description: >
495       See https://msdn.microsoft.com/en-us/library/mt163574.aspx
496     properties:
497       frontendIPConfigurations:
498         required: false
499         type: string
500       backendAddressPools:
501         required: false
502         type: string
503       loadBalancingRules:
504         required: false
505         type: string
506       probes:
507         required: false
508         type: string
509       inboundNatRules:
510         required: false
511         type: string
512
513
514
515   aria.azure.datatypes.LoadBalancerProbeConfig:
516     description: >
517       See https://msdn.microsoft.com/en-us/library/mt163574.aspx
518     properties:
519       protocol:
520         type: string
521         default: Tcp
522         required: true
523       port:
524         type: integer
525         required: true
526       requestPath:
527         type: string
528         required: false
529       intervalInSeconds:
530         type: integer
531         default: 5
532         required: true
533       numberOfProbes:
534         type: integer
535         default: 16
536         required: true
537
538   aria.azure.datatypes.LoadBalancerIncomingNATRuleConfig:
539     description: >
540       See https://msdn.microsoft.com/en-us/library/mt163574.aspx
541     properties:
542       protocol:
543         type: string
544         default: Tcp
545         required: true
546       frontendPort:
547         type: integer
548         required: true
549       backendPort:
550         type: integer
551         required: true
552
553
554   aria.azure.datatypes.LoadBalancerRuleConfig:
555     description: >
556       See https://msdn.microsoft.com/en-us/library/mt163574.aspx
557     properties:
558       protocol:
559         type: string
560         default: Tcp
561         required: true
562       frontendPort:
563         type: integer
564         required: true
565       backendPort:
566         type: integer
567         required: true
568       enableFloatingIP:
569         type: boolean
570         required: false
571         default: false
572       idleTimeoutInMinutes:
573         type: integer
574         required: false
575         default: 5
576       loadDistribution:
577         type: string
578         required: false
579         default: Default
580
581
582
583
584
585 interface_types:
586
587   aria.azure.interfaces.validation:
588     derived_from: tosca.interfaces.Root
589     creation:
590       description: >-
591         creation operation for the openstack validation interface
592     deletion:
593       description: >-
594         deletion operation for the openstack validation interface
595   aria.azure.interfaces.network:
596     derived_from: tosca.interfaces.Root
597     preconfigure:
598     establish: 
599     unlink: 
600
601 node_types:
602
603   aria.azure.nodes.ResourceGroup:
604     derived_from: tosca.nodes.Root
605     properties:
606       name:
607         type: string
608         description: >
609           Name for the resource. Resource group name must be no longer than
610           80 characters long. It can contain only alphanumeric characters,
611           dash, underscore, opening parenthesis, closing parenthesis,
612           and period. The name cannot end with a period.
613         required: false
614       location:
615         type: string
616         description: >
617           Specifies the supported Azure location for the resource
618         required: false
619       tags:
620         description: >
621           Specifies a dictionary of one or more name and value pairs that describe a tag
622         required: false
623         type: string
624       use_external_resource:
625         description: >
626           Indicate whether the resource exists or if Cloudify should create the resource
627         type: boolean
628         default: false
629         required: true
630       retry_after:
631         description: >
632           Overrides the Azure-specified "retry_after" response. This property
633           will set the number of seconds for each task retry interval (in the
634           case of iteratively checking the status of an asynchronous operation)
635         type: integer
636         required: false
637       azure_config:
638         description: >
639           A dictionary of values to pass to authenticate with the Azure API
640         type: aria.azure.datatypes.Config
641         required: false
642     interfaces:
643       Standard:  
644         create: cloudify-azure-plugin > cloudify_azure.resources.resourcegroup.create
645         delete: cloudify-azure-plugin > cloudify_azure.resources.resourcegroup.delete
646
647
648
649
650
651
652
653   aria.azure.nodes.storage.StorageAccount:
654     derived_from: tosca.nodes.Root
655     properties:
656       name:
657         type: string
658         description: >
659           Name for the resource. Storage account name must be between
660           3 and 24 characters in length and use numbers and lower-case
661           letters only.
662         required: false
663       resource_group_name:
664         type: string
665         description: >
666           Name of the Resource Group that the existing resource belongs to
667           (this is only useful when not using a relationship between a resource
668           node and a Resource Group node)
669         required: false
670       location:
671         type: string
672         description: >
673           Specifies the supported Azure location for the resource
674         required: false
675       tags:
676         description: >
677           Specifies a dictionary of one or more name and value pairs that describe a tag
678         required: false
679         type: string
680       resource_config:
681         description: >
682           A dictionary of values to pass as properties when creating the resource
683         type: aria.azure.datatypes.StorageAccountConfig
684         required: true
685       use_external_resource:
686         description: >
687           Indicate whether the resource exists or if Cloudify should create the resource
688         type: boolean
689         default: false
690         required: true
691       retry_after:
692         description: >
693           Overrides the Azure-specified "retry_after" response. This property
694           will set the number of seconds for each task retry interval (in the
695           case of iteratively checking the status of an asynchronous operation)
696         type: integer
697         required: false
698       azure_config:
699         description: >
700           A dictionary of values to pass to authenticate with the Azure API
701         type: aria.azure.datatypes.Config
702         required: false
703     interfaces:
704       Standard:
705         create: cloudify-azure-plugin > cloudify_azure.resources.storage.storageaccount.create
706         delete: cloudify-azure-plugin > cloudify_azure.resources.storage.storageaccount.delete
707     requirements:
708       - resource_group:
709           capability: tosca.capabilities.Node
710           node: aria.azure.nodes.ResourceGroup
711           relationship: cloudify.azure.relationships.contained_in_resource_group
712           occurrences: [ 0, UNBOUNDED ]
713
714
715
716   aria.azure.nodes.storage.DataDisk:
717     derived_from: tosca.nodes.Root
718     properties:
719       name:
720         type: string
721         description: >
722           Name for the resource (include any extension, such as .vhd).
723           Can be up to 80 characters in length and
724           contain lowercase letters, numbers, ".", and "_". Must start
725           with a number or lowercase letter and cannot end with
726           either "_" or "."
727         required: false
728       location:
729         type: string
730         description: >
731           Specifies the supported Azure location for the resource
732         required: false
733       use_external_resource:
734         description: >
735           Indicate whether the resource exists or if Cloudify should create the resource
736         type: boolean
737         default: false
738         required: true
739       retry_after:
740         description: >
741           Overrides the Azure-specified "retry_after" response. This property
742           will set the number of seconds for each task retry interval (in the
743           case of iteratively checking the status of an asynchronous operation)
744         type: integer
745         required: false
746       resource_config:
747         description: >
748           A dictionary of values to pass as properties when creating the resource
749         type: aria.azure.datatypes.DataDiskConfig
750         required: false
751       azure_config:
752         description: >
753           A dictionary of values to pass to authenticate with the Azure API
754         type: aria.azure.datatypes.Config
755         required: false
756     interfaces:
757       Standard:
758         create: cloudify-azure-plugin > cloudify_azure.resources.storage.disk.create_data_disk
759         delete: cloudify-azure-plugin > cloudify_azure.resources.storage.disk.delete_data_disk
760     requirements:
761       - storage_account:
762           capability: tosca.capabilities.Node
763           node: aria.azure.nodes.storage.StorageAccount
764           relationship: cloudify.azure.relationships.contained_in_storage_account
765           occurrences: [ 0, UNBOUNDED ]
766
767   aria.azure.nodes.storage.FileShare:
768     derived_from: tosca.nodes.Root
769     properties:
770       name:
771         type: string
772         description: >
773           Name for the resource. Can be up to 63 characters in length and
774           contain lowercase letters, numbers, and dashes. Must start
775           with a number or lowercase letter and cannot contain
776           two consecutive dashes.
777         required: false
778       location:
779         type: string
780         description: >
781           Specifies the supported Azure location for the resource
782         required: false
783       use_external_resource:
784         description: >
785           Indicate whether the resource exists or if Cloudify should create the resource
786         type: boolean
787         default: false
788         required: true
789       retry_after:
790         description: >
791           Overrides the Azure-specified "retry_after" response. This property
792           will set the number of seconds for each task retry interval (in the
793           case of iteratively checking the status of an asynchronous operation)
794         type: integer
795         required: false
796       resource_config:
797         description: >
798           A dictionary of values to pass as properties when creating the resource
799         type: aria.azure.datatypes.FileShareConfig
800         required: false
801       azure_config:
802         description: >
803           A dictionary of values to pass to authenticate with the Azure API
804         type: aria.azure.datatypes.Config
805         required: false
806     interfaces:
807       Standard:
808         create:  cloudify-azure-plugin > cloudify_azure.resources.storage.file.create_file_share
809
810
811
812
813   aria.azure.nodes.network.VirtualNetwork:
814     derived_from: tosca.nodes.Root
815     properties:
816       name:
817         type: string
818         description: >
819           Name for the resource.
820         required: false
821       resource_group_name:
822         type: string
823         description: >
824           Name of the Resource Group that the existing resource belongs to
825           (this is only useful when not using a relationship between a resource
826           node and a Resource Group node)
827         required: false
828       location:
829         type: string
830         description: >
831           Specifies the supported Azure location for the resource
832         required: false
833       tags:
834         description: >
835           Specifies a dictionary of one or more name and value pairs that describe a tag
836         required: false
837         type: string
838       resource_config:
839         description: >
840           A dictionary of values to pass as properties when creating the resource
841         type: aria.azure.datatypes.VirtualNetworkConfig
842         required: false
843       use_external_resource:
844         description: >
845           Indicate whether the resource exists or if Cloudify should create the resource
846         type: boolean
847         default: false
848         required: true
849       retry_after:
850         description: >
851           Overrides the Azure-specified "retry_after" response. This property
852           will set the number of seconds for each task retry interval (in the
853           case of iteratively checking the status of an asynchronous operation)
854         type: integer
855         required: false
856       azure_config:
857         description: >
858           A dictionary of values to pass to authenticate with the Azure API
859         type: aria.azure.datatypes.Config
860         required: false
861     interfaces:
862       Standard:
863         create: cloudify-azure-plugin > cloudify_azure.resources.network.virtualnetwork.create
864         delete: cloudify-azure-plugin > cloudify_azure.resources.network.virtualnetwork.delete
865     requirements:
866       - resource_group:
867           capability: tosca.capabilities.Node
868           node: aria.azure.nodes.ResourceGroup
869           relationship: cloudify.azure.relationships.contained_in_resource_group
870           occurrences: [ 0, UNBOUNDED ]
871       - storage_account:
872           capability: tosca.capabilities.Node
873           node: aria.azure.nodes.storage.StorageAccount
874           relationship: cloudify.azure.relationships.virtual_network_depends_on_storage
875           occurrences: [ 0, UNBOUNDED ]
876
877
878
879   aria.azure.nodes.network.NetworkSecurityGroup:
880     derived_from: tosca.nodes.Root
881     properties:
882       name:
883         type: string
884         description: >
885           Name for the resource.
886         required: false
887       resource_group_name:
888         type: string
889         description: >
890           Name of the Resource Group that the existing resource belongs to
891           (this is only useful when not using a relationship between a resource
892           node and a Resource Group node)
893         required: false
894       location:
895         type: string
896         description: >
897           Specifies the supported Azure location for the resource
898         required: false
899       tags:
900         description: >
901           Specifies a dictionary of one or more name and value pairs that describe a tag
902         required: false
903         type: string
904       resource_config:
905         description: >
906           A dictionary of values to pass as properties when creating the resource
907         type: aria.azure.datatypes.NetworkSecurityGroupConfig
908         required: false
909       use_external_resource:
910         description: >
911           Indicate whether the resource exists or if Cloudify should create the resource
912         type: boolean
913         default: false
914         required: true
915       retry_after:
916         description: >
917           Overrides the Azure-specified "retry_after" response. This property
918           will set the number of seconds for each task retry interval (in the
919           case of iteratively checking the status of an asynchronous operation)
920         type: integer
921         required: false
922       azure_config:
923         description: >
924           A dictionary of values to pass to authenticate with the Azure API
925         type: aria.azure.datatypes.Config
926         required: false
927     interfaces:
928       Standard:
929         create: cloudify-azure-plugin > cloudify_azure.resources.network.networksecuritygroup.create
930         delete: cloudify-azure-plugin > cloudify_azure.resources.network.networksecuritygroup.delete
931     requirements:
932       - resource_group:
933           capability: tosca.capabilities.Node
934           node: aria.azure.nodes.ResourceGroup
935           relationship: cloudify.azure.relationships.contained_in_resource_group
936           occurrences: [ 0, UNBOUNDED ]
937
938
939
940   aria.azure.nodes.network.NetworkSecurityRule:
941     derived_from: tosca.nodes.Root
942     properties:
943       name:
944         type: string
945         description: >
946           Name for the resource.
947         required: false
948       resource_group_name:
949         type: string
950         description: >
951           Name of the Resource Group that the existing resource belongs to
952           (this is only useful when not using a relationship between a resource
953           node and a Resource Group node)
954         required: false
955       network_security_group_name:
956         type: string
957         description: >
958           Name of the Network Security Group that the existing resource belongs to
959           (this is only useful when not using a relationship between a resource
960           node and a Network Security Groupnode)
961         required: false
962       location:
963         type: string
964         description: >
965           Specifies the supported Azure location for the resource
966         required: false
967       tags:
968         description: >
969           Specifies a dictionary of one or more name and value pairs that describe a tag
970         required: false
971         type: string
972       resource_config:
973         description: >
974           A dictionary of values to pass as properties when creating the resource
975         type: aria.azure.datatypes.NetworkSecurityRuleConfig
976         required: false
977       use_external_resource:
978         description: >
979           Indicate whether the resource exists or if Cloudify should create the resource
980         type: boolean
981         default: false
982         required: true
983       retry_after:
984         description: >
985           Overrides the Azure-specified "retry_after" response. This property
986           will set the number of seconds for each task retry interval (in the
987           case of iteratively checking the status of an asynchronous operation)
988         type: integer
989         required: false
990       azure_config:
991         description: >
992           A dictionary of values to pass to authenticate with the Azure API
993         type: aria.azure.datatypes.Config
994         required: false
995     interfaces:
996       Standard:
997         create: cloudify-azure-plugin > cloudify_azure.resources.network.networksecurityrule.create
998         delete: cloudify-azure-plugin > cloudify_azure.resources.network.networksecurityrule.delete
999     requirements:
1000       - resource_group:
1001           capability: tosca.capabilities.Node
1002           node: aria.azure.nodes.ResourceGroup
1003           relationship: cloudify.azure.relationships.contained_in_resource_group
1004           occurrences: [ 0, UNBOUNDED ]
1005       - network_security_group:
1006           capability: tosca.capabilities.Node
1007           node: aria.azure.nodes.network.NetworkSecurityGroup
1008           relationship: cloudify.azure.relationships.nic_connected_to_network_security_group
1009           occurrences: [ 0, UNBOUNDED ]
1010
1011
1012
1013   aria.azure.nodes.network.Subnet:
1014     derived_from: tosca.nodes.Root
1015     properties:
1016       name:
1017         type: string
1018         description: >
1019           Name for the resource.
1020         required: false
1021       resource_group_name:
1022         type: string
1023         description: >
1024           Name of the Resource Group that the existing resource belongs to
1025           (this is only useful when not using a relationship between a resource
1026           node and a Resource Group node)
1027         required: false
1028       virtual_network_name:
1029         type: string
1030         description: >
1031           Name of the Virtual Network that the existing resource belongs to
1032           (this is only useful when not using a relationship between a resource
1033           node and a Virtual Network node)
1034         required: false
1035       location:
1036         type: string
1037         description: >
1038           Specifies the supported Azure location for the resource
1039         required: false
1040       tags:
1041         description: >
1042           Specifies a dictionary of one or more name and value pairs that describe a tag
1043         required: false
1044         type: string
1045       resource_config:
1046         description: >
1047           A dictionary of values to pass as properties when creating the resource
1048         type: aria.azure.datatypes.SubnetConfig
1049         required: false
1050       use_external_resource:
1051         description: >
1052           Indicate whether the resource exists or if Cloudify should create the resource
1053         type: boolean
1054         default: false
1055         required: true
1056       retry_after:
1057         description: >
1058           Overrides the Azure-specified "retry_after" response. This property
1059           will set the number of seconds for each task retry interval (in the
1060           case of iteratively checking the status of an asynchronous operation)
1061         type: integer
1062         required: false
1063       azure_config:
1064         description: >
1065           A dictionary of values to pass to authenticate with the Azure API
1066         type: aria.azure.datatypes.Config
1067         required: false
1068     interfaces:
1069       Standard:
1070         create: cloudify-azure-plugin > cloudify_azure.resources.network.subnet.create
1071         delete: cloudify-azure-plugin > cloudify_azure.resources.network.subnet.delete
1072     requirements:
1073       - virtual_network:
1074           capability: tosca.capabilities.Node
1075           node: aria.azure.nodes.network.VirtualNetwork
1076           relationship: cloudify.azure.relationships.contained_in_virtual_network
1077           occurrences: [ 0, UNBOUNDED ]
1078       - subnet_dependency:
1079           capability: tosca.capabilities.Node
1080           node: aria.azure.nodes.network.Subnet
1081           relationship: cloudify.azure.relationships.depends_on_subnet
1082           occurrences: [ 0, UNBOUNDED ]
1083           
1084
1085
1086   aria.azure.nodes.network.RouteTable:
1087     derived_from: tosca.nodes.Root
1088     properties:
1089       name:
1090         type: string
1091         description: >
1092           Name for the resource.
1093         required: false
1094       resource_group_name:
1095         type: string
1096         description: >
1097           Name of the Resource Group that the existing resource belongs to
1098           (this is only useful when not using a relationship between a resource
1099           node and a Resource Group node)
1100         required: false
1101       location:
1102         type: string
1103         description: >
1104           Specifies the supported Azure location for the resource
1105         required: false
1106       tags:
1107         description: >
1108           Specifies a dictionary of one or more name and value pairs that describe a tag
1109         required: false
1110         type: string
1111       resource_config:
1112         description: >
1113           A dictionary of values to pass as properties when creating the resource
1114         type: aria.azure.datatypes.RouteTableConfig
1115         required: false
1116       use_external_resource:
1117         description: >
1118           Indicate whether the resource exists or if Cloudify should create the resource
1119         type: boolean
1120         default: false
1121         required: true
1122       retry_after:
1123         description: >
1124           Overrides the Azure-specified "retry_after" response. This property
1125           will set the number of seconds for each task retry interval (in the
1126           case of iteratively checking the status of an asynchronous operation)
1127         type: integer
1128         required: false
1129       azure_config:
1130         description: >
1131           A dictionary of values to pass to authenticate with the Azure API
1132         type: aria.azure.datatypes.Config
1133         required: false
1134     interfaces:
1135       Standard:
1136         create: cloudify-azure-plugin > cloudify_azure.resources.network.routetable.create
1137         delete: cloudify-azure-plugin > cloudify_azure.resources.network.routetable.delete
1138     requirements:
1139       - virtual_subnet:
1140           capability: tosca.capabilities.Node
1141           node: aria.azure.nodes.network.Subnet
1142           relationship: cloudify.azure.relationships.route_table_attached_to_subnet
1143           occurrences: [ 0, UNBOUNDED ]
1144
1145   aria.azure.nodes.network.Route:
1146     derived_from: tosca.nodes.Root
1147     properties:
1148       name:
1149         type: string
1150         description: >
1151           Name for the resource.
1152         required: false
1153       resource_group_name:
1154         type: string
1155         description: >
1156           Name of the Resource Group that the existing resource belongs to
1157           (this is only useful when not using a relationship between a resource
1158           node and a Resource Group node)
1159         required: false
1160       route_table_name:
1161         type: string
1162         description: >
1163           Name of the Network Security Group that the existing resource belongs to
1164           (this is only useful when not using a relationship between a resource
1165           node and a Virtual Network node)
1166         required: false
1167       location:
1168         type: string
1169         description: >
1170           Specifies the supported Azure location for the resource
1171         required: false
1172       tags:
1173         description: >
1174           Specifies a dictionary of one or more name and value pairs that describe a tag
1175         required: false
1176         type: string
1177       resource_config:
1178         description: >
1179           A dictionary of values to pass as properties when creating the resource
1180         type: aria.azure.datatypes.RouteConfig
1181         required: false
1182       use_external_resource:
1183         description: >
1184           Indicate whether the resource exists or if Cloudify should create the resource
1185         type: boolean
1186         default: false
1187         required: true
1188       retry_after:
1189         description: >
1190           Overrides the Azure-specified "retry_after" response. This property
1191           will set the number of seconds for each task retry interval (in the
1192           case of iteratively checking the status of an asynchronous operation)
1193         type: integer
1194         required: false
1195       azure_config:
1196         description: >
1197           A dictionary of values to pass to authenticate with the Azure API
1198         type: aria.azure.datatypes.Config
1199         required: false
1200     interfaces:
1201       Standard:
1202         create: cloudify-azure-plugin > cloudify_azure.resources.network.route.create
1203         delete: cloudify-azure-plugin > cloudify_azure.resources.network.route.delete
1204     requirements:
1205       - route_table:
1206           capability: tosca.capabilities.Node
1207           node: aria.azure.nodes.network.RouteTable
1208           relationship: cloudify.azure.relationships.depends_on_route_table
1209           occurrences: [ 0, UNBOUNDED ]
1210
1211
1212   aria.azure.nodes.network.NetworkInterfaceCard:
1213     derived_from: tosca.nodes.Root
1214     properties:
1215       name:
1216         type: string
1217         description: >
1218           Name for the resource.
1219         required: false
1220       resource_group_name:
1221         type: string
1222         description: >
1223           Name of the Resource Group that the existing resource belongs to
1224           (this is only useful when not using a relationship between a resource
1225           node and a Resource Group node)
1226         required: false
1227       location:
1228         type: string
1229         description: >
1230           Specifies the supported Azure location for the resource
1231         required: false
1232       tags:
1233         description: >
1234           Specifies a dictionary of one or more name and value pairs that describe a tag
1235         required: false
1236         type: string
1237       primary:
1238         description: >
1239           When using multiple Network Interfaces, a primary must be set
1240         required: false
1241         default: false
1242         type: boolean
1243       resource_config:
1244         description: >
1245           A dictionary of values to pass as properties when creating the resource
1246         type: aria.azure.datatypes.NetworkInterfaceCardConfig
1247         required: false
1248       use_external_resource:
1249         description: >
1250           Indicate whether the resource exists or if Cloudify should create the resource
1251         type: boolean
1252         default: false
1253         required: true
1254       retry_after:
1255         description: >
1256           Overrides the Azure-specified "retry_after" response. This property
1257           will set the number of seconds for each task retry interval (in the
1258           case of iteratively checking the status of an asynchronous operation)
1259         type: integer
1260         required: false
1261       azure_config:
1262         description: >
1263           A dictionary of values to pass to authenticate with the Azure API
1264         type: aria.azure.datatypes.Config
1265         required: false
1266     interfaces:
1267       Standard:
1268         create: cloudify-azure-plugin > cloudify_azure.resources.network.networkinterfacecard.create
1269         configure: cloudify-azure-plugin > cloudify_azure.resources.network.networkinterfacecard.configure
1270         delete: cloudify-azure-plugin > cloudify_azure.resources.network.networkinterfacecard.delete
1271     requirements:
1272       - resource_group:
1273           capability: tosca.capabilities.Node
1274           node: aria.azure.nodes.ResourceGroup
1275           relationship: cloudify.azure.relationships.contained_in_resource_group
1276           occurrences: [ 0, UNBOUNDED ]
1277       - ip_config:
1278           capability: tosca.capabilities.Node
1279           node: aria.azure.nodes.network.IPConfiguration
1280           relationship: cloudify.azure.relationships.nic_connected_to_ip_configuration
1281           occurrences: [ 0, UNBOUNDED ]
1282       - security_group:
1283           capability: tosca.capabilities.Node
1284           node: aria.azure.nodes.network.NetworkSecurityGroup
1285           relationship: cloudify.azure.relationships.nic_connected_to_network_security_group
1286           occurrences: [ 0, UNBOUNDED ]
1287
1288   
1289
1290   aria.azure.nodes.network.IPConfiguration:
1291     derived_from: tosca.nodes.Root
1292     properties:
1293       name:
1294         type: string
1295         description: >
1296           Name for the resource.
1297         required: false
1298       resource_group_name:
1299         type: string
1300         description: >
1301           Name of the Resource Group that the existing resource belongs to
1302           (this is only useful when not using a relationship between a resource
1303           node and a Resource Group node)
1304         required: false
1305       location:
1306         type: string
1307         description: >
1308           Specifies the supported Azure location for the resource
1309         required: false
1310       tags:
1311         description: >
1312           Specifies a dictionary of one or more name and value pairs that describe a tag
1313         required: false
1314         type: string
1315       resource_config:
1316         description: >
1317           A dictionary of values to pass as properties when creating the resource
1318         type: aria.azure.datatypes.IPConfigurationConfig
1319         required: true
1320       use_external_resource:
1321         description: >
1322           Indicate whether the resource exists or if Cloudify should create the resource
1323         type: boolean
1324         default: false
1325         required: true
1326       retry_after:
1327         description: >
1328           Overrides the Azure-specified "retry_after" response. This property
1329           will set the number of seconds for each task retry interval (in the
1330           case of iteratively checking the status of an asynchronous operation)
1331         type: integer
1332         required: false
1333       azure_config:
1334         description: >
1335           A dictionary of values to pass to authenticate with the Azure API
1336         type: aria.azure.datatypes.Config
1337         required: false
1338     requirements:
1339       - subnet:
1340           capability: tosca.capabilities.Node
1341           node: aria.azure.nodes.network.Subnet
1342           relationship: cloudify.azure.relationships.ip_configuration_connected_to_subnet
1343           occurrences: [ 0, UNBOUNDED ]
1344       - ipaddress:
1345           capability: tosca.capabilities.Node
1346           node: aria.azure.nodes.network.PublicIPAddress
1347           relationship: cloudify.azure.relationships.ip_configuration_connected_to_public_ip
1348           occurrences: [ 0, UNBOUNDED ]
1349           occurrences: [ 0, UNBOUNDED ]
1350
1351   aria.azure.nodes.network.PublicIPAddress:
1352     derived_from: tosca.nodes.Root
1353     properties:
1354       name:
1355         type: string
1356         description: >
1357           Name for the resource.
1358         required: false
1359       resource_group_name:
1360         type: string
1361         description: >
1362           Name of the Resource Group that the existing resource belongs to
1363           (this is only useful when not using a relationship between a resource
1364           node and a Resource Group node)
1365         required: false
1366       location:
1367         type: string
1368         description: >
1369           Specifies the supported Azure location for the resource
1370         required: false
1371       tags:
1372         description: >
1373           Specifies a dictionary of one or more name and value pairs that describe a tag
1374         required: false
1375         type: string
1376       resource_config:
1377         description: >
1378           A dictionary of values to pass as properties when creating the resource
1379         type: aria.azure.datatypes.PublicIPAddressConfig
1380         required: false
1381       use_external_resource:
1382         description: >
1383           Indicate whether the resource exists or if Cloudify should create the resource
1384         type: boolean
1385         default: false
1386         required: true
1387       retry_after:
1388         description: >
1389           Overrides the Azure-specified "retry_after" response. This property
1390           will set the number of seconds for each task retry interval (in the
1391           case of iteratively checking the status of an asynchronous operation)
1392         type: integer
1393         required: false
1394       azure_config:
1395         description: >
1396           A dictionary of values to pass to authenticate with the Azure API
1397         type: aria.azure.datatypes.Config
1398         required: false
1399     interfaces:
1400       Standard:
1401         create: cloudify-azure-plugin > cloudify_azure.resources.network.publicipaddress.create
1402         delete: cloudify-azure-plugin > cloudify_azure.resources.network.publicipaddress.delete
1403     requirements:
1404       - resource_group:
1405           capability: tosca.capabilities.Node
1406           node: aria.azure.nodes.ResourceGroup
1407           relationship: cloudify.azure.relationships.contained_in_resource_group
1408           occurrences: [ 0, UNBOUNDED ]
1409
1410   aria.azure.nodes.compute.AvailabilitySet:
1411     derived_from: tosca.nodes.Root
1412     properties:
1413       name:
1414         type: string
1415         description: >
1416           Name for the resource.
1417         required: false
1418       resource_group_name:
1419         type: string
1420         description: >
1421           Name of the Resource Group that the existing resource belongs to
1422           (this is only useful when not using a relationship between a resource
1423           node and a Resource Group node)
1424         required: false
1425       location:
1426         type: string
1427         description: >
1428           Specifies the supported Azure location for the resource
1429         required: false
1430       tags:
1431         description: >
1432           Specifies a dictionary of one or more name and value pairs that describe a tag
1433         required: false
1434         type: string
1435       resource_config:
1436         description: >
1437           A dictionary of values to pass as properties when creating the resource
1438         type: aria.azure.datatypes.AvailabilitySetConfig
1439         required: true
1440       use_external_resource:
1441         description: >
1442           Indicate whether the resource exists or if Cloudify should create the resource
1443         type: boolean
1444         default: false
1445         required: true
1446       retry_after:
1447         description: >
1448           Overrides the Azure-specified "retry_after" response. This property
1449           will set the number of seconds for each task retry interval (in the
1450           case of iteratively checking the status of an asynchronous operation)
1451         type: integer
1452         required: false
1453       azure_config:
1454         description: >
1455           A dictionary of values to pass to authenticate with the Azure API
1456         type: aria.azure.datatypes.Config
1457         required: false
1458     interfaces:
1459       Standard:
1460         create: cloudify-azure-plugin > cloudify_azure.resources.compute.availabilityset.create
1461         delete: cloudify-azure-plugin > cloudify_azure.resources.compute.availabilityset.delete
1462
1463
1464   aria.azure.nodes.compute.VirtualMachine:
1465     derived_from: tosca.nodes.Compute
1466     properties:
1467       name:
1468         type: string
1469         description: >
1470           Name for the resource.
1471         required: false
1472       resource_group_name:
1473         type: string
1474         description: >
1475           Name of the Resource Group that the existing resource belongs to
1476           (this is only useful when not using a relationship between a resource
1477           node and a Resource Group node)
1478         required: false
1479       use_public_ip:
1480         type: boolean
1481         description: >
1482           Tells the deployment to use the public IP (if available) of the resource
1483           for Cloudify Agent connections
1484         default: false
1485       location:
1486         type: string
1487         description: >
1488           Specifies the supported Azure location for the resource
1489         required: false
1490       tags:
1491         description: >
1492           Specifies a dictionary of one or more name and value pairs that describe a tag
1493         required: false
1494         type: string
1495       plan:
1496         description: >
1497           Specifies information about the marketplace image used to create the virtual
1498           machine. This element is only used for marketplace images.
1499         required: false
1500         type: string
1501       resource_config:
1502         description: >
1503           A dictionary of values to pass as properties when creating the resource
1504         type: aria.azure.datatypes.VirtualMachineConfig
1505         required: true
1506       use_external_resource:
1507         description: >
1508           Indicate whether the resource exists or if Cloudify should create the resource
1509         type: boolean
1510         default: false
1511         required: true
1512       retry_after:
1513         description: >
1514           Overrides the Azure-specified "retry_after" response. This property
1515           will set the number of seconds for each task retry interval (in the
1516           case of iteratively checking the status of an asynchronous operation)
1517         type: integer
1518         required: false
1519       azure_config:
1520         description: >
1521           A dictionary of values to pass to authenticate with the Azure API
1522         type: aria.azure.datatypes.Config
1523         required: false
1524       ip:
1525         description: |
1526           Property specifying the IP address of the resource to
1527           use for the agent installer.
1528         type: string
1529         required: false
1530       os_family:
1531         description: |
1532           Property specifying what type of operating system family
1533           this compute node will run.
1534         default: windows
1535         type: string
1536       agent_config:
1537         type: aria.azure.datatypes.AgentConfig
1538         default:
1539           install_method: remote
1540           port: 5985
1541     interfaces:
1542       Standard:
1543         create: cloudify-azure-plugin > cloudify_azure.resources.compute.virtualmachine.create
1544 #        configure:
1545 #          implementation: cloudify-azure-plugin > cloudify_azure.resources.compute.virtualmachine.configure
1546 #          inputs:
1547 #            command_to_execute:
1548 #              description: >
1549 #                This is the command that the CustomScriptExtension extension will
1550 #                execute. The file_uris below will be downloaded and this property
1551 #                should specify a command to start the execution of one of them.
1552 #              default: powershell -ExecutionPolicy Unrestricted -file ps_enable_winrm_http.ps1
1553 #            file_uris:
1554 #              default:
1555 #              - https://raw.githubusercontent.com/cloudify-cosmo/cloudify-azure-plugin/1.4/scripts/ps_enable_winrm_http.ps1
1556         delete: cloudify-azure-plugin > cloudify_azure.resources.compute.virtualmachine.delete
1557     requirements:
1558       - resource_group:
1559           capability: tosca.capabilities.Node
1560           node: aria.azure.nodes.ResourceGroup
1561           relationship: cloudify.azure.relationships.contained_in_resource_group
1562           occurrences: [ 0, UNBOUNDED ]
1563       - nic:
1564           capability: tosca.capabilities.Node
1565           node: aria.azure.nodes.network.NetworkInterfaceCard
1566           relationship: cloudify.azure.relationships.connected_to_nic
1567           occurrences: [ 0, UNBOUNDED ]
1568       - storage_account:
1569           capability: tosca.capabilities.Node
1570           node: aria.azure.nodes.storage.StorageAccount
1571           relationship: cloudify.azure.relationships.connected_to_storage_account
1572       - data_disk:
1573           capability: tosca.capabilities.Node
1574           node: aria.azure.nodes.storage.DataDisk
1575           relationship: cloudify.azure.relationships.vm_connected_to_datadisk 
1576           occurrences: [ 0, UNBOUNDED ]
1577
1578
1579
1580   aria.azure.nodes.network.LoadBalancer:
1581     derived_from: tosca.nodes.Root
1582     properties:
1583       name:
1584         type: string
1585         description: >
1586           Name for the resource.
1587         required: false
1588       resource_group_name:
1589         type: string
1590         description: >
1591           Name of the Resource Group that the existing resource belongs to
1592           (this is only useful when not using a relationship between a resource
1593           node and a Resource Group node)
1594         required: false
1595       location:
1596         type: string
1597         description: >
1598           Specifies the supported Azure location for the resource
1599         required: false
1600       tags:
1601         description: >
1602           Specifies a dictionary of one or more name and value pairs that describe a tag
1603         required: false
1604         type: string
1605       resource_config:
1606         description: >
1607           A dictionary of values to pass as properties when creating the resource
1608         type: aria.azure.datatypes.LoadBalancerConfig
1609         required: false
1610       use_external_resource:
1611         description: >
1612           Indicate whether the resource exists or if Cloudify should create the resource
1613         type: boolean
1614         default: false
1615         required: true
1616       retry_after:
1617         description: >
1618           Overrides the Azure-specified "retry_after" response. This property
1619           will set the number of seconds for each task retry interval (in the
1620           case of iteratively checking the status of an asynchronous operation)
1621         type: integer
1622         required: false
1623       azure_config:
1624         description: >
1625           A dictionary of values to pass to authenticate with the Azure API
1626         type: aria.azure.datatypes.Config
1627         required: false
1628     interfaces:
1629       Standard:
1630         create: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.create
1631         configure: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.configure
1632         delete: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.delete
1633
1634
1635
1636
1637   aria.azure.nodes.network.LoadBalancer.BackendAddressPool:
1638     derived_from: tosca.nodes.Root
1639     properties:
1640       name:
1641         type: string
1642         description: >
1643           Name for the resource.
1644         required: false
1645       resource_group_name:
1646         type: string
1647         description: >
1648           Name of the Resource Group that the existing resource belongs to
1649           (this is only useful when not using a relationship between a resource
1650           node and a Resource Group node)
1651         required: false
1652       load_balancer_name:
1653         type: string
1654         required: false
1655       location:
1656         type: string
1657         description: >
1658           Specifies the supported Azure location for the resource
1659         required: false
1660       tags:
1661         description: >
1662           Specifies a dictionary of one or more name and value pairs that describe a tag
1663         required: false
1664         type: string
1665       use_external_resource:
1666         description: >
1667           Indicate whether the resource exists or if Cloudify should create the resource
1668         type: boolean
1669         default: false
1670         required: true
1671       retry_after:
1672         description: >
1673           Overrides the Azure-specified "retry_after" response. This property
1674           will set the number of seconds for each task retry interval (in the
1675           case of iteratively checking the status of an asynchronous operation)
1676         type: integer
1677         required: false
1678       azure_config:
1679         description: >
1680           A dictionary of values to pass to authenticate with the Azure API
1681         type: aria.azure.datatypes.Config
1682         required: false
1683     interfaces:
1684       Standard:
1685         create: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.create_backend_pool
1686         delete: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.delete_backend_pool
1687
1688
1689
1690   aria.azure.nodes.network.LoadBalancer.Probe:
1691     derived_from: tosca.nodes.Root
1692     properties:
1693       name:
1694         type: string
1695         description: >
1696           Name for the resource.
1697         required: false
1698       resource_group_name:
1699         type: string
1700         description: >
1701           Name of the Resource Group that the existing resource belongs to
1702           (this is only useful when not using a relationship between a resource
1703           node and a Resource Group node)
1704         required: false
1705       load_balancer_name:
1706         type: string
1707         required: false
1708       location:
1709         type: string
1710         description: >
1711           Specifies the supported Azure location for the resource
1712         required: false
1713       tags:
1714         description: >
1715           Specifies a dictionary of one or more name and value pairs that describe a tag
1716         required: false
1717         type: string
1718       resource_config:
1719         description: >
1720           A dictionary of values to pass as properties when creating the resource
1721         type: aria.azure.datatypes.LoadBalancerProbeConfig
1722         required: false
1723       use_external_resource:
1724         description: >
1725           Indicate whether the resource exists or if Cloudify should create the resource
1726         type: boolean
1727         default: false
1728         required: true
1729       retry_after:
1730         description: >
1731           Overrides the Azure-specified "retry_after" response. This property
1732           will set the number of seconds for each task retry interval (in the
1733           case of iteratively checking the status of an asynchronous operation)
1734         type: integer
1735         required: false
1736       azure_config:
1737         description: >
1738           A dictionary of values to pass to authenticate with the Azure API
1739         type: aria.azure.datatypes.Config
1740         required: false
1741     interfaces:
1742       Standard:
1743         create: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.create_probe
1744         delete: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.delete_probe
1745
1746
1747   aria.azure.nodes.network.LoadBalancer.IncomingNATRule:
1748     derived_from: tosca.nodes.Root
1749     properties:
1750       name:
1751         type: string
1752         description: >
1753           Name for the resource.
1754         required: false
1755       resource_group_name:
1756         type: string
1757         description: >
1758           Name of the Resource Group that the existing resource belongs to
1759           (this is only useful when not using a relationship between a resource
1760           node and a Resource Group node)
1761         required: false
1762       load_balancer_name:
1763         type: string
1764         required: false
1765       location:
1766         type: string
1767         description: >
1768           Specifies the supported Azure location for the resource
1769         required: false
1770       tags:
1771         description: >
1772           Specifies a dictionary of one or more name and value pairs that describe a tag
1773         required: false
1774         type: string
1775       resource_config:
1776         description: >
1777           A dictionary of values to pass as properties when creating the resource
1778         type: aria.azure.datatypes.LoadBalancerIncomingNATRuleConfig
1779         required: false
1780       use_external_resource:
1781         description: >
1782           Indicate whether the resource exists or if Cloudify should create the resource
1783         type: boolean
1784         default: false
1785         required: true
1786       retry_after:
1787         description: >
1788           Overrides the Azure-specified "retry_after" response. This property
1789           will set the number of seconds for each task retry interval (in the
1790           case of iteratively checking the status of an asynchronous operation)
1791         type: integer
1792         required: false
1793       azure_config:
1794         description: >
1795           A dictionary of values to pass to authenticate with the Azure API
1796         type: aria.azure.datatypes.Config
1797         required: false
1798     interfaces:
1799       Standard:
1800         create: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.create_incoming_nat_rule
1801         delete: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.delete_incoming_nat_rule
1802
1803
1804
1805   aria.azure.nodes.network.LoadBalancer.Rule:
1806     derived_from: tosca.nodes.Root
1807     properties:
1808       name:
1809         type: string
1810         description: >
1811           Name for the resource.
1812         required: false
1813       resource_group_name:
1814         type: string
1815         description: >
1816           Name of the Resource Group that the existing resource belongs to
1817           (this is only useful when not using a relationship between a resource
1818           node and a Resource Group node)
1819         required: false
1820       load_balancer_name:
1821         type: string
1822         required: false
1823       location:
1824         type: string
1825         description: >
1826           Specifies the supported Azure location for the resource
1827         required: false
1828       tags:
1829         description: >
1830           Specifies a dictionary of one or more name and value pairs that describe a tag
1831         required: false
1832         type: string
1833       resource_config:
1834         description: >
1835           A dictionary of values to pass as properties when creating the resource
1836         type: aria.azure.datatypes.LoadBalancerRuleConfig
1837         required: false
1838       use_external_resource:
1839         description: >
1840           Indicate whether the resource exists or if Cloudify should create the resource
1841         type: boolean
1842         default: false
1843         required: true
1844       retry_after:
1845         description: >
1846           Overrides the Azure-specified "retry_after" response. This property
1847           will set the number of seconds for each task retry interval (in the
1848           case of iteratively checking the status of an asynchronous operation)
1849         type: integer
1850         required: false
1851       azure_config:
1852         description: >
1853           A dictionary of values to pass to authenticate with the Azure API
1854         type: aria.azure.datatypes.Config
1855         required: false
1856     interfaces:
1857       Standard:
1858         create: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.create_rule
1859         delete: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.delete_rule
1860   
1861
1862
1863
1864
1865 relationship_types:
1866   cloudify.azure.relationships.contained_in_resource_group:
1867     derived_from: tosca.relationships.HostedOn
1868
1869   cloudify.azure.relationships.contained_in_storage_account:
1870     derived_from: tosca.relationships.HostedOn
1871
1872   cloudify.azure.relationships.contained_in_virtual_network:
1873     derived_from: tosca.relationships.HostedOn
1874
1875   cloudify.azure.relationships.contained_in_network_security_group:
1876     derived_from: tosca.relationships.HostedOn
1877
1878   cloudify.azure.relationships.contained_in_route_table:
1879     derived_from: tosca.relationships.HostedOn
1880
1881   cloudify.azure.relationships.contained_in_load_balancer:
1882     derived_from: tosca.relationships.HostedOn
1883
1884   cloudify.azure.relationships.depends_on_route_table:
1885     derived_from: tosca.relationships.DependsOn
1886
1887   cloudify.azure.relationships.depends_on_subnet:
1888     derived_from: tosca.relationships.DependsOn
1889
1890   cloudify.azure.relationships.virtual_network_depends_on_storage:
1891     derived_from: tosca.relationships.DependsOn
1892
1893   cloudify.azure.relationships.network_security_group_attached_to_subnet:
1894     derived_from: tosca.relationships.ConnectsTo
1895     interfaces:
1896       Configure:
1897         add_source: cloudify-azure-plugin > cloudify_azure.resources.network.subnet.attach_network_security_group
1898         remove_source: cloudify-azure-plugin > cloudify_azure.resources.network.subnet.detach_network_security_group
1899
1900   cloudify.azure.relationships.route_table_attached_to_subnet:
1901     derived_from: tosca.relationships.ConnectsTo
1902     interfaces:
1903       Configure:
1904         add_source: cloudify-azure-plugin > cloudify_azure.resources.network.subnet.attach_route_table
1905         remove_source: cloudify-azure-plugin > cloudify_azure.resources.network.subnet.detach_route_table
1906
1907   cloudify.azure.relationships.nic_connected_to_network_security_group:
1908     derived_from: tosca.relationships.ConnectsTo
1909
1910   cloudify.azure.relationships.nic_connected_to_ip_configuration:
1911     derived_from: tosca.relationships.ConnectsTo
1912     interfaces:
1913       Configure:
1914         pre_configure_source: cloudify-azure-plugin > cloudify_azure.resources.network.networkinterfacecard.attach_ip_configuration
1915
1916   cloudify.azure.relationships.lb_connected_to_ip_configuration:
1917     derived_from: tosca.relationships.ConnectsTo
1918     interfaces:
1919       Configure:
1920         preconfigure: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.attach_ip_configuration
1921
1922   cloudify.azure.relationships.ip_configuration_connected_to_subnet:
1923     derived_from: tosca.relationships.ConnectsTo
1924
1925   cloudify.azure.relationships.ip_configuration_connected_to_public_ip:
1926     derived_from: tosca.relationships.ConnectsTo
1927
1928   cloudify.azure.relationships.connected_to_storage_account:
1929     derived_from: tosca.relationships.ConnectsTo
1930
1931   cloudify.azure.relationships.connected_to_data_disk:
1932     derived_from: tosca.relationships.ConnectsTo
1933     interfaces:
1934       Configure:
1935         add_target: cloudify-azure-plugin > cloudify_azure.resources.compute.virtualmachine.attach_disk
1936         remove_target: cloudify-azure-plugin > cloudify_azure.resources.compute.virtualmachine.detach_disk
1937
1938
1939   cloudify.azure.relationships.connected_to_nic:
1940     derived_from: tosca.relationships.ConnectsTo
1941
1942
1943   cloudify.azure.relationships.connected_to_availability_set:
1944     derived_from: tosca.relationships.ConnectsTo
1945
1946   cloudify.azure.relationships.connected_to_ip_configuration:
1947     derived_from: tosca.relationships.ConnectsTo
1948
1949   cloudify.azure.relationships.connected_to_lb_be_pool:
1950     derived_from: tosca.relationships.ConnectsTo
1951
1952   cloudify.azure.relationships.connected_to_lb_probe:
1953     derived_from: tosca.relationships.ConnectsTo
1954
1955   cloudify.azure.relationships.vmx_contained_in_vm:
1956     derived_from: tosca.relationships.HostedOn
1957
1958   cloudify.azure.relationships.nic_connected_to_lb_be_pool:
1959     derived_from: tosca.relationships.ConnectsTo
1960     interfaces:
1961       Configure:
1962         add_target: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.attach_nic_to_backend_pool
1963         remove_target: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.detach_nic_from_backend_pool
1964
1965   cloudify.azure.relationships.vm_connected_to_datadisk:
1966     derived_from: tosca.relationships.ConnectsTo
1967     interfaces:
1968       Configure:
1969         add_target:
1970           implementation: cloudify-azure-plugin > cloudify_azure.resources.compute.virtualmachine.attach_data_disk
1971           inputs:
1972             lun:
1973               description: >
1974                 Specifies the logical unit number of the data disk in the VM
1975               default: 0
1976               required: true
1977               type: integer
1978         remove_target: cloudify-azure-plugin > cloudify_azure.resources.compute.virtualmachine.detach_data_disk
1979
1980
1981