diff --git a/CHANGELOG.rst b/CHANGELOG.rst
index 8d02606..1358171 100644
--- a/CHANGELOG.rst
+++ b/CHANGELOG.rst
@@ -4,6 +4,18 @@ SAP Operations Collection Release Notes
.. contents:: Topics
+v1.17.0
+=======
+
+Release Summary
+---------------
+
+Lifecycle release
+
+Major Changes
+-------------
+
+- Minimum ansible-core version supported is 2.15
v1.16.1
=======
@@ -228,7 +240,6 @@ Release Summary
Two roles are added `hana_update` and `prepare`
-
Major Changes
-------------
@@ -248,7 +259,6 @@ Release Summary
Using changelog fragments to build collection changelog.
-
Minor Changes
-------------
@@ -263,7 +273,6 @@ Release Summary
First release of SAP Operations collection.
-
Major Changes
-------------
@@ -281,7 +290,6 @@ Release Summary
First release of SAP Operations collection.
-
Major Changes
-------------
diff --git a/README.md b/README.md
index 8bf185e..64f854a 100644
--- a/README.md
+++ b/README.md
@@ -47,10 +47,10 @@ Please see documentation for role `prepare`.
Ansible collection is designed to work with following Ansible versions (on controller host)
-ansible-core 2.14
-
ansible-core 2.15
+ansible-core 2.16
+
### Python
Ansible collection is designed to work with following python versions on controller host
diff --git a/galaxy.yml b/galaxy.yml
index 70c00ff..a419599 100644
--- a/galaxy.yml
+++ b/galaxy.yml
@@ -24,7 +24,7 @@ namespace: sap
name: sap_operations
-version: 1.16.1
+version: 1.17.0
readme: README.md
@@ -132,5 +132,50 @@ build_ignore:
- README-aap.md
- roles/sapjvm/
+ - roles/cloudconnector/*
- plugins/modules/proc_info.py
+ - plugins/action/cf_marketplace_info.py
+ - plugins/modules/cf_marketplace_info.py
+ - plugins/action/cf_service_instance.py
+ - plugins/modules/cf_service_instance.py
+ - plugins/action/cf_service_instance_info.py
+ - plugins/modules/cf_service_instance_info.py
+ - plugins/action/cf_service_instances_info.py
+ - plugins/modules/cf_service_instances_info.py
+ - plugins/action/cf_service_plans_info.py
+ - plugins/modules/cf_service_plans_info.py
+ - plugins/action/cf_spaces_info.py
+ - plugins/modules/cf_spaces_info.py
+
+ - meta/runtime-aap.yml
+ - meta/runtime-galaxy.yml
+
+ - plugins/action/cf_service_instance_keys_info.py
+ - plugins/modules/cf_service_instance_keys_info.py
+
+ - plugins/action/cf_service_instance_key.py
+ - plugins/modules/cf_service_instance_key.py
+
+ - plugins/action/btp_global_account_info.py
+ - plugins/modules/btp_global_account_info.py
+
+ - plugins/action/btp_subaccount.py
+ - plugins/modules/btp_subaccount.py
+ - plugins/action/btp_subaccounts_info.py
+ - plugins/modules/btp_subaccounts_info.py
+ - plugins/action/btp_global_account_assignments_info.py
+ - plugins/modules/btp_global_account_assignments_info.py
+ - plugins/doc_fragments/sap_btp_action_plugin.py
+ - plugins/doc_fragments/cloud_foundry.py
+ - plugins/doc_fragments/action_plugin.py
+ - playbooks/sample_test_sap_btp.yml
+
+ - roles/quality/*
+ - roles/powershell/*
+
+ - plugins/modules/enq_admin_info.py
+ - plugins/modules/enq_admin_locks_info.py
+ - plugins/modules/enq_admin_lock.py
+ - plugins/doc_fragments/enq_admin.py
+ - plugins/module_utils/enq_admin.py
diff --git a/meta/runtime.yml b/meta/runtime.yml
index b576238..1462140 100644
--- a/meta/runtime.yml
+++ b/meta/runtime.yml
@@ -20,4 +20,4 @@
# If not, see .
---
-requires_ansible: ">=2.14.0"
+requires_ansible: ">=2.15.0"
diff --git a/plugins/action/__init__.py b/plugins/action/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/plugins/modules/host_info.py b/plugins/modules/host_info.py
index 04f1ef0..fe9cb7c 100644
--- a/plugins/modules/host_info.py
+++ b/plugins/modules/host_info.py
@@ -1296,14 +1296,21 @@
def main():
module = AnsibleModuleSAPHostAgent(argument_spec={}, supports_check_mode=True)
+ try:
+ m = saphostctrl(
+ hostname=module.params.get("hostname"),
+ username=module.params.get("username"),
+ password=module.params.get("password"),
+ ca_file=module.params.get("ca_file"),
+ security=module.params.get("security"),
+ )
+ except FileNotFoundError:
+ module.exit_json(
+ msg="No saphost agent installed",
+ instances=[],
+ databases=[],
+ )
- m = saphostctrl(
- hostname=module.params.get("hostname"),
- username=module.params.get("username"),
- password=module.params.get("password"),
- ca_file=module.params.get("ca_file"),
- security=module.params.get("security"),
- )
try:
instances = convert2ansible(m.client.service.ListInstances())
for instance in instances:
diff --git a/roles/cloudconnector/README.md b/roles/cloudconnector/README.md
deleted file mode 100644
index b8edc1d..0000000
--- a/roles/cloudconnector/README.md
+++ /dev/null
@@ -1,238 +0,0 @@
-
-
-# cloudconnector
-
-Role to manage SAP cloud connector
-
-
-Role to manage SAP cloud connector
-Role will download necessary binaries from tools.hana.ondemand.com
-Role can install both rpm and portable versions of SAP Cloud Connector, see role documentation
-Portable version is installed via copy of downloaded archive content, removed via removing installation directory
-RPM version installation requires root access
-Cloud connector requires SAP JVM to be installed, see SAP documentation.
-SAP JVM can be installed with role sap.sap_operations.sapjvm
-Role will use ansible_facts to determine current host os system and architecture to download correct binaries
-By using this role and downloading SAP software from tools.hana.ondemand.com you accept SAP developer license agreement
-One can find more details on tools.hana.ondemand.com
-
-
-
-## Role Variables
-
-### Required parameters:
-
-
-- [cloudconnector_version](#cloudconnector_version)
-
-
-#### cloudconnector_version
-
-
-_Type:_ `str`
-
-
-_Required:_ `True`
-_Description:_
-Cloud connector version
-
-
-
-#### cloudconnector_state
-
-
-_Type:_ `str`
-
-
-_Required:_ `False`
-_Choices:_
-- present
-- absent
-_Description:_
-SAP cloud connector state
-
-
-
-#### cloudconnector_download_filename
-
-
-_Type:_ `str`
-
-
-_Required:_ `False`
-_Description:_
-Filename of downloaded SAP cloud connector binaries,
-By default Filename is sapcc-{{ cloudconnector_version }}-{{ cloudconnector_system }}-{{ cloudconnector_architecture }}.{{ cloudconnector_archive_extension }}
-See definition of variables in defaults/main.yml and vars/main.yml
-
-
-
-#### cloudconnector_download_filepath
-
-
-_Type:_ `str`
-
-
-_Required:_ `False`
-_Description:_
-Complete path to file where SAP cloud connector binary will be downloaded
-by default is {{ cloudconnector_download_destination }}/{{ cloudconnector_download_filename }}, see other variables
-If this is set it will overwrite cloudconnector_download_destination and cloudconnector_download_filename variable values
-
-
-
-#### cloudconnector_download_timeout_seconds
-
-
-_Type:_ `int`
-
-_Default:_ `3600`
-
-_Required:_ `False`
-_Description:_
-Timeout set for download SAP cloud connector task
-
-
-
-#### cloudconnector_portable_install_destination
-
-
-_Type:_ `path`
-
-_Default:_ `/opt/sap/scc`
-
-_Required:_ `False`
-_Description:_
-Folder where SAP cloud connector binary will be installed, only relevant for portable installations
-
-
-
-#### cloudconnector_architecture
-
-
-_Type:_ `str`
-
-
-_Required:_ `False`
-_Choices:_
-- x64
-- ppc64le
-- aarch64
-_Description:_
-Cloud connector architecture
-If not specified, it will be detected automatically using ansible_facts['architecture']
-No need to collect facts before running this role. It will be done automatically.
-If ansible_facts['architecture'] is not defined, default value C(x64) will be used.
-
-
-
-
-#### cloudconnector_download_destination
-
-
-_Type:_ `str`
-
-_Default:_ `/tmp`
-
-_Required:_ `False`
-_Description:_
-Cloud connector download destination
-
-
-
-#### cloudconnector_unpack_destination
-
-
-_Type:_ `str`
-
-_Default:_ `/tmp/cloudconnector_unpacked`
-
-_Required:_ `False`
-_Description:_
-Cloud connector unpack destination
-
-
-
-#### cloudconnector_system
-
-
-_Type:_ `str`
-
-_Default:_ `linux`
-
-_Required:_ `False`
-_Choices:_
-- linux
-- darwin
-_Description:_
-Cloud connector OS system
-If not specified, it will be detected automatically using ansible_facts['system']
-No need to collect facts before running this role. It will be done automatically.
-If ansible_facts['system'] is not defined, default value C(linux) will be used.
-
-
-
-
-#### cloudconnector_portable
-
-
-_Type:_ `bool`
-
-_Default:_ `False`
-
-_Required:_ `False`
-_Description:_
-Bool to define if cloud connector should be installed in portable mode
-
-
-
-
-## Limitations
-
-None
-
-## Dependencies
-
-Role has no dependencies to other roles.
-
-## Example Playbooks
-
-```ansible
-- hosts: all
- tasks:
- - name: Make sure that portable cloud connector present
- ansible.builtin.include_role:
- name: sap.sap_operations.cloudconnector
- vars:
- cloudconnector_version: 2.16.2
- cloudconnector_portable: false
-```
-
-## License
-
-GPL-3.0-only
-
-## Author Information
-
-Kirill Satarin (@kksat)
diff --git a/roles/cloudconnector/defaults/main.yml b/roles/cloudconnector/defaults/main.yml
deleted file mode 100644
index 36e4547..0000000
--- a/roles/cloudconnector/defaults/main.yml
+++ /dev/null
@@ -1,43 +0,0 @@
----
-# SPDX-License-Identifier: GPL-3.0-only
-# SPDX-FileCopyrightText: 2023 Red Hat, Project Atmosphere
-#
-# Copyright 2023 Red Hat, Project Atmosphere
-#
-# This program is free software: you can redistribute it and/or modify it under the terms of the GNU
-# General Public License as published by the Free Software Foundation, version 3 of the License.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the GNU General Public License for more details.
-#
-# 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.
-#
-# You should have received a copy of the GNU General Public License along with this program.
-# If not, see .
-
-cloudconnector_state: present
-
-cloudconnector_download_filename: "{{ cloudconnector_url_filename }}"
-
-cloudconnector_download_destination: /tmp/cloudconnector
-
-cloudconnector_download_filepath: "{{ cloudconnector_download_destination }}/{{ cloudconnector_download_filename }}"
-
-cloudconnector_download_timeout_seconds: 3600
-
-cloudconnector_version: "{{ (cloudconnector_state == 'absent') | ansible.builtin.ternary('absent', '') }}"
-
-cloudconnector_unpack_destination: /tmp/cloudconnector_unpacked
-
-cloudconnector_portable_install_destination: /opt/sap/scc
-
-cloudconnector_system: "{{ (ansible_system | default('linux')) | lower }}"
-
-cloudconnector_architecture: "{{ cloudconnector_architecture_mapping[ansible_architecture | default('x86_64')] }}"
-
-cloudconnector_portable: false
diff --git a/roles/cloudconnector/meta/argument_specs.yml b/roles/cloudconnector/meta/argument_specs.yml
deleted file mode 100644
index 5666e45..0000000
--- a/roles/cloudconnector/meta/argument_specs.yml
+++ /dev/null
@@ -1,165 +0,0 @@
----
-# SPDX-License-Identifier: GPL-3.0-only
-# SPDX-FileCopyrightText: 2023 Red Hat, Project Atmosphere
-#
-# Copyright 2023 Red Hat, Project Atmosphere
-#
-# This program is free software: you can redistribute it and/or modify it under the terms of the GNU
-# General Public License as published by the Free Software Foundation, version 3 of the License.
-# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
-#
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the GNU General Public License for more details.
-#
-# 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.
-#
-# You should have received a copy of the GNU General Public License along with this program.
-# If not, see .
-
-argument_specs:
- main:
- short_description: Role to manage SAP cloud connector
- description:
- - Role to manage SAP cloud connector
- - Role will download necessary binaries from tools.hana.ondemand.com
- - Role can install both rpm and portable versions of SAP Cloud Connector, see role documentation
- - Portable version is installed via copy of downloaded archive content, removed via removing installation directory
- - RPM version installation requires root access
- - Cloud connector requires SAP JVM to be installed, see SAP documentation.
- - SAP JVM can be installed with role sap.sap_operations.sapjvm
- - Role will use ansible_facts to determine current host os system and architecture to download correct binaries
- - By using this role and downloading SAP software from tools.hana.ondemand.com you accept SAP developer license agreement
- - One can find more details on tools.hana.ondemand.com
-
- options:
- cloudconnector_state:
- description: SAP cloud connector state
- type: str
- required: false
- choices:
- - present
- - absent
-
- cloudconnector_download_filename:
- description:
- - Filename of downloaded SAP cloud connector binaries,
- - >-
- By default Filename is
- {% raw %}
- sapcc-{{ cloudconnector_version }}-{{ cloudconnector_system }}-{{ cloudconnector_architecture }}.{{ cloudconnector_archive_extension }}
- {% endraw %}
- - See definition of variables in defaults/main.yml and vars/main.yml
- type: str
- required: false
-
- cloudconnector_download_filepath:
- description:
- - Complete path to file where SAP cloud connector binary will be downloaded
- - by default is {% raw %}{{ cloudconnector_download_destination }}/{{ cloudconnector_download_filename }}{% endraw %}, see other variables
- - If this is set it will overwrite cloudconnector_download_destination and cloudconnector_download_filename variable values
- type: str
- required: false
-
- cloudconnector_download_timeout_seconds:
- description: Timeout set for download SAP cloud connector task
- type: int
- required: false
- default: 3600
-
- cloudconnector_portable_install_destination:
- description: Folder where SAP cloud connector binary will be installed, only relevant for portable installations
- type: path
- required: false
- default: /opt/sap/scc
-
- cloudconnector_architecture:
- description: |
- Cloud connector architecture
- If not specified, it will be detected automatically using ansible_facts['architecture']
- No need to collect facts before running this role. It will be done automatically.
- If ansible_facts['architecture'] is not defined, default value C(x64) will be used.
- type: str
- required: false
- choices:
- - x64
- - ppc64le
- - aarch64
-
- cloudconnector_version:
- description: Cloud connector version
- type: str
- required: true
-
- cloudconnector_download_destination:
- description: Cloud connector download destination
- type: str
- required: false
- default: /tmp
-
- cloudconnector_unpack_destination:
- description: Cloud connector unpack destination
- type: str
- required: false
- default: /tmp/cloudconnector_unpacked
-
- cloudconnector_system:
- description: |
- Cloud connector OS system
- If not specified, it will be detected automatically using ansible_facts['system']
- No need to collect facts before running this role. It will be done automatically.
- If ansible_facts['system'] is not defined, default value C(linux) will be used.
- type: str
- required: false
- default: linux
- choices:
- - linux
- - darwin
-
- cloudconnector_portable:
- description: Bool to define if cloud connector should be installed in portable mode
- type: bool
- required: false
- default: false
-
- __limitations__:
- options: {}
- short_description: Limitations
- description:
- - None
-
- __dependencies__:
- options: {}
- short_description: Dependencies
- description:
- - Role has no dependencies to other roles.
-
- __examples__:
- options: {}
- short_description: Example Playbooks
- description:
- - "```ansible"
- - "- hosts: all"
- - " tasks:"
- - " - name: Make sure that portable cloud connector present"
- - " ansible.builtin.include_role:"
- - " name: sap.sap_operations.cloudconnector"
- - " vars:"
- - " cloudconnector_version: 2.16.2"
- - " cloudconnector_portable: false"
- - "```"
-
- __license__:
- options: {}
- short_description: License
- description:
- - GPL-3.0-only
-
- __author__:
- options: {}
- short_description: Author Information
- description:
- - Kirill Satarin (@kksat)
diff --git a/roles/cloudconnector/meta/main.yml b/roles/cloudconnector/meta/main.yml
deleted file mode 100644
index dcf652d..0000000
--- a/roles/cloudconnector/meta/main.yml
+++ /dev/null
@@ -1,42 +0,0 @@
----
-# SPDX-License-Identifier: GPL-3.0-only
-# SPDX-FileCopyrightText: 2023 Red Hat, Project Atmosphere
-#
-# Copyright 2023 Red Hat, Project Atmosphere
-#
-# This program is free software: you can redistribute it and/or modify it under the terms of the GNU
-# General Public License as published by the Free Software Foundation, version 3 of the License.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the GNU General Public License for more details.
-#
-# 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.
-#
-# You should have received a copy of the GNU General Public License along with this program.
-# If not, see .
-
-galaxy_info:
-
- author: Kirill Satarin (@kksat)
-
- description: Manage SAP Cloud Connector
-
- license: GPL-3.0-only
-
- min_ansible_version: "2.14"
-
- platforms:
- - name: EL
- versions:
- - "7"
- - "8"
- - "9"
-
- galaxy_tags: []
-
-dependencies: []
diff --git a/roles/cloudconnector/tasks/absent.yml b/roles/cloudconnector/tasks/absent.yml
deleted file mode 100644
index 6a7438d..0000000
--- a/roles/cloudconnector/tasks/absent.yml
+++ /dev/null
@@ -1,25 +0,0 @@
----
-# SPDX-License-Identifier: GPL-3.0-only
-# SPDX-FileCopyrightText: 2023 Red Hat, Project Atmosphere
-#
-# Copyright 2023 Red Hat, Project Atmosphere
-#
-# This program is free software: you can redistribute it and/or modify it under the terms of the GNU
-# General Public License as published by the Free Software Foundation, version 3 of the License.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the GNU General Public License for more details.
-#
-# 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.
-#
-# You should have received a copy of the GNU General Public License along with this program.
-# If not, see .
-
-- name: Remove SAP Cloud Connector
- ansible.builtin.include_tasks:
- file: "remove-{{ cloudconnector_portable | ternary('portable', 'rpm') }}.yml"
diff --git a/roles/cloudconnector/tasks/install-portable.yml b/roles/cloudconnector/tasks/install-portable.yml
deleted file mode 100644
index 059bfdf..0000000
--- a/roles/cloudconnector/tasks/install-portable.yml
+++ /dev/null
@@ -1,38 +0,0 @@
----
-# SPDX-License-Identifier: GPL-3.0-only
-# SPDX-FileCopyrightText: 2023 Red Hat, Project Atmosphere
-#
-# Copyright 2023 Red Hat, Project Atmosphere
-#
-# This program is free software: you can redistribute it and/or modify it under the terms of the GNU
-# General Public License as published by the Free Software Foundation, version 3 of the License.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the GNU General Public License for more details.
-#
-# 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.
-#
-# You should have received a copy of the GNU General Public License along with this program.
-# If not, see .
-
-- name: Make sure that installation folder for portable cloud connector exists
- ansible.builtin.file:
- path: "{{ cloudconnector_portable_install_destination }}"
- state: directory
- mode: "0755"
- owner: "{{ omit }}"
- group: "{{ omit }}"
-
-- name: Unpack downloaded file to install destination
- ansible.builtin.unarchive:
- remote_src: true
- src: "{{ cloudconnector_download_filepath }}"
- dest: "{{ cloudconnector_portable_install_destination }}"
- mode: "0755"
- owner: "{{ omit }}"
- group: "{{ omit }}"
diff --git a/roles/cloudconnector/tasks/install-rpm.yml b/roles/cloudconnector/tasks/install-rpm.yml
deleted file mode 100644
index c620804..0000000
--- a/roles/cloudconnector/tasks/install-rpm.yml
+++ /dev/null
@@ -1,47 +0,0 @@
----
-# SPDX-License-Identifier: GPL-3.0-only
-# SPDX-FileCopyrightText: 2023 Red Hat, Project Atmosphere
-#
-# Copyright 2023 Red Hat, Project Atmosphere
-#
-# This program is free software: you can redistribute it and/or modify it under the terms of the GNU
-# General Public License as published by the Free Software Foundation, version 3 of the License.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the GNU General Public License for more details.
-#
-# 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.
-#
-# You should have received a copy of the GNU General Public License along with this program.
-# If not, see .
-
-- name: Make sure that unpack destination for SAP cloud connector exists
- ansible.builtin.file:
- path: "{{ cloudconnector_unpack_destination }}"
- state: directory
- mode: "0755"
- owner: "{{ omit }}"
- group: "{{ omit }}"
-
-- name: Unpack downloaded RPM
- ansible.builtin.unarchive:
- remote_src: true
- list_files: true
- src: "{{ cloudconnector_download_filepath }}"
- dest: "{{ cloudconnector_unpack_destination }}"
- mode: "0755"
- register: __cloudconnector_unpack
- failed_when: __cloudconnector_unpack.files | length > 1
-
-- name: Install SAP Cloud Connector RPM
- ansible.builtin.yum:
- name: "{{ cloudconnector_unpack_destination }}/{{ __cloudconnector_unpack.files | first }}"
- state: present
- disable_gpg_check: true
- become: true
- become_user: root
diff --git a/roles/cloudconnector/tasks/main.yml b/roles/cloudconnector/tasks/main.yml
deleted file mode 100644
index fbb31dc..0000000
--- a/roles/cloudconnector/tasks/main.yml
+++ /dev/null
@@ -1,36 +0,0 @@
----
-# SPDX-License-Identifier: GPL-3.0-only
-# SPDX-FileCopyrightText: 2023 Red Hat, Project Atmosphere
-#
-# Copyright 2023 Red Hat, Project Atmosphere
-#
-# This program is free software: you can redistribute it and/or modify it under the terms of the GNU
-# General Public License as published by the Free Software Foundation, version 3 of the License.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the GNU General Public License for more details.
-#
-# 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.
-#
-# You should have received a copy of the GNU General Public License along with this program.
-# If not, see .
-
-- name: Fail if cloudconnector_version is required but empty
- ansible.builtin.assert:
- that: >
- (cloudconnector_state == 'present') and (cloudconnector_version | length > 0) or
- (cloudconnector_state == 'absent')
-
-- name: Collect required ansible facts
- ansible.builtin.setup:
- gather_subset:
- - os_family
-
-- name: Include tasks depending on state
- ansible.builtin.include_tasks:
- file: "{{ cloudconnector_state }}.yml"
diff --git a/roles/cloudconnector/tasks/present.yml b/roles/cloudconnector/tasks/present.yml
deleted file mode 100644
index 534a61e..0000000
--- a/roles/cloudconnector/tasks/present.yml
+++ /dev/null
@@ -1,43 +0,0 @@
----
-# SPDX-License-Identifier: GPL-3.0-only
-# SPDX-FileCopyrightText: 2023 Red Hat, Project Atmosphere
-#
-# Copyright 2023 Red Hat, Project Atmosphere
-#
-# This program is free software: you can redistribute it and/or modify it under the terms of the GNU
-# General Public License as published by the Free Software Foundation, version 3 of the License.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the GNU General Public License for more details.
-#
-# 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.
-#
-# You should have received a copy of the GNU General Public License along with this program.
-# If not, see .
-
-- name: Make sure that download directory for SAP cloud connector exists
- ansible.builtin.file:
- path: "{{ cloudconnector_download_filepath | dirname }}"
- state: directory
- mode: "0755"
- owner: "{{ omit }}"
- group: "{{ omit }}"
-
-- name: Download Cloud Connector
- ansible.builtin.uri:
- url: "{{ cloudconnector_download_url }}"
- creates: "{{ cloudconnector_download_filepath }}"
- dest: "{{ cloudconnector_download_filepath }}"
- timeout: "{{ cloudconnector_download_timeout_seconds }}"
- headers:
- Cookie: eula_3_1_agreed=tools.hana.ondemand.com/developer-license-3_1.txt
- register: uri
-
-- name: Install SAP Cloud Connector
- ansible.builtin.include_tasks:
- file: "install-{{ cloudconnector_portable | ternary('portable', 'rpm') }}.yml"
diff --git a/roles/cloudconnector/tasks/remove-portable.yml b/roles/cloudconnector/tasks/remove-portable.yml
deleted file mode 100644
index c9f5d01..0000000
--- a/roles/cloudconnector/tasks/remove-portable.yml
+++ /dev/null
@@ -1,26 +0,0 @@
----
-# SPDX-License-Identifier: GPL-3.0-only
-# SPDX-FileCopyrightText: 2023 Red Hat, Project Atmosphere
-#
-# Copyright 2023 Red Hat, Project Atmosphere
-#
-# This program is free software: you can redistribute it and/or modify it under the terms of the GNU
-# General Public License as published by the Free Software Foundation, version 3 of the License.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the GNU General Public License for more details.
-#
-# 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.
-#
-# You should have received a copy of the GNU General Public License along with this program.
-# If not, see .
-
-- name: Remove portable cloud connector
- ansible.builtin.file:
- path: "{{ cloudconnector_portable_install_destination }}"
- state: absent
diff --git a/roles/cloudconnector/tasks/remove-rpm.yml b/roles/cloudconnector/tasks/remove-rpm.yml
deleted file mode 100644
index 59f5278..0000000
--- a/roles/cloudconnector/tasks/remove-rpm.yml
+++ /dev/null
@@ -1,26 +0,0 @@
----
-# SPDX-License-Identifier: GPL-3.0-only
-# SPDX-FileCopyrightText: 2023 Red Hat, Project Atmosphere
-#
-# Copyright 2023 Red Hat, Project Atmosphere
-#
-# This program is free software: you can redistribute it and/or modify it under the terms of the GNU
-# General Public License as published by the Free Software Foundation, version 3 of the License.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the GNU General Public License for more details.
-#
-# 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.
-#
-# You should have received a copy of the GNU General Public License along with this program.
-# If not, see .
-
-- name: Remove cloud connector package
- ansible.builtin.yum:
- name: "{{ cloudconnector_package_name }}"
- state: absent
diff --git a/roles/cloudconnector/vars/main.yml b/roles/cloudconnector/vars/main.yml
deleted file mode 100644
index 443a21e..0000000
--- a/roles/cloudconnector/vars/main.yml
+++ /dev/null
@@ -1,69 +0,0 @@
-# SPDX-License-Identifier: GPL-3.0-only
-# SPDX-FileCopyrightText: 2024 Red Hat, Project Atmosphere
-#
-# Copyright 2024 Red Hat, Project Atmosphere
-#
-# This program is free software: you can redistribute it and/or modify it under the terms of the GNU
-# General Public License as published by the Free Software Foundation, version 3 of the License.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the GNU General Public License for more details.
-#
-# 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.
-#
-# You should have received a copy of the GNU General Public License along with this program.
-# If not, see .
-
----
-cloudconnector_archive_extension_mapping:
- - system: "linux"
- portable: false
- architecture: "ppc64le"
- archive_extension: zip
- - system: "linux"
- portable: false
- architecture: "x64"
- archive_extension: zip
-
- - system: "linux"
- portable: true
- architecture: "ppc64le"
- archive_extension: tar.gz
-
- - system: "linux"
- portable: true
- architecture: "x64"
- archive_extension: tar.gz
- - system: "darwin"
- portable: true
- architecture: "x64"
- archive_extension: tar.gz
- - system: "darwin"
- portable: true
- architecture: "aarch64"
- archive_extension: tar.gz
-
-cloudconnector_architecture_mapping:
- x86_64: x64
- ppc64le: ppc64le
- aarch64: aarch64
-
-cloudconnector_archive_extension: "{{ (cloudconnector_archive_extension_mapping
- | selectattr('system', 'equalto', cloudconnector_system)
- | selectattr('portable', 'equalto', cloudconnector_portable)
- | selectattr('architecture', 'equalto', cloudconnector_architecture)
- | map(attribute='archive_extension')) | first }}"
-
-cloudconnector_url_filename: >
- sapcc-{{ cloudconnector_version }}-{{ cloudconnector_system }}-{{ cloudconnector_architecture }}.{{ cloudconnector_archive_extension }}
-
-cloudconnector_download_url: "https://tools.hana.ondemand.com/additional/{{ cloudconnector_url_filename }}"
-
-cloudconnector_sha1_url: "{{ cloudconnector_download_url }}.sha1"
-
-cloudconnector_package_name: com.sap.scc-ui
diff --git a/roles/unpack/tasks/main.yml b/roles/unpack/tasks/main.yml
index 5c51727..659b1d7 100644
--- a/roles/unpack/tasks/main.yml
+++ b/roles/unpack/tasks/main.yml
@@ -41,4 +41,4 @@
- name: Print output variable
ansible.builtin.debug:
- msg: "{{ unpack_register }}"
+ msg: "{{ unpack_register | default([]) }}"