func CreateDeviceFleetRoleIfNotExists()

in aws/iam.go [286:305]


func CreateDeviceFleetRoleIfNotExists(client IamClient, fleetName *string, roleName *string, fleetPolicy *types.Policy, bucketPolicy *types.Policy) *types.Role {
	role := GetDeviceFleetRole(client, fleetName, roleName)
	if role == nil {
		role = CreateDeviceFleetRole(client, fleetName, roleName)
	}
	attachedFleetPolicy := CheckIfPolicyIsAlreadyAttachedToTheRole(client, role.RoleName, fleetPolicy.PolicyName)

	if attachedFleetPolicy == nil {
		log.Println("Attaching device fleet policy")
		AttachAmazonSageMakerEdgeDeviceFleetPolicy(client, role, fleetPolicy.Arn)
	}

	attachedBucketPolicy := CheckIfPolicyIsAlreadyAttachedToTheRole(client, role.RoleName, bucketPolicy.PolicyName)

	if attachedBucketPolicy == nil {
		log.Println("Attaching device fleet bucket policy")
		AttachAmazonSageMakerEdgeDeviceFleetPolicy(client, role, bucketPolicy.Arn)
	}
	return role
}