def create_or_update_autonomous_database(db_client, module): result = dict(changed=False, autonomous_database='') autonomous_database_id = module.params.get('autonomous_database_id') try: if autonomous_database_id: result = update_autonomous_database(db_client, module) else: result = oci_utils.check_and_create_resource( resource_type='autonomous_database', create_fn=create_autonomous_database, kwargs_create={ 'db_client': db_client, 'module': module }, list_fn=db_client.list_autonomous_databases, kwargs_list={ 'compartment_id': module.params.get('compartment_id') }, module=module, model=CreateAutonomousDatabaseDetails()) except ServiceError as ex: get_logger().error( "Unable to create/update autonomous database due to: %s", ex.message) module.fail_json(msg=ex.message) except ClientError as ex: get_logger().error( "Unable to launch/update autonomous database due to: %s", str(ex)) module.fail_json(msg=str(ex)) return result
def create_or_update_autonomous_database(db_client, module): result = dict(changed=False, autonomous_database="") autonomous_database_id = module.params.get("autonomous_database_id") try: if autonomous_database_id: result = update_autonomous_database(db_client, module) else: result = oci_utils.check_and_create_resource( resource_type="autonomous_database", create_fn=create_autonomous_database, kwargs_create={ "db_client": db_client, "module": module }, list_fn=db_client.list_autonomous_databases, kwargs_list={ "compartment_id": module.params.get("compartment_id") }, module=module, model=CreateAutonomousDatabaseDetails(), default_attribute_values={"db_workload": "OLTP"}, ) except ServiceError as ex: get_logger().error( "Unable to create/update autonomous database due to: %s", ex.message) module.fail_json(msg=ex.message) except ClientError as ex: get_logger().error( "Unable to create/update autonomous database due to: %s", str(ex)) module.fail_json(msg=str(ex)) return result
def create_autonomous_database(db_client, module): create_autonomous_database_details = CreateAutonomousDatabaseDetails() for attribute in create_autonomous_database_details.attribute_map: create_autonomous_database_details.__setattr__( attribute, module.params.get(attribute)) result = oci_utils.create_and_wait( resource_type='autonomous_database', create_fn=db_client.create_autonomous_database, kwargs_create={ 'create_autonomous_database_details': create_autonomous_database_details }, client=db_client, get_fn=db_client.get_autonomous_database, get_param='autonomous_database_id', module=module) return result