mirror of
https://github.com/clearml/clearml
synced 2025-02-07 13:23:40 +00:00
Support IAM Instance Profile in AWS auto-scaler
This commit is contained in:
parent
72270b3524
commit
538e97da2d
@ -28,6 +28,8 @@ class AWSDriver(CloudDriver):
|
||||
aws_region = attr.ib(validator=instance_of(str), default='')
|
||||
use_credentials_chain = attr.ib(validator=instance_of(bool), default=False)
|
||||
use_iam_instance_profile = attr.ib(validator=instance_of(bool), default=False)
|
||||
iam_arn = attr.ib(validator=instance_of(str), default='')
|
||||
iam_name = attr.ib(validator=instance_of(str), default='')
|
||||
|
||||
@classmethod
|
||||
def from_config(cls, config):
|
||||
@ -37,6 +39,8 @@ class AWSDriver(CloudDriver):
|
||||
obj.aws_region = config['hyper_params'].get('cloud_credentials_region')
|
||||
obj.use_credentials_chain = config['hyper_params'].get('use_credentials_chain', False)
|
||||
obj.use_iam_instance_profile = config['hyper_params'].get('use_iam_instance_profile', False)
|
||||
obj.iam_arn = config['hyper_params'].get('iam_arn')
|
||||
obj.iam_name = config['hyper_params'].get('iam_name')
|
||||
return obj
|
||||
|
||||
def __attrs_post_init__(self):
|
||||
@ -71,10 +75,14 @@ class AWSDriver(CloudDriver):
|
||||
launch_specification["SecurityGroupIds"] = resource_conf[
|
||||
"security_group_ids"
|
||||
]
|
||||
if resource_conf.get("iam_arn", None) and resource_conf.get("iam_name", None):
|
||||
# Adding iam role - you can have Arn OR Name, not both, Arn getting priority
|
||||
if self.iam_arn:
|
||||
launch_specification["IamInstanceProfile"] = {
|
||||
'Arn': resource_conf["iam_arn"],
|
||||
'Name': resource_conf["iam_name"]
|
||||
'Arn': self.iam_arn,
|
||||
}
|
||||
elif self.iam_name:
|
||||
launch_specification["IamInstanceProfile"] = {
|
||||
'Name': self.iam_name
|
||||
}
|
||||
|
||||
if resource_conf["is_spot"]:
|
||||
|
Loading…
Reference in New Issue
Block a user