From c5abb9b34468400bdcdd3ce23595af41ac03cd80 Mon Sep 17 00:00:00 2001 From: "Hansen, Tony (th1395)" Date: Tue, 9 Jun 2020 18:27:12 +0000 Subject: rename typefiles to be consistent with nexus Change-Id: Iebfda41db8225db233d0ff0f41e197d2e4cc0688 Signed-off-by: Hansen, Tony (th1395) Issue-ID: DCAEGEN2-2207 --- clamp-policy/clamppolicyplugin-type.yaml | 43 ----- clamp-policy/clamppolicyplugin_types.yaml | 43 +++++ dcae-policy/dcaepolicyplugin-type.yaml | 81 -------- dcae-policy/dcaepolicyplugin_types.yaml | 81 ++++++++ dmaap/dmaap-type.yaml | 202 -------------------- dmaap/dmaap_types.yaml | 202 ++++++++++++++++++++ helm/helm-type.yaml | 147 --------------- helm/helm_types.yaml | 147 +++++++++++++++ k8s/k8splugin-type.yaml | 282 ---------------------------- k8s/k8splugin_types.yaml | 282 ++++++++++++++++++++++++++++ pgaas/pgaas-type.yaml | 67 ------- pgaas/pgaas_types.yaml | 67 +++++++ relationships/relationshipplugin-type.yaml | 81 -------- relationships/relationshipplugin_types.yaml | 81 ++++++++ sshkeyshare/sshkeyshare-type.yaml | 17 -- sshkeyshare/sshkeyshare_types.yaml | 17 ++ 16 files changed, 920 insertions(+), 920 deletions(-) delete mode 100644 clamp-policy/clamppolicyplugin-type.yaml create mode 100644 clamp-policy/clamppolicyplugin_types.yaml delete mode 100644 dcae-policy/dcaepolicyplugin-type.yaml create mode 100644 dcae-policy/dcaepolicyplugin_types.yaml delete mode 100644 dmaap/dmaap-type.yaml create mode 100644 dmaap/dmaap_types.yaml delete mode 100644 helm/helm-type.yaml create mode 100644 helm/helm_types.yaml delete mode 100644 k8s/k8splugin-type.yaml create mode 100644 k8s/k8splugin_types.yaml delete mode 100644 pgaas/pgaas-type.yaml create mode 100644 pgaas/pgaas_types.yaml delete mode 100644 relationships/relationshipplugin-type.yaml create mode 100644 relationships/relationshipplugin_types.yaml delete mode 100644 sshkeyshare/sshkeyshare-type.yaml create mode 100644 sshkeyshare/sshkeyshare_types.yaml diff --git a/clamp-policy/clamppolicyplugin-type.yaml b/clamp-policy/clamppolicyplugin-type.yaml deleted file mode 100644 index dbd9485..0000000 --- a/clamp-policy/clamppolicyplugin-type.yaml +++ /dev/null @@ -1,43 +0,0 @@ -# ================================================================================= -# Copyright (c) 2019 Wipro Limited Intellectual Property. All rights reserved. -# Modifications copyright (c) 2020 AT&T Intellectual Property. 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. -# ============LICENSE_END========================================================= -# - -tosca_definitions_version: cloudify_dsl_1_3 - -imports: - - http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml - - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/dcaepolicyplugin/2.4.0/dcaepolicyplugin_types.yaml - -plugins: - clamppolicy: - executor: 'central_deployment_agent' - package_name: clamppolicyplugin - package_version: 1.1.0 - -relationships: - # relationship that maintains mapping between micro-service and corresponding model id - clamp_node.relationships.gets_input_from: - derived_from: cloudify.relationships.depends_on - -node_types: - # node that maintains mapping between micro-service and corresponding model id - clamp.nodes.policy: - derived_from: dcae.nodes.policy - properties: - policy_model_id: - description: policy-model-id generated by SDC - type: string diff --git a/clamp-policy/clamppolicyplugin_types.yaml b/clamp-policy/clamppolicyplugin_types.yaml new file mode 100644 index 0000000..dbd9485 --- /dev/null +++ b/clamp-policy/clamppolicyplugin_types.yaml @@ -0,0 +1,43 @@ +# ================================================================================= +# Copyright (c) 2019 Wipro Limited Intellectual Property. All rights reserved. +# Modifications copyright (c) 2020 AT&T Intellectual Property. 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. +# ============LICENSE_END========================================================= +# + +tosca_definitions_version: cloudify_dsl_1_3 + +imports: + - http://www.getcloudify.org/spec/cloudify/4.5.5/types.yaml + - https://nexus.onap.org/service/local/repositories/raw/content/org.onap.dcaegen2.platform.plugins/R6/dcaepolicyplugin/2.4.0/dcaepolicyplugin_types.yaml + +plugins: + clamppolicy: + executor: 'central_deployment_agent' + package_name: clamppolicyplugin + package_version: 1.1.0 + +relationships: + # relationship that maintains mapping between micro-service and corresponding model id + clamp_node.relationships.gets_input_from: + derived_from: cloudify.relationships.depends_on + +node_types: + # node that maintains mapping between micro-service and corresponding model id + clamp.nodes.policy: + derived_from: dcae.nodes.policy + properties: + policy_model_id: + description: policy-model-id generated by SDC + type: string diff --git a/dcae-policy/dcaepolicyplugin-type.yaml b/dcae-policy/dcaepolicyplugin-type.yaml deleted file mode 100644 index 7a1b8ad..0000000 --- a/dcae-policy/dcaepolicyplugin-type.yaml +++ /dev/null @@ -1,81 +0,0 @@ -# ================================================================================ -# Copyright (c) 2017-2020 AT&T Intellectual Property. 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. -# ============LICENSE_END========================================================= -# - -plugins: - dcaepolicy: - executor: 'central_deployment_agent' - package_name: dcaepolicyplugin - package_version: 2.4.0 - -data_types: - # the properties inside dcae.data.policy_filter are identical to /getConfig API of policy-engine except the requestID field. - # refer to policy-engine /getConfig wiki for explanation of these properties. - # policy-engine /getConfig wiki: The filter works as a combined "AND" operation. - # To retrieve all policies using "sample" as configName, - # the request needs to have policyName = ".*" and configName as = "sample" - # configAttributes is a key-value dictionary or a stringified json of the dictionary - dcae.data.policy_filter: - properties: - policyName: - type: string - default: "DCAE.Config_.*" - configName: - type: string - default: "" - onapName: - type: string - default: "DCAE" - configAttributes: - default: {} - unique: - type: boolean - default: false - -node_types: - # node that points to a single latest policy identified by policy_id - # policy_id is the versionless left part of policyName in policy-engine - dcae.nodes.policy: - derived_from: cloudify.nodes.Root - properties: - policy_id: - description: versionless key to policy in policy-engine - type: string - default: DCAE.Config_unknown-policy - policy_required: - description: whether to throw an exception when failed to get the policy - type: boolean - default: false - interfaces: - cloudify.interfaces.lifecycle: - create: - implementation: dcaepolicy.dcaepolicyplugin.policy_get - - # node that points to varying collection of policies by selection criteria = policy_filter. - dcae.nodes.policies: - derived_from: cloudify.nodes.Root - properties: - policy_filter: - type: dcae.data.policy_filter - default: {} - policy_required: - description: whether to throw an exception when failed to get a policy - type: boolean - default: false - interfaces: - cloudify.interfaces.lifecycle: - create: - implementation: dcaepolicy.dcaepolicyplugin.policy_get diff --git a/dcae-policy/dcaepolicyplugin_types.yaml b/dcae-policy/dcaepolicyplugin_types.yaml new file mode 100644 index 0000000..7a1b8ad --- /dev/null +++ b/dcae-policy/dcaepolicyplugin_types.yaml @@ -0,0 +1,81 @@ +# ================================================================================ +# Copyright (c) 2017-2020 AT&T Intellectual Property. 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. +# ============LICENSE_END========================================================= +# + +plugins: + dcaepolicy: + executor: 'central_deployment_agent' + package_name: dcaepolicyplugin + package_version: 2.4.0 + +data_types: + # the properties inside dcae.data.policy_filter are identical to /getConfig API of policy-engine except the requestID field. + # refer to policy-engine /getConfig wiki for explanation of these properties. + # policy-engine /getConfig wiki: The filter works as a combined "AND" operation. + # To retrieve all policies using "sample" as configName, + # the request needs to have policyName = ".*" and configName as = "sample" + # configAttributes is a key-value dictionary or a stringified json of the dictionary + dcae.data.policy_filter: + properties: + policyName: + type: string + default: "DCAE.Config_.*" + configName: + type: string + default: "" + onapName: + type: string + default: "DCAE" + configAttributes: + default: {} + unique: + type: boolean + default: false + +node_types: + # node that points to a single latest policy identified by policy_id + # policy_id is the versionless left part of policyName in policy-engine + dcae.nodes.policy: + derived_from: cloudify.nodes.Root + properties: + policy_id: + description: versionless key to policy in policy-engine + type: string + default: DCAE.Config_unknown-policy + policy_required: + description: whether to throw an exception when failed to get the policy + type: boolean + default: false + interfaces: + cloudify.interfaces.lifecycle: + create: + implementation: dcaepolicy.dcaepolicyplugin.policy_get + + # node that points to varying collection of policies by selection criteria = policy_filter. + dcae.nodes.policies: + derived_from: cloudify.nodes.Root + properties: + policy_filter: + type: dcae.data.policy_filter + default: {} + policy_required: + description: whether to throw an exception when failed to get a policy + type: boolean + default: false + interfaces: + cloudify.interfaces.lifecycle: + create: + implementation: dcaepolicy.dcaepolicyplugin.policy_get diff --git a/dmaap/dmaap-type.yaml b/dmaap/dmaap-type.yaml deleted file mode 100644 index 720f68f..0000000 --- a/dmaap/dmaap-type.yaml +++ /dev/null @@ -1,202 +0,0 @@ -# ============LICENSE_START==================================================== -# org.onap.dcaegen2 -# ============================================================================= -# Copyright (c) 2017-2020 AT&T Intellectual Property. 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. -# ============LICENSE_END====================================================== - - -# Types and relationships for DMaaP data router feeds - -tosca_definitions_version: cloudify_dsl_1_3 - -plugins: - dmaapplugin: - executor: 'central_deployment_agent' - package_name: dmaap - package_version: 1.5.0 - - -node_types: - - # Data Router feed to be created - dcaegen2.nodes.Feed: - derived_from: cloudify.nodes.Root - - properties: - feed_name: - type: string - required: false - feed_version: - type: string - required: false - feed_description: - type: string - required: false - aspr_classification: - type: string - required: false - useExisting: - type: boolean - required: false - - interfaces: - cloudify.interfaces.lifecycle: - create: - implementation: - dmaapplugin.dmaapplugin.dr_lifecycle.create_feed - delete: - implementation: - dmaapplugin.dmaapplugin.dr_lifecycle.delete_feed - - # Existing Data Router feed to be used as target for publishing/subscribing - dcaegen2.nodes.ExistingFeed: - derived_from: cloudify.nodes.Root - - properties: - feed_id: - type: string - required: false - feed_name: - type: string - required: false - - interfaces: - cloudify.interfaces.lifecycle: - configure: - implementation: - dmaapplugin.dmaapplugin.dr_lifecycle.get_existing_feed - - # Existing Global Data Router feed (created via Invenio) to be used as target for bridging - dcaegen2.nodes.ExternalTargetFeed: - derived_from: cloudify.nodes.Root - - properties: - url: - type: string - required: true - username: - type: string - required: true - userpw: - type: string - required: true - - # Global Data Router feed to be used as a source for bridging - # Has no properties - dcaegen2.nodes.ExternalSourceFeed: - derived_from: cloudify.nodes.Root - - # Message Router topic to be created - dcaegen2.nodes.Topic: - derived_from: cloudify.nodes.Root - - properties: - topic_name: - type: string - required: false - topic_description: - type: string - required: false - txenable: - type: boolean - required: false - replication_case: - type: string - required: false - global_mr_url: - type: string - required: false - useExisting: - type: boolean - required: false - - interfaces: - cloudify.interfaces.lifecycle: - create: - implementation: - dmaapplugin.dmaapplugin.mr_lifecycle.create_topic - delete: - implementation: - dmaapplugin.dmaapplugin.mr_lifecycle.delete_topic - - # Existing Message Router topic to be used as target for publishing/subscribing - dcaegen2.nodes.ExistingTopic: - derived_from: cloudify.nodes.Root - - properties: - fqtn: - type: string - required: false - topic_name: - type: string - required: false - - interfaces: - cloudify.interfaces.lifecycle: - configure: - implementation: - dmaapplugin.dmaapplugin.mr_lifecycle.get_existing_topic - -relationships: - - dcaegen2.relationships.publish_files: - derived_from: cloudify.relationships.connected_to - target_interfaces: - cloudify.interfaces.relationship_lifecycle: - preconfigure: dmaapplugin.dmaapplugin.dr_relationships.add_dr_publisher - unlink: dmaapplugin.dmaapplugin.dr_relationships.delete_dr_publisher - - dcaegen2.relationships.subscribe_to_files: - derived_from: cloudify.relationships.connected_to - target_interfaces: - cloudify.interfaces.relationship_lifecycle: - preconfigure: dmaapplugin.dmaapplugin.dr_relationships.add_dr_subscriber - unlink: dmaapplugin.dmaapplugin.dr_relationships.delete_dr_subscriber - - dcaegen2.relationships.publish_events: - derived_from: cloudify.relationships.connected_to - target_interfaces: - cloudify.interfaces.relationship_lifecycle: - preconfigure: dmaapplugin.dmaapplugin.mr_relationships.add_mr_publisher - unlink: dmaapplugin.dmaapplugin.mr_relationships.delete_mr_client - - dcaegen2.relationships.subscribe_to_events: - derived_from: cloudify.relationships.connected_to - target_interfaces: - cloudify.interfaces.relationship_lifecycle: - preconfigure: dmaapplugin.dmaapplugin.mr_relationships.add_mr_subscriber - unlink: dmaapplugin.dmaapplugin.mr_relationships.delete_mr_client - - dcaegen2.relationships.bridges_to: - derived_from: cloudify.relationships.connected_to - target_interfaces: - cloudify.interfaces.relationship_lifecycle: - preconfigure: dmaapplugin.dmaapplugin.dr_bridge.create_dr_bridge - unlink: dmaapplugin.dmaapplugin.dr_bridge.remove_dr_bridge - - dcaegen2.relationships.bridges_to_external: - derived_from: cloudify.relationships.connected_to - target_interfaces: - cloudify.interfaces.relationship_lifecycle: - preconfigure: dmaapplugin.dmaapplugin.dr_bridge.create_external_dr_bridge - unlink: dmaapplugin.dmaapplugin.dr_bridge.remove_dr_bridge - - dcaegen2.relationships.bridges_from_external_to_internal: - derived_from: cloudify.relationships.connected_to - target_interfaces: - cloudify.interfaces.relationship_lifecycle: - preconfigure: dmaapplugin.dmaapplugin.dr_bridge.create_external_source_dr_bridge - unlink: dmaapplugin.dmaapplugin.dr_bridge.remove_dr_bridge - diff --git a/dmaap/dmaap_types.yaml b/dmaap/dmaap_types.yaml new file mode 100644 index 0000000..720f68f --- /dev/null +++ b/dmaap/dmaap_types.yaml @@ -0,0 +1,202 @@ +# ============LICENSE_START==================================================== +# org.onap.dcaegen2 +# ============================================================================= +# Copyright (c) 2017-2020 AT&T Intellectual Property. 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. +# ============LICENSE_END====================================================== + + +# Types and relationships for DMaaP data router feeds + +tosca_definitions_version: cloudify_dsl_1_3 + +plugins: + dmaapplugin: + executor: 'central_deployment_agent' + package_name: dmaap + package_version: 1.5.0 + + +node_types: + + # Data Router feed to be created + dcaegen2.nodes.Feed: + derived_from: cloudify.nodes.Root + + properties: + feed_name: + type: string + required: false + feed_version: + type: string + required: false + feed_description: + type: string + required: false + aspr_classification: + type: string + required: false + useExisting: + type: boolean + required: false + + interfaces: + cloudify.interfaces.lifecycle: + create: + implementation: + dmaapplugin.dmaapplugin.dr_lifecycle.create_feed + delete: + implementation: + dmaapplugin.dmaapplugin.dr_lifecycle.delete_feed + + # Existing Data Router feed to be used as target for publishing/subscribing + dcaegen2.nodes.ExistingFeed: + derived_from: cloudify.nodes.Root + + properties: + feed_id: + type: string + required: false + feed_name: + type: string + required: false + + interfaces: + cloudify.interfaces.lifecycle: + configure: + implementation: + dmaapplugin.dmaapplugin.dr_lifecycle.get_existing_feed + + # Existing Global Data Router feed (created via Invenio) to be used as target for bridging + dcaegen2.nodes.ExternalTargetFeed: + derived_from: cloudify.nodes.Root + + properties: + url: + type: string + required: true + username: + type: string + required: true + userpw: + type: string + required: true + + # Global Data Router feed to be used as a source for bridging + # Has no properties + dcaegen2.nodes.ExternalSourceFeed: + derived_from: cloudify.nodes.Root + + # Message Router topic to be created + dcaegen2.nodes.Topic: + derived_from: cloudify.nodes.Root + + properties: + topic_name: + type: string + required: false + topic_description: + type: string + required: false + txenable: + type: boolean + required: false + replication_case: + type: string + required: false + global_mr_url: + type: string + required: false + useExisting: + type: boolean + required: false + + interfaces: + cloudify.interfaces.lifecycle: + create: + implementation: + dmaapplugin.dmaapplugin.mr_lifecycle.create_topic + delete: + implementation: + dmaapplugin.dmaapplugin.mr_lifecycle.delete_topic + + # Existing Message Router topic to be used as target for publishing/subscribing + dcaegen2.nodes.ExistingTopic: + derived_from: cloudify.nodes.Root + + properties: + fqtn: + type: string + required: false + topic_name: + type: string + required: false + + interfaces: + cloudify.interfaces.lifecycle: + configure: + implementation: + dmaapplugin.dmaapplugin.mr_lifecycle.get_existing_topic + +relationships: + + dcaegen2.relationships.publish_files: + derived_from: cloudify.relationships.connected_to + target_interfaces: + cloudify.interfaces.relationship_lifecycle: + preconfigure: dmaapplugin.dmaapplugin.dr_relationships.add_dr_publisher + unlink: dmaapplugin.dmaapplugin.dr_relationships.delete_dr_publisher + + dcaegen2.relationships.subscribe_to_files: + derived_from: cloudify.relationships.connected_to + target_interfaces: + cloudify.interfaces.relationship_lifecycle: + preconfigure: dmaapplugin.dmaapplugin.dr_relationships.add_dr_subscriber + unlink: dmaapplugin.dmaapplugin.dr_relationships.delete_dr_subscriber + + dcaegen2.relationships.publish_events: + derived_from: cloudify.relationships.connected_to + target_interfaces: + cloudify.interfaces.relationship_lifecycle: + preconfigure: dmaapplugin.dmaapplugin.mr_relationships.add_mr_publisher + unlink: dmaapplugin.dmaapplugin.mr_relationships.delete_mr_client + + dcaegen2.relationships.subscribe_to_events: + derived_from: cloudify.relationships.connected_to + target_interfaces: + cloudify.interfaces.relationship_lifecycle: + preconfigure: dmaapplugin.dmaapplugin.mr_relationships.add_mr_subscriber + unlink: dmaapplugin.dmaapplugin.mr_relationships.delete_mr_client + + dcaegen2.relationships.bridges_to: + derived_from: cloudify.relationships.connected_to + target_interfaces: + cloudify.interfaces.relationship_lifecycle: + preconfigure: dmaapplugin.dmaapplugin.dr_bridge.create_dr_bridge + unlink: dmaapplugin.dmaapplugin.dr_bridge.remove_dr_bridge + + dcaegen2.relationships.bridges_to_external: + derived_from: cloudify.relationships.connected_to + target_interfaces: + cloudify.interfaces.relationship_lifecycle: + preconfigure: dmaapplugin.dmaapplugin.dr_bridge.create_external_dr_bridge + unlink: dmaapplugin.dmaapplugin.dr_bridge.remove_dr_bridge + + dcaegen2.relationships.bridges_from_external_to_internal: + derived_from: cloudify.relationships.connected_to + target_interfaces: + cloudify.interfaces.relationship_lifecycle: + preconfigure: dmaapplugin.dmaapplugin.dr_bridge.create_external_source_dr_bridge + unlink: dmaapplugin.dmaapplugin.dr_bridge.remove_dr_bridge + diff --git a/helm/helm-type.yaml b/helm/helm-type.yaml deleted file mode 100644 index 9d55aba..0000000 --- a/helm/helm-type.yaml +++ /dev/null @@ -1,147 +0,0 @@ -# ============LICENSE_START========================================== -# =================================================================== -# Copyright (c) 2017-2020 AT&T -# -# 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. -#============LICENSE_END============================================ - -plugins: - helm-plugin: - executor: central_deployment_agent - package_name: helm - package_version: 4.2.0 - -node_types: - - onap.nodes.component: - derived_from: cloudify.nodes.Root - properties: - tiller_ip: - description: IP of tiller server - type: string - tiller_port: - default: local - description: Port of tiller server - type: string - chart_repo_url: - default: local - description: helm chart repo url - type: string - component_name: - description: onap component string - type: string - chart_version: - description: helm chart version - type: string - config_dir: - description: config file dir - default: '/opt/manager/resources/' - type: string - namespace: - description: k8s namespace - default: onap - config: - description: json object string - type: string - default: '' - config_url: - description: config file url, supports multiple urls seperated by commas - type: string - default: '' - config_format: - description: config file format - json or yaml - type: string - default: 'yaml' - runtime_config: - default: '' - description: json object string, runtime config generate from other nodes. - config_set: - default: '' - description: json object string for supporting helm --set option. - tls_enable: - description: enable helm TSL - type: boolean - default: false - ca: - description: value of ca.pem - type: string - default: '' - cert: - description: value of cert.pem - type: string - default: '' - key: - description: value of key.pem - type: string - default: '' - stable_repo_url: - description: URL for stable repository - type: string - default: 'https://kubernetes-charts.storage.googleapis.com' - repo_user: - description: chart repo user name - type: string - default: '' - repo_user_password: - description: chart repo user password - type: string - default: '' - - interfaces: - cloudify.interfaces.lifecycle: - configure: helm-plugin.plugin.tasks.config - start: helm-plugin.plugin.tasks.start - stop: helm-plugin.plugin.tasks.stop - upgrade: helm-plugin.plugin.tasks.upgrade - rollback: helm-plugin.plugin.tasks.rollback - status: helm-plugin.plugin.tasks.status - - -workflows: - upgrade: - mapping: helm-plugin.plugin.workflows.upgrade - parameters: - node_instance_id: - description: The id of the node-instance that you want to modify. - config_set: - description: set option string - default: '' - config: - description: json object string - default: '' - config_url: - description: config input url, supports multiple urls seperated by commas - default: '' - config_format: - description: config input file format - default: 'yaml' - chart_version: - description: chart version - chart_repo_url: - description: chart repo url - repo_user: - description: chart repo user name - default: '' - repo_user_password: - description: chart repo user password - default: '' - rollback: - mapping: helm-plugin.plugin.workflows.rollback - parameters: - node_instance_id: - description: The id of the node-instance that you want to modify. - revision: - description: Check the node runtime property history, find the revision number you want to rollback to - status: - mapping: helm-plugin.plugin.workflows.status - parameters: diff --git a/helm/helm_types.yaml b/helm/helm_types.yaml new file mode 100644 index 0000000..9d55aba --- /dev/null +++ b/helm/helm_types.yaml @@ -0,0 +1,147 @@ +# ============LICENSE_START========================================== +# =================================================================== +# Copyright (c) 2017-2020 AT&T +# +# 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. +#============LICENSE_END============================================ + +plugins: + helm-plugin: + executor: central_deployment_agent + package_name: helm + package_version: 4.2.0 + +node_types: + + onap.nodes.component: + derived_from: cloudify.nodes.Root + properties: + tiller_ip: + description: IP of tiller server + type: string + tiller_port: + default: local + description: Port of tiller server + type: string + chart_repo_url: + default: local + description: helm chart repo url + type: string + component_name: + description: onap component string + type: string + chart_version: + description: helm chart version + type: string + config_dir: + description: config file dir + default: '/opt/manager/resources/' + type: string + namespace: + description: k8s namespace + default: onap + config: + description: json object string + type: string + default: '' + config_url: + description: config file url, supports multiple urls seperated by commas + type: string + default: '' + config_format: + description: config file format - json or yaml + type: string + default: 'yaml' + runtime_config: + default: '' + description: json object string, runtime config generate from other nodes. + config_set: + default: '' + description: json object string for supporting helm --set option. + tls_enable: + description: enable helm TSL + type: boolean + default: false + ca: + description: value of ca.pem + type: string + default: '' + cert: + description: value of cert.pem + type: string + default: '' + key: + description: value of key.pem + type: string + default: '' + stable_repo_url: + description: URL for stable repository + type: string + default: 'https://kubernetes-charts.storage.googleapis.com' + repo_user: + description: chart repo user name + type: string + default: '' + repo_user_password: + description: chart repo user password + type: string + default: '' + + interfaces: + cloudify.interfaces.lifecycle: + configure: helm-plugin.plugin.tasks.config + start: helm-plugin.plugin.tasks.start + stop: helm-plugin.plugin.tasks.stop + upgrade: helm-plugin.plugin.tasks.upgrade + rollback: helm-plugin.plugin.tasks.rollback + status: helm-plugin.plugin.tasks.status + + +workflows: + upgrade: + mapping: helm-plugin.plugin.workflows.upgrade + parameters: + node_instance_id: + description: The id of the node-instance that you want to modify. + config_set: + description: set option string + default: '' + config: + description: json object string + default: '' + config_url: + description: config input url, supports multiple urls seperated by commas + default: '' + config_format: + description: config input file format + default: 'yaml' + chart_version: + description: chart version + chart_repo_url: + description: chart repo url + repo_user: + description: chart repo user name + default: '' + repo_user_password: + description: chart repo user password + default: '' + rollback: + mapping: helm-plugin.plugin.workflows.rollback + parameters: + node_instance_id: + description: The id of the node-instance that you want to modify. + revision: + description: Check the node runtime property history, find the revision number you want to rollback to + status: + mapping: helm-plugin.plugin.workflows.status + parameters: diff --git a/k8s/k8splugin-type.yaml b/k8s/k8splugin-type.yaml deleted file mode 100644 index af50e70..0000000 --- a/k8s/k8splugin-type.yaml +++ /dev/null @@ -1,282 +0,0 @@ -# ================================================================================ -# Copyright (c) 2017-2020 AT&T Intellectual Property. All rights reserved. -# Copyright (c) 2020 Pantheon.tech. 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. -# ============LICENSE_END========================================================= -# - -tosca_definitions_version: cloudify_dsl_1_3 - -plugins: - k8s: - executor: 'central_deployment_agent' - package_name: k8splugin - package_version: 3.0.0 - -data_types: - - dcae.types.LoggingInfo: - description: > - Information for setting up centralized logging via ELK using a "sidecar" container. - If 'log_directory' is not provided, the plugin will not set up ELK logging. - (The properties all have to be declared as not required, otherwise the - 'log_info' property on the node would also be required.) - properties: - log_directory: - description: > - The path in the container where the component writes its logs. - If the component is following the EELF requirements, this would be - the directory where the four EELF files are being written. - (Other logs can be placed in the directory--if their names in '.log', - they'll also be sent into ELK.) - type: string - required: false - alternate_fb_path: - description: > - Hope not to use this. By default, the plugin will mount the log volume - at /var/log/onap/ in the sidecar container's file system. - 'alternate_fb_path' allows overriding the default. Will affect how the log - data can be found in the ELK system. - type: string - required: false - - dcae.types.TLSInfo: - description: > - Information for using TLS (HTTPS). (The properties all have to be declared as not - required, otherwise the tls_info property on the node would also be required.) - properties: - cert_directory: - description: > - The path in the container where the component expects to find TLS-related data. - type: string - required: false - use_tls: - description: > - Flag indicating whether TLS (HTTPS) is to be used - type: boolean - required: false - -node_types: - dcae.nodes.ContainerizedComponent: - # Base type for all containerized components - # Captures common properties and interfaces - derived_from: cloudify.nodes.Root - properties: - image: - type: string - description: Full uri of the Docker image - - application_config: - default: {} - description: > - Application configuration for this component. The data structure is - expected to be a complex map (native YAML) and to be constructed and filled - by the creator of the blueprint. - - docker_config: - default: {} - description: > - Copied from the auxiliary portion of the component spec that contains things - like healthcheck definitions for the component. Health checks are - optional. - - resource_config: - default: {} - description: > - This is used to specify the cpu and memory request and limit for container. - Please specify "requests" property and/or a "limits" property, with subproproperties - for cpu and memory. (https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) - - log_info: - type: dcae.types.LoggingInfo - description: > - Information for setting up centralized logging via ELK. - required: false - - tls_info: - type: dcae.types.TLSInfo - description: > - Information for setting up TLS (HTTPS). - required: false - - replicas: - type: integer - description: > - The number of instances of the component that should be launched initially - default: 1 - - always_pull_image: - type: boolean - description: > - Set to true if the orchestrator should always pull a new copy of the image - before deploying. By default the orchestrator pulls only if the image is - not already present on the host where the container is being launched. - default: false - - location_id: - type: string - description: > - The identifier for the location where the component is to be deployed. - If absent, the plugin uses its configured default location, typically the location - where the plugin is running (the central site). Also used to supply a location to - the DMaaP bus controller if the component is being provisioned as a publisher or - subscriber to a DMaaP feed or topic. - required: false - - interfaces: - dcae.interfaces.update: - scale: - implementation: k8s.k8splugin.scale - update_image: - implementation: k8s.k8splugin.update_image - - # The ContainerizedServiceComponent node type is to be used for DCAE service components. - # - # The plugin deploys the component into a Kubernetes cluster with a very specific choice - # of Kubernetes elements that are deliberately not under the control of the blueprint author. - # The idea is to deploy all service components in a consistent way, with the details abstracted - # away from the blueprint author. The plugin is responsible for: - # * Generation of the service component name - # * Managing of service component configuration information - dcae.nodes.ContainerizedServiceComponent: - derived_from: dcae.nodes.ContainerizedComponent - properties: - service_component_type: - type: string - description: Service component type of the application being run in the container - - service_id: - type: string - description: > - Unique id for this DCAE service instance this component belongs to. This value - will be applied as a tag in the registration of this component with Consul. - default: Null - - location_id: - type: string - description: > - Location id of where to run the container. Not used by the plugin. Here for backward compatibility. - default: Null - required: False - - service_component_name_override: - type: string - description: > - Manually override and set the name for this component. If this - is set, then the name will not be auto-generated. Using this feature provides - a service component with a fixed name that's known in advance, but care must be taken - to avoid attempting to deploy two components with the same name. If the component - exposes any ports, the k8s Service created by the plugin will use service_component_name_override - as the DNS host name. - default: Null - - interfaces: - cloudify.interfaces.lifecycle: - create: - # Generate service component name and populate config into Consul - implementation: k8s.k8splugin.create_for_components - start: - # Create k8s entities for the component and start - implementation: k8s.k8splugin.create_and_start_container_for_components - stop: - # Stop and remove k8s entities associated with the component - implementation: k8s.k8splugin.stop_and_remove_container - delete: - # Delete configuration from Consul - implementation: k8s.k8splugin.cleanup_discovery - dcae.interfaces.policy: - # This is to be invoked by the policy handler upon policy updates - policy_update: - implementation: k8s.k8splugin.policy_update - - # This node type is intended for DCAE service components that use DMaaP and must use the - # DMaaP plugin. - dcae.nodes.ContainerizedServiceComponentUsingDmaap: - derived_from: dcae.nodes.ContainerizedServiceComponent - properties: - streams_publishes: - description: > - List of DMaaP streams used for publishing. - - Message router items look like: - - name: topic00 - location: mtc5 - client_role: XXXX - type: message_router - - Data router items look like: - - name: feed00 - location: mtc5 - type: data_router - - This information is forwarded to the dmaap plugin to provision - default: [] - streams_subscribes: - description: > - List of DMaaP streams used for subscribing. - - Message router items look like: - - name: topic00 - location: mtc5 - client_role: XXXX - type: message_router - - Data router items look like: - - name: feed00 - location: mtc5 - type: data_router - username: king - password: 123456 - route: some-path - scheme: https - - Note that username and password is optional. If not provided or null then the - plugin will generate them. - - default: [] - interfaces: - cloudify.interfaces.lifecycle: - create: - # Generate service component name, populate config into Consul, set up runtime properties for DMaaP plugin - implementation: k8s.k8splugin.create_for_components_with_streams - - # ContainerizedApplication is intended to be more of an all-purpose Docker container node - # for non-componentized applications. - dcae.nodes.ContainerizedApplication: - derived_from: cloudify.nodes.Root - properties: - name: - type: string - description: Name of the Docker container to be given - image: - type: string - description: Full uri of the Docker image - interfaces: - cloudify.interfaces.lifecycle: - start: - # Create Docker container and start - implementation: k8s.k8splugin.create_and_start_container - stop: - # Stop and remove Docker container - implementation: k8s.k8splugin.stop_and_remove_container - dcae.interfaces.scale: - scale: - implementation: k8s.k8splugin.scale - dcae.interfaces.update: - update_image: - implementation: k8s.k8splugin.update_image diff --git a/k8s/k8splugin_types.yaml b/k8s/k8splugin_types.yaml new file mode 100644 index 0000000..af50e70 --- /dev/null +++ b/k8s/k8splugin_types.yaml @@ -0,0 +1,282 @@ +# ================================================================================ +# Copyright (c) 2017-2020 AT&T Intellectual Property. All rights reserved. +# Copyright (c) 2020 Pantheon.tech. 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. +# ============LICENSE_END========================================================= +# + +tosca_definitions_version: cloudify_dsl_1_3 + +plugins: + k8s: + executor: 'central_deployment_agent' + package_name: k8splugin + package_version: 3.0.0 + +data_types: + + dcae.types.LoggingInfo: + description: > + Information for setting up centralized logging via ELK using a "sidecar" container. + If 'log_directory' is not provided, the plugin will not set up ELK logging. + (The properties all have to be declared as not required, otherwise the + 'log_info' property on the node would also be required.) + properties: + log_directory: + description: > + The path in the container where the component writes its logs. + If the component is following the EELF requirements, this would be + the directory where the four EELF files are being written. + (Other logs can be placed in the directory--if their names in '.log', + they'll also be sent into ELK.) + type: string + required: false + alternate_fb_path: + description: > + Hope not to use this. By default, the plugin will mount the log volume + at /var/log/onap/ in the sidecar container's file system. + 'alternate_fb_path' allows overriding the default. Will affect how the log + data can be found in the ELK system. + type: string + required: false + + dcae.types.TLSInfo: + description: > + Information for using TLS (HTTPS). (The properties all have to be declared as not + required, otherwise the tls_info property on the node would also be required.) + properties: + cert_directory: + description: > + The path in the container where the component expects to find TLS-related data. + type: string + required: false + use_tls: + description: > + Flag indicating whether TLS (HTTPS) is to be used + type: boolean + required: false + +node_types: + dcae.nodes.ContainerizedComponent: + # Base type for all containerized components + # Captures common properties and interfaces + derived_from: cloudify.nodes.Root + properties: + image: + type: string + description: Full uri of the Docker image + + application_config: + default: {} + description: > + Application configuration for this component. The data structure is + expected to be a complex map (native YAML) and to be constructed and filled + by the creator of the blueprint. + + docker_config: + default: {} + description: > + Copied from the auxiliary portion of the component spec that contains things + like healthcheck definitions for the component. Health checks are + optional. + + resource_config: + default: {} + description: > + This is used to specify the cpu and memory request and limit for container. + Please specify "requests" property and/or a "limits" property, with subproproperties + for cpu and memory. (https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/) + + log_info: + type: dcae.types.LoggingInfo + description: > + Information for setting up centralized logging via ELK. + required: false + + tls_info: + type: dcae.types.TLSInfo + description: > + Information for setting up TLS (HTTPS). + required: false + + replicas: + type: integer + description: > + The number of instances of the component that should be launched initially + default: 1 + + always_pull_image: + type: boolean + description: > + Set to true if the orchestrator should always pull a new copy of the image + before deploying. By default the orchestrator pulls only if the image is + not already present on the host where the container is being launched. + default: false + + location_id: + type: string + description: > + The identifier for the location where the component is to be deployed. + If absent, the plugin uses its configured default location, typically the location + where the plugin is running (the central site). Also used to supply a location to + the DMaaP bus controller if the component is being provisioned as a publisher or + subscriber to a DMaaP feed or topic. + required: false + + interfaces: + dcae.interfaces.update: + scale: + implementation: k8s.k8splugin.scale + update_image: + implementation: k8s.k8splugin.update_image + + # The ContainerizedServiceComponent node type is to be used for DCAE service components. + # + # The plugin deploys the component into a Kubernetes cluster with a very specific choice + # of Kubernetes elements that are deliberately not under the control of the blueprint author. + # The idea is to deploy all service components in a consistent way, with the details abstracted + # away from the blueprint author. The plugin is responsible for: + # * Generation of the service component name + # * Managing of service component configuration information + dcae.nodes.ContainerizedServiceComponent: + derived_from: dcae.nodes.ContainerizedComponent + properties: + service_component_type: + type: string + description: Service component type of the application being run in the container + + service_id: + type: string + description: > + Unique id for this DCAE service instance this component belongs to. This value + will be applied as a tag in the registration of this component with Consul. + default: Null + + location_id: + type: string + description: > + Location id of where to run the container. Not used by the plugin. Here for backward compatibility. + default: Null + required: False + + service_component_name_override: + type: string + description: > + Manually override and set the name for this component. If this + is set, then the name will not be auto-generated. Using this feature provides + a service component with a fixed name that's known in advance, but care must be taken + to avoid attempting to deploy two components with the same name. If the component + exposes any ports, the k8s Service created by the plugin will use service_component_name_override + as the DNS host name. + default: Null + + interfaces: + cloudify.interfaces.lifecycle: + create: + # Generate service component name and populate config into Consul + implementation: k8s.k8splugin.create_for_components + start: + # Create k8s entities for the component and start + implementation: k8s.k8splugin.create_and_start_container_for_components + stop: + # Stop and remove k8s entities associated with the component + implementation: k8s.k8splugin.stop_and_remove_container + delete: + # Delete configuration from Consul + implementation: k8s.k8splugin.cleanup_discovery + dcae.interfaces.policy: + # This is to be invoked by the policy handler upon policy updates + policy_update: + implementation: k8s.k8splugin.policy_update + + # This node type is intended for DCAE service components that use DMaaP and must use the + # DMaaP plugin. + dcae.nodes.ContainerizedServiceComponentUsingDmaap: + derived_from: dcae.nodes.ContainerizedServiceComponent + properties: + streams_publishes: + description: > + List of DMaaP streams used for publishing. + + Message router items look like: + + name: topic00 + location: mtc5 + client_role: XXXX + type: message_router + + Data router items look like: + + name: feed00 + location: mtc5 + type: data_router + + This information is forwarded to the dmaap plugin to provision + default: [] + streams_subscribes: + description: > + List of DMaaP streams used for subscribing. + + Message router items look like: + + name: topic00 + location: mtc5 + client_role: XXXX + type: message_router + + Data router items look like: + + name: feed00 + location: mtc5 + type: data_router + username: king + password: 123456 + route: some-path + scheme: https + + Note that username and password is optional. If not provided or null then the + plugin will generate them. + + default: [] + interfaces: + cloudify.interfaces.lifecycle: + create: + # Generate service component name, populate config into Consul, set up runtime properties for DMaaP plugin + implementation: k8s.k8splugin.create_for_components_with_streams + + # ContainerizedApplication is intended to be more of an all-purpose Docker container node + # for non-componentized applications. + dcae.nodes.ContainerizedApplication: + derived_from: cloudify.nodes.Root + properties: + name: + type: string + description: Name of the Docker container to be given + image: + type: string + description: Full uri of the Docker image + interfaces: + cloudify.interfaces.lifecycle: + start: + # Create Docker container and start + implementation: k8s.k8splugin.create_and_start_container + stop: + # Stop and remove Docker container + implementation: k8s.k8splugin.stop_and_remove_container + dcae.interfaces.scale: + scale: + implementation: k8s.k8splugin.scale + dcae.interfaces.update: + update_image: + implementation: k8s.k8splugin.update_image diff --git a/pgaas/pgaas-type.yaml b/pgaas/pgaas-type.yaml deleted file mode 100644 index a81d3f6..0000000 --- a/pgaas/pgaas-type.yaml +++ /dev/null @@ -1,67 +0,0 @@ -# -*- indent-tabs-mode: nil -*- # vi: set expandtab: -tosca_definitions_version: cloudify_dsl_1_3 - -plugins: - pgaas: - executor: central_deployment_agent - package_name: pgaas - package_version: 1.3.0 - -node_types: - dcae.nodes.pgaas.cluster: - derived_from: cloudify.nodes.Root - properties: - writerfqdn: - description: 'FQDN used for admin/read-write access to the cluster' - type: string - use_existing: - type: boolean - default: false - description: 'If set to true, the cluster exists and is being referenced' - readerfqdn: - description: 'FQDN used for read-only access to the cluster (default - same as writerfqdn)' - type: string - default: '' - port: - description: 'Port used for access to the cluster' - type: string - default: '5432' - initialpassword: - description: 'Password of existing PG instance to take control of' - type: string - default: '' - interfaces: - cloudify.interfaces.lifecycle: - create: pgaas.pgaas.pgaas_plugin.add_pgaas_cluster - delete: pgaas.pgaas.pgaas_plugin.rm_pgaas_cluster - - dcae.nodes.pgaas.database: - derived_from: cloudify.nodes.Root - properties: - name: - type: string - description: 'Name of database (max 44 alphanumeric)' - use_existing: - type: boolean - default: false - description: 'If set to true, the database exists and is being referenced' - writerfqdn: - type: string - default: '' - description: 'Shortcut for connecting to a pgaas.cluster node (with use_existing=true) with a runson_pgaas_cluster relationship' - interfaces: - cloudify.interfaces.lifecycle: - create: pgaas.pgaas.pgaas_plugin.create_database - delete: pgaas.pgaas.pgaas_plugin.delete_database - -relationships: - dcae.relationships.pgaas_cluster_uses_sshkeypair: - derived_from: cloudify.relationships.connected_to - dcae.relationships.database_runson_pgaas_cluster: - derived_from: cloudify.relationships.contained_in - dcae.relationships.application_uses_pgaas_database: - derived_from: cloudify.relationships.connected_to - -workflows: - update_db_passwd : - mapping : pgaas.pgaas.pgaas_plugin.update_database diff --git a/pgaas/pgaas_types.yaml b/pgaas/pgaas_types.yaml new file mode 100644 index 0000000..a81d3f6 --- /dev/null +++ b/pgaas/pgaas_types.yaml @@ -0,0 +1,67 @@ +# -*- indent-tabs-mode: nil -*- # vi: set expandtab: +tosca_definitions_version: cloudify_dsl_1_3 + +plugins: + pgaas: + executor: central_deployment_agent + package_name: pgaas + package_version: 1.3.0 + +node_types: + dcae.nodes.pgaas.cluster: + derived_from: cloudify.nodes.Root + properties: + writerfqdn: + description: 'FQDN used for admin/read-write access to the cluster' + type: string + use_existing: + type: boolean + default: false + description: 'If set to true, the cluster exists and is being referenced' + readerfqdn: + description: 'FQDN used for read-only access to the cluster (default - same as writerfqdn)' + type: string + default: '' + port: + description: 'Port used for access to the cluster' + type: string + default: '5432' + initialpassword: + description: 'Password of existing PG instance to take control of' + type: string + default: '' + interfaces: + cloudify.interfaces.lifecycle: + create: pgaas.pgaas.pgaas_plugin.add_pgaas_cluster + delete: pgaas.pgaas.pgaas_plugin.rm_pgaas_cluster + + dcae.nodes.pgaas.database: + derived_from: cloudify.nodes.Root + properties: + name: + type: string + description: 'Name of database (max 44 alphanumeric)' + use_existing: + type: boolean + default: false + description: 'If set to true, the database exists and is being referenced' + writerfqdn: + type: string + default: '' + description: 'Shortcut for connecting to a pgaas.cluster node (with use_existing=true) with a runson_pgaas_cluster relationship' + interfaces: + cloudify.interfaces.lifecycle: + create: pgaas.pgaas.pgaas_plugin.create_database + delete: pgaas.pgaas.pgaas_plugin.delete_database + +relationships: + dcae.relationships.pgaas_cluster_uses_sshkeypair: + derived_from: cloudify.relationships.connected_to + dcae.relationships.database_runson_pgaas_cluster: + derived_from: cloudify.relationships.contained_in + dcae.relationships.application_uses_pgaas_database: + derived_from: cloudify.relationships.connected_to + +workflows: + update_db_passwd : + mapping : pgaas.pgaas.pgaas_plugin.update_database diff --git a/relationships/relationshipplugin-type.yaml b/relationships/relationshipplugin-type.yaml deleted file mode 100644 index 9919cd8..0000000 --- a/relationships/relationshipplugin-type.yaml +++ /dev/null @@ -1,81 +0,0 @@ -# ================================================================================ -# Copyright (c) 2017-2020 AT&T Intellectual Property. 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. -# ============LICENSE_END========================================================= -# -tosca_definitions_version: cloudify_dsl_1_3 - -imports: - - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml - -plugins: - relationships: - executor: 'central_deployment_agent' - package_name: relationshipplugin - package_version: 1.1.0 - -relationships: - # The relationship type here is to be used between service component nodes. What is achieved here is - # functionality in providing this relationship information to the service components so that they can - # do service discovery. - # - # This function will create/add to the rels list for components. So going from a "collector node -> analytics node" - # for example, this is kind of the edge and will add: - # - # ``` - # "collector_name:rel": ["analytics_name"] - # ``` - # - # To the key value store. - # - dcae.relationships.component_connected_to: - derived_from: cloudify.relationships.connected_to - # These operations are for adding and removing relationships from Consul - # http://getcloudify.org/guide/3.1/reference-builtin-workflows.html - target_interfaces: - cloudify.interfaces.relationship_lifecycle: - preconfigure: - # Adds target to the source relationship list - implementation: relationships.relationshipplugin.add_relationship - unlink: - # Removes target from the source relationship list - implementation: relationships.relationshipplugin.remove_relationship - - dcae.relationships.component_contained_in: - derived_from: cloudify.relationships.contained_in - target_interfaces: - cloudify.interfaces.relationship_lifecycle: - preconfigure: - implementation: relationships.relationshipplugin.forward_destination_info - # TODO: Is there a need for "unlink"? - - dcae.relationships.component_registered_to: - #Operates on a relationship A -> B and makes the following assumptions: - derived_from: cloudify.relationships.connected_to - target_interfaces: - cloudify.interfaces.relationship_lifecycle: - preconfigure: - implementation: relationships.relationshipplugin.tasks.registered_to - inputs: - address_to_register: - type: string - port_to_register: - type: string - name_to_register: - type: string - unlink: - implementation: relationships.relationshipplugin.tasks.registered_to_delete - - - diff --git a/relationships/relationshipplugin_types.yaml b/relationships/relationshipplugin_types.yaml new file mode 100644 index 0000000..9919cd8 --- /dev/null +++ b/relationships/relationshipplugin_types.yaml @@ -0,0 +1,81 @@ +# ================================================================================ +# Copyright (c) 2017-2020 AT&T Intellectual Property. 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. +# ============LICENSE_END========================================================= +# +tosca_definitions_version: cloudify_dsl_1_3 + +imports: + - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml + +plugins: + relationships: + executor: 'central_deployment_agent' + package_name: relationshipplugin + package_version: 1.1.0 + +relationships: + # The relationship type here is to be used between service component nodes. What is achieved here is + # functionality in providing this relationship information to the service components so that they can + # do service discovery. + # + # This function will create/add to the rels list for components. So going from a "collector node -> analytics node" + # for example, this is kind of the edge and will add: + # + # ``` + # "collector_name:rel": ["analytics_name"] + # ``` + # + # To the key value store. + # + dcae.relationships.component_connected_to: + derived_from: cloudify.relationships.connected_to + # These operations are for adding and removing relationships from Consul + # http://getcloudify.org/guide/3.1/reference-builtin-workflows.html + target_interfaces: + cloudify.interfaces.relationship_lifecycle: + preconfigure: + # Adds target to the source relationship list + implementation: relationships.relationshipplugin.add_relationship + unlink: + # Removes target from the source relationship list + implementation: relationships.relationshipplugin.remove_relationship + + dcae.relationships.component_contained_in: + derived_from: cloudify.relationships.contained_in + target_interfaces: + cloudify.interfaces.relationship_lifecycle: + preconfigure: + implementation: relationships.relationshipplugin.forward_destination_info + # TODO: Is there a need for "unlink"? + + dcae.relationships.component_registered_to: + #Operates on a relationship A -> B and makes the following assumptions: + derived_from: cloudify.relationships.connected_to + target_interfaces: + cloudify.interfaces.relationship_lifecycle: + preconfigure: + implementation: relationships.relationshipplugin.tasks.registered_to + inputs: + address_to_register: + type: string + port_to_register: + type: string + name_to_register: + type: string + unlink: + implementation: relationships.relationshipplugin.tasks.registered_to_delete + + + diff --git a/sshkeyshare/sshkeyshare-type.yaml b/sshkeyshare/sshkeyshare-type.yaml deleted file mode 100644 index 083fc72..0000000 --- a/sshkeyshare/sshkeyshare-type.yaml +++ /dev/null @@ -1,17 +0,0 @@ -tosca_definitions_version: cloudify_dsl_1_3 - -imports: - - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml -plugins: - ssh_keyshare: - executor: central_deployment_agent - package_name: sshkeyshare - package_version: 1.2.0 -node_types: - dcaegen2.nodes.ssh.keypair: - derived_from: cloudify.nodes.Root - properties: - interfaces: - cloudify.interfaces.lifecycle: - create: - implementation: ssh_keyshare.sshkeyshare.keyshare_plugin.generate diff --git a/sshkeyshare/sshkeyshare_types.yaml b/sshkeyshare/sshkeyshare_types.yaml new file mode 100644 index 0000000..083fc72 --- /dev/null +++ b/sshkeyshare/sshkeyshare_types.yaml @@ -0,0 +1,17 @@ +tosca_definitions_version: cloudify_dsl_1_3 + +imports: + - http://www.getcloudify.org/spec/cloudify/3.4/types.yaml +plugins: + ssh_keyshare: + executor: central_deployment_agent + package_name: sshkeyshare + package_version: 1.2.0 +node_types: + dcaegen2.nodes.ssh.keypair: + derived_from: cloudify.nodes.Root + properties: + interfaces: + cloudify.interfaces.lifecycle: + create: + implementation: ssh_keyshare.sshkeyshare.keyshare_plugin.generate -- cgit 1.2.3-korg