def __init__(self,
                 id,
                 s3_log_dir=None,
                 schedule=None,
                 terminate_after='6 Hours',
                 instance_type=INSTANCE_TYPE,
                 ami=ETL_AMI,
                 security_group=SECURITY_GROUP,
                 security_group_id=SECURITY_GROUP_ID,
                 subnet_id=SUBNET_ID,
                 **kwargs):

        # Validate inputs
        if not isinstance(schedule, Schedule):
            raise ETLInputError(
                'Input schedule must be of the type Schedule')
        if not isinstance(s3_log_dir, S3LogPath):
            raise ETLInputError(
                's3 log directory must be of type S3LogPath')

        super(Ec2Resource, self).__init__(
            id=id,
            type='Ec2Resource',
            terminateAfter=terminate_after,
            logUri=s3_log_dir,
            schedule=schedule,
            imageId=ami,
            instanceType=instance_type,
            role=ROLE,
            resourceRole=RESOURCE_ROLE,
            keyPair=KEY_PAIR,
            retryDelay=RETRY_DELAY,
            securityGroups=security_group,
            securityGroupIds=security_group_id,
            subnetId=subnet_id
        )
Set the resource ID of this Calendar Resource object.
dataset/ETHPy150Open coursera/dataduct/dataduct/pipeline/ec2_resource.py/Ec2Resource.__init__--crossover with--dataset/ETHPy150Open acil-bwh/SlicerCIP/Scripted/attic/PicasaSnap/gdata/calendar_resource/data.py/CalendarResourceEntry.SetResourceId