Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ansys/rep/client/auth/resource/user.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,6 @@ def __init__(self,
self.last_name = last_name
self.email = email

super().__init__(**kwargs)
self.obj_type = self.__class__.__name__

UserSchema.Meta.object_class = User
3 changes: 2 additions & 1 deletion ansys/rep/client/jms/resource/algorithm.py
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,8 @@ def __init__(self,
name=missing,
description=missing,
data=missing,
jobs=missing
jobs=missing,
**kwargs
):
self.id = id
self.creation_time = creation_time
Expand Down
6 changes: 4 additions & 2 deletions ansys/rep/client/jms/resource/evaluator.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,8 @@ def __init__(self,
local_file_cache=missing,
local_file_cache_max_size=missing,
task_directory_cleanup=missing,
custom_resource_properties=missing
custom_resource_properties=missing,
**kwargs
):
self.id = id
self.name = name
Expand Down Expand Up @@ -114,7 +115,8 @@ def __init__(self,
project_list=missing,
configuration=missing,
configuration_updates=missing,
build_info=missing
build_info=missing,
**kwargs
):
self.id = id
self.host_id = host_id
Expand Down
3 changes: 2 additions & 1 deletion ansys/rep/client/jms/resource/file.py
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,8 @@ def __init__(self, src=None,
monitor=missing,
collect=missing,
collect_interval=missing,
reference_id=missing
reference_id=missing,
**kwargs,
):
self.src = src
self.content = None
Expand Down
3 changes: 2 additions & 1 deletion ansys/rep/client/jms/resource/job.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,8 @@ def __init__(self,
executed_level=missing,
elapsed_time=missing,
host_ids=missing,
file_ids=missing
file_ids=missing,
**kwargs
):
self.id = id
self.creation_time = creation_time
Expand Down
3 changes: 2 additions & 1 deletion ansys/rep/client/jms/resource/job_definition.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,8 @@ def __init__(self,
parameter_definition_ids=missing,
parameter_mapping_ids=missing,
task_definition_ids=missing,
fitness_definition=missing
fitness_definition=missing,
**kwargs
):
self.id = id
self.creation_time = creation_time
Expand Down
3 changes: 2 additions & 1 deletion ansys/rep/client/jms/resource/license_context.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,8 @@ class Meta:

def __init__(self,
context_id=missing,
environment=missing
environment=missing,
**kwargs
):
self.context_id = context_id
self.environment = environment
Expand Down
3 changes: 2 additions & 1 deletion ansys/rep/client/jms/resource/operation.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,8 @@ def __init__(self,
result=missing,
messages=missing,
start_time=missing,
end_time=missing
end_time=missing,
**kwargs
):
self.id = id
self.name = name
Expand Down
14 changes: 9 additions & 5 deletions ansys/rep/client/jms/resource/parameter_definition.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ class Meta:
rest_name = "parameter_definitions"

def __init__(self,

**kwargs
):

self.obj_type = self.__class__.__name__
Expand Down Expand Up @@ -89,7 +89,8 @@ def __init__(self,
upper_limit=missing,
step=missing,
cyclic=missing,
value_list=missing
value_list=missing,
**kwargs
):
self.id = id
self.creation_time = creation_time
Expand Down Expand Up @@ -172,7 +173,8 @@ def __init__(self,
lower_limit=missing,
upper_limit=missing,
step=missing,
cyclic=missing
cyclic=missing,
**kwargs
):
self.id = id
self.creation_time = creation_time
Expand Down Expand Up @@ -242,7 +244,8 @@ def __init__(self,
display_text=missing,
mode=missing,
type=missing,
default=missing
default=missing,
**kwargs
):
self.id = id
self.creation_time = creation_time
Expand Down Expand Up @@ -311,7 +314,8 @@ def __init__(self,
mode=missing,
type=missing,
default=missing,
value_list=missing
value_list=missing,
**kwargs
):
self.id = id
self.creation_time = creation_time
Expand Down
3 changes: 2 additions & 1 deletion ansys/rep/client/jms/resource/parameter_mapping.py
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,8 @@ def __init__(self,
false_string=missing,
parameter_definition_id=missing,
task_definition_property=missing,
file_id=missing
file_id=missing,
**kwargs
):
self.id = id
self.creation_time = creation_time
Expand Down
3 changes: 2 additions & 1 deletion ansys/rep/client/jms/resource/permission.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ def __init__(self,
permission_type=missing,
value_id=missing,
value_name=missing,
role=missing
role=missing,
**kwargs
):
self.permission_type = permission_type
self.value_id = value_id
Expand Down
3 changes: 2 additions & 1 deletion ansys/rep/client/jms/resource/project.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,8 @@ def __init__(self,
priority=missing,
creation_time=missing,
modification_time=missing,
statistics=missing
statistics=missing,
**kwargs
):
self.id = id
self.name = name
Expand Down
3 changes: 2 additions & 1 deletion ansys/rep/client/jms/resource/selection.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ def __init__(self,
modified_by=missing,
name=missing,
algorithm_id=missing,
jobs=missing
jobs=missing,
**kwargs
):
self.id = id
self.creation_time = creation_time
Expand Down
3 changes: 2 additions & 1 deletion ansys/rep/client/jms/resource/task.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,8 @@ def __init__(self,
inherited_file_ids=missing,
owned_file_ids=missing,
license_context_id=missing,
custom_data=missing
custom_data=missing,
**kwargs
):
self.id = id
self.creation_time = creation_time
Expand Down
18 changes: 12 additions & 6 deletions ansys/rep/client/jms/resource/task_definition.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ def __init__(self,
num_cores_per_node=missing,
num_gpus_per_node=missing,
exclusive=missing,
queue=missing
queue=missing,
**kwargs
):
self.num_cores_per_node = num_cores_per_node
self.num_gpus_per_node = num_gpus_per_node
Expand Down Expand Up @@ -65,7 +66,8 @@ def __init__(self,
disk_space=missing,
distributed=missing,
custom=missing,
hpc_resources=missing
hpc_resources=missing,
**kwargs
):
self.platform = platform
self.memory = memory
Expand Down Expand Up @@ -97,7 +99,8 @@ class Meta:

def __init__(self,
name=missing,
version=missing
version=missing,
**kwargs
):
self.name = name
self.version = version
Expand Down Expand Up @@ -136,7 +139,8 @@ def __init__(self,
required_output_file_ids=missing,
require_all_output_files=missing,
required_output_parameter_ids=missing,
require_all_output_parameters=missing
require_all_output_parameters=missing,
**kwargs
):
self.return_code = return_code
self.expressions = expressions
Expand Down Expand Up @@ -164,7 +168,8 @@ class Meta:
rest_name = "None"

def __init__(self,
enable_shared_licensing=missing
enable_shared_licensing=missing,
**kwargs
):
self.enable_shared_licensing = enable_shared_licensing

Expand Down Expand Up @@ -246,7 +251,8 @@ def __init__(self,
success_criteria=missing,
licensing=missing,
software_requirements=missing,
resource_requirements=missing
resource_requirements=missing,
**kwargs
):
self.id = id
self.creation_time = creation_time
Expand Down
18 changes: 13 additions & 5 deletions ansys/rep/client/jms/resource/task_definition_template.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ def __init__(self,
default=missing,
description=missing,
type=missing,
value_list=missing
value_list=missing,
**kwargs
):
self.default = default
self.description = description
Expand All @@ -53,6 +54,7 @@ class TemplateResourceRequirements(Object):
disk_space : TemplateProperty, optional
distributed : TemplateProperty, optional
custom : dict[str, TemplateProperty], optional
hpc_resources : HpcResources, optional

"""

Expand All @@ -66,14 +68,17 @@ def __init__(self,
num_cores=missing,
disk_space=missing,
distributed=missing,
custom=missing
custom=missing,
hpc_resources=missing,
**kwargs
):
self.platform = platform
self.memory = memory
self.num_cores = num_cores
self.disk_space = disk_space
self.distributed = distributed
self.custom = custom
self.hpc_resources = hpc_resources

self.obj_type = self.__class__.__name__

Expand Down Expand Up @@ -106,7 +111,8 @@ def __init__(self,
type=missing,
evaluation_path=missing,
description=missing,
required=missing
required=missing,
**kwargs
):
self.name = name
self.type = type
Expand Down Expand Up @@ -151,7 +157,8 @@ def __init__(self,
description=missing,
required=missing,
monitor=missing,
collect=missing
collect=missing,
**kwargs
):
self.name = name
self.type = type
Expand Down Expand Up @@ -225,7 +232,8 @@ def __init__(self,
execution_script_storage_id=missing,
execution_script_storage_bucket=missing,
input_files=missing,
output_files=missing
output_files=missing,
**kwargs
):
self.id = id
self.modification_time = modification_time
Expand Down
3 changes: 2 additions & 1 deletion ansys/rep/client/jms/schema/task_definition_template.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@

from ansys.rep.client.common import BaseSchema, ObjectSchema

from .task_definition import SoftwareSchema
from .task_definition import HpcResourcesSchema, SoftwareSchema


class TemplatePropertySchema(BaseSchema):
Expand Down Expand Up @@ -46,6 +46,7 @@ class Meta(BaseSchema.Meta):
custom = fields.Dict(
keys=fields.String, values=fields.Nested(TemplatePropertySchema), allow_none=True
)
hpc_resources = fields.Nested(HpcResourcesSchema, allow_none=True)


class TemplateFileSchema(BaseSchema):
Expand Down
9 changes: 5 additions & 4 deletions generate_resources.py
Original file line number Diff line number Diff line change
Expand Up @@ -278,7 +278,6 @@
"additional_fields": [],
"class": "User",
"resource_filename": "user",
"init_with_kwargs": True,
},
]

Expand Down Expand Up @@ -388,9 +387,11 @@ def get_resource_code(resource, base_class, fields, field_docs):
init_fields_str = ",\n".join([f" {k}=missing" for k in fields])

additional_initialization = " self.obj_type = self.__class__.__name__"
if "init_with_kwargs" in resource:
additional_initialization = " super().__init__(**kwargs)"
init_fields_str += ",\n **kwargs"
if resource.get("init_with_kwargs", True):
if init_fields_str:
init_fields_str += ",\n **kwargs"
else:
init_fields_str = " **kwargs"

code = f'''class {resource['class']}({base_class["name"]}):
"""{resource['class']} resource.
Expand Down
11 changes: 10 additions & 1 deletion tests/jms/test_task_definition_templates.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,12 @@
from ansys.rep.client import Client, REPError
from ansys.rep.client.auth import AuthApi, User
from ansys.rep.client.jms import JmsApi
from ansys.rep.client.jms.resource import Permission, TaskDefinitionTemplate
from ansys.rep.client.jms.resource import (
HpcResources,
Permission,
TaskDefinitionTemplate,
TemplateResourceRequirements,
)
from ansys.rep.client.jms.schema.task_definition_template import TaskDefinitionTemplateSchema
from tests.rep_test import REPTestCase

Expand Down Expand Up @@ -153,11 +158,15 @@ def test_template_integration(self):

# Modify template
template.software_requirements[0].version = "2.0.1"
template.resource_requirements = TemplateResourceRequirements(
hpc_resources=HpcResources(num_gpus_per_node=2)
)
templates = jms_api.update_task_definition_templates([template])
self.assertEqual(len(templates), 1)
template = templates[0]
self.assertEqual(template.software_requirements[0].version, "2.0.1")
self.assertEqual(template.name, template_name)
self.assertEqual(template.resource_requirements.hpc_resources.num_gpus_per_node, 2)

# Delete template
jms_api.delete_task_definition_templates([template])
Expand Down