Initial commit - Oracle modules
Revert "Revert oracle (#56364)"
This reverts commit eefc90b66f
.
This commit is contained in:
parent
75788ecff4
commit
ec2db1aed7
12 changed files with 2447 additions and 0 deletions
7
.github/BOTMETA.yml
vendored
7
.github/BOTMETA.yml
vendored
|
@ -175,6 +175,10 @@ files:
|
||||||
ignored: andyhky
|
ignored: andyhky
|
||||||
$modules/cloud/opennebula/: ilicmilan kustodian
|
$modules/cloud/opennebula/: ilicmilan kustodian
|
||||||
$modules/cloud/openstack/: $team_openstack
|
$modules/cloud/openstack/: $team_openstack
|
||||||
|
$modules/cloud/oracle/: &oracle
|
||||||
|
labels: [ cloud, oracle ]
|
||||||
|
maintainers: $team_oracle
|
||||||
|
support: community
|
||||||
$modules/cloud/ovirt/: *ovirt
|
$modules/cloud/ovirt/: *ovirt
|
||||||
$modules/cloud/profitbricks/: baldwinSPC
|
$modules/cloud/profitbricks/: baldwinSPC
|
||||||
$modules/cloud/rackspace/:
|
$modules/cloud/rackspace/:
|
||||||
|
@ -813,6 +817,7 @@ files:
|
||||||
maintainers: $team_openstack
|
maintainers: $team_openstack
|
||||||
labels:
|
labels:
|
||||||
- cloud
|
- cloud
|
||||||
|
$module_utils/oracle/: *oracle
|
||||||
$module_utils/ovirt.py: *ovirt
|
$module_utils/ovirt.py: *ovirt
|
||||||
$module_utils/postgres.py: *postgresql
|
$module_utils/postgres.py: *postgresql
|
||||||
$module_utils/powershell: *windows_core
|
$module_utils/powershell: *windows_core
|
||||||
|
@ -1124,6 +1129,7 @@ files:
|
||||||
$plugins/doc_fragments/xenserver.py:
|
$plugins/doc_fragments/xenserver.py:
|
||||||
maintainers: bvitnik
|
maintainers: bvitnik
|
||||||
$plugins/doc_fragments/hpe3par.py: *hpe3par
|
$plugins/doc_fragments/hpe3par.py: *hpe3par
|
||||||
|
$plugins/doc_fragments/oracle*: *oracle
|
||||||
###############################
|
###############################
|
||||||
# plugins/filter
|
# plugins/filter
|
||||||
$plugins/filter/:
|
$plugins/filter/:
|
||||||
|
@ -1499,6 +1505,7 @@ macros:
|
||||||
team_onyx: anasbadaha samerd
|
team_onyx: anasbadaha samerd
|
||||||
team_openstack: emonty juliakreger rcarrillocruz Shrews dagnello mnaser odyssey4me evrardjp cloudnull gtema
|
team_openstack: emonty juliakreger rcarrillocruz Shrews dagnello mnaser odyssey4me evrardjp cloudnull gtema
|
||||||
team_openswitch: Qalthos gdpak
|
team_openswitch: Qalthos gdpak
|
||||||
|
team_oracle: nalsaber manojmeda mross22
|
||||||
team_ovirt: machacekondra mwperina mnecas
|
team_ovirt: machacekondra mwperina mnecas
|
||||||
team_postgresql: amenonsen Andersson007 andytom Dorn- jbscalia kostiantyn-nemchenko kustodian matburt nerzhul sebasmannem tcraxs
|
team_postgresql: amenonsen Andersson007 andytom Dorn- jbscalia kostiantyn-nemchenko kustodian matburt nerzhul sebasmannem tcraxs
|
||||||
team_purestorage: sdodsley sile16 lionmax genegr raekins bannaych opslounge
|
team_purestorage: sdodsley sile16 lionmax genegr raekins bannaych opslounge
|
||||||
|
|
0
lib/ansible/module_utils/oracle/__init__.py
Normal file
0
lib/ansible/module_utils/oracle/__init__.py
Normal file
59
lib/ansible/module_utils/oracle/oci_logging.yaml
Normal file
59
lib/ansible/module_utils/oracle/oci_logging.yaml
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
---
|
||||||
|
# Copyright (c) 2017, 2018 Oracle and/or its affiliates.
|
||||||
|
# This software is made available to you under the terms of the GPL 3.0 license or the Apache 2.0 license.
|
||||||
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# Apache License v2.0
|
||||||
|
# See LICENSE.TXT for details.
|
||||||
|
version: 1
|
||||||
|
disable_existing_loggers: False
|
||||||
|
formatters:
|
||||||
|
simple:
|
||||||
|
format: "[%(asctime)s - %(name)s - %(lineno)s - %(funcName)s - %(levelname)s] - %(message)s"
|
||||||
|
|
||||||
|
handlers:
|
||||||
|
console:
|
||||||
|
class: logging.StreamHandler
|
||||||
|
level: DEBUG
|
||||||
|
formatter: simple
|
||||||
|
stream: ext://sys.stdout
|
||||||
|
|
||||||
|
info_file_handler:
|
||||||
|
class: logging.handlers.RotatingFileHandler
|
||||||
|
level: INFO
|
||||||
|
formatter: simple
|
||||||
|
filename: "{path}/oci_ansible_info_{date}.log"
|
||||||
|
maxBytes: 10485760 # 10MB
|
||||||
|
backupCount: 20
|
||||||
|
encoding: utf8
|
||||||
|
mode: "a"
|
||||||
|
|
||||||
|
error_file_handler:
|
||||||
|
class: logging.handlers.RotatingFileHandler
|
||||||
|
level: ERROR
|
||||||
|
formatter: simple
|
||||||
|
filename: "{path}/oci_ansible_errors_{date}.log"
|
||||||
|
maxBytes: 10485760 # 10MB
|
||||||
|
backupCount: 20
|
||||||
|
encoding: utf8
|
||||||
|
mode: "a"
|
||||||
|
|
||||||
|
debug_file_handler:
|
||||||
|
class: logging.handlers.RotatingFileHandler
|
||||||
|
level: DEBUG
|
||||||
|
formatter: simple
|
||||||
|
filename: "{path}/oci_ansible_debug_{date}.log"
|
||||||
|
maxBytes: 10485760 # 10MB
|
||||||
|
backupCount: 20
|
||||||
|
encoding: utf8
|
||||||
|
mode: "a"
|
||||||
|
|
||||||
|
#loggers:
|
||||||
|
#any_specific_module e.g. oci_bucket:
|
||||||
|
#level: INFO
|
||||||
|
#handlers: [info_file_handler]
|
||||||
|
#propagate: no
|
||||||
|
|
||||||
|
root:
|
||||||
|
level: DEBUG
|
||||||
|
handlers: [info_file_handler, debug_file_handler, error_file_handler]
|
||||||
|
...
|
1982
lib/ansible/module_utils/oracle/oci_utils.py
Normal file
1982
lib/ansible/module_utils/oracle/oci_utils.py
Normal file
File diff suppressed because it is too large
Load diff
0
lib/ansible/modules/cloud/oracle/__init__.py
Normal file
0
lib/ansible/modules/cloud/oracle/__init__.py
Normal file
225
lib/ansible/modules/cloud/oracle/oci_vcn.py
Normal file
225
lib/ansible/modules/cloud/oracle/oci_vcn.py
Normal file
|
@ -0,0 +1,225 @@
|
||||||
|
#!/usr/bin/python
|
||||||
|
# Copyright (c) 2017, 2018, Oracle and/or its affiliates.
|
||||||
|
# This software is made available to you under the terms of the GPL 3.0 license or the Apache 2.0 license.
|
||||||
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# Apache License v2.0
|
||||||
|
# See LICENSE.TXT for details.
|
||||||
|
|
||||||
|
from __future__ import absolute_import, division, print_function
|
||||||
|
|
||||||
|
__metaclass__ = type
|
||||||
|
|
||||||
|
ANSIBLE_METADATA = {
|
||||||
|
"metadata_version": "1.1",
|
||||||
|
"status": ["preview"],
|
||||||
|
"supported_by": "community",
|
||||||
|
}
|
||||||
|
|
||||||
|
DOCUMENTATION = """
|
||||||
|
---
|
||||||
|
module: oci_vcn
|
||||||
|
short_description: Manage Virtual Cloud Networks(VCN) in OCI
|
||||||
|
description:
|
||||||
|
- This module allows the user to create, delete and update virtual cloud networks(VCNs) in OCI.
|
||||||
|
The complete Oracle Cloud Infrastructure Ansible Modules can be downloaded from
|
||||||
|
U(https://github.com/oracle/oci-ansible-modules/releases).
|
||||||
|
version_added: "2.8"
|
||||||
|
options:
|
||||||
|
cidr_block:
|
||||||
|
description: The CIDR IP address block of the VCN. Required when creating a VCN with I(state=present).
|
||||||
|
required: false
|
||||||
|
compartment_id:
|
||||||
|
description: The OCID of the compartment to contain the VCN. Required when creating a VCN with I(state=present).
|
||||||
|
This option is mutually exclusive with I(vcn_id).
|
||||||
|
type: str
|
||||||
|
display_name:
|
||||||
|
description: A user-friendly name. Does not have to be unique, and it's changeable.
|
||||||
|
type: str
|
||||||
|
aliases: [ 'name' ]
|
||||||
|
dns_label:
|
||||||
|
description: A DNS label for the VCN, used in conjunction with the VNIC's hostname and subnet's DNS label to
|
||||||
|
form a fully qualified domain name (FQDN) for each VNIC within this subnet (for example,
|
||||||
|
bminstance-1.subnet123.vcn1.oraclevcn.com). Not required to be unique, but it's a best practice
|
||||||
|
to set unique DNS labels for VCNs in your tenancy. Must be an alphanumeric string that begins
|
||||||
|
with a letter. The value cannot be changed.
|
||||||
|
type: str
|
||||||
|
state:
|
||||||
|
description: Create or update a VCN with I(state=present). Use I(state=absent) to delete a VCN.
|
||||||
|
type: str
|
||||||
|
default: present
|
||||||
|
choices: ['present', 'absent']
|
||||||
|
vcn_id:
|
||||||
|
description: The OCID of the VCN. Required when deleting a VCN with I(state=absent) or updating a VCN
|
||||||
|
with I(state=present). This option is mutually exclusive with I(compartment_id).
|
||||||
|
type: str
|
||||||
|
aliases: [ 'id' ]
|
||||||
|
author: "Rohit Chaware (@rohitChaware)"
|
||||||
|
extends_documentation_fragment: [ oracle, oracle_creatable_resource, oracle_wait_options, oracle_tags ]
|
||||||
|
"""
|
||||||
|
|
||||||
|
EXAMPLES = """
|
||||||
|
- name: Create a VCN
|
||||||
|
oci_vcn:
|
||||||
|
cidr_block: '10.0.0.0/16'
|
||||||
|
compartment_id: 'ocid1.compartment.oc1..xxxxxEXAMPLExxxxx'
|
||||||
|
display_name: my_vcn
|
||||||
|
dns_label: ansiblevcn
|
||||||
|
|
||||||
|
- name: Updates the specified VCN's display name
|
||||||
|
oci_vcn:
|
||||||
|
vcn_id: ocid1.vcn.oc1.phx.xxxxxEXAMPLExxxxx
|
||||||
|
display_name: ansible_vcn
|
||||||
|
|
||||||
|
- name: Delete the specified VCN
|
||||||
|
oci_vcn:
|
||||||
|
vcn_id: ocid1.vcn.oc1.phx.xxxxxEXAMPLExxxxx
|
||||||
|
state: absent
|
||||||
|
"""
|
||||||
|
|
||||||
|
RETURN = """
|
||||||
|
vcn:
|
||||||
|
description: Information about the VCN
|
||||||
|
returned: On successful create and update operation
|
||||||
|
type: dict
|
||||||
|
sample: {
|
||||||
|
"cidr_block": "10.0.0.0/16",
|
||||||
|
compartment_id": "ocid1.compartment.oc1..xxxxxEXAMPLExxxxx",
|
||||||
|
"default_dhcp_options_id": "ocid1.dhcpoptions.oc1.phx.xxxxxEXAMPLExxxxx",
|
||||||
|
"default_route_table_id": "ocid1.routetable.oc1.phx.xxxxxEXAMPLExxxxx",
|
||||||
|
"default_security_list_id": "ocid1.securitylist.oc1.phx.xxxxxEXAMPLExxxxx",
|
||||||
|
"display_name": "ansible_vcn",
|
||||||
|
"dns_label": "ansiblevcn",
|
||||||
|
"id": "ocid1.vcn.oc1.phx.xxxxxEXAMPLExxxxx",
|
||||||
|
"lifecycle_state": "AVAILABLE",
|
||||||
|
"time_created": "2017-11-13T20:22:40.626000+00:00",
|
||||||
|
"vcn_domain_name": "ansiblevcn.oraclevcn.com"
|
||||||
|
}
|
||||||
|
"""
|
||||||
|
|
||||||
|
from ansible.module_utils.basic import AnsibleModule, missing_required_lib
|
||||||
|
from ansible.module_utils.oracle import oci_utils
|
||||||
|
|
||||||
|
try:
|
||||||
|
from oci.core.virtual_network_client import VirtualNetworkClient
|
||||||
|
from oci.core.models import CreateVcnDetails
|
||||||
|
from oci.core.models import UpdateVcnDetails
|
||||||
|
|
||||||
|
HAS_OCI_PY_SDK = True
|
||||||
|
except ImportError:
|
||||||
|
HAS_OCI_PY_SDK = False
|
||||||
|
|
||||||
|
|
||||||
|
def delete_vcn(virtual_network_client, module):
|
||||||
|
result = oci_utils.delete_and_wait(
|
||||||
|
resource_type="vcn",
|
||||||
|
client=virtual_network_client,
|
||||||
|
get_fn=virtual_network_client.get_vcn,
|
||||||
|
kwargs_get={"vcn_id": module.params["vcn_id"]},
|
||||||
|
delete_fn=virtual_network_client.delete_vcn,
|
||||||
|
kwargs_delete={"vcn_id": module.params["vcn_id"]},
|
||||||
|
module=module,
|
||||||
|
)
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
def update_vcn(virtual_network_client, module):
|
||||||
|
result = oci_utils.check_and_update_resource(
|
||||||
|
resource_type="vcn",
|
||||||
|
client=virtual_network_client,
|
||||||
|
get_fn=virtual_network_client.get_vcn,
|
||||||
|
kwargs_get={"vcn_id": module.params["vcn_id"]},
|
||||||
|
update_fn=virtual_network_client.update_vcn,
|
||||||
|
primitive_params_update=["vcn_id"],
|
||||||
|
kwargs_non_primitive_update={UpdateVcnDetails: "update_vcn_details"},
|
||||||
|
module=module,
|
||||||
|
update_attributes=UpdateVcnDetails().attribute_map.keys(),
|
||||||
|
)
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
def create_vcn(virtual_network_client, module):
|
||||||
|
create_vcn_details = CreateVcnDetails()
|
||||||
|
for attribute in create_vcn_details.attribute_map.keys():
|
||||||
|
if attribute in module.params:
|
||||||
|
setattr(create_vcn_details, attribute, module.params[attribute])
|
||||||
|
|
||||||
|
result = oci_utils.create_and_wait(
|
||||||
|
resource_type="vcn",
|
||||||
|
create_fn=virtual_network_client.create_vcn,
|
||||||
|
kwargs_create={"create_vcn_details": create_vcn_details},
|
||||||
|
client=virtual_network_client,
|
||||||
|
get_fn=virtual_network_client.get_vcn,
|
||||||
|
get_param="vcn_id",
|
||||||
|
module=module,
|
||||||
|
)
|
||||||
|
return result
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
module_args = oci_utils.get_taggable_arg_spec(
|
||||||
|
supports_create=True, supports_wait=True
|
||||||
|
)
|
||||||
|
module_args.update(
|
||||||
|
dict(
|
||||||
|
cidr_block=dict(type="str", required=False),
|
||||||
|
compartment_id=dict(type="str", required=False),
|
||||||
|
display_name=dict(type="str", required=False, aliases=["name"]),
|
||||||
|
dns_label=dict(type="str", required=False),
|
||||||
|
state=dict(
|
||||||
|
type="str",
|
||||||
|
required=False,
|
||||||
|
default="present",
|
||||||
|
choices=["absent", "present"],
|
||||||
|
),
|
||||||
|
vcn_id=dict(type="str", required=False, aliases=["id"]),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
module = AnsibleModule(
|
||||||
|
argument_spec=module_args,
|
||||||
|
supports_check_mode=False,
|
||||||
|
mutually_exclusive=[["compartment_id", "vcn_id"]],
|
||||||
|
)
|
||||||
|
|
||||||
|
if not HAS_OCI_PY_SDK:
|
||||||
|
module.fail_json(msg=missing_required_lib("oci"))
|
||||||
|
|
||||||
|
virtual_network_client = oci_utils.create_service_client(
|
||||||
|
module, VirtualNetworkClient
|
||||||
|
)
|
||||||
|
|
||||||
|
exclude_attributes = {"display_name": True, "dns_label": True}
|
||||||
|
state = module.params["state"]
|
||||||
|
vcn_id = module.params["vcn_id"]
|
||||||
|
|
||||||
|
if state == "absent":
|
||||||
|
if vcn_id is not None:
|
||||||
|
result = delete_vcn(virtual_network_client, module)
|
||||||
|
else:
|
||||||
|
module.fail_json(
|
||||||
|
msg="Specify vcn_id with state as 'absent' to delete a VCN."
|
||||||
|
)
|
||||||
|
|
||||||
|
else:
|
||||||
|
if vcn_id is not None:
|
||||||
|
result = update_vcn(virtual_network_client, module)
|
||||||
|
else:
|
||||||
|
result = oci_utils.check_and_create_resource(
|
||||||
|
resource_type="vcn",
|
||||||
|
create_fn=create_vcn,
|
||||||
|
kwargs_create={
|
||||||
|
"virtual_network_client": virtual_network_client,
|
||||||
|
"module": module,
|
||||||
|
},
|
||||||
|
list_fn=virtual_network_client.list_vcns,
|
||||||
|
kwargs_list={"compartment_id": module.params["compartment_id"]},
|
||||||
|
module=module,
|
||||||
|
model=CreateVcnDetails(),
|
||||||
|
exclude_attributes=exclude_attributes,
|
||||||
|
)
|
||||||
|
|
||||||
|
module.exit_json(**result)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
75
lib/ansible/plugins/doc_fragments/oracle.py
Normal file
75
lib/ansible/plugins/doc_fragments/oracle.py
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
class ModuleDocFragment(object):
|
||||||
|
DOCUMENTATION = """
|
||||||
|
requirements:
|
||||||
|
- "python >= 2.7"
|
||||||
|
- Python SDK for Oracle Cloud Infrastructure U(https://oracle-cloud-infrastructure-python-sdk.readthedocs.io)
|
||||||
|
notes:
|
||||||
|
- For OCI python sdk configuration, please refer to
|
||||||
|
U(https://oracle-cloud-infrastructure-python-sdk.readthedocs.io/en/latest/configuration.html)
|
||||||
|
options:
|
||||||
|
config_file_location:
|
||||||
|
description:
|
||||||
|
- Path to configuration file. If not set then the value of the OCI_CONFIG_FILE environment variable,
|
||||||
|
if any, is used. Otherwise, defaults to ~/.oci/config.
|
||||||
|
type: str
|
||||||
|
config_profile_name:
|
||||||
|
description:
|
||||||
|
- The profile to load from the config file referenced by C(config_file_location). If not set, then the
|
||||||
|
value of the OCI_CONFIG_PROFILE environment variable, if any, is used. Otherwise, defaults to the
|
||||||
|
"DEFAULT" profile in C(config_file_location).
|
||||||
|
default: "DEFAULT"
|
||||||
|
type: str
|
||||||
|
api_user:
|
||||||
|
description:
|
||||||
|
- The OCID of the user, on whose behalf, OCI APIs are invoked. If not set, then the
|
||||||
|
value of the OCI_USER_OCID environment variable, if any, is used. This option is required if the user
|
||||||
|
is not specified through a configuration file (See C(config_file_location)). To get the user's OCID,
|
||||||
|
please refer U(https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm).
|
||||||
|
type: str
|
||||||
|
api_user_fingerprint:
|
||||||
|
description:
|
||||||
|
- Fingerprint for the key pair being used. If not set, then the value of the OCI_USER_FINGERPRINT
|
||||||
|
environment variable, if any, is used. This option is required if the key fingerprint is not
|
||||||
|
specified through a configuration file (See C(config_file_location)). To get the key pair's
|
||||||
|
fingerprint value please refer
|
||||||
|
U(https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm).
|
||||||
|
type: str
|
||||||
|
api_user_key_file:
|
||||||
|
description:
|
||||||
|
- Full path and filename of the private key (in PEM format). If not set, then the value of the
|
||||||
|
OCI_USER_KEY_FILE variable, if any, is used. This option is required if the private key is
|
||||||
|
not specified through a configuration file (See C(config_file_location)). If the key is encrypted
|
||||||
|
with a pass-phrase, the C(api_user_key_pass_phrase) option must also be provided.
|
||||||
|
type: str
|
||||||
|
api_user_key_pass_phrase:
|
||||||
|
description:
|
||||||
|
- Passphrase used by the key referenced in C(api_user_key_file), if it is encrypted. If not set, then
|
||||||
|
the value of the OCI_USER_KEY_PASS_PHRASE variable, if any, is used. This option is required if the
|
||||||
|
key passphrase is not specified through a configuration file (See C(config_file_location)).
|
||||||
|
type: str
|
||||||
|
auth_type:
|
||||||
|
description:
|
||||||
|
- The type of authentication to use for making API requests. By default C(auth_type="api_key") based
|
||||||
|
authentication is performed and the API key (see I(api_user_key_file)) in your config file will be
|
||||||
|
used. If this 'auth_type' module option is not specified, the value of the OCI_ANSIBLE_AUTH_TYPE,
|
||||||
|
if any, is used. Use C(auth_type="instance_principal") to use instance principal based authentication
|
||||||
|
when running ansible playbooks within an OCI compute instance.
|
||||||
|
choices: ['api_key', 'instance_principal']
|
||||||
|
default: 'api_key'
|
||||||
|
type: str
|
||||||
|
tenancy:
|
||||||
|
description:
|
||||||
|
- OCID of your tenancy. If not set, then the value of the OCI_TENANCY variable, if any, is
|
||||||
|
used. This option is required if the tenancy OCID is not specified through a configuration file
|
||||||
|
(See C(config_file_location)). To get the tenancy OCID, please refer
|
||||||
|
U(https://docs.us-phoenix-1.oraclecloud.com/Content/API/Concepts/apisigningkey.htm)
|
||||||
|
type: str
|
||||||
|
region:
|
||||||
|
description:
|
||||||
|
- The Oracle Cloud Infrastructure region to use for all OCI API requests. If not set, then the
|
||||||
|
value of the OCI_REGION variable, if any, is used. This option is required if the region is
|
||||||
|
not specified through a configuration file (See C(config_file_location)). Please refer to
|
||||||
|
U(https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/regions.htm) for more information
|
||||||
|
on OCI regions.
|
||||||
|
type: str
|
||||||
|
"""
|
|
@ -0,0 +1,23 @@
|
||||||
|
# Copyright (c) 2018, Oracle and/or its affiliates.
|
||||||
|
# This software is made available to you under the terms of the GPL 3.0 license or the Apache 2.0 license.
|
||||||
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# Apache License v2.0
|
||||||
|
# See LICENSE.TXT for details.
|
||||||
|
|
||||||
|
|
||||||
|
class ModuleDocFragment(object):
|
||||||
|
DOCUMENTATION = """
|
||||||
|
options:
|
||||||
|
force_create:
|
||||||
|
description: Whether to attempt non-idempotent creation of a resource. By default, create resource is an
|
||||||
|
idempotent operation, and doesn't create the resource if it already exists. Setting this option
|
||||||
|
to true, forcefully creates a copy of the resource, even if it already exists.This option is
|
||||||
|
mutually exclusive with I(key_by).
|
||||||
|
default: False
|
||||||
|
type: bool
|
||||||
|
key_by:
|
||||||
|
description: The list of comma-separated attributes of this resource which should be used to uniquely
|
||||||
|
identify an instance of the resource. By default, all the attributes of a resource except
|
||||||
|
I(freeform_tags) are used to uniquely identify a resource.
|
||||||
|
type: list
|
||||||
|
"""
|
|
@ -0,0 +1,15 @@
|
||||||
|
# Copyright (c) 2018, Oracle and/or its affiliates.
|
||||||
|
# This software is made available to you under the terms of the GPL 3.0 license or the Apache 2.0 license.
|
||||||
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# Apache License v2.0
|
||||||
|
# See LICENSE.TXT for details.
|
||||||
|
|
||||||
|
|
||||||
|
class ModuleDocFragment(object):
|
||||||
|
DOCUMENTATION = """
|
||||||
|
options:
|
||||||
|
display_name:
|
||||||
|
description: Use I(display_name) along with the other options to return only resources that match the given
|
||||||
|
display name exactly.
|
||||||
|
type: str
|
||||||
|
"""
|
15
lib/ansible/plugins/doc_fragments/oracle_name_option.py
Normal file
15
lib/ansible/plugins/doc_fragments/oracle_name_option.py
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
# Copyright (c) 2018, Oracle and/or its affiliates.
|
||||||
|
# This software is made available to you under the terms of the GPL 3.0 license or the Apache 2.0 license.
|
||||||
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# Apache License v2.0
|
||||||
|
# See LICENSE.TXT for details.
|
||||||
|
|
||||||
|
|
||||||
|
class ModuleDocFragment(object):
|
||||||
|
DOCUMENTATION = """
|
||||||
|
options:
|
||||||
|
name:
|
||||||
|
description: Use I(name) along with the other options to return only resources that match the given name
|
||||||
|
exactly.
|
||||||
|
type: str
|
||||||
|
"""
|
21
lib/ansible/plugins/doc_fragments/oracle_tags.py
Normal file
21
lib/ansible/plugins/doc_fragments/oracle_tags.py
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
# Copyright (c) 2018, Oracle and/or its affiliates.
|
||||||
|
# This software is made available to you under the terms of the GPL 3.0 license or the Apache 2.0 license.
|
||||||
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# Apache License v2.0
|
||||||
|
# See LICENSE.TXT for details.
|
||||||
|
|
||||||
|
|
||||||
|
class ModuleDocFragment(object):
|
||||||
|
DOCUMENTATION = """
|
||||||
|
options:
|
||||||
|
defined_tags:
|
||||||
|
description: Defined tags for this resource. Each key is predefined and scoped to a namespace. For more
|
||||||
|
information, see
|
||||||
|
U(https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
|
||||||
|
type: dict
|
||||||
|
freeform_tags:
|
||||||
|
description: Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name,
|
||||||
|
type, or namespace. For more information, see
|
||||||
|
U(https://docs.us-phoenix-1.oraclecloud.com/Content/General/Concepts/resourcetags.htm).
|
||||||
|
type: dict
|
||||||
|
"""
|
25
lib/ansible/plugins/doc_fragments/oracle_wait_options.py
Normal file
25
lib/ansible/plugins/doc_fragments/oracle_wait_options.py
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
# Copyright (c) 2018, Oracle and/or its affiliates.
|
||||||
|
# This software is made available to you under the terms of the GPL 3.0 license or the Apache 2.0 license.
|
||||||
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||||
|
# Apache License v2.0
|
||||||
|
# See LICENSE.TXT for details.
|
||||||
|
|
||||||
|
|
||||||
|
class ModuleDocFragment(object):
|
||||||
|
DOCUMENTATION = """
|
||||||
|
options:
|
||||||
|
wait:
|
||||||
|
description: Whether to wait for create or delete operation to complete.
|
||||||
|
default: yes
|
||||||
|
type: bool
|
||||||
|
wait_timeout:
|
||||||
|
description: Time, in seconds, to wait when I(wait=yes).
|
||||||
|
default: 1200
|
||||||
|
type: int
|
||||||
|
wait_until:
|
||||||
|
description: The lifecycle state to wait for the resource to transition into when I(wait=yes). By default,
|
||||||
|
when I(wait=yes), we wait for the resource to get into ACTIVE/ATTACHED/AVAILABLE/PROVISIONED/
|
||||||
|
RUNNING applicable lifecycle state during create operation & to get into DELETED/DETACHED/
|
||||||
|
TERMINATED lifecycle state during delete operation.
|
||||||
|
type: str
|
||||||
|
"""
|
Loading…
Reference in a new issue