diff options
Diffstat (limited to 'azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles')
17 files changed, 4498 insertions, 0 deletions
diff --git a/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/aria-1.0/aria-1.0.yaml b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/aria-1.0/aria-1.0.yaml new file mode 100644 index 0000000..e421150 --- /dev/null +++ b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/aria-1.0/aria-1.0.yaml @@ -0,0 +1,97 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +policy_types: + + aria.Plugin: + _extensions: + shorthand_name: Plugin + type_qualified_name: aria:Plugin + role: plugin + description: >- + Policy used to specify plugins used by services. For an operation to be able to use a plugin + it must have a matching policy. The name of the policy must be the name of the plugin. The + optional properties can be used to further specify plugin selection by the orchestrator. + derived_from: tosca.policies.Root + properties: + version: + description: >- + Minimum plugin version. + type: version + required: false + enabled: + description: >- + If the policy is to disable the plugin then it will be ignored and all operations and + workflows depending on it will also be disabled. + type: boolean + default: true + + aria.Workflow: + _extensions: + shorthand_name: Workflow + type_qualified_name: aria:Workflow + role: workflow + description: >- + Policy used to specify custom workflows. A workflow is usually a workload of interconnected + calls to operations on nodes and relationships in the service topology. The name of the policy + is used as the name of the workflow. Note that it can be the same name as one of the normative + lifecycle workflows ("install", "uninstall", etc.), in which case it would be considered an + override of the default behavior. If the workflow requires parameters then this base type + should be inherited and extended with additional properties. + derived_from: tosca.policies.Root + properties: + implementation: + description: >- + The interpretation of the implementation string depends on the orchestrator. In ARIA it is + the full path to a Python @workflow function that generates a task graph based on the + service topology. + type: string + + aria.Scaling: + _extensions: + type_qualified_name: aria:Scaling + role: scaling + description: >- + Scaling. + derived_from: tosca.policies.Scaling + properties: + min_instances: + description: >- + This property is used to indicate the minimum number of instances that should be created + for the associated TOSCA Node Template by a TOSCA orchestrator. + type: integer + default: 1 + constraints: + - greater_or_equal: 0 + max_instances: + description: >- + This property is used to indicate the maximum number of instances that should be created + for the associated TOSCA Node Template by a TOSCA orchestrator. + type: integer + default: 1 + constraints: + - greater_or_equal: 0 + default_instances: + description: >- + An optional property that indicates the requested default number of instances that should + be the starting number of instances a TOSCA orchestrator should attempt to allocate. Note: + The value for this property MUST be in the range between the values set for + "min_instances" and "max_instances" properties. + type: integer + constraints: + - greater_or_equal: 0 + required: false + targets: + - tosca.nodes.Root diff --git a/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/azure-plugin/azureplugin.yaml b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/azure-plugin/azureplugin.yaml new file mode 100644 index 0000000..77b61b5 --- /dev/null +++ b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/azure-plugin/azureplugin.yaml @@ -0,0 +1,1981 @@ +# +# Copyright (c) 2017 GigaSpaces Technologies Ltd. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. +# +tosca_definitions_version: tosca_simple_yaml_1_0 + + +topology_template: + policies: + cloudify-azure-plugin: + description: >- + azure plugin executes operations. + type: aria.Plugin + properties: + version: 1.4.2 + + +data_types: + + aria.azure.datatypes.Config: + description: >- + azure configuration + properties: + subscription_id: + description: > + A Microsoft Azure subscription ID. This is a unique + user account in Azure. This can be found in the + Subscriptions tab on your dashboard. + type: string + required: false + tenant_id: + description: > + A Microsoft Azure tenant ID. This can be found in + the Azure Active Directory dashboard by accessing + your directory. Open the Application Endpoints + dialog and your tenant ID will be in the URL for + the OAUTH2.0 TOKEN ENDPOINT. + type: string + required: false + client_id: + description: > + A Microsoft Azure client ID. This can be found in + the Azure Active Directory dashboard by accessing + your directory. View the Applications tab and select + the application used to access Azure APIs. Your + client ID can be found by expanding the ACCESS WEB + APIS IN OTHER APPLICATIONS tab. + type: string + required: false + client_secret: + description: > + A Microsoft Azure client secret key. This can be found + or generated in the same location as your client ID. + type: string + required: false + scale_name_separator: + description: > + When scaling resources, a unique name must be sent to + the Azure API. Since names are left to the user to + manage (the service does not generate unique IDs), + this plugin will attempt to append characters or + numbers to the end of the resource name when resources + are scaled out. This value should be a character, or + characters, that will separate the base name from the + generated unique characters. For instance, if the + base name of a resource is "myvm", the separator is + set to "_", and a scale workflow attempts to create + another resource, the resulting name could be + something like "myvm_1". This field can be left blank. + type: string + required: false + default: "_" + scale_name_suffix_chars: + description: > + A string of characters (ASCII) to be used when + generating unique suffix data when scaling resources. + See "scale_name_separator" for more information. + type: string + required: true + default: "1234567890" + + aria.azure.datatypes.AgentConfig: + properties: + install_method: + type: string + required: false + port: + type: integer + required: false + + + aria.azure.datatypes.StorageAccountConfig: + description: > + See https://msdn.microsoft.com/en-us/library/mt163564.aspx + properties: + accountType: + description: > + An storage account type (case sensitive) + type: string + default: Standard_LRS + required: true + + aria.azure.datatypes.DataDiskConfig: + properties: + container_name: + type: string + description: > + Container for the resource. + default: vhds + size: + description: > + Size of the Page Blob (Azure disk) in GiB. Maximum of 1023 GiB allowed. + type: integer + default: 20 + required: true + force_delete: + description: > + If set to true, the resource's "delete" lifecycle will purge the + Azure Data Disk from the Azure Storage Account. If false, the + Data Disk is left as-is in the Storage Account. + type: boolean + default: false + + + aria.azure.datatypes.FileShareConfig: + properties: + metadata: + description: > + Metadata (dict) for the File Share + required: false + type: string + quota: + description: > + Quote, in GiB, for the maximum size of the file share + required: false + type: integer + fail_on_exist: + description: > + If true, causes the operation to raise a NonRecoverableError if + the file share already exists. If false, issues a warning and + continues execution. + default: false + type: boolean + + aria.azure.datatypes.AddressSpace: + description: > + Contains the address prefix,typically network CIDR + properties: + addressPrefixes: + required: true + type: list + entry_schema: string + + aria.azure.datatypes.VirtualNetworkConfig: + description: > + See https://msdn.microsoft.com/en-us/library/mt163661.aspx + properties: + addressSpace: + default: + addressPrefixes: + - 172.16.0.0/16 + required: true + type: aria.azure.datatypes.AddressSpace + dhcpOptions: + required: false + type: string + subnets: + required: false + type: string + + aria.azure.datatypes.NetworkSecurityGroupConfig: + description: > + See https://msdn.microsoft.com/en-us/library/mt163656.aspx + properties: + securityRules: + required: false + type: list + entry_schema: string + + + + aria.azure.datatypes.NetworkSecurityRuleConfig: + description: > + See https://msdn.microsoft.com/en-us/library/mt163645.aspx + properties: + description: + type: string + required: false + protocol: + type: string + required: true + sourcePortRange: + type: string + required: false + destinationPortRange: + type: string + required: false + sourceAddressPrefix: + type: string + required: true + destinationAddressPrefix: + type: string + required: true + access: + type: string + required: true + priority: + type: integer + required: true + direction: + type: string + required: true + + aria.azure.datatypes.SubnetConfig: + description: > + See https://msdn.microsoft.com/en-us/library/mt163621.aspx + properties: + addressPrefix: + type: string + required: false + networkSecurityGroup: + type: string + required: false + routeTable: + type: string + required: false + + + + + + + + aria.azure.datatypes.RouteTableConfig: + description: > + See https://msdn.microsoft.com/en-us/library/mt502548.aspx + properties: + routes: + type: string + required: false + + + aria.azure.datatypes.RouteConfig: + description: > + See https://msdn.microsoft.com/en-us/library/mt459110.aspx + properties: + addressPrefix: + type: string + required: true + nextHopType: + type: string + required: true + nextHopIpAddress: + type: string + required: false + + + aria.azure.datatype.NetworkInterfaceDnsSettings: + description: > + See https://msdn.microsoft.com/en-us/library/mt163668.aspx + properties: + appliedDnsServers: + type: list + entry_schema: string + required: false + dnsServers: + type: list + entry_schema: string + required: false + internalDnsNameLabel: + type: string + required: false + internalDomainNameSuffix: + type: string + required: false + internalFqdn: + type: string + required: false + + + aria.azure.datatypes.NetworkInterfaceCardConfig: + description: > + See https://msdn.microsoft.com/en-us/library/mt163668.aspx + properties: + networkSecurityGroups: + required: false + type: string + enableIPForwarding: + required: false + type: boolean + ipConfigurations: + required: false + type: string + dnsSettings: + required: false + type: aria.azure.datatype.NetworkInterfaceDnsSettings + + + aria.azure.datatypes.IPConfigurationConfig: + properties: + privateIPAddress: + type: string + description: > + Static, private IP Address + required: false + privateIPAllocationMethod: + type: string + description: > + Defines how a private IP address is assigned. Options + are Static or Dynamic + required: true + privateIPAddressVersion: + type: string + description: > + Define the version of the IP protocol + required: false + + + aria.azure.datatypes.PublicIPAddressDnsSettings: + description: > + See https://docs.microsoft.com/en-gb/rest/api/virtualnetwork/PublicIPAddresses/CreateOrUpdate#definitions_publicipaddressdnssettings + properties: + domainNameLabel: + type: string + description: > + name refer to the VM + required: false + fqdn: + type: string + required: false + reverseFqdn: + type: string + required: false + + aria.azure.datatypes.PublicIPAddressConfig: + description: > + See https://msdn.microsoft.com/en-us/library/mt163590.aspx + properties: + publicIPAllocationMethod: + type: string + description: > + Defines whether the IP address is stable or dynamic. + Options are Static or Dynamic + required: true + publicIPAddressVersion: + type: string + description: + Define the version of the public IP. + required: false + idleTimeoutInMinutes: + type: integer + description: > + Specifies the timeout (in minutes) for the TCP idle connection. + The value can be set between 4 and 30 minutes + required: false + dnsSettings: + type: aria.azure.datatypes.PublicIPAddressDnsSettings + required: false +# domainNameLabel: +# type: string +# description: > +# The concatenation of the domain name label and the regionalized +# DNS zone make up the fully qualified domain name associated +# with the public IP address. +# required: false +# reverseFqdn: +# type: string +# description: > +# A fully qualified domain name that resolves to this +# public IP address. +# required: false + + + + + + + aria.azure.datatypes.AvailabilitySetConfig: + description: > + See https://msdn.microsoft.com/en-us/library/mt163607.aspx + properties: + platformUpdateDomainCount: + type: integer + required: false + platformFaultDomainCount: + type: integer + required: false + + + + aria.azure.datatypes.HardwareProfile: + properties: + vmSize: + required: true + type: string + + + aria.azure.datatypes.ImageReference: + properties: + publisher: + required: true + type: string + offer: + required: true + type: string + sku: + required: true + type: string + version: + required: true + type: string + + + aria.azure.datatypes.StorageProfile: + properties: + imageReference: + required: true + type: aria.azure.datatypes.ImageReference + + + + + aria.azure.datatypes.PublicKey: + properties: + keydata: + required: true + type: string + path: + required: true + type: string + + aria.azure.datatypes.SSH: + properties: + publicKeys: + required: false + type: list + entry_schema: aria.azure.datatypes.PublicKey + + + aria.azure.datatypes.LinuxConfiguration: + properties: + ssh: + required: false + type: aria.azure.datatypes.SSH + disablePasswordAuthentication: + required: false + default: true + type: boolean + + + aria.azure.datatypes.OSProfile: + properties: + computerName: + required: true + type: string + adminUserName: + required: true + type: string + adminPassword: + required: true + type: string + linuxConfiguration: + required: false + type: aria.azure.datatypes.LinuxConfiguration + + + + aria.azure.datatypes.VirtualMachineConfig: + description: > + https://msdn.microsoft.com/en-us/library/azure/mt163591.aspx + properties: + hardwareProfile: + required: true + type: aria.azure.datatypes.HardwareProfile + storageProfile: + required: true + type: aria.azure.datatypes.StorageProfile + osProfile: + required: true + type: aria.azure.datatypes.OSProfile + + aria.azure.datatypes.LoadBalancerConfig: + description: > + See https://msdn.microsoft.com/en-us/library/mt163574.aspx + properties: + frontendIPConfigurations: + required: false + type: string + backendAddressPools: + required: false + type: string + loadBalancingRules: + required: false + type: string + probes: + required: false + type: string + inboundNatRules: + required: false + type: string + + + + aria.azure.datatypes.LoadBalancerProbeConfig: + description: > + See https://msdn.microsoft.com/en-us/library/mt163574.aspx + properties: + protocol: + type: string + default: Tcp + required: true + port: + type: integer + required: true + requestPath: + type: string + required: false + intervalInSeconds: + type: integer + default: 5 + required: true + numberOfProbes: + type: integer + default: 16 + required: true + + aria.azure.datatypes.LoadBalancerIncomingNATRuleConfig: + description: > + See https://msdn.microsoft.com/en-us/library/mt163574.aspx + properties: + protocol: + type: string + default: Tcp + required: true + frontendPort: + type: integer + required: true + backendPort: + type: integer + required: true + + + aria.azure.datatypes.LoadBalancerRuleConfig: + description: > + See https://msdn.microsoft.com/en-us/library/mt163574.aspx + properties: + protocol: + type: string + default: Tcp + required: true + frontendPort: + type: integer + required: true + backendPort: + type: integer + required: true + enableFloatingIP: + type: boolean + required: false + default: false + idleTimeoutInMinutes: + type: integer + required: false + default: 5 + loadDistribution: + type: string + required: false + default: Default + + + + + +interface_types: + + aria.azure.interfaces.validation: + derived_from: tosca.interfaces.Root + creation: + description: >- + creation operation for the openstack validation interface + deletion: + description: >- + deletion operation for the openstack validation interface + aria.azure.interfaces.network: + derived_from: tosca.interfaces.Root + preconfigure: + establish: + unlink: + +node_types: + + aria.azure.nodes.ResourceGroup: + derived_from: tosca.nodes.Root + properties: + name: + type: string + description: > + Name for the resource. Resource group name must be no longer than + 80 characters long. It can contain only alphanumeric characters, + dash, underscore, opening parenthesis, closing parenthesis, + and period. The name cannot end with a period. + required: false + location: + type: string + description: > + Specifies the supported Azure location for the resource + required: false + tags: + description: > + Specifies a dictionary of one or more name and value pairs that describe a tag + required: false + type: string + use_external_resource: + description: > + Indicate whether the resource exists or if Cloudify should create the resource + type: boolean + default: false + required: true + retry_after: + description: > + Overrides the Azure-specified "retry_after" response. This property + will set the number of seconds for each task retry interval (in the + case of iteratively checking the status of an asynchronous operation) + type: integer + required: false + azure_config: + description: > + A dictionary of values to pass to authenticate with the Azure API + type: aria.azure.datatypes.Config + required: false + interfaces: + Standard: + create: cloudify-azure-plugin > cloudify_azure.resources.resourcegroup.create + delete: cloudify-azure-plugin > cloudify_azure.resources.resourcegroup.delete + + + + + + + + aria.azure.nodes.storage.StorageAccount: + derived_from: tosca.nodes.Root + properties: + name: + type: string + description: > + Name for the resource. Storage account name must be between + 3 and 24 characters in length and use numbers and lower-case + letters only. + required: false + resource_group_name: + type: string + description: > + Name of the Resource Group that the existing resource belongs to + (this is only useful when not using a relationship between a resource + node and a Resource Group node) + required: false + location: + type: string + description: > + Specifies the supported Azure location for the resource + required: false + tags: + description: > + Specifies a dictionary of one or more name and value pairs that describe a tag + required: false + type: string + resource_config: + description: > + A dictionary of values to pass as properties when creating the resource + type: aria.azure.datatypes.StorageAccountConfig + required: true + use_external_resource: + description: > + Indicate whether the resource exists or if Cloudify should create the resource + type: boolean + default: false + required: true + retry_after: + description: > + Overrides the Azure-specified "retry_after" response. This property + will set the number of seconds for each task retry interval (in the + case of iteratively checking the status of an asynchronous operation) + type: integer + required: false + azure_config: + description: > + A dictionary of values to pass to authenticate with the Azure API + type: aria.azure.datatypes.Config + required: false + interfaces: + Standard: + create: cloudify-azure-plugin > cloudify_azure.resources.storage.storageaccount.create + delete: cloudify-azure-plugin > cloudify_azure.resources.storage.storageaccount.delete + requirements: + - resource_group: + capability: tosca.capabilities.Node + node: aria.azure.nodes.ResourceGroup + relationship: cloudify.azure.relationships.contained_in_resource_group + occurrences: [ 0, UNBOUNDED ] + + + + aria.azure.nodes.storage.DataDisk: + derived_from: tosca.nodes.Root + properties: + name: + type: string + description: > + Name for the resource (include any extension, such as .vhd). + Can be up to 80 characters in length and + contain lowercase letters, numbers, ".", and "_". Must start + with a number or lowercase letter and cannot end with + either "_" or "." + required: false + location: + type: string + description: > + Specifies the supported Azure location for the resource + required: false + use_external_resource: + description: > + Indicate whether the resource exists or if Cloudify should create the resource + type: boolean + default: false + required: true + retry_after: + description: > + Overrides the Azure-specified "retry_after" response. This property + will set the number of seconds for each task retry interval (in the + case of iteratively checking the status of an asynchronous operation) + type: integer + required: false + resource_config: + description: > + A dictionary of values to pass as properties when creating the resource + type: aria.azure.datatypes.DataDiskConfig + required: false + azure_config: + description: > + A dictionary of values to pass to authenticate with the Azure API + type: aria.azure.datatypes.Config + required: false + interfaces: + Standard: + create: cloudify-azure-plugin > cloudify_azure.resources.storage.disk.create_data_disk + delete: cloudify-azure-plugin > cloudify_azure.resources.storage.disk.delete_data_disk + requirements: + - storage_account: + capability: tosca.capabilities.Node + node: aria.azure.nodes.storage.StorageAccount + relationship: cloudify.azure.relationships.contained_in_storage_account + occurrences: [ 0, UNBOUNDED ] + + aria.azure.nodes.storage.FileShare: + derived_from: tosca.nodes.Root + properties: + name: + type: string + description: > + Name for the resource. Can be up to 63 characters in length and + contain lowercase letters, numbers, and dashes. Must start + with a number or lowercase letter and cannot contain + two consecutive dashes. + required: false + location: + type: string + description: > + Specifies the supported Azure location for the resource + required: false + use_external_resource: + description: > + Indicate whether the resource exists or if Cloudify should create the resource + type: boolean + default: false + required: true + retry_after: + description: > + Overrides the Azure-specified "retry_after" response. This property + will set the number of seconds for each task retry interval (in the + case of iteratively checking the status of an asynchronous operation) + type: integer + required: false + resource_config: + description: > + A dictionary of values to pass as properties when creating the resource + type: aria.azure.datatypes.FileShareConfig + required: false + azure_config: + description: > + A dictionary of values to pass to authenticate with the Azure API + type: aria.azure.datatypes.Config + required: false + interfaces: + Standard: + create: cloudify-azure-plugin > cloudify_azure.resources.storage.file.create_file_share + + + + + aria.azure.nodes.network.VirtualNetwork: + derived_from: tosca.nodes.Root + properties: + name: + type: string + description: > + Name for the resource. + required: false + resource_group_name: + type: string + description: > + Name of the Resource Group that the existing resource belongs to + (this is only useful when not using a relationship between a resource + node and a Resource Group node) + required: false + location: + type: string + description: > + Specifies the supported Azure location for the resource + required: false + tags: + description: > + Specifies a dictionary of one or more name and value pairs that describe a tag + required: false + type: string + resource_config: + description: > + A dictionary of values to pass as properties when creating the resource + type: aria.azure.datatypes.VirtualNetworkConfig + required: false + use_external_resource: + description: > + Indicate whether the resource exists or if Cloudify should create the resource + type: boolean + default: false + required: true + retry_after: + description: > + Overrides the Azure-specified "retry_after" response. This property + will set the number of seconds for each task retry interval (in the + case of iteratively checking the status of an asynchronous operation) + type: integer + required: false + azure_config: + description: > + A dictionary of values to pass to authenticate with the Azure API + type: aria.azure.datatypes.Config + required: false + interfaces: + Standard: + create: cloudify-azure-plugin > cloudify_azure.resources.network.virtualnetwork.create + delete: cloudify-azure-plugin > cloudify_azure.resources.network.virtualnetwork.delete + requirements: + - resource_group: + capability: tosca.capabilities.Node + node: aria.azure.nodes.ResourceGroup + relationship: cloudify.azure.relationships.contained_in_resource_group + occurrences: [ 0, UNBOUNDED ] + - storage_account: + capability: tosca.capabilities.Node + node: aria.azure.nodes.storage.StorageAccount + relationship: cloudify.azure.relationships.virtual_network_depends_on_storage + occurrences: [ 0, UNBOUNDED ] + + + + aria.azure.nodes.network.NetworkSecurityGroup: + derived_from: tosca.nodes.Root + properties: + name: + type: string + description: > + Name for the resource. + required: false + resource_group_name: + type: string + description: > + Name of the Resource Group that the existing resource belongs to + (this is only useful when not using a relationship between a resource + node and a Resource Group node) + required: false + location: + type: string + description: > + Specifies the supported Azure location for the resource + required: false + tags: + description: > + Specifies a dictionary of one or more name and value pairs that describe a tag + required: false + type: string + resource_config: + description: > + A dictionary of values to pass as properties when creating the resource + type: aria.azure.datatypes.NetworkSecurityGroupConfig + required: false + use_external_resource: + description: > + Indicate whether the resource exists or if Cloudify should create the resource + type: boolean + default: false + required: true + retry_after: + description: > + Overrides the Azure-specified "retry_after" response. This property + will set the number of seconds for each task retry interval (in the + case of iteratively checking the status of an asynchronous operation) + type: integer + required: false + azure_config: + description: > + A dictionary of values to pass to authenticate with the Azure API + type: aria.azure.datatypes.Config + required: false + interfaces: + Standard: + create: cloudify-azure-plugin > cloudify_azure.resources.network.networksecuritygroup.create + delete: cloudify-azure-plugin > cloudify_azure.resources.network.networksecuritygroup.delete + requirements: + - resource_group: + capability: tosca.capabilities.Node + node: aria.azure.nodes.ResourceGroup + relationship: cloudify.azure.relationships.contained_in_resource_group + occurrences: [ 0, UNBOUNDED ] + + + + aria.azure.nodes.network.NetworkSecurityRule: + derived_from: tosca.nodes.Root + properties: + name: + type: string + description: > + Name for the resource. + required: false + resource_group_name: + type: string + description: > + Name of the Resource Group that the existing resource belongs to + (this is only useful when not using a relationship between a resource + node and a Resource Group node) + required: false + network_security_group_name: + type: string + description: > + Name of the Network Security Group that the existing resource belongs to + (this is only useful when not using a relationship between a resource + node and a Network Security Groupnode) + required: false + location: + type: string + description: > + Specifies the supported Azure location for the resource + required: false + tags: + description: > + Specifies a dictionary of one or more name and value pairs that describe a tag + required: false + type: string + resource_config: + description: > + A dictionary of values to pass as properties when creating the resource + type: aria.azure.datatypes.NetworkSecurityRuleConfig + required: false + use_external_resource: + description: > + Indicate whether the resource exists or if Cloudify should create the resource + type: boolean + default: false + required: true + retry_after: + description: > + Overrides the Azure-specified "retry_after" response. This property + will set the number of seconds for each task retry interval (in the + case of iteratively checking the status of an asynchronous operation) + type: integer + required: false + azure_config: + description: > + A dictionary of values to pass to authenticate with the Azure API + type: aria.azure.datatypes.Config + required: false + interfaces: + Standard: + create: cloudify-azure-plugin > cloudify_azure.resources.network.networksecurityrule.create + delete: cloudify-azure-plugin > cloudify_azure.resources.network.networksecurityrule.delete + requirements: + - resource_group: + capability: tosca.capabilities.Node + node: aria.azure.nodes.ResourceGroup + relationship: cloudify.azure.relationships.contained_in_resource_group + occurrences: [ 0, UNBOUNDED ] + - network_security_group: + capability: tosca.capabilities.Node + node: aria.azure.nodes.network.NetworkSecurityGroup + relationship: cloudify.azure.relationships.nic_connected_to_network_security_group + occurrences: [ 0, UNBOUNDED ] + + + + aria.azure.nodes.network.Subnet: + derived_from: tosca.nodes.Root + properties: + name: + type: string + description: > + Name for the resource. + required: false + resource_group_name: + type: string + description: > + Name of the Resource Group that the existing resource belongs to + (this is only useful when not using a relationship between a resource + node and a Resource Group node) + required: false + virtual_network_name: + type: string + description: > + Name of the Virtual Network that the existing resource belongs to + (this is only useful when not using a relationship between a resource + node and a Virtual Network node) + required: false + location: + type: string + description: > + Specifies the supported Azure location for the resource + required: false + tags: + description: > + Specifies a dictionary of one or more name and value pairs that describe a tag + required: false + type: string + resource_config: + description: > + A dictionary of values to pass as properties when creating the resource + type: aria.azure.datatypes.SubnetConfig + required: false + use_external_resource: + description: > + Indicate whether the resource exists or if Cloudify should create the resource + type: boolean + default: false + required: true + retry_after: + description: > + Overrides the Azure-specified "retry_after" response. This property + will set the number of seconds for each task retry interval (in the + case of iteratively checking the status of an asynchronous operation) + type: integer + required: false + azure_config: + description: > + A dictionary of values to pass to authenticate with the Azure API + type: aria.azure.datatypes.Config + required: false + interfaces: + Standard: + create: cloudify-azure-plugin > cloudify_azure.resources.network.subnet.create + delete: cloudify-azure-plugin > cloudify_azure.resources.network.subnet.delete + requirements: + - virtual_network: + capability: tosca.capabilities.Node + node: aria.azure.nodes.network.VirtualNetwork + relationship: cloudify.azure.relationships.contained_in_virtual_network + occurrences: [ 0, UNBOUNDED ] + - subnet_dependency: + capability: tosca.capabilities.Node + node: aria.azure.nodes.network.Subnet + relationship: cloudify.azure.relationships.depends_on_subnet + occurrences: [ 0, UNBOUNDED ] + + + + aria.azure.nodes.network.RouteTable: + derived_from: tosca.nodes.Root + properties: + name: + type: string + description: > + Name for the resource. + required: false + resource_group_name: + type: string + description: > + Name of the Resource Group that the existing resource belongs to + (this is only useful when not using a relationship between a resource + node and a Resource Group node) + required: false + location: + type: string + description: > + Specifies the supported Azure location for the resource + required: false + tags: + description: > + Specifies a dictionary of one or more name and value pairs that describe a tag + required: false + type: string + resource_config: + description: > + A dictionary of values to pass as properties when creating the resource + type: aria.azure.datatypes.RouteTableConfig + required: false + use_external_resource: + description: > + Indicate whether the resource exists or if Cloudify should create the resource + type: boolean + default: false + required: true + retry_after: + description: > + Overrides the Azure-specified "retry_after" response. This property + will set the number of seconds for each task retry interval (in the + case of iteratively checking the status of an asynchronous operation) + type: integer + required: false + azure_config: + description: > + A dictionary of values to pass to authenticate with the Azure API + type: aria.azure.datatypes.Config + required: false + interfaces: + Standard: + create: cloudify-azure-plugin > cloudify_azure.resources.network.routetable.create + delete: cloudify-azure-plugin > cloudify_azure.resources.network.routetable.delete + requirements: + - virtual_subnet: + capability: tosca.capabilities.Node + node: aria.azure.nodes.network.Subnet + relationship: cloudify.azure.relationships.route_table_attached_to_subnet + occurrences: [ 0, UNBOUNDED ] + + aria.azure.nodes.network.Route: + derived_from: tosca.nodes.Root + properties: + name: + type: string + description: > + Name for the resource. + required: false + resource_group_name: + type: string + description: > + Name of the Resource Group that the existing resource belongs to + (this is only useful when not using a relationship between a resource + node and a Resource Group node) + required: false + route_table_name: + type: string + description: > + Name of the Network Security Group that the existing resource belongs to + (this is only useful when not using a relationship between a resource + node and a Virtual Network node) + required: false + location: + type: string + description: > + Specifies the supported Azure location for the resource + required: false + tags: + description: > + Specifies a dictionary of one or more name and value pairs that describe a tag + required: false + type: string + resource_config: + description: > + A dictionary of values to pass as properties when creating the resource + type: aria.azure.datatypes.RouteConfig + required: false + use_external_resource: + description: > + Indicate whether the resource exists or if Cloudify should create the resource + type: boolean + default: false + required: true + retry_after: + description: > + Overrides the Azure-specified "retry_after" response. This property + will set the number of seconds for each task retry interval (in the + case of iteratively checking the status of an asynchronous operation) + type: integer + required: false + azure_config: + description: > + A dictionary of values to pass to authenticate with the Azure API + type: aria.azure.datatypes.Config + required: false + interfaces: + Standard: + create: cloudify-azure-plugin > cloudify_azure.resources.network.route.create + delete: cloudify-azure-plugin > cloudify_azure.resources.network.route.delete + requirements: + - route_table: + capability: tosca.capabilities.Node + node: aria.azure.nodes.network.RouteTable + relationship: cloudify.azure.relationships.depends_on_route_table + occurrences: [ 0, UNBOUNDED ] + + + aria.azure.nodes.network.NetworkInterfaceCard: + derived_from: tosca.nodes.Root + properties: + name: + type: string + description: > + Name for the resource. + required: false + resource_group_name: + type: string + description: > + Name of the Resource Group that the existing resource belongs to + (this is only useful when not using a relationship between a resource + node and a Resource Group node) + required: false + location: + type: string + description: > + Specifies the supported Azure location for the resource + required: false + tags: + description: > + Specifies a dictionary of one or more name and value pairs that describe a tag + required: false + type: string + primary: + description: > + When using multiple Network Interfaces, a primary must be set + required: false + default: false + type: boolean + resource_config: + description: > + A dictionary of values to pass as properties when creating the resource + type: aria.azure.datatypes.NetworkInterfaceCardConfig + required: false + use_external_resource: + description: > + Indicate whether the resource exists or if Cloudify should create the resource + type: boolean + default: false + required: true + retry_after: + description: > + Overrides the Azure-specified "retry_after" response. This property + will set the number of seconds for each task retry interval (in the + case of iteratively checking the status of an asynchronous operation) + type: integer + required: false + azure_config: + description: > + A dictionary of values to pass to authenticate with the Azure API + type: aria.azure.datatypes.Config + required: false + interfaces: + Standard: + create: cloudify-azure-plugin > cloudify_azure.resources.network.networkinterfacecard.create + configure: cloudify-azure-plugin > cloudify_azure.resources.network.networkinterfacecard.configure + delete: cloudify-azure-plugin > cloudify_azure.resources.network.networkinterfacecard.delete + requirements: + - resource_group: + capability: tosca.capabilities.Node + node: aria.azure.nodes.ResourceGroup + relationship: cloudify.azure.relationships.contained_in_resource_group + occurrences: [ 0, UNBOUNDED ] + - ip_config: + capability: tosca.capabilities.Node + node: aria.azure.nodes.network.IPConfiguration + relationship: cloudify.azure.relationships.nic_connected_to_ip_configuration + occurrences: [ 0, UNBOUNDED ] + - security_group: + capability: tosca.capabilities.Node + node: aria.azure.nodes.network.NetworkSecurityGroup + relationship: cloudify.azure.relationships.nic_connected_to_network_security_group + occurrences: [ 0, UNBOUNDED ] + + + + aria.azure.nodes.network.IPConfiguration: + derived_from: tosca.nodes.Root + properties: + name: + type: string + description: > + Name for the resource. + required: false + resource_group_name: + type: string + description: > + Name of the Resource Group that the existing resource belongs to + (this is only useful when not using a relationship between a resource + node and a Resource Group node) + required: false + location: + type: string + description: > + Specifies the supported Azure location for the resource + required: false + tags: + description: > + Specifies a dictionary of one or more name and value pairs that describe a tag + required: false + type: string + resource_config: + description: > + A dictionary of values to pass as properties when creating the resource + type: aria.azure.datatypes.IPConfigurationConfig + required: true + use_external_resource: + description: > + Indicate whether the resource exists or if Cloudify should create the resource + type: boolean + default: false + required: true + retry_after: + description: > + Overrides the Azure-specified "retry_after" response. This property + will set the number of seconds for each task retry interval (in the + case of iteratively checking the status of an asynchronous operation) + type: integer + required: false + azure_config: + description: > + A dictionary of values to pass to authenticate with the Azure API + type: aria.azure.datatypes.Config + required: false + requirements: + - subnet: + capability: tosca.capabilities.Node + node: aria.azure.nodes.network.Subnet + relationship: cloudify.azure.relationships.ip_configuration_connected_to_subnet + occurrences: [ 0, UNBOUNDED ] + - ipaddress: + capability: tosca.capabilities.Node + node: aria.azure.nodes.network.PublicIPAddress + relationship: cloudify.azure.relationships.ip_configuration_connected_to_public_ip + occurrences: [ 0, UNBOUNDED ] + occurrences: [ 0, UNBOUNDED ] + + aria.azure.nodes.network.PublicIPAddress: + derived_from: tosca.nodes.Root + properties: + name: + type: string + description: > + Name for the resource. + required: false + resource_group_name: + type: string + description: > + Name of the Resource Group that the existing resource belongs to + (this is only useful when not using a relationship between a resource + node and a Resource Group node) + required: false + location: + type: string + description: > + Specifies the supported Azure location for the resource + required: false + tags: + description: > + Specifies a dictionary of one or more name and value pairs that describe a tag + required: false + type: string + resource_config: + description: > + A dictionary of values to pass as properties when creating the resource + type: aria.azure.datatypes.PublicIPAddressConfig + required: false + use_external_resource: + description: > + Indicate whether the resource exists or if Cloudify should create the resource + type: boolean + default: false + required: true + retry_after: + description: > + Overrides the Azure-specified "retry_after" response. This property + will set the number of seconds for each task retry interval (in the + case of iteratively checking the status of an asynchronous operation) + type: integer + required: false + azure_config: + description: > + A dictionary of values to pass to authenticate with the Azure API + type: aria.azure.datatypes.Config + required: false + interfaces: + Standard: + create: cloudify-azure-plugin > cloudify_azure.resources.network.publicipaddress.create + delete: cloudify-azure-plugin > cloudify_azure.resources.network.publicipaddress.delete + requirements: + - resource_group: + capability: tosca.capabilities.Node + node: aria.azure.nodes.ResourceGroup + relationship: cloudify.azure.relationships.contained_in_resource_group + occurrences: [ 0, UNBOUNDED ] + + aria.azure.nodes.compute.AvailabilitySet: + derived_from: tosca.nodes.Root + properties: + name: + type: string + description: > + Name for the resource. + required: false + resource_group_name: + type: string + description: > + Name of the Resource Group that the existing resource belongs to + (this is only useful when not using a relationship between a resource + node and a Resource Group node) + required: false + location: + type: string + description: > + Specifies the supported Azure location for the resource + required: false + tags: + description: > + Specifies a dictionary of one or more name and value pairs that describe a tag + required: false + type: string + resource_config: + description: > + A dictionary of values to pass as properties when creating the resource + type: aria.azure.datatypes.AvailabilitySetConfig + required: true + use_external_resource: + description: > + Indicate whether the resource exists or if Cloudify should create the resource + type: boolean + default: false + required: true + retry_after: + description: > + Overrides the Azure-specified "retry_after" response. This property + will set the number of seconds for each task retry interval (in the + case of iteratively checking the status of an asynchronous operation) + type: integer + required: false + azure_config: + description: > + A dictionary of values to pass to authenticate with the Azure API + type: aria.azure.datatypes.Config + required: false + interfaces: + Standard: + create: cloudify-azure-plugin > cloudify_azure.resources.compute.availabilityset.create + delete: cloudify-azure-plugin > cloudify_azure.resources.compute.availabilityset.delete + + + aria.azure.nodes.compute.VirtualMachine: + derived_from: tosca.nodes.Compute + properties: + name: + type: string + description: > + Name for the resource. + required: false + resource_group_name: + type: string + description: > + Name of the Resource Group that the existing resource belongs to + (this is only useful when not using a relationship between a resource + node and a Resource Group node) + required: false + use_public_ip: + type: boolean + description: > + Tells the deployment to use the public IP (if available) of the resource + for Cloudify Agent connections + default: false + location: + type: string + description: > + Specifies the supported Azure location for the resource + required: false + tags: + description: > + Specifies a dictionary of one or more name and value pairs that describe a tag + required: false + type: string + plan: + description: > + Specifies information about the marketplace image used to create the virtual + machine. This element is only used for marketplace images. + required: false + type: string + resource_config: + description: > + A dictionary of values to pass as properties when creating the resource + type: aria.azure.datatypes.VirtualMachineConfig + required: true + use_external_resource: + description: > + Indicate whether the resource exists or if Cloudify should create the resource + type: boolean + default: false + required: true + retry_after: + description: > + Overrides the Azure-specified "retry_after" response. This property + will set the number of seconds for each task retry interval (in the + case of iteratively checking the status of an asynchronous operation) + type: integer + required: false + azure_config: + description: > + A dictionary of values to pass to authenticate with the Azure API + type: aria.azure.datatypes.Config + required: false + ip: + description: | + Property specifying the IP address of the resource to + use for the agent installer. + type: string + required: false + os_family: + description: | + Property specifying what type of operating system family + this compute node will run. + default: windows + type: string + agent_config: + type: aria.azure.datatypes.AgentConfig + default: + install_method: remote + port: 5985 + interfaces: + Standard: + create: cloudify-azure-plugin > cloudify_azure.resources.compute.virtualmachine.create +# configure: +# implementation: cloudify-azure-plugin > cloudify_azure.resources.compute.virtualmachine.configure +# inputs: +# command_to_execute: +# description: > +# This is the command that the CustomScriptExtension extension will +# execute. The file_uris below will be downloaded and this property +# should specify a command to start the execution of one of them. +# default: powershell -ExecutionPolicy Unrestricted -file ps_enable_winrm_http.ps1 +# file_uris: +# default: +# - https://raw.githubusercontent.com/cloudify-cosmo/cloudify-azure-plugin/1.4/scripts/ps_enable_winrm_http.ps1 + delete: cloudify-azure-plugin > cloudify_azure.resources.compute.virtualmachine.delete + requirements: + - resource_group: + capability: tosca.capabilities.Node + node: aria.azure.nodes.ResourceGroup + relationship: cloudify.azure.relationships.contained_in_resource_group + occurrences: [ 0, UNBOUNDED ] + - nic: + capability: tosca.capabilities.Node + node: aria.azure.nodes.network.NetworkInterfaceCard + relationship: cloudify.azure.relationships.connected_to_nic + occurrences: [ 0, UNBOUNDED ] + - storage_account: + capability: tosca.capabilities.Node + node: aria.azure.nodes.storage.StorageAccount + relationship: cloudify.azure.relationships.connected_to_storage_account + - data_disk: + capability: tosca.capabilities.Node + node: aria.azure.nodes.storage.DataDisk + relationship: cloudify.azure.relationships.vm_connected_to_datadisk + occurrences: [ 0, UNBOUNDED ] + + + + aria.azure.nodes.network.LoadBalancer: + derived_from: tosca.nodes.Root + properties: + name: + type: string + description: > + Name for the resource. + required: false + resource_group_name: + type: string + description: > + Name of the Resource Group that the existing resource belongs to + (this is only useful when not using a relationship between a resource + node and a Resource Group node) + required: false + location: + type: string + description: > + Specifies the supported Azure location for the resource + required: false + tags: + description: > + Specifies a dictionary of one or more name and value pairs that describe a tag + required: false + type: string + resource_config: + description: > + A dictionary of values to pass as properties when creating the resource + type: aria.azure.datatypes.LoadBalancerConfig + required: false + use_external_resource: + description: > + Indicate whether the resource exists or if Cloudify should create the resource + type: boolean + default: false + required: true + retry_after: + description: > + Overrides the Azure-specified "retry_after" response. This property + will set the number of seconds for each task retry interval (in the + case of iteratively checking the status of an asynchronous operation) + type: integer + required: false + azure_config: + description: > + A dictionary of values to pass to authenticate with the Azure API + type: aria.azure.datatypes.Config + required: false + interfaces: + Standard: + create: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.create + configure: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.configure + delete: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.delete + + + + + aria.azure.nodes.network.LoadBalancer.BackendAddressPool: + derived_from: tosca.nodes.Root + properties: + name: + type: string + description: > + Name for the resource. + required: false + resource_group_name: + type: string + description: > + Name of the Resource Group that the existing resource belongs to + (this is only useful when not using a relationship between a resource + node and a Resource Group node) + required: false + load_balancer_name: + type: string + required: false + location: + type: string + description: > + Specifies the supported Azure location for the resource + required: false + tags: + description: > + Specifies a dictionary of one or more name and value pairs that describe a tag + required: false + type: string + use_external_resource: + description: > + Indicate whether the resource exists or if Cloudify should create the resource + type: boolean + default: false + required: true + retry_after: + description: > + Overrides the Azure-specified "retry_after" response. This property + will set the number of seconds for each task retry interval (in the + case of iteratively checking the status of an asynchronous operation) + type: integer + required: false + azure_config: + description: > + A dictionary of values to pass to authenticate with the Azure API + type: aria.azure.datatypes.Config + required: false + interfaces: + Standard: + create: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.create_backend_pool + delete: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.delete_backend_pool + + + + aria.azure.nodes.network.LoadBalancer.Probe: + derived_from: tosca.nodes.Root + properties: + name: + type: string + description: > + Name for the resource. + required: false + resource_group_name: + type: string + description: > + Name of the Resource Group that the existing resource belongs to + (this is only useful when not using a relationship between a resource + node and a Resource Group node) + required: false + load_balancer_name: + type: string + required: false + location: + type: string + description: > + Specifies the supported Azure location for the resource + required: false + tags: + description: > + Specifies a dictionary of one or more name and value pairs that describe a tag + required: false + type: string + resource_config: + description: > + A dictionary of values to pass as properties when creating the resource + type: aria.azure.datatypes.LoadBalancerProbeConfig + required: false + use_external_resource: + description: > + Indicate whether the resource exists or if Cloudify should create the resource + type: boolean + default: false + required: true + retry_after: + description: > + Overrides the Azure-specified "retry_after" response. This property + will set the number of seconds for each task retry interval (in the + case of iteratively checking the status of an asynchronous operation) + type: integer + required: false + azure_config: + description: > + A dictionary of values to pass to authenticate with the Azure API + type: aria.azure.datatypes.Config + required: false + interfaces: + Standard: + create: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.create_probe + delete: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.delete_probe + + + aria.azure.nodes.network.LoadBalancer.IncomingNATRule: + derived_from: tosca.nodes.Root + properties: + name: + type: string + description: > + Name for the resource. + required: false + resource_group_name: + type: string + description: > + Name of the Resource Group that the existing resource belongs to + (this is only useful when not using a relationship between a resource + node and a Resource Group node) + required: false + load_balancer_name: + type: string + required: false + location: + type: string + description: > + Specifies the supported Azure location for the resource + required: false + tags: + description: > + Specifies a dictionary of one or more name and value pairs that describe a tag + required: false + type: string + resource_config: + description: > + A dictionary of values to pass as properties when creating the resource + type: aria.azure.datatypes.LoadBalancerIncomingNATRuleConfig + required: false + use_external_resource: + description: > + Indicate whether the resource exists or if Cloudify should create the resource + type: boolean + default: false + required: true + retry_after: + description: > + Overrides the Azure-specified "retry_after" response. This property + will set the number of seconds for each task retry interval (in the + case of iteratively checking the status of an asynchronous operation) + type: integer + required: false + azure_config: + description: > + A dictionary of values to pass to authenticate with the Azure API + type: aria.azure.datatypes.Config + required: false + interfaces: + Standard: + create: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.create_incoming_nat_rule + delete: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.delete_incoming_nat_rule + + + + aria.azure.nodes.network.LoadBalancer.Rule: + derived_from: tosca.nodes.Root + properties: + name: + type: string + description: > + Name for the resource. + required: false + resource_group_name: + type: string + description: > + Name of the Resource Group that the existing resource belongs to + (this is only useful when not using a relationship between a resource + node and a Resource Group node) + required: false + load_balancer_name: + type: string + required: false + location: + type: string + description: > + Specifies the supported Azure location for the resource + required: false + tags: + description: > + Specifies a dictionary of one or more name and value pairs that describe a tag + required: false + type: string + resource_config: + description: > + A dictionary of values to pass as properties when creating the resource + type: aria.azure.datatypes.LoadBalancerRuleConfig + required: false + use_external_resource: + description: > + Indicate whether the resource exists or if Cloudify should create the resource + type: boolean + default: false + required: true + retry_after: + description: > + Overrides the Azure-specified "retry_after" response. This property + will set the number of seconds for each task retry interval (in the + case of iteratively checking the status of an asynchronous operation) + type: integer + required: false + azure_config: + description: > + A dictionary of values to pass to authenticate with the Azure API + type: aria.azure.datatypes.Config + required: false + interfaces: + Standard: + create: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.create_rule + delete: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.delete_rule + + + + + +relationship_types: + cloudify.azure.relationships.contained_in_resource_group: + derived_from: tosca.relationships.HostedOn + + cloudify.azure.relationships.contained_in_storage_account: + derived_from: tosca.relationships.HostedOn + + cloudify.azure.relationships.contained_in_virtual_network: + derived_from: tosca.relationships.HostedOn + + cloudify.azure.relationships.contained_in_network_security_group: + derived_from: tosca.relationships.HostedOn + + cloudify.azure.relationships.contained_in_route_table: + derived_from: tosca.relationships.HostedOn + + cloudify.azure.relationships.contained_in_load_balancer: + derived_from: tosca.relationships.HostedOn + + cloudify.azure.relationships.depends_on_route_table: + derived_from: tosca.relationships.DependsOn + + cloudify.azure.relationships.depends_on_subnet: + derived_from: tosca.relationships.DependsOn + + cloudify.azure.relationships.virtual_network_depends_on_storage: + derived_from: tosca.relationships.DependsOn + + cloudify.azure.relationships.network_security_group_attached_to_subnet: + derived_from: tosca.relationships.ConnectsTo + interfaces: + Configure: + add_source: cloudify-azure-plugin > cloudify_azure.resources.network.subnet.attach_network_security_group + remove_source: cloudify-azure-plugin > cloudify_azure.resources.network.subnet.detach_network_security_group + + cloudify.azure.relationships.route_table_attached_to_subnet: + derived_from: tosca.relationships.ConnectsTo + interfaces: + Configure: + add_source: cloudify-azure-plugin > cloudify_azure.resources.network.subnet.attach_route_table + remove_source: cloudify-azure-plugin > cloudify_azure.resources.network.subnet.detach_route_table + + cloudify.azure.relationships.nic_connected_to_network_security_group: + derived_from: tosca.relationships.ConnectsTo + + cloudify.azure.relationships.nic_connected_to_ip_configuration: + derived_from: tosca.relationships.ConnectsTo + interfaces: + Configure: + pre_configure_source: cloudify-azure-plugin > cloudify_azure.resources.network.networkinterfacecard.attach_ip_configuration + + cloudify.azure.relationships.lb_connected_to_ip_configuration: + derived_from: tosca.relationships.ConnectsTo + interfaces: + Configure: + preconfigure: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.attach_ip_configuration + + cloudify.azure.relationships.ip_configuration_connected_to_subnet: + derived_from: tosca.relationships.ConnectsTo + + cloudify.azure.relationships.ip_configuration_connected_to_public_ip: + derived_from: tosca.relationships.ConnectsTo + + cloudify.azure.relationships.connected_to_storage_account: + derived_from: tosca.relationships.ConnectsTo + + cloudify.azure.relationships.connected_to_data_disk: + derived_from: tosca.relationships.ConnectsTo + interfaces: + Configure: + add_target: cloudify-azure-plugin > cloudify_azure.resources.compute.virtualmachine.attach_disk + remove_target: cloudify-azure-plugin > cloudify_azure.resources.compute.virtualmachine.detach_disk + + + cloudify.azure.relationships.connected_to_nic: + derived_from: tosca.relationships.ConnectsTo + + + cloudify.azure.relationships.connected_to_availability_set: + derived_from: tosca.relationships.ConnectsTo + + cloudify.azure.relationships.connected_to_ip_configuration: + derived_from: tosca.relationships.ConnectsTo + + cloudify.azure.relationships.connected_to_lb_be_pool: + derived_from: tosca.relationships.ConnectsTo + + cloudify.azure.relationships.connected_to_lb_probe: + derived_from: tosca.relationships.ConnectsTo + + cloudify.azure.relationships.vmx_contained_in_vm: + derived_from: tosca.relationships.HostedOn + + cloudify.azure.relationships.nic_connected_to_lb_be_pool: + derived_from: tosca.relationships.ConnectsTo + interfaces: + Configure: + add_target: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.attach_nic_to_backend_pool + remove_target: cloudify-azure-plugin > cloudify_azure.resources.network.loadbalancer.detach_nic_from_backend_pool + + cloudify.azure.relationships.vm_connected_to_datadisk: + derived_from: tosca.relationships.ConnectsTo + interfaces: + Configure: + add_target: + implementation: cloudify-azure-plugin > cloudify_azure.resources.compute.virtualmachine.attach_data_disk + inputs: + lun: + description: > + Specifies the logical unit number of the data disk in the VM + default: 0 + required: true + type: integer + remove_target: cloudify-azure-plugin > cloudify_azure.resources.compute.virtualmachine.detach_data_disk + + + diff --git a/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml new file mode 100644 index 0000000..945622f --- /dev/null +++ b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/artifacts.yaml @@ -0,0 +1,121 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +artifact_types: + + tosca.artifacts.Root: + _extensions: + shorthand_name: Root # ARIA NOTE: omitted in the spec + type_qualified_name: tosca:Root + specification: tosca-simple-1.0 + specification_section: 5.3.1 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_ARTIFACTS_ROOT' + description: >- + This is the default (root) TOSCA Artifact Type definition that all other TOSCA base Artifact Types derive from. + + tosca.artifacts.File: + _extensions: + shorthand_name: File + type_qualified_name: tosca:File + specification: tosca-simple-1.0 + specification_section: 5.3.2 + description: >- + This artifact type is used when an artifact definition needs to have its associated file simply treated as a file and no special handling/handlers are invoked (i.e., it is not treated as either an implementation or deployment artifact type). + derived_from: tosca.artifacts.Root + + # + # Deployments + # + + tosca.artifacts.Deployment: + _extensions: + shorthand_name: Deployment # ARIA NOTE: omitted in the spec + type_qualified_name: tosca:Deployment + specification: tosca-simple-1.0 + specification_section: 5.3.3.1 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_ARTIFACTS_DEPLOYMENT' + description: >- + This artifact type represents the parent type for all deployment artifacts in TOSCA. This class of artifacts typically + represents a binary packaging of an application or service that is used to install/create or deploy it as part of a node's + lifecycle. + derived_from: tosca.artifacts.Root + + tosca.artifacts.Deployment.Image: + _extensions: + shorthand_name: Deployment.Image + type_qualified_name: tosca:Deployment.Image + specification: tosca-simple-1.0 + specification_section: 5.3.3.3 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_ARTIFACTS_DEPLOYMENT_IMAGE' + description: >- + This artifact type represents a parent type for any "image" which is an opaque packaging of a TOSCA Node's deployment + (whether real or virtual) whose contents are typically already installed and pre-configured (i.e., "stateful") and prepared + to be run on a known target container. + derived_from: tosca.artifacts.Deployment + + tosca.artifacts.Deployment.Image.VM: + _extensions: + shorthand_name: Deployment.VM # ARIA NOTE: omitted in the spec + type_qualified_name: tosca:Deployment.VM + specification: tosca-simple-1.0 + specification_section: 5.3.3.4 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_ARTIFACTS_DEPLOY_IMAGE_VM' + description: >- + This artifact represents the parent type for all Virtual Machine (VM) image and container formatted deployment artifacts. + These images contain a stateful capture of a machine (e.g., server) including operating system and installed software along + with any configurations and can be run on another machine using a hypervisor which virtualizes typical server (i.e., + hardware) resources. + derived_from: tosca.artifacts.Deployment + + # + # Implementations + # + + tosca.artifacts.Implementation: + _extensions: + shorthand_name: Implementation # ARIA NOTE: omitted in the spec + type_qualified_name: tosca:Implementation + specification: tosca-simple-1.0 + specification_section: 5.3.4.1 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_ARTIFACTS_IMPLEMENTATION' + description: >- + This artifact type represents the parent type for all implementation artifacts in TOSCA. These artifacts are used to + implement operations of TOSCA interfaces either directly (e.g., scripts) or indirectly (e.g., config. files). + derived_from: tosca.artifacts.Root + + tosca.artifacts.Implementation.Bash: + _extensions: + shorthand_name: Implementation.Bash # ARIA NOTE: mistake in spec? shouldn't we have "Implementation." as prefix? + type_qualified_name: tosca:Implementation.Bash + specification: tosca-simple-1.0 + specification_section: 5.3.4.3 + description: >- + This artifact type represents a Bash script type that contains Bash commands that can be executed on the Unix Bash shell. + derived_from: tosca.artifacts.Implementation + mime_type: application/x-sh + file_ext: [ sh ] + + tosca.artifacts.Implementation.Python: + _extensions: + shorthand_name: Implementation.Python # ARIA NOTE: mistake in spec? shouldn't we have "Implementation." as prefix? + type_qualified_name: tosca:Implementation.Python + specification: tosca-simple-1.0 + specification_section: 5.3.4.4 + description: >- + This artifact type represents a Python file that contains Python language constructs that can be executed within a Python + interpreter. + derived_from: tosca.artifacts.Implementation + mime_type: application/x-python + file_ext: [ py ] diff --git a/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml new file mode 100644 index 0000000..66a4046 --- /dev/null +++ b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/capabilities.yaml @@ -0,0 +1,322 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +capability_types: + + tosca.capabilities.Root: + _extensions: + shorthand_name: Root # ARIA NOTE: omitted in the spec + type_qualified_name: tosca:Root + specification: tosca-simple-1.0 + specification_section: 5.4.1 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_ROOT' + description: >- + This is the default (root) TOSCA Capability Type definition that all other TOSCA Capability Types derive from. + + tosca.capabilities.Node: + _extensions: + shorthand_name: Node + type_qualified_name: tosca:Node + specification: tosca-simple-1.0 + specification_section: 5.4.2 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_NODE' + role: feature + description: >- + The Node capability indicates the base capabilities of a TOSCA Node Type. + derived_from: tosca.capabilities.Root + + tosca.capabilities.Container: + _extensions: + shorthand_name: Container + type_qualified_name: tosca:Container + specification: tosca-simple-1.0 + specification_section: 5.4.3 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_CONTAINER' + role: host + description: >- + The Container capability, when included on a Node Type or Template definition, indicates that the node can act as a container + for (or a host for) one or more other declared Node Types. + derived_from: tosca.capabilities.Root + properties: + num_cpus: + description: >- + Number of (actual or virtual) CPUs associated with the Compute node. + type: integer + constraints: + - greater_or_equal: 1 + required: false + cpu_frequency: + description: >- + Specifies the operating frequency of CPU's core. This property expresses the expected frequency of one (1) CPU as + provided by the property "num_cpus". + type: scalar-unit.frequency + constraints: + - greater_or_equal: 0.1 GHz + required: false + disk_size: + description: >- + Size of the local disk available to applications running on the Compute node (default unit is MB). + type: scalar-unit.size + constraints: + - greater_or_equal: 0 MB + required: false + mem_size: + description: >- + Size of memory available to applications running on the Compute node (default unit is MB). + type: scalar-unit.size + constraints: + - greater_or_equal: 0 MB + required: false + + tosca.capabilities.Attachment: + _extensions: + shorthand_name: Attachment + type_qualified_name: tosca:Attachment + specification: tosca-simple-1.0 + specification_section: 5.4.8 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_ATTACHMENT' + description: >- + This is the default TOSCA type that should be used or extended to define an attachment capability of a (logical) + infrastructure device node (e.g., BlockStorage node). + derived_from: tosca.capabilities.Root + + tosca.capabilities.OperatingSystem: + _extensions: + shorthand_name: OperatingSystem + type_qualified_name: tosca:OperatingSystem + specification: tosca-simple-1.0 + specification_section: 5.4.9 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_OPSYS' + description: >- + This is the default TOSCA type that should be used to express an Operating System capability for a node. + derived_from: tosca.capabilities.Root + properties: + architecture: + description: >- + The Operating System (OS) architecture. Examples of valid values include: x86_32, x86_64, etc. + type: string + required: false + type: + description: >- + The Operating System (OS) type. Examples of valid values include: linux, aix, mac, windows, etc. + type: string + required: false + distribution: + description: >- + The Operating System (OS) distribution. Examples of valid values for a "type" of "Linux" would include: debian, fedora, + rhel and ubuntu. + type: string + required: false + version: + description: >- + The Operating System version. + type: version + required: false + + tosca.capabilities.Scalable: + _extensions: + shorthand_name: Scalable + type_qualified_name: tosca:Scalable + specification: tosca-simple-1.0 + specification_section: 5.4.10 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_SCALABLE' + role: scaling + description: >- + This is the default TOSCA type that should be used to express a scalability capability for a node. + derived_from: tosca.capabilities.Root + properties: + min_instances: + description: >- + This property is used to indicate the minimum number of instances that should be created for the associated TOSCA Node + Template by a TOSCA orchestrator. + type: integer + default: 1 + max_instances: + description: >- + This property is used to indicate the maximum number of instances that should be created for the associated TOSCA Node + Template by a TOSCA orchestrator. + type: integer + default: 1 + default_instances: + description: >- + An optional property that indicates the requested default number of instances that should be the starting number of + instances a TOSCA orchestrator should attempt to allocate. Note: The value for this property MUST be in the range between + the values set for "min_instances" and "max_instances" properties. + type: integer + required: false + + # + # Endpoints + # + + tosca.capabilities.Endpoint: + _extensions: + shorthand_name: Endpoint + type_qualified_name: tosca:Endpoint + specification: tosca-simple-1.0 + specification_section: 5.4.4 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_ENDPOINT' + description: >- + This is the default TOSCA type that should be used or extended to define a network endpoint capability. This includes the information to express a basic endpoint with a single port or a complex endpoint with multiple ports. By default the Endpoint is assumed to represent an address on a private network unless otherwise specified. + derived_from: tosca.capabilities.Root + properties: + protocol: + description: >- + The name of the protocol (i.e., the protocol prefix) that the endpoint accepts (any OSI Layer 4-7 protocols). Examples: + http, https, ftp, tcp, udp, etc. + type: string + default: tcp + required: true + port: + description: >- + The optional port of the endpoint. + type: tosca.datatypes.network.PortDef + required: false + secure: + description: >- + Requests for the endpoint to be secure and use credentials supplied on the ConnectsTo relationship. + type: boolean + default: false + required: false + url_path: + description: >- + The optional URL path of the endpoint's address if applicable for the protocol. + type: string + required: false + port_name: + description: >- + The optional name (or ID) of the network port this endpoint should be bound to. + type: string + required: false + network_name: + description: >- + The optional name (or ID) of the network this endpoint should be bound to. network_name: PRIVATE | PUBLIC | + <network_name> | <network_id>. + type: string + default: PRIVATE + required: false + initiator: + description: >- + The optional indicator of the direction of the connection. + type: string + constraints: + - valid_values: [ source, target, peer ] + default: source + required: false + ports: + description: >- + The optional map of ports the Endpoint supports (if more than one). + type: map + entry_schema: + type: tosca.datatypes.network.PortSpec + constraints: + - min_length: 1 + required: false + attributes: + ip_address: + description: >- + Note: This is the IP address as propagated up by the associated node's host (Compute) container. + type: string + + tosca.capabilities.Endpoint.Public: + _extensions: + shorthand_name: Endpoint.Public + type_qualified_name: tosca:Endpoint.Public + specification: tosca-simple-1.0 + specification_section: 5.4.5 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_ENDPOINT_PUBLIC' + description: >- + This capability represents a public endpoint which is accessible to the general internet (and its public IP address ranges). + + This public endpoint capability also can be used to create a floating (IP) address that the underlying network assigns from a + pool allocated from the application's underlying public network. This floating address is managed by the underlying network + such that can be routed an application's private address and remains reliable to internet clients. + derived_from: tosca.capabilities.Endpoint + properties: + network_name: + type: string + constraints: + - equal: PUBLIC + default: PUBLIC + floating: + description: >- + Indicates that the public address should be allocated from a pool of floating IPs that are associated with the network. + type: boolean + default: false + status: experimental + dns_name: + description: >- + The optional name to register with DNS. + type: string + required: false + status: experimental + + tosca.capabilities.Endpoint.Admin: + _extensions: + shorthand_name: Endpoint.Admin + type_qualified_name: tosca:Endpoint.Admin + specification: tosca-simple-1.0 + specification_section: 5.4.6 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_ENDPOINT_ADMIN' + description: >- + This is the default TOSCA type that should be used or extended to define a specialized administrator endpoint capability. + derived_from: tosca.capabilities.Endpoint + properties: + secure: + description: >- + Requests for the endpoint to be secure and use credentials supplied on the ConnectsTo relationship. + type: boolean + constraints: + - equal: true + default: true + + tosca.capabilities.Endpoint.Database: + _extensions: + shorthand_name: Endpoint.Database + type_qualified_name: tosca:Endpoint.Database + specification: tosca-simple-1.0 + specification_section: 5.4.7 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_ENDPOINT_DATABASE' + description: >- + This is the default TOSCA type that should be used or extended to define a specialized database endpoint capability. + derived_from: tosca.capabilities.Endpoint + + # + # Network + # + + tosca.capabilities.network.Bindable: + _extensions: + shorthand_name: Bindable # ARIA NOTE: mistake in spec? has "network." as a prefix + type_qualified_name: tosca:Bindable + specification: tosca-simple-1.0 + specification_section: 5.4.11 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_NETWORK_BINDABLE' + description: >- + A node type that includes the Bindable capability indicates that it can be bound to a logical network association via a + network port. + derived_from: tosca.capabilities.Node + + tosca.capabilities.network.Linkable: + _extensions: + shorthand_name: Linkable + type_qualified_name: tosca:Linkable + specification: tosca-simple-1.0 + specification_section: 7.5.3 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_CAPABILITIES_NETWORK_LINKABLE' + description: >- + A node type that includes the Linkable capability indicates that it can be pointed by tosca.relationships.network.LinksTo + relationship type. + derived_from: tosca.capabilities.Node diff --git a/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml new file mode 100644 index 0000000..61d4186 --- /dev/null +++ b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/data.yaml @@ -0,0 +1,268 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +data_types: + + # + # Primitive + # + + timestamp: + _extensions: + coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_timestamp + + version: + _extensions: + coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_version + type_qualified_name: tosca:version + specification: tosca-simple-1.0 + specification_section: 3.2.2 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_VERSION' + + range: + _extensions: + coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_range + type_qualified_name: tosca:range + specification: tosca-simple-1.0 + specification_section: 3.2.3 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_RANGE' + + # + # With entry schema + # + + list: + _extensions: + use_entry_schema: true + coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_list + type_qualified_name: tosca:list + specification: tosca-simple-1.0 + specification_section: 3.2.4 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_LIST' + + map: + _extensions: + use_entry_schema: true + coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_map_value + type_qualified_name: tosca:map + specification: tosca-simple-1.0 + specification_section: 3.2.5 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_MAP' + + # + # Scalar + # + + scalar-unit.size: + _extensions: + coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_scalar_unit_size + type_qualified_name: tosca:scalar-unit.size + specification: tosca-simple-1.0 + specification_section: 3.2.6.4 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_SCALAR_UNIT_SIZE' + + scalar-unit.time: + _extensions: + coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_scalar_unit_time + type_qualified_name: tosca:scalar-unit.time + specification: tosca-simple-1.0 + specification_section: 3.2.6.5 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_SCALAR_UNIT_TIME' + + scalar-unit.frequency: + _extensions: + coerce_value: aria_extension_tosca.simple_v1_0.data_types.coerce_scalar_unit_frequency + type_qualified_name: tosca:scalar-unit.frequency + specification: tosca-simple-1.0 + specification_section: 3.2.6.6 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_SCALAR_UNIT_FREQUENCY' + + # + # Complex + # + + tosca.datatypes.Root: + _extensions: + shorthand_name: Root # ARIA NOTE: omitted in the spec + type_qualified_name: tosca:Root + specification: tosca-simple-1.0 + specification_section: 5.2.1 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_DATA_ROOT' + description: >- + This is the default (root) TOSCA Root Type definition that all complex TOSCA Data Types derive from. + + tosca.datatypes.Credential: + _extensions: + shorthand_name: Credential + type_qualified_name: tosca:Credential + specification: tosca-simple-1.0 + specification_section: 5.2.2 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_DATA_CREDENTIAL' + description: >- + The Credential type is a complex TOSCA data Type used when describing authorization credentials used to access network + accessible resources. + derived_from: tosca.datatypes.Root + properties: + protocol: + description: >- + The optional protocol name. + type: string + required: false + token_type: + description: >- + The required token type. + type: string + default: password + token: + description: >- + The required token used as a credential for authorization or access to a networked resource. + type: string + required: false + keys: + description: >- + The optional list of protocol-specific keys or assertions. + type: map + entry_schema: + type: string + required: false + user: + description: >- + The optional user (name or ID) used for non-token based credentials. + type: string + required: false + + tosca.datatypes.network.NetworkInfo: + _extensions: + shorthand_name: NetworkInfo + type_qualified_name: tosca:NetworkInfo + specification: tosca-simple-1.0 + specification_section: 5.2.3 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_DATA_NETWORKINFO' + description: >- + The Network type is a complex TOSCA data type used to describe logical network information. + derived_from: tosca.datatypes.Root + properties: + network_name: + description: >- + The name of the logical network. e.g., "public", "private", "admin". etc. + type: string + required: false + network_id: + description: >- + The unique ID of for the network generated by the network provider. + type: string + required: false + addresses: + description: >- + The list of IP addresses assigned from the underlying network. + type: list + entry_schema: + type: string + required: false + + tosca.datatypes.network.PortInfo: + _extensions: + shorthand_name: PortInfo + type_qualified_name: tosca:PortInfo + specification: tosca-simple-1.0 + specification_section: 5.2.4 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_DATA_PORTINFO' + description: >- + The PortInfo type is a complex TOSCA data type used to describe network port information. + derived_from: tosca.datatypes.Root + properties: + port_name: + description: >- + The logical network port name. + type: string + required: false + port_id: + description: >- + The unique ID for the network port generated by the network provider. + type: string + required: false + network_id: + description: >- + The unique ID for the network. + type: string + required: false + mac_address: + description: >- + The unique media access control address (MAC address) assigned to the port. + type: string + required: false + addresses: + description: >- + The list of IP address(es) assigned to the port. + type: list + entry_schema: + type: string + required: false + + tosca.datatypes.network.PortDef: + _extensions: + shorthand_name: PortDef + type_qualified_name: tosca:PortDef + specification: tosca-simple-1.0 + specification_section: 5.2.5 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_DATA_PORTDEF' + description: >- + The PortDef type is a TOSCA data Type used to define a network port. + derived_from: integer # ARIA NOTE: we allow deriving from primitives + constraints: + - in_range: [ 1, 65535 ] + + tosca.datatypes.network.PortSpec: + _extensions: + shorthand_name: PortSpec + type_qualified_name: tosca:PortSpec + specification: tosca-simple-1.0 + specification_section: 5.2.6 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#TYPE_TOSCA_DATA_PORTSPEC' + description: >- + The PortSpec type is a complex TOSCA data Type used when describing port specifications for a network connection. + derived_from: tosca.datatypes.Root + properties: + protocol: + description: >- + The required protocol used on the port. + type: string + constraints: + - valid_values: [ udp, tcp, igmp ] + default: tcp + source: + description: >- + The optional source port. + type: tosca.datatypes.network.PortDef + required: false + source_range: + description: >- + The optional range for source port. + type: range + constraints: + - in_range: [ 1, 65535 ] + required: false + target: + description: >- + The optional target port. + type: tosca.datatypes.network.PortDef + required: false + target_range: + description: >- + The optional range for target port. + type: range + constraints: + - in_range: [ 1, 65535 ] + required: false diff --git a/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/groups.yaml b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/groups.yaml new file mode 100644 index 0000000..66cc25f --- /dev/null +++ b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/groups.yaml @@ -0,0 +1,28 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +group_types: + + tosca.groups.Root: + _extensions: + shorthand_name: Root # ARIA NOTE: omitted in the spec + type_qualified_name: tosca:Root + specification: tosca-simple-1.0 + specification_section: 5.9.1 + description: >- + This is the default (root) TOSCA Group Type definition that all other TOSCA base Group Types derive from. + interfaces: + Standard: + type: tosca.interfaces.node.lifecycle.Standard diff --git a/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/interfaces.yaml b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/interfaces.yaml new file mode 100644 index 0000000..29cc8dd --- /dev/null +++ b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/interfaces.yaml @@ -0,0 +1,107 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +interface_types: + + tosca.interfaces.Root: + _extensions: + shorthand_name: Root # ARIA NOTE: omitted in the spec + type_qualified_name: tosca:Root + specification: tosca-simple-1.0 + specification_section: 5.7.3 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#_Ref384391055' + description: >- + This is the default (root) TOSCA Interface Type definition that all other TOSCA Interface Types derive from. + + tosca.interfaces.node.lifecycle.Standard: + _extensions: + shorthand_name: Standard + type_qualified_name: tosca:Standard + specification: tosca-simple-1.0 + specification_section: 5.7.4 + description: >- + This lifecycle interface defines the essential, normative operations that TOSCA nodes may support. + derived_from: tosca.interfaces.Root + create: + description: >- + Standard lifecycle create operation. + configure: + description: >- + Standard lifecycle configure operation. + start: + description: >- + Standard lifecycle start operation. + stop: + description: >- + Standard lifecycle stop operation. + delete: + description: >- + Standard lifecycle delete operation. + + tosca.interfaces.relationship.Configure: + _extensions: + shorthand_name: Configure + type_qualified_name: tosca:Configure + specification: tosca-simple-1.0 + specification_section: 5.7.5 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_ITFC_RELATIONSHIP_CONFIGURE' + description: >- + The lifecycle interfaces define the essential, normative operations that each TOSCA Relationship Types may support. + derived_from: tosca.interfaces.Root + pre_configure_source: + description: >- + Operation to pre-configure the source endpoint. + _extensions: + relationship_edge: source + pre_configure_target: + description: >- + Operation to pre-configure the target endpoint. + _extensions: + relationship_edge: target + post_configure_source: + description: >- + Operation to post-configure the source endpoint. + _extensions: + relationship_edge: source + post_configure_target: + description: >- + Operation to post-configure the target endpoint. + _extensions: + relationship_edge: target + add_target: + description: >- + Operation to notify the source node of a target node being added via a relationship. + _extensions: + relationship_edge: source + add_source: + description: >- + Operation to notify the target node of a source node which is now available via a relationship. + _extensions: + relationship_edge: target + target_changed: + description: >- + Operation to notify source some property or attribute of the target changed + _extensions: + relationship_edge: source + remove_target: + description: >- + Operation to remove a target node. + _extensions: + relationship_edge: source + remove_source: + description: >- + Operation to remove the source node. + _extensions: + relationship_edge: target diff --git a/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/nodes.yaml b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/nodes.yaml new file mode 100644 index 0000000..05963b7 --- /dev/null +++ b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/nodes.yaml @@ -0,0 +1,525 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +node_types: + + tosca.nodes.Root: + _extensions: + shorthand_name: Root + type_qualified_name: tosca:Root + specification: tosca-simple-1.0 + specification_section: 5.8.1 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_NODES_ROOT' + description: >- + The TOSCA Root Node Type is the default type that all other TOSCA base Node Types derive from. This allows for all TOSCA nodes to have a consistent set of features for modeling and management (e.g., consistent definitions for requirements, capabilities and lifecycle interfaces). + attributes: + tosca_id: + description: >- + A unique identifier of the realized instance of a Node Template that derives from any TOSCA normative type. + type: string + tosca_name: + description: >- + This attribute reflects the name of the Node Template as defined in the TOSCA service template. This name is not unique + to the realized instance model of corresponding deployed application as each template in the model can result in one or + more instances (e.g., scaled) when orchestrated to a provider environment. + type: string + state: + description: >- + The state of the node instance. + type: string + default: initial + interfaces: + Standard: + type: tosca.interfaces.node.lifecycle.Standard + capabilities: + feature: + type: tosca.capabilities.Node + requirements: + - dependency: + capability: tosca.capabilities.Node + node: tosca.nodes.Root + relationship: tosca.relationships.DependsOn + occurrences: [ 0, UNBOUNDED ] + + tosca.nodes.Compute: + _extensions: + shorthand_name: Compute + type_qualified_name: tosca:Compute + specification: tosca-simple-1.0 + specification_section: 5.8.2 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_NODES_COMPUTE' + role: host + description: >- + The TOSCA Compute node represents one or more real or virtual processors of software applications or services along with + other essential local resources. Collectively, the resources the compute node represents can logically be viewed as a (real + or virtual) "server". + derived_from: tosca.nodes.Root + attributes: + private_address: + description: >- + The primary private IP address assigned by the cloud provider that applications may use to access the Compute node. + type: string + public_address: + description: >- + The primary public IP address assigned by the cloud provider that applications may use to access the Compute node. + type: string + networks: + description: >- + The list of logical networks assigned to the compute host instance and information about them. + type: map + entry_schema: + type: tosca.datatypes.network.NetworkInfo + ports: + description: >- + The list of logical ports assigned to the compute host instance and information about them. + type: map + entry_schema: + type: tosca.datatypes.network.PortInfo + capabilities: + host: + type: tosca.capabilities.Container + valid_source_types: [ tosca.nodes.SoftwareComponent ] + binding: + type: tosca.capabilities.network.Bindable + os: + type: tosca.capabilities.OperatingSystem + scalable: + type: tosca.capabilities.Scalable + requirements: + - local_storage: + capability: tosca.capabilities.Attachment + node: tosca.nodes.BlockStorage + relationship: tosca.relationships.AttachesTo + occurrences: [ 0, UNBOUNDED ] + + tosca.nodes.LoadBalancer: + _extensions: + shorthand_name: LoadBalancer + type_qualified_name: tosca:LoadBalancer + specification: tosca-simple-1.0 + specification_section: 5.8.12 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#_Toc379548332' + description: >- + The TOSCA Load Balancer node represents logical function that be used in conjunction with a Floating Address to distribute an + application's traffic (load) across a number of instances of the application (e.g., for a clustered or scaled application). + derived_from: tosca.nodes.Root + properties: + algorithm: + description: >- + No description in spec. + type: string + required: false + status: experimental + capabilities: + client: + description: >- + The Floating (IP) client's on the public network can connect to. + type: tosca.capabilities.Endpoint.Public + occurrences: [ 0, UNBOUNDED ] # ARIA NOTE: it seems unnecessary to specify this, as it is the implied default + requirements: + - application: + capability: tosca.capabilities.Endpoint + relationship: tosca.relationships.RoutesTo + occurrences: [ 0, UNBOUNDED ] + + # + # Software + # + + tosca.nodes.SoftwareComponent: + _extensions: + shorthand_name: SoftwareComponent + type_qualified_name: tosca:SoftwareComponent + specification: tosca-simple-1.0 + specification_section: 5.8.3 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_NODES_SOFTWARE_COMPONENT' + description: >- + The TOSCA SoftwareComponent node represents a generic software component that can be managed and run by a TOSCA Compute Node + Type. + derived_from: tosca.nodes.Root + properties: + component_version: + description: >- + The optional software component's version. + type: version + required: false + admin_credential: + description: >- + The optional credential that can be used to authenticate to the software component. + type: tosca.datatypes.Credential + required: false + requirements: + - host: + capability: tosca.capabilities.Container + node: tosca.nodes.Compute + relationship: tosca.relationships.HostedOn + + tosca.nodes.WebServer: + _extensions: + shorthand_name: WebServer + type_qualified_name: tosca:WebServer + specification: tosca-simple-1.0 + specification_section: 5.8.4 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_NODES_WEBSERVER' + description: >- + This TOSCA WebServer Node Type represents an abstract software component or service that is capable of hosting and providing + management operations for one or more WebApplication nodes. + derived_from: tosca.nodes.SoftwareComponent + capabilities: + data_endpoint: + type: tosca.capabilities.Endpoint + admin_endpoint: + type: tosca.capabilities.Endpoint.Admin + host: + type: tosca.capabilities.Container + valid_source_types: [ tosca.nodes.WebApplication ] + + tosca.nodes.WebApplication: + _extensions: + shorthand_name: WebApplication + type_qualified_name: tosca:WebApplication + specification: tosca-simple-1.0 + specification_section: 5.8.5 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_NODES_WEBAPPLICATION' + description: >- + The TOSCA WebApplication node represents a software application that can be managed and run by a TOSCA WebServer node. + Specific types of web applications such as Java, etc. could be derived from this type. + derived_from: tosca.nodes.SoftwareComponent # ARIA NOTE: the spec says tosca.nodes.Root + properties: + context_root: + description: >- + The web application's context root which designates the application's URL path within the web server it is hosted on. + type: string + required: false + capabilities: + app_endpoint: + type: tosca.capabilities.Endpoint + requirements: + - host: + capability: tosca.capabilities.Container + node: tosca.nodes.WebServer + relationship: tosca.relationships.HostedOn + + tosca.nodes.DBMS: + _extensions: + shorthand_name: DBMS # ARIA NOTE: omitted in the spec + type_qualified_name: tosca:DBMS + specification: tosca-simple-1.0 + specification_section: 5.8.6 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_NODES_DBMS' + description: >- + The TOSCA DBMS node represents a typical relational, SQL Database Management System software component or service. + derived_from: tosca.nodes.SoftwareComponent + properties: + root_password: + description: >- + The optional root password for the DBMS server. + type: string + required: false + port: + description: >- + The DBMS server's port. + type: integer + required: false + capabilities: + host: + type: tosca.capabilities.Container + valid_source_types: [ tosca.nodes.Database ] + + tosca.nodes.Database: + _extensions: + shorthand_name: Database + type_qualified_name: tosca:Database + specification: tosca-simple-1.0 + specification_section: 5.8.7 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_NODES_DATABASE' + description: >- + The TOSCA Database node represents a logical database that can be managed and hosted by a TOSCA DBMS node. + derived_from: tosca.nodes.Root # ARIA NOTE: it's *not* a SoftwareComponent + properties: + name: + description: >- + The logical database Name. + type: string + port: + description: >- + The port the database service will use to listen for incoming data and requests. + type: integer + required: false + user: + description: >- + The special user account used for database administration. + type: string + required: false + password: + description: >- + The password associated with the user account provided in the 'user' property. + type: string + required: false + capabilities: + database_endpoint: + type: tosca.capabilities.Endpoint.Database + requirements: + - host: + capability: tosca.capabilities.Container + node: tosca.nodes.DBMS + relationship: tosca.relationships.HostedOn + + # + # Container + # + + tosca.nodes.Container.Runtime: + _extensions: + shorthand_name: Container.Runtime + type_qualified_name: tosca:Container.Runtime + specification: tosca-simple-1.0 + specification_section: 5.8.10 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_NODES_CONTAINER_RUNTIME' + description: >- + The TOSCA Container Runtime node represents operating system-level virtualization technology used to run multiple application + services on a single Compute host. + derived_from: tosca.nodes.SoftwareComponent + capabilities: + host: + type: tosca.capabilities.Container + scalable: + type: tosca.capabilities.Scalable + + tosca.nodes.Container.Application: + _extensions: + shorthand_name: Container.Application + type_qualified_name: tosca:Container.Application + specification: tosca-simple-1.0 + specification_section: 5.8.11 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_NODES_CONTAINER_APP' + description: >- + The TOSCA Container Application node represents an application that requires Container-level virtualization technology. + derived_from: tosca.nodes.Root + requirements: + - host: + capability: tosca.capabilities.Container + # ARIA NOTE: seems a mistake in the spec + #node: tosca.nodes.Container + relationship: tosca.relationships.HostedOn + + # + # Storage + # + + tosca.nodes.ObjectStorage: + _extensions: + shorthand_name: ObjectStorage + type_qualified_name: tosca:ObjectStorage + specification: tosca-simple-1.0 + specification_section: 5.8.8 + description: >- + The TOSCA ObjectStorage node represents storage that provides the ability to store data as objects (or BLOBs of data) without + consideration for the underlying filesystem or devices. + derived_from: tosca.nodes.Root + properties: + name: + description: >- + The logical name of the object store (or container). + type: string + size: + description: >- + The requested initial storage size (default unit is in Gigabytes). + type: scalar-unit.size + constraints: + - greater_or_equal: 0 GB + required: false + maxsize: + description: >- + The requested maximum storage size (default unit is in Gigabytes). + type: scalar-unit.size + constraints: + - greater_or_equal: 0 GB + required: false + capabilities: + storage_endpoint: + type: tosca.capabilities.Endpoint + + tosca.nodes.BlockStorage: + _extensions: + shorthand_name: BlockStorage + type_qualified_name: tosca:BlockStorage + specification: tosca-simple-1.0 + specification_section: 5.8.9 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_NODES_BLOCK_STORAGE' + description: >- + derived_from: tosca.nodes.Root + properties: + size: + description: >- + The requested storage size (default unit is MB). + type: scalar-unit.size + constraints: + - greater_or_equal: 1 MB + volume_id: + description: >- + ID of an existing volume (that is in the accessible scope of the requesting application). + type: string + required: false + snapshot_id: + description: >- + Some identifier that represents an existing snapshot that should be used when creating the block storage (volume). + type: string + required: false + capabilities: + attachment: + type: tosca.capabilities.Attachment + + # + # Network + # + + tosca.nodes.network.Network: + _extensions: + shorthand_name: Network + type_qualified_name: tosca:Network + specification: tosca-simple-1.0 + specification_section: 7.5.1 + description: >- + The TOSCA Network node represents a simple, logical network service. + derived_from: tosca.nodes.Root + properties: + ip_version: + description: >- + The IP version of the requested network. + type: integer + constraints: + - valid_values: [ 4, 6 ] + default: 4 + required: false + cidr: + description: >- + The cidr block of the requested network. + type: string + required: false + start_ip: + description: >- + The IP address to be used as the 1st one in a pool of addresses derived from the cidr block full IP range. + type: string + required: false + end_ip: + description: >- + The IP address to be used as the last one in a pool of addresses derived from the cidr block full IP range. + type: string + required: false + gateway_ip: + description: >- + The gateway IP address. + type: string + required: false + network_name: + description: >- + An Identifier that represents an existing Network instance in the underlying cloud infrastructure - OR - be used as the + name of the new created network. + type: string + required: false + network_id: + description: >- + An Identifier that represents an existing Network instance in the underlying cloud infrastructure. This property is + mutually exclusive with all other properties except network_name. + type: string + required: false + segmentation_id: + description: >- + A segmentation identifier in the underlying cloud infrastructure (e.g., VLAN id, GRE tunnel id). If the segmentation_id + is specified, the network_type or physical_network properties should be provided as well. + type: string + required: false + network_type: + description: >- + Optionally, specifies the nature of the physical network in the underlying cloud infrastructure. Examples are flat, vlan, + gre or vxlan. For flat and vlan types, physical_network should be provided too. + type: string + required: false + physical_network: + description: >- + Optionally, identifies the physical network on top of which the network is implemented, e.g. physnet1. This property is + required if network_type is flat or vlan. + type: string + required: false + dhcp_enabled: + description: >- + Indicates the TOSCA container to create a virtual network instance with or without a DHCP service. + type: boolean + default: true + required: false + capabilities: + link: + type: tosca.capabilities.network.Linkable + + tosca.nodes.network.Port: + _extensions: + shorthand_name: Port + type_qualified_name: tosca:Port + specification: tosca-simple-1.0 + specification_section: 7.5.2 + description: >- + The TOSCA Port node represents a logical entity that associates between Compute and Network normative types. + + The Port node type effectively represents a single virtual NIC on the Compute node instance. + derived_from: tosca.nodes.Root + properties: + ip_address: + description: >- + Allow the user to set a fixed IP address. Note that this address is a request to the provider which they will attempt to + fulfill but may not be able to dependent on the network the port is associated with. + type: string + required: false + order: + description: >- + The order of the NIC on the compute instance (e.g. eth2). Note: when binding more than one port to a single compute (aka + multi vNICs) and ordering is desired, it is *mandatory* that all ports will be set with an order value and. The order + values must represent a positive, arithmetic progression that starts with 0 (e.g. 0, 1, 2, ..., n). + type: integer + constraints: + - greater_or_equal: 0 + default: 0 + required: false + is_default: + description: >- + Set is_default=true to apply a default gateway route on the running compute instance to the associated network gateway. + Only one port that is associated to single compute node can set as default=true. + type: boolean + default: false + required: false + ip_range_start: + description: >- + Defines the starting IP of a range to be allocated for the compute instances that are associated by this Port. Without + setting this property the IP allocation is done from the entire CIDR block of the network. + type: string + required: false + ip_range_end: + description: >- + Defines the ending IP of a range to be allocated for the compute instances that are associated by this Port. Without + setting this property the IP allocation is done from the entire CIDR block of the network. + type: string + required: false + attributes: + ip_address: + description: >- + The IP address would be assigned to the associated compute instance. + type: string + requirements: + - link: + capability: tosca.capabilities.network.Linkable + relationship: tosca.relationships.network.LinksTo + - binding: + capability: tosca.capabilities.network.Bindable + relationship: tosca.relationships.network.BindsTo diff --git a/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/policies.yaml b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/policies.yaml new file mode 100644 index 0000000..7b35bb9 --- /dev/null +++ b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/policies.yaml @@ -0,0 +1,71 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +policy_types: + + tosca.policies.Root: + _extensions: + shorthand_name: Root # ARIA NOTE: omitted in the spec + type_qualified_name: tosca:Root + specification: tosca-simple-1.0 + specification_section: 5.10.1 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_POLICIES_ROOT' + description: >- + This is the default (root) TOSCA Policy Type definition that all other TOSCA base Policy Types derive from. + + tosca.policies.Placement: + _extensions: + shorthand_name: Placement # ARIA NOTE: omitted in the spec + type_qualified_name: tosca:Placement + specification: tosca-simple-1.0 + specification_section: 5.10.2 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_POLICIES_PLACEMENT' + description: >- + This is the default (root) TOSCA Policy Type definition that is used to govern placement of TOSCA nodes or groups of nodes. + derived_from: tosca.policies.Root + + tosca.policies.Scaling: + _extensions: + shorthand_name: Scaling # ARIA NOTE: omitted in the spec + type_qualified_name: tosca:Scaling + specification: tosca-simple-1.0 + specification_section: 5.10.3 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_POLICIES_SCALING' + description: >- + This is the default (root) TOSCA Policy Type definition that is used to govern scaling of TOSCA nodes or groups of nodes. + derived_from: tosca.policies.Root + + tosca.policies.Update: + _extensions: + shorthand_name: Update # ARIA NOTE: omitted in the spec + type_qualified_name: tosca:Update + specification: tosca-simple-1.0 + specification_section: 5.10.4 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_POLICIES_UPDATE' + description: >- + This is the default (root) TOSCA Policy Type definition that is used to govern update of TOSCA nodes or groups of nodes. + derived_from: tosca.policies.Root + + tosca.policies.Performance: + _extensions: + shorthand_name: Performance # ARIA NOTE: omitted in the spec + type_qualified_name: tosca:Performance + specification: tosca-simple-1.0 + specification_section: 5.10.5 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_POLICIES_PERFORMANCE' + description: >- + This is the default (root) TOSCA Policy Type definition that is used to declare performance requirements for TOSCA nodes or + groups of nodes. + derived_from: tosca.policies.Root diff --git a/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/relationships.yaml b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/relationships.yaml new file mode 100644 index 0000000..9f2c32c --- /dev/null +++ b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/relationships.yaml @@ -0,0 +1,158 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +relationship_types: + + tosca.relationships.Root: + _extensions: + shorthand_name: Root # ARIA NOTE: omitted in the spec + type_qualified_name: tosca:Root + specification: tosca-simple-1.0 + specification_section: 5.6.1 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_RELATIONSHIPS_ROOT' + description: >- + This is the default (root) TOSCA Relationship Type definition that all other TOSCA Relationship Types derive from. + attributes: + tosca_id: + description: >- + A unique identifier of the realized instance of a Relationship Template that derives from any TOSCA normative type. + type: string + tosca_name: + description: >- + This attribute reflects the name of the Relationship Template as defined in the TOSCA service template. This name is not + unique to the realized instance model of corresponding deployed application as each template in the model can result in + one or more instances (e.g., scaled) when orchestrated to a provider environment. + type: string + state: + description: >- + The state of the relationship instance. + type: string + default: initial + interfaces: + Configure: + type: tosca.interfaces.relationship.Configure + + tosca.relationships.DependsOn: + _extensions: + shorthand_name: DependsOn + type_qualified_name: tosca:DependsOn + specification: tosca-simple-1.0 + specification_section: 5.6.2 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_RELATIONSHIPS_DEPENDSON' + description: >- + This type represents a general dependency relationship between two nodes. + derived_from: tosca.relationships.Root + valid_target_types: [ tosca.capabilities.Node ] + + tosca.relationships.HostedOn: + _extensions: + shorthand_name: HostedOn + type_qualified_name: tosca:HostedOn + specification: tosca-simple-1.0 + specification_section: 5.6.3 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_RELATIONSHIPS_HOSTEDON' + description: >- + This type represents a hosting relationship between two nodes. + derived_from: tosca.relationships.Root + valid_target_types: [ tosca.capabilities.Container ] + + tosca.relationships.ConnectsTo: + _extensions: + shorthand_name: ConnectsTo + type_qualified_name: tosca:ConnectsTo + specification: tosca-simple-1.0 + specification_section: 5.6.4 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_RELATIONSHIPS_CONNECTSTO' + description: >- + This type represents a network connection relationship between two nodes. + derived_from: tosca.relationships.Root + valid_target_types: [ tosca.capabilities.Endpoint ] + properties: + credential: + type: tosca.datatypes.Credential + required: false + + tosca.relationships.AttachesTo: + _extensions: + shorthand_name: AttachesTo + type_qualified_name: tosca:AttachesTo + specification: tosca-simple-1.0 + specification_section: 5.6.5 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_RELATIONSHIPS_ATTACHTO' + description: >- + This type represents an attachment relationship between two nodes. For example, an AttachesTo relationship type would be used + for attaching a storage node to a Compute node. + derived_from: tosca.relationships.Root + valid_target_types: [ tosca.capabilities.Attachment ] + properties: + location: + description: >- + The relative location (e.g., path on the file system), which provides the root location to address an attached node. + e.g., a mount point / path such as '/usr/data'. Note: The user must provide it and it cannot be "root". + type: string + constraints: + - min_length: 1 + device: + description: >- + The logical device name which for the attached device (which is represented by the target node in the model). e.g., + '/dev/hda1'. + type: string + required: false + attributes: + device: + description: >- + The logical name of the device as exposed to the instance. + Note: A runtime property that gets set when the model gets instantiated by the orchestrator. + type: string + + tosca.relationships.RoutesTo: + _extensions: + shorthand_name: RoutesTo + type_qualified_name: tosca:RoutesTo + specification: tosca-simple-1.0 + specification_section: 5.6.6 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#_Toc397688815' + description: >- + This type represents an intentional network routing between two Endpoints in different networks. + derived_from: tosca.relationships.ConnectsTo + valid_target_types: [ tosca.capabilities.Endpoint ] + + # + # Network + # + + tosca.relationships.network.LinksTo: + _extensions: + shorthand_name: LinksTo + type_qualified_name: tosca:LinksTo + specification: tosca-simple-1.0 + specification_section: 7.5.4 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_RELATIONSHIPS_NETWORK_LINKSTO' + description: >- + This relationship type represents an association relationship between Port and Network node types. + derived_from: tosca.relationships.DependsOn + valid_target_types: [ tosca.capabilities.network.Linkable ] + + tosca.relationships.network.BindsTo: + _extensions: + shorthand_name: BindsTo # ARIA NOTE: the spec says "network.BindsTo" which seems wrong + type_qualified_name: tosca:BindsTo + specification: tosca-simple-1.0 + specification_section: 7.5.5 + specification_url: 'http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.0/cos01/TOSCA-Simple-Profile-YAML-v1.0-cos01.html#DEFN_TYPE_RELATIONSHIPS_NETWORK_BINDTO' + description: >- + This type represents a network association relationship between Port and Compute node types. + derived_from: tosca.relationships.DependsOn + valid_target_types: [ tosca.capabilities.network.Bindable ] diff --git a/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/tosca-simple-1.0.yaml b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/tosca-simple-1.0.yaml new file mode 100644 index 0000000..f8cc520 --- /dev/null +++ b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-1.0/tosca-simple-1.0.yaml @@ -0,0 +1,24 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +imports: + - artifacts.yaml + - capabilities.yaml + - data.yaml + - groups.yaml + - interfaces.yaml + - nodes.yaml + - policies.yaml + - relationships.yaml diff --git a/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/artifacts.yaml b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/artifacts.yaml new file mode 100644 index 0000000..2427d9f --- /dev/null +++ b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/artifacts.yaml @@ -0,0 +1,84 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +artifact_types: + + tosca.artifacts.nfv.SwImage: + _extensions: + shorthand_name: SwImage + type_qualified_name: tosca:SwImage + specification: tosca-simple-nfv-1.0 + specification_section: 5.4.1 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896067' + derived_from: tosca.artifacts.Deployment.Image + properties: + name: + description: >- + Name of this software image. + type: string + required: true + version: + description: >- + Version of this software image. + type: string + required: true + checksum: + description: >- + Checksum of the software image file. + type: string + container_format: + description: >- + The container format describes the container file format in which software image is + provided. + type: string + required: true + disk_format: + description: >- + The disk format of a software image is the format of the underlying disk image. + type: string + required: true + min_disk: + description: >- + The minimal disk size requirement for this software image. + type: scalar-unit.size + required: true + min_ram: + description: >- + The minimal disk size requirement for this software image. + type: scalar-unit.size + required: false + size: # ARIA NOTE: section [5.4.1.1 Properties] calls this field 'Size' + description: >- + The size of this software image + type: scalar-unit.size + required: true + sw_image: + description: >- + A reference to the actual software image within VNF Package, or url. + type: string + required: true + operating_system: + description: >- + Identifies the operating system used in the software image. + type: string + required: false + supported _virtualization_enviroment: + description: >- + Identifies the virtualization environments (e.g. hypervisor) compatible with this software + image. + type: list + entry_schema: + type: string + required: false diff --git a/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml new file mode 100644 index 0000000..7b6363f --- /dev/null +++ b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/capabilities.yaml @@ -0,0 +1,70 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +capability_types: + + tosca.capabilities.nfv.VirtualBindable: + _extensions: + shorthand_name: VirtualBindable + type_qualified_name: tosca:VirtualBindable + specification: tosca-simple-nfv-1.0 + specification_section: 5.5.1 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896069' + description: >- + A node type that includes the VirtualBindable capability indicates that it can be pointed by + tosca.relationships.nfv.VirtualBindsTo relationship type. + derived_from: tosca.capabilities.Node + + tosca.capabilities.nfv.Metric: + _extensions: + shorthand_name: Metric + type_qualified_name: tosca:Metric + specification: tosca-simple-nfv-1.0 + specification_section: 5.5.2 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896070' + description: >- + A node type that includes the Metric capability indicates that it can be monitored using an nfv.relationships.Monitor + relationship type. + derived_from: tosca.capabilities.Endpoint + + tosca.capabilities.nfv.VirtualCompute: + _extensions: + shorthand_name: VirtualCompute + type_qualified_name: tosca:VirtualCompute + specification: tosca-simple-nfv-1.0 + specification_section: 5.5.3 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896071' + derived_from: tosca.capabilities.Root + properties: + requested_additional_capabilities: + # ARIA NOTE: in section [5.5.3.1 Properties] the name of this property is + # "request_additional_capabilities", and its type is not a map, but + # tosca.datatypes.nfv.RequestedAdditionalCapability + description: >- + Describes additional capability for a particular VDU. + type: map + entry_schema: + type: tosca.datatypes.nfv.RequestedAdditionalCapability + required: false + virtual_memory: + description: >- + Describes virtual memory of the virtualized compute. + type: tosca.datatypes.nfv.VirtualMemory + required: true + virtual_cpu: + description: >- + Describes virtual CPU(s) of the virtualized compute. + type: tosca.datatypes.nfv.VirtualCpu + required: true diff --git a/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml new file mode 100644 index 0000000..889dcf7 --- /dev/null +++ b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/data.yaml @@ -0,0 +1,318 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +data_types: + + tosca.datatypes.nfv.L2AddressData: + # TBD + _extensions: + shorthand_name: L2AddressData + type_qualified_name: tosca:L2AddressData + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.1 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896055' + + tosca.datatypes.nfv.L3AddressData: + _extensions: + shorthand_name: L3AddressData + type_qualified_name: tosca:L3AddressData + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.2 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896056' + description: >- + The L3AddressData type is a complex TOSCA data type used to describe L3AddressData information + element as defined in [ETSI GS NFV-IFA 011], it provides the information on the IP addresses + to be assigned to the connection point instantiated from the parent Connection Point + Descriptor. + derived_from: tosca.datatypes.Root + properties: + ip_address_assignment: + description: >- + Specify if the address assignment is the responsibility of management and orchestration + function or not. If it is set to True, it is the management and orchestration function + responsibility. + type: boolean + required: true + floating_ip_activated: + description: Specify if the floating IP scheme is activated on the Connection Point or not. + type: boolean + required: true + ip_address_type: + description: >- + Define address type. The address type should be aligned with the address type supported by + the layer_protocol properties of the parent VnfExtCpd. + type: string + required: false + constraints: + - valid_values: [ ipv4, ipv6 ] + number_of_ip_address: + description: >- + Minimum number of IP addresses to be assigned. + type: integer + required: false + + tosca.datatypes.nfv.AddressData: + _extensions: + shorthand_name: AddressData + type_qualified_name: tosca:AddressData + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.3 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896057' + description: >- + The AddressData type is a complex TOSCA data type used to describe AddressData information + element as defined in [ETSI GS NFV-IFA 011], it provides information on the addresses to be + assigned to the connection point(s) instantiated from a Connection Point Descriptor. + derived_from: tosca.datatypes.Root + properties: + address_type: + description: >- + Describes the type of the address to be assigned to the connection point instantiated from + the parent Connection Point Descriptor. The content type shall be aligned with the address + type supported by the layerProtocol property of the parent Connection Point Descriptor. + type: string + required: true + constraints: + - valid_values: [ mac_address, ip_address ] + l2_address_data: + # Shall be present when the addressType is mac_address. + description: >- + Provides the information on the MAC addresses to be assigned to the connection point(s) + instantiated from the parent Connection Point Descriptor. + type: tosca.datatypes.nfv.L2AddressData # Empty in "GS NFV IFA011 V0.7.3" + required: false + l3_address_data: + # Shall be present when the addressType is ip_address. + description: >- + Provides the information on the IP addresses to be assigned to the connection point + instantiated from the parent Connection Point Descriptor. + type: tosca.datatypes.nfv.L3AddressData + required: false + + tosca.datatypes.nfv.VirtualNetworkInterfaceRequirements: + _extensions: + shorthand_name: VirtualNetworkInterfaceRequirements + type_qualified_name: tosca:VirtualNetworkInterfaceRequirements + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.4 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896058' + description: >- + The VirtualNetworkInterfaceRequirements type is a complex TOSCA data type used to describe + VirtualNetworkInterfaceRequirements information element as defined in [ETSI GS NFV-IFA 011], + it provides the information to specify requirements on a virtual network interface realising the + CPs instantiated from this CPD. + derived_from: tosca.datatypes.Root + properties: + name: + description: >- + Provides a human readable name for the requirement. + type: string + required: false + description: + description: >- + Provides a human readable description for the requirement. + type: string + required: false + support_mandatory: + description: >- + Indicates whether fulfilling the constraint is mandatory (TRUE) for successful operation + or desirable (FALSE). + type: boolean + required: false + requirement: + description: >- + Specifies a requirement such as the support of SR-IOV, a particular data plane + acceleration library, an API to be exposed by a NIC, etc. + type: string # ARIA NOTE: the spec says "not specified", but TOSCA requires a type + required: true + + tosca.datatypes.nfv.ConnectivityType: + _extensions: + shorthand_name: ConnectivityType + type_qualified_name: tosca:ConnectivityType + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.5 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896059' + description: >- + The TOSCA ConnectivityType type is a complex TOSCA data type used to describe ConnectivityType + information element as defined in [ETSI GS NFV-IFA 011]. + derived_from: tosca.datatypes.Root + properties: + layer_protocol: + description: >- + Identifies the protocol this VL gives access to (ethernet, mpls, odu2, ipv4, ipv6, + pseudo_wire). + type: string + required: true + constraints: + - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ] + flow_pattern: + description: >- + Identifies the flow pattern of the connectivity (Line, Tree, Mesh). + type: string + required: false + + tosca.datatypes.nfv.RequestedAdditionalCapability: + _extensions: + shorthand_name: RequestedAdditionalCapability + type_qualified_name: tosca:RequestedAdditionalCapability + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.6 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896060' + description: >- + RequestAdditionalCapability describes additional capability for a particular VDU. + derived_from: tosca.datatypes.Root + properties: + request_additional_capability_name: + description: >- + Identifies a requested additional capability for the VDU. + type: string + required: true + support_mandatory: + description: >- + Indicates whether the requested additional capability is mandatory for successful + operation. + type: string + required: true + min_requested_additional_capability_version: + description: >- + Identifies the minimum version of the requested additional capability. + type: string + required: false + preferred_requested_additional_capability_version: + description: >- + Identifies the preferred version of the requested additional capability. + type: string + required: false + target_performance_parameters: + description: >- + Identifies specific attributes, dependent on the requested additional capability type. + type: map + entry_schema: + type: string + required: true + + tosca.datatypes.nfv.VirtualMemory: + _extensions: + shorthand_name: VirtualMemory + type_qualified_name: tosca:VirtualMemory + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.7 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896061' + description: >- + VirtualMemory describes virtual memory for a particular VDU. + derived_from: tosca.datatypes.Root + properties: + virtual_mem_size: + description: Amount of virtual memory. + type: scalar-unit.size + required: true + virtual_mem_oversubscription_policy: + description: >- + The memory core oversubscription policy in terms of virtual memory to physical memory on + the platform. The cardinality can be 0 during the allocation request, if no particular + value is requested. + type: string + required: false + numa_enabled: + description: >- + It specifies the memory allocation to be cognisant of the relevant process/core + allocation. The cardinality can be 0 during the allocation request, if no particular value + is requested. + type: boolean + required: false + + tosca.datatypes.nfv.VirtualCpu: + _extensions: + shorthand_name: VirtualCpu + type_qualified_name: tosca:VirtualCpu + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.8 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896062' + description: >- + VirtualMemory describes virtual memory for a particular VDU. + derived_from: tosca.datatypes.Root + properties: + cpu_architecture: + description: >- + CPU architecture type. Examples are x86, ARM. + type: string + required: false + num_virtual_cpu: + description: >- + Number of virtual CPUs. + type: integer + required: true + virtual_cpu_clock: + description: >- + Minimum virtual CPU clock rate. + type: scalar-unit.frequency + required: false + virtual_cpu_oversubscription_policy: + description: >- + CPU core oversubscription policy. + type: string + required: false + virtual_cpu_pinning: + description: >- + The virtual CPU pinning configuration for the virtualized compute resource. + type: tosca.datatypes.nfv.VirtualCpuPinning + required: false + + tosca.datatypes.nfv.VirtualCpuPinning: + _extensions: + shorthand_name: VirtualCpuPinning + type_qualified_name: tosca:VirtualCpuPinning + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.9 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896064' + description: >- + VirtualCpuPinning describes CPU pinning configuration for a particular CPU. + derived_from: tosca.datatypes.Root + properties: + cpu_pinning_policy: + description: >- + Indicates the policy for CPU pinning. + type: string + constraints: + - valid_values: [ static, dynamic ] + required: false + cpu_pinning_map: + description: >- + If cpuPinningPolicy is defined as "static", the cpuPinningMap provides the map of pinning + virtual CPU cores to physical CPU cores/threads. + type: map + entry_schema: + type: string + required: false + + tosca.datatypes.nfv.VnfcConfigurableProperties: + _extensions: + shorthand_name: VnfcconfigurableProperties + type_qualified_name: tosca:VnfcconfigurableProperties + specification: tosca-simple-nfv-1.0 + specification_section: 5.3.10 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896065' + # ARIA NOTE: description is mangled in spec + description: >- + VnfcConfigurableProperties describes additional configurable properties of a VNFC. + derived_from: tosca.datatypes.Root + properties: + additional_vnfc_configurable_properties: + description: >- + Describes additional configuration for VNFC. + type: map + entry_schema: + type: string + required: false diff --git a/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml new file mode 100644 index 0000000..8d1f0a2 --- /dev/null +++ b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/nodes.yaml @@ -0,0 +1,260 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +node_types: + + tosca.nodes.nfv.VDU.Compute: + _extensions: + shorthand_name: VDU.Compute + type_qualified_name: tosca:VDU.Compute + specification: tosca-simple-nfv-1.0 + specification_section: 5.9.2 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896079' + description: >- + The TOSCA nfv.VDU.Compute node type represents the virtual compute part of a VDU entity which + it mainly describes the deployment and operational behavior of a VNF component (VNFC), as + defined by [ETSI NFV IFA011]. + derived_from: tosca.nodes.Compute + properties: + name: + description: >- + Human readable name of the VDU. + type: string + required: true + description: + description: >- + Human readable description of the VDU. + type: string + required: true + boot_order: + description: >- + The key indicates the boot index (lowest index defines highest boot priority). + The Value references a descriptor from which a valid boot device is created e.g. + VirtualStorageDescriptor from which a VirtualStorage instance is created. If no boot order + is defined the default boot order defined in the VIM or NFVI shall be used. + type: list # ARIA NOTE: an explicit index (boot index) is unnecessary, contrary to IFA011 + entry_schema: + type: string + required: false + nfvi_constraints: + description: >- + Describes constraints on the NFVI for the VNFC instance(s) created from this VDU. + For example, aspects of a secure hosting environment for the VNFC instance that involve + additional entities or processes. More software images can be attached to the + virtualization container using virtual_storage. + type: list + entry_schema: + type: string + required: false + configurable_properties: + description: >- + Describes the configurable properties of all VNFC instances based on this VDU. + type: map + entry_schema: + type: tosca.datatypes.nfv.VnfcConfigurableProperties + required: true + attributes: + # ARIA NOTE: The attributes are only described in section [5.9.2.5 Definition], but are not + # mentioned in section [5.9.2.2 Attributes]. Additionally, it does not seem to make sense to + # deprecate inherited attributes, as it breaks the inheritence contract. + private_address: + type: string + status: deprecated + public_address: + type: string + status: deprecated + networks: + type: map + entry_schema: + type: tosca.datatypes.network.NetworkInfo + status: deprecated + ports: + type: map + entry_schema: + type: tosca.datatypes.network.PortInfo + status: deprecated + capabilities: + virtual_compute: + description: >- + Describes virtual compute resources capabilities. + type: tosca.capabilities.nfv.VirtualCompute + virtual_binding: + description: >- + Defines ability of VirtualBindable. + type: tosca.capabilities.nfv.VirtualBindable + monitoring_parameter: + # ARIA NOTE: commented out in 5.9.2.5 + description: >- + Monitoring parameter, which can be tracked for a VNFC based on this VDU. Examples include: + memory-consumption, CPU-utilisation, bandwidth-consumption, VNFC downtime, etc. + type: tosca.capabilities.nfv.Metric + #requirements: + # ARIA NOTE: virtual_storage is TBD + + # ARIA NOTE: csd04 attempts to deprecate the inherited local_storage requirement, but this + # is not possible in TOSCA + artifacts: + sw_image: + description: >- + Describes the software image which is directly loaded on the virtualization container + realizing this virtual storage. + file: '' # ARIA NOTE: missing value even though it is required in TOSCA + type: tosca.artifacts.nfv.SwImage + + tosca.nodes.nfv.VDU.VirtualStorage: + _extensions: + shorthand_name: VirtualStorage # ARIA NOTE: seems wrong in spec + type_qualified_name: tosca:VirtualStorage # ARIA NOTE: seems wrong in spec + specification: tosca-simple-nfv-1.0 + specification_section: 5.9.3 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896080' + description: >- + The NFV VirtualStorage node type represents a virtual storage entity which it describes the + deployment and operational behavior of a virtual storage resources, as defined by + [ETSI NFV IFA011]. + derived_from: tosca.nodes.Root + properties: + type_of_storage: + description: >- + Type of virtualized storage resource. + type: string + required: true + size_of_storage: + description: >- + Size of virtualized storage resource (in GB). + type: scalar-unit.size + required: true + rdma_enabled: + description: >- + Indicate if the storage support RDMA. + type: boolean + required: false + artifacts: + sw_image: + description: >- + Describes the software image which is directly loaded on the virtualization container + realizing this virtual storage. + file: '' # ARIA NOTE: missing in spec + type: tosca.artifacts.nfv.SwImage + + tosca.nodes.nfv.Cpd: + _extensions: + shorthand_name: Cpd + type_qualified_name: tosca:Cpd + specification: tosca-simple-nfv-1.0 + specification_section: 5.9.4 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896081' + description: >- + The TOSCA nfv.Cpd node represents network connectivity to a compute resource or a VL as defined + by [ETSI GS NFV-IFA 011]. This is an abstract type used as parent for the various Cpd types. + derived_from: tosca.nodes.Root + properties: + layer_protocol: + description: >- + Identifies which protocol the connection point uses for connectivity purposes. + type: string + constraints: + - valid_values: [ ethernet, mpls, odu2, ipv4, ipv6, pseudo_wire ] + required: false + role: # Name in ETSI NFV IFA011 v0.7.3 cpRole + description: >- + Identifies the role of the port in the context of the traffic flow patterns in the VNF or + parent NS. For example a VNF with a tree flow pattern within the VNF will have legal + cpRoles of ROOT and LEAF. + type: string + constraints: + - valid_values: [ root, leaf ] + required: false + description: + description: >- + Provides human-readable information on the purpose of the connection point + (e.g. connection point for control plane traffic). + type: string + required: false + address_data: + description: >- + Provides information on the addresses to be assigned to the connection point(s) instantiated + from this Connection Point Descriptor. + type: list + entry_schema: + type: tosca.datatypes.nfv.AddressData + required: false + + tosca.nodes.nfv.VduCpd: + _extensions: + shorthand_name: VduCpd + type_qualified_name: tosca:VduCpd + specification: tosca-simple-nfv-1.0 + specification_section: 5.9.5 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896082' + description: >- + The TOSCA nfv.VduCpd node type represents a type of TOSCA Cpd node and describes network + connectivity between a VNFC instance (based on this VDU) and an internal VL as defined by + [ETSI GS NFV-IFA 011]. + derived_from: tosca.nodes.nfv.Cpd + properties: + bitrate_requirement: + description: >- + Bitrate requirement on this connection point. + type: integer + required: false + virtual_network_interface_requirements: + description: >- + Specifies requirements on a virtual network interface realising the CPs instantiated from + this CPD. + type: list + entry_schema: + type: VirtualNetworkInterfaceRequirements + required: false + requirements: + # ARIA NOTE: seems to be a leftover from csd03 + # - virtual_link: + # description: Describes the requirements for linking to virtual link + # capability: tosca.capabilities.nfv.VirtualLinkable + # relationship: tosca.relationships.nfv.VirtualLinksTo + # node: tosca.nodes.nfv.VnfVirtualLinkDesc + - virtual_binding: + capability: tosca.capabilities.nfv.VirtualBindable + relationship: tosca.relationships.nfv.VirtualBindsTo + node: tosca.nodes.nfv.VDU.Compute # ARIA NOTE: seems wrong in spec + + tosca.nodes.nfv.VnfVirtualLinkDesc: + _extensions: + shorthand_name: VnfVirtualLinkDesc + type_qualified_name: tosca:VnfVirtualLinkDesc + specification: tosca-simple-nfv-1.0 + specification_section: 5.9.6 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896083' + description: >- + The TOSCA nfv.VnfVirtualLinkDesc node type represents a logical internal virtual link as + defined by [ETSI GS NFV-IFA 011]. + derived_from: tosca.nodes.Root + properties: + connectivity_type: + description: >- + specifies the protocol exposed by the VL and the flow pattern supported by the VL. + type: tosca.datatypes.nfv.ConnectivityType + required: true + description: + description: >- + Provides human-readable information on the purpose of the VL (e.g. control plane traffic). + type: string + required: false + test_access: + description: >- + Test access facilities available on the VL (e.g. none, passive, monitoring, or active + (intrusive) loopbacks at endpoints. + type: string + required: false diff --git a/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/relationships.yaml b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/relationships.yaml new file mode 100644 index 0000000..4cf99a2 --- /dev/null +++ b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/relationships.yaml @@ -0,0 +1,43 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +relationship_types: + + tosca.relationships.nfv.VirtualBindsTo: + _extensions: + shorthand_name: VirtualBindsTo + type_qualified_name: tosca:VirtualBindsTo + specification: tosca-simple-nfv-1.0 + specification_section: 5.7.1 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896074' + description: >- + This relationship type represents an association relationship between VDU and CP node types. + derived_from: tosca.relationships.DependsOn + valid_target_types: [ tosca.capabilities.nfv.VirtualBindable ] + + # ARIA NOTE: csd04 lacks the definition of tosca.relationships.nfv.Monitor (the derived_from and + # valid_target_types), so we are using the definition in csd03 section 8.4.2. + tosca.relationships.nfv.Monitor: + _extensions: + shorthand_name: Monitor + type_qualified_name: tosca:Monitor + specification: tosca-simple-nfv-1.0 + specification_section: 5.7.2 + specification_url: 'http://docs.oasis-open.org/tosca/tosca-nfv/v1.0/csd04/tosca-nfv-v1.0-csd04.html#_Toc482896075' + description: >- + This relationship type represents an association relationship to the Metric capability of VDU + node types. + derived_from: tosca.relationships.ConnectsTo + valid_target_types: [ tosca.capabilities.nfv.Metric ] diff --git a/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/tosca-simple-nfv-1.0.yaml b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/tosca-simple-nfv-1.0.yaml new file mode 100644 index 0000000..764c739 --- /dev/null +++ b/azure/aria/aria-extension-cloudify/src/aria/extensions/aria_extension_tosca/profiles/tosca-simple-nfv-1.0/tosca-simple-nfv-1.0.yaml @@ -0,0 +1,21 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +imports: + - artifacts.yaml + - capabilities.yaml + - data.yaml + - nodes.yaml + - relationships.yaml |