mirror of
https://github.com/clearml/clearml
synced 2025-02-07 21:33:25 +00:00
Add support for IAM instance profile in autoscaler
This commit is contained in:
parent
999e8d39ba
commit
55a0583009
@ -27,6 +27,7 @@ class AWSDriver(CloudDriver):
|
|||||||
aws_secret_access_key = attr.ib(validator=instance_of(str), default='')
|
aws_secret_access_key = attr.ib(validator=instance_of(str), default='')
|
||||||
aws_region = attr.ib(validator=instance_of(str), default='')
|
aws_region = attr.ib(validator=instance_of(str), default='')
|
||||||
use_credentials_chain = attr.ib(validator=instance_of(bool), default=False)
|
use_credentials_chain = attr.ib(validator=instance_of(bool), default=False)
|
||||||
|
use_iam_instance_profile = attr.ib(validator=instance_of(bool), default=False)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def from_config(cls, config):
|
def from_config(cls, config):
|
||||||
@ -35,6 +36,7 @@ class AWSDriver(CloudDriver):
|
|||||||
obj.aws_secret_access_key = config['hyper_params'].get('cloud_credentials_secret')
|
obj.aws_secret_access_key = config['hyper_params'].get('cloud_credentials_secret')
|
||||||
obj.aws_region = config['hyper_params'].get('cloud_credentials_region')
|
obj.aws_region = config['hyper_params'].get('cloud_credentials_region')
|
||||||
obj.use_credentials_chain = config['hyper_params'].get('use_credentials_chain', False)
|
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)
|
||||||
return obj
|
return obj
|
||||||
|
|
||||||
def __attrs_post_init__(self):
|
def __attrs_post_init__(self):
|
||||||
@ -69,6 +71,11 @@ class AWSDriver(CloudDriver):
|
|||||||
launch_specification["SecurityGroupIds"] = resource_conf[
|
launch_specification["SecurityGroupIds"] = resource_conf[
|
||||||
"security_group_ids"
|
"security_group_ids"
|
||||||
]
|
]
|
||||||
|
if resource_conf.get("iam_arn", None) and resource_conf.get("iam_name", None):
|
||||||
|
launch_specification["IamInstanceProfile"] = {
|
||||||
|
'Arn': resource_conf["iam_arn"],
|
||||||
|
'Name': resource_conf["iam_name"]
|
||||||
|
}
|
||||||
|
|
||||||
if resource_conf["is_spot"]:
|
if resource_conf["is_spot"]:
|
||||||
# Create a request for a spot instance in AWS
|
# Create a request for a spot instance in AWS
|
||||||
|
Loading…
Reference in New Issue
Block a user